One onus, followed from the payer writing it to the money moving. Every step is a transaction on Arc except the waiting, which costs nothing and involves no one.
| step | who | what happens on Arc | gas (USDC) |
|---|---|---|---|
| 1 write | payer | Creates the onus: payee, amount, currency, condition, witness, lapse. Stored as a small contract instance. | < $0.01 |
| 2 countersign | payee | Signs acceptance of the exact terms. An onus cannot lock without it. | < $0.01 |
| 3 lock | payer | Transfers USDC / EURC / JPYSC into the onus. Now nobody can move it. | < $0.01 |
| 4 wait | — | Nothing. No polling, no keeper. The contract only reacts to the witness or the clock. | 0 |
| 5a release | witness | Witness supplies proof; contract verifies condition; funds go to payee. Optional StableFX hop if payout currency differs. | < $0.01 |
| 5b lapse | anyone | After the lapse timestamp, anyone can call lapse(); funds return to payer. | < $0.01 |
Delivery and payment are the same block. There is no "net 30", no remittance, no reconciliation. The attestation is the invoice, the proof and the payment at once.
An onus can lock one stablecoin and pay out another. A Japanese buyer locks JPYSC; a US supplier receives USDC; the conversion happens at release through StableFX on Arc at the rate then, or within a band the onus sets. If the rate is outside the band at release, the onus pays in the locked currency instead — it never fails to pay.
Only C4 (time) conditions have a dispute path, because only there is the release triggered by absence of an event. A named party files a dispute before the lapse; the onus freezes; the named resolver decides release or return. Resolvers are witnesses like any other, with a record.
C1–C3 have no dispute path. If the carrier attested, the goods are considered delivered; if the checker passed, the work is considered done. Choose witnesses accordingly.