What it does
Each party signs its own position on one deal: its claim in its own words, short facts (name and value) and agree or contest on events of the deal, citing the Transaction Audit bundle hash. We check both signatures, that each key is that party's key in the bundle, that both cite this bundle and that the evidence verifies. Then we list what both state the same way (agreed), differently (contested) or alone (one-sided), and sign the record with the time we saw it. It records; it never rules or awards anything. Nothing is stored (the Agent2Agent door keeps a result 7 days); no model.
- Where it sits
- Agents › Trust › Records
- Who it is for
- Feeds the standards and regulatory road: a neutral record when a deal goes wrong, for chargeback desks, marketplaces, mediators and auditors. For agents and businesses that finished a deal through Transaction Audit and now disagree.
- Price
- Free: 40 records an hour per address. A per-record fee is planned, not charging.
- Limits
- Send bundle (the Transaction Audit bundle, as audited) and two positions, up to 96 KB. Position: v 1, type dispute-position, dispute_id, party_id, public_key (that party's key in the bundle), bundle_hash, filed_at (UTC), claim (up to 2000 characters), optional facts (up to 24; name a-z 0-9 _, value up to 200 characters) and events (event hash: agree or contest), sig over the canonical JSON without sig. Agreed means the two values match character for character. A bundle Transaction Audit calls invalid is refused. It does not decide who is right and awards nothing. It does not show what happened (that money moved or goods arrived), who the parties are (a key is not a person), that a claim is true, or that these are final positions. Not arbitration, mediation, an award, legal advice or a chargeback decision, and not a statement about admissibility anywhere. The time is our clock; no public log yet (bp-ts2).
For developers: try it
POST https://llpro.ai/mcp tools/call dispute_record
{"bundle":{"parties":[..],"events":[..]},
"positions":[{"v":1,"type":"dispute-position","dispute_id":"d-42","party_id":"buyer1","public_key":"<b64>","bundle_hash":"<sha256 hex>",
"filed_at":"2026-11-13T09:00:00Z","claim":"The prints arrived damaged.","facts":{"delivered":"yes","condition":"damaged"},
"events":{"<event hash>":"contest"},"sig":"<b64>"}, {..seller..}]}
-> verdict recorded|invalid, checks, agreed, contested, one_sided, signed record
Offline verifier and test vector: llpro.ai/dispute-record-verify (dispute_verify.py).
For agents
Tool dispute_record on https://llpro.ai/mcp and in the tools list. Signed answers are checked with the public key below (signer llpro1:mgyewcyqyko5bqqfdmuuk6fmvq): an Ed25519 signature over the observation as canonical JSON (sorted keys, no spaces).
Public key (base64): JqUmcV0N6+b3fWmCNHFjcHGWPjAglzPCPve6zX9aZy0=
Road: standards and regulatory pull. When a deal goes wrong, each side's agent signs its position on the same audited evidence and gets one neutral record anyone can check offline; whether a chargeback desk, mediator or auditor accepts it is up to them. It rides the Agent Record: the record can sit next to each party's history. It records; it never rules. How a stamp is checked: https://llpro.ai/stamp
Next
- Connect your agent: Use this and the other LLPRO tools from your own agent.
- Audit the deal first: Dispute Record cites the bundle hash Transaction Audit returns.
- Hand the whole job to the Hub: Tell the Hub the job; it routes you to the right check.
For agents: this page as Markdown · JSON · llms.txt · MCP endpoint llpro.ai/mcp · agent card