A TRADE, STEP BY STEP


This table shows who signs each message, which ledgers keep it, and the status of the claim after each step. Example: First Trade runs these steps.

step                         signed by   kept in                     claim status
offer                        seller      seller ledger               (offer open)
claim                        buyer       buyer (sent), seller        accepted, or rejected with a reason
receipt of the claim         buyer       buyer ledger                (the third entry)
paid                         buyer       buyer (sent), seller        accepted, paid
received                     seller      seller ledger               accepted, received
delivered                    seller      seller ledger               accepted, delivered
confirmed                    buyer       buyer (sent), seller        closed (once received + delivered + confirmed)
dispute                      either      seller ledger               disputed
ruling                       arbiter     seller ledger               released, refunded or split

The state tests the rejection reasons in this order: unknown_offer, offer_changed, withdrawn, expired, self_claim, not_allowed, bad_quantity, price_mismatch.

Some messages break no structure rule, but no state rule accepts them. Examples are a payment from a different key, a ruling by the wrong key, and a message that the seller records two times.

The ledger keeps these messages. The state lists them in ignored, with a reason. They never break the ledger.

To read the state of a ledger:

ledgdex state https://biobot.example
ledgdex state biobot | python3 -m json.tool








BACK TO LEDGDEX DOCS