B3IQ receipt and billing surfaces connect completed work to usage, customer balances, node payout rows, and public-safe settlement commitments.

Receipt Role

A receipt is signed evidence of completed work. It can bind:

  • Node identity.
  • Model identity.
  • Usage totals.
  • Price and billing references.
  • Receipt hash.
  • Optional private-job tee_attestation_hash commitment.

Public receipt payloads must not expose raw prompts, outputs, customer tokens, exact private routes, raw request logs, local URLs, or raw TEE quotes.

Billing Flow

Paid Work Accounting
authorizedispatchcompletesettle Customer Request gateway key + policy Reserve Balance quote + spend cap Node Work eligible route executes Signed Receipt usage + receipt hash Ledger + Payouts debit, release, payout row

Customer APIs

MethodPathPurpose
GET/v1/billing/accountBalance, reserved funds, available funds, and active gateway policy
GET/v1/billing/usageLedger totals and recent ledger rows without encrypted payloads, prompts, outputs, or raw credentials
GET/v1/billing/jobs/{job_id}Billing state for a private job or paid pooled-sync gateway call
GET/v1/receipts/{receipt_hash}Receipt lookup by hash

Retry And Refund Policy

Paid work should be deterministic around reservation, release, debit, payout, timeout, and stale-reservation recovery.

Paid jobs reserve customer balance before dispatch. Reservation conflicts fail closed instead of risking double spend.

Accepted receipts debit the customer, release the reservation, and create node payout evidence.

Jobs that fail, timeout, or never produce accepted receipt evidence should release reserved funds instead of debiting the customer.

Admin stale-reservation recovery can dry-run or release stale queued, claimed, or awaiting-receipt reservations according to policy windows.

Payout Settlement

B3IQ batches node payout rows into public-safe payout roots. The B3 mainnet settlement pilot publishes payout batch proof logs and lets the control plane finalize batches from real chain receipt evidence.

See Receipts and settlement for the protocol view.

Ask a question... ⌘I