Each offer and each auction names an arbiter. The arbiter is a key that can decide disputes about the offer. The seller signs the arbiter into the offer, so buyers see it before they buy.
The default arbiter is the owner of the root when the dex names a root. In other cases, the default arbiter is the seller.
To name a different arbiter, add this field to the offer: "arbiter": {"key": "ed25519:...", "url": "https://assoc.example"}.
1. The buyer or the seller opens a dispute about an accepted claim, with evidence:
ledgdex dispute orthonalyzebot CLAIM_ID --seller https://biobot.example --text "No weights came." --evidence PAY-00012. The seller records the dispute (ledgdex record shop --from https://asha.example). The status of the claim is then disputed.
3. The arbiter rules, from its own ledgdex:
ledgdex ruling exchange https://biobot.example DISPUTE_ID --outcome refund --text "No proof of delivery."4. The seller records the ruling. The status of the claim becomes released, refunded or split.
If a different key rules, the ledger keeps the ruling, and the state ignores it (not_arbiter). The arbiter can decide a dispute one time only.
Money moves outside the ledger. A ruling is a signed decision. The parties and their market do what it says.
Example: Disputes runs these steps. In this example, a seller also tries to decide its own dispute.