Receipts and settlement turn completed work into public-safe evidence without publishing private payloads.

Receipt Commitments

Receipts can commit to:

  • Node ID.
  • Model ID.
  • Usage totals.
  • Payout rate references.
  • Receipt hash.
  • Receipt status.
  • Optional attestation hash for future verified-confidential jobs.

Receipts must not publish raw prompts, model outputs, customer identity, API keys, customer tokens, exact private routes, raw request logs, or raw TEE quotes.

Payout Batches

Payout batches aggregate node payout rows into a public-safe root. The batch can include counts, total amount, merkle root, transaction hash, block reference, status, and timestamps.

FieldPublic-safe?Notes
batch_idYesOpaque batch identifier
payout_countYesNumber of payout rows included
total_amount_weiYesAggregate amount only
merkle_rootYesCommitment root, not raw private metadata
transaction_hashYesPublic settlement transaction reference
customer_idNoKeep customer identity out of public settlement payloads
prompt/outputNoNever include raw request or response content

Current Settlement Pilot

The B3IQSettlement payout-proof reference emits canonical payout batch proof logs on the settlement network. The control plane can finalize payout batches from real settlement receipt evidence.

The public settlement surface publishes live counts — finalized payout batches and rows, and accepted receipts. Pending rows are expected between settlement batches.

Settlement Flow

1

Accept receipts

Completed work submits signed receipt evidence to the control plane.

2

Create payout rows

Settlement creates immutable usage and node payout evidence.

3

Batch payouts

Pending payout rows are batched into a public-safe root with aggregate totals.

4

Submit proof

The payout batch root is submitted to the settlement contract and emits a public proof log.

5

Finalize control-plane state

The control plane verifies configured contract/event evidence before marking rows settled.

Operator And Cron Boundary

Secured operator settlement can create, broadcast, submit, and finalize payout batches from a local machine that holds the settlement key in ignored local env or a secret manager. Worker cron can finalize already-submitted or submitting batches when auto-finalize is enabled, but it does not hold the private key, create batches, sign transactions, or broadcast payout roots.

Normal settlement should batch payout rows for efficiency. Singleton batches are reserved for proof runs, incident recovery, or end-of-day cleanup.

Roadmap

Settlement roadmap
Payout proof pilot

Payout proof deployment and real payout batch finalization exist.

Recurring operation

Run the secured local settlement scheduler for batch creation, broadcast, submit, verify, finalize, and recovery paths while keeping Worker cron on no-key finalization only.

Additional roots

Add receipt roots, availability roots, reputation snapshots, and epoch summaries after formats stabilize.

Ask a question... ⌘I