Skip to content

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

STATE MODEL
Operation: quoted → authorized → dispatched → streaming / completed / failed / unknown
Collection: none → authorized → ready → settling → settled / zero_charge / unknown / failed

What 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.