# DN Outcome Receipt Draft v0.1

Published 2 November 2026. A small editorial reconciliation profile, not a payment protocol, accounting standard or x402 implementation.

The JSON Schema validates structure. The first-party JavaScript checker also checks attempt uniqueness, reference consistency, acceptance linkage, declared invoice arithmetic and settlement labels. A field containing a reference is not proof that the referenced item exists or is valid.

One task, 1–100 attempts, at most one accepted outcome, USD cents. Every monetary input is a nonnegative integer no greater than 1,000,000,000,000 cents. No FX, token decimals, refunds, partial delivery, tax or chargebacks. Amounts are self-declared.

For attempt billing, expected buyer invoice = unit price × count of attempts marked buyerBillable. For accepted_outcome billing, expected invoice = unit price if task acceptance is accepted; otherwise zero. Upstream cost is summed across every attempt regardless of buyerBillable. Retry-cost bearer is a declared contract field; the checker does not establish whether the contract was agreed or honored.

Pending settlement records zero settled cents. A settled record needs a reference and an amount equal to the buyer invoice. Disputed settlement remains an issue. These are limitations of this demonstration profile, not rules imposed by payment networks.

fixtures.json contains 24 synthetic cases, including five internally consistent records and nineteen records with issues. One consistent case deliberately uses an invented task identifier: consistency is not authenticity. Test results are in results.json; there are no paid calls, model calls, blockchain requests or signature checks.

Do not paste credentials, personal data or live transaction payloads into the public checker. Its reviewed calculation code performs no network request or persistent storage; normal website analytics are separate.

License: CC BY 4.0. Attribute Decentralised News and link to https://decentralised.news/ai-agent-outcome-receipts. Source standards and third-party artifacts retain their own terms. Corrections can be submitted through the site Contact page.

Reproduce locally with Node.js: download checker.mjs, fixtures.json and reproduce.mjs into one folder, then run `node reproduce.mjs`. No dependencies or network calls are required. results.json records the SHA-256 of checker.mjs executed for this release.
