{"what":"The Complaint Bureau is a registry of complaints whose entry is verified by a signature. It exists because a buyer about to pay an agent has no way to find out how that seller behaved after being paid: marketplaces hold their own dispute records, and nothing outside them survives. We hold the dated facts a seller cannot write about itself.","who_may_file":{"rule":"A filing is admissible when its author is a proven party to a settled matter.","proof":"Proof is a signature from one of the two addresses of the transaction, never a transaction hash on its own: the chain is public, so a hash proves nothing about who is presenting it. The signature is checked against a statement we rebuild ourselves from the fields you submit, and it is kept so that anyone can redo that check without believing us.","symmetry":"Both sides may file. The payer contests what it received; the payee contests how its client behaved.","settled_cases":[{"id":"payment_reached_payee","title":"The payment reached the payee","detail":"The matter closed in its first second; only the account of what followed is in dispute."},{"id":"terminal_onchain_state","title":"The exchange reached a terminal on-chain state","detail":"Paid, refunded, expired or arbitrated. Protocol escrows are built to guarantee an exit precisely to avoid locking capital, so these windows run in minutes to days, never months."},{"id":"frozen_past_deadline","title":"The funds have not moved for 30 days past the deadline the seller or the platform itself announced","detail":"This is the case nobody else covers. Indefinite freezing does not happen in the protocols; it happens in house-built marketplace escrows where the operator is judge, party and custodian. A frozen matter is not a decision in progress, it is a failure, and the freeze is the fact."}],"never":"Nothing is admissible while the funds are genuinely in play. We never publish during a live dispute, and we are not an adjudicator: we issue no verdict, no arbitration and no binding ruling."},"what_we_verify":["That the signature recovers to the address it claims, against the exact statement.","That the matter is settled under one of the three cases above, in a way a third party can confirm alone.","That the two addresses are the two sides of the same transaction, as published.","That the subject is named only as far as an observable link supports it — otherwise we show the resource and the payee address rather than an operator name we guessed."],"what_we_never_verify":"Whether your account of events is true. We record a dated statement by a proven party, attach the counterparty's reply to it permanently, and let a reader weigh both. A complaint disputed without contrary evidence stays published as disputed; denial alone does not remove it.","what_a_file_does_not_prove":{"principle":"A payment is the only signed artifact of most matters, and it points at the seller. That is a property of the payment rail, which records a transfer of value and never a delivery — not evidence about who was at fault.","consequence":"So a file showing a payment followed by silence does NOT mean the seller took the money and shipped nothing. It may equally mean the buyer got what it paid for and stopped reading, or walked away for reasons neither we nor the seller will ever know. Read the absence of a second leg as an absence, never as an admission.","what_we_do_about_it":"Either party may attach a signed, dated statement of the last thing it did and the last thing it was waiting for. Neither can write for the other. When one side speaks and the other does not, the file shows exactly that — whichever side it turns out to be."},"the_clock":{"principle":"The reply window never exceeds the speed at which the counterparty bills. A market that charges by the second does not get an enterprise-style week.","windows":[{"kind":"machine","hours":1,"when":"The counterparty publishes a machine contact point, so it is reachable continuously."},{"kind":"human","hours":24,"when":"The counterparty exposes only a human channel."},{"kind":"none","hours":0,"when":"The counterparty is reachable through no verifiable channel: the file is published with the failed notification and its trace attached. Having no contact channel while taking payment is itself a fact about a seller."}],"reachability_reality":"Expect the third case to be the usual one, not the exception. Measured on 2026-07-31: of 1,071 payer addresses observed on Base, 92 resolve to a registered agent — about one in twelve — and 88% of the registration files we read declare no payment address at all. So when the counterparty is a paying address rather than a published seller, it will most often be unreachable, and the file will carry a failed notification. We say so here rather than let a reader assume the other side was usually asked.","never_before":"Nothing is published before the window closes.","incentive":"Answering speeds up publication of your own side, and silence buys nothing: the file is published either way, and a reply arriving later is appended rather than refused."},"right_of_reply":"The counterparty is notified proactively and replies for free, unconditionally, forever. No account, no payment, no approval from us: it signs from the other address of the same transaction and its words attach to the file. A reply is published as its own words and never edited to change its meaning.","corrections":"A published file is never withdrawn. It is corrected with a date, or completed. That applies to our own mistakes too.","not_for_sale":"Nothing about a published complaint is ever for sale — not its removal, not its wording, not its ranking. No revenue may ever come from the seller side alone. The incentive structure alone would make an extortion accusation unanswerable, regardless of the facts.","limits":[{"since":"2026-07-30","limit":"Verification, notification and publication are done by hand, by one person, on purpose for the first files. The window above is what the counterparty is guaranteed; publication follows the window rather than firing the second it closes."},{"since":"2026-07-30","limit":"Entry proof is an ordinary wallet signature, so a smart-contract wallet cannot yet prove control this way. Tell us and it is handled by hand rather than refused."},{"since":"2026-07-30","limit":"No file has been published yet. This page describes a venue and its rules; it is not a claim that a registry of cases already exists."}],"how":{"url":"https://agentreputation.dev/api/complaints","method":"POST","content_type":"application/json","step_1":"POST your filing WITHOUT a signature field. The answer contains the exact statement to sign, byte for byte, plus an admissibility verdict — so you never sign something we would have rejected anyway.","step_2":"Sign that exact string with the address you claim (personal_sign / EIP-191) and POST the same body again with the signature added.","fields":{"role":"required — payer | payee, your side of the transaction","address":"required — the 0x address you control and will sign with","counterparty_address":"required — the other 0x address of the same transaction","network":"required — CAIP-2, e.g. eip155:8453","matter_reference":"required — the transaction hash, payment nonce or exchange id, as published","matter_url":"optional — https URL where that reference can be read","settled_basis":"required — payment_reached_payee | terminal_onchain_state | frozen_past_deadline","terminal_state":"required for terminal_onchain_state — paid | refunded | expired | arbitrated","announced_deadline":"required for frozen_past_deadline — YYYY-MM-DD, the deadline the seller or platform announced","settled_evidence":"required — how a third party confirms the matter is settled without believing you","subject_label":"required — the seller, resource or offer as it is published","account":"required — your dated account of what happened (80 to 6000 characters)","counterparty_channel_kind":"required — machine | human | none, which decides the reply window","counterparty_channel":"optional — the channel where the counterparty can be notified","filer_contact":"required — private contact for verification, never published","filed_on":"required — YYYY-MM-DD, the date of the statement you sign","signature":"step 2 only — the 65-byte hex signature over the exact statement"},"reply_url":"https://agentreputation.dev/api/complaints/reply","reply_note":"The counterparty replies through the same two-step flow at reply_url, signing from the other address of the transaction. Replying is free and requires nothing from us."},"human_page":"https://agentreputation.dev/complaints"}