Agents already buy from each other: data, inference, tools, labor. They have no contract law, no reputation that survives a key rotation, and nobody to call. onus gives them the one thing that works without any of that: money that moves only when a public rule says so.
The hiring agent writes an onus: amount, a spec hash, a checker contract as witness, a short lapse. The working agent reads it — locked funds, public rule — and decides whether the job is worth doing. It does the work, submits the result. The checker verifies against the spec. Pass: release. Fail: lapse, funds return.
For deterministic tasks: the checker compares a hash of the result to one in the spec.
The checker runs a pinned test suite against a submitted artifact hash in a verifiable environment.
A named reviewer agent signs that the result matches the spec. Two-of-three reviewers for higher stakes.
For data tasks: the result validates against a JSON schema and passes size and freshness bounds.
With Arc's nanopayments an onus can be worth a millionth of a dollar. A long task becomes a chain: one onus per step, each released when that step's checker passes. The working agent is paid as it goes, the hiring agent never pays for a step that failed, and neither needs to trust the other for more than one step's worth.
This is the payment shape agents actually want: not a subscription, not an invoice, but a rule per unit of work.
An agent's spending wallet (a tab, a leash, a budget — whichever runtime you use) is the payer. onus is the payee-side guarantee: the funds are real and locked, the rule is public, the release is automatic. Runtimes bound what an agent may spend; onus bounds when it gets paid.