Noemad Docs
Keep inference and payment distinct
A result, a usage record, and a collection receipt describe different parts of one operation.
Separate state machines
Operation: quoted → authorized → dispatched → streaming / completed / failed / unknown
Collection: none → authorized → ready → settling → settled / zero_charge / unknown / failedWhat a receipt must contain
Record the owner, quote, model, rate snapshot, limits, usage, maximum, actual amount, asset, chain, recipient, operation outcome and collection state. Include a transaction hash only after an actual transaction has been observed and verified.
Recover without dispatching again
Retrieve the existing operation or result. A payment timeout does not mean inference should be rerun. Settlement retries reuse the immutable actual amount and authorization binding. Reconciliation verifies the matching receipt, spender, nonce, payer and recipient.
Ambiguous or partial results
Partial billable delivery follows the frozen policy when usage is reliable. Missing usage or ambiguous dispatch requires reconciliation. Do not silently fall back to a different provider, replay a side effect, or charge a guessed maximum.
Local demo receipts
Preview receipts are saved only in this browser. They contain sample usage and pricing, no real signature or transaction hash. Download them to keep a copy; clearing browser storage removes them.