LLPRO

Home / Agents / Dispute Record

Dispute Record

When two parties to one deal disagree, record both signed positions and what they agree on and contest. Records; never rules.

Live

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

For agents: this page as Markdown · JSON · llms.txt · MCP endpoint llpro.ai/mcp · agent card