You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
| State | Meaning | Required inputs | Output posture |
365
+
| --- | --- | --- | --- |
366
+
|`btc-not-quoteable`| No reviewed Need-Fit quote can exist yet. | reviewed Need missing, selected Fit set missing, BTD quote posture missing, wallet authority missing, or policy blocker | no BTC quote claim |
367
+
|`btc-quote-issued`| Deterministic sats quote is created for the Reader. | quote root, BTD scalar-volume/range roots, deterministic share-to-fee policy root, network, expiry, budget policy | source-safe offer only; no payment |
368
+
|`btc-quote-accepted`| Reader and organization authority accept the quote before expiry. | accepted quote root, buyer authorization root, wallet authority root, budget approval root when required | PSBT preparation admitted |
369
+
|`btc-quote-inactive`| Quote is expired, superseded, failed, revoked, or mismatched. | inactive quote root and reason | payment against this quote cannot unlock rights |
370
+
|`btc-wallet-ready`| Reader wallet can sign without server custody. | wallet signer session, network match, PSBT signing capability, no-server-custody proof | PSBT handoff may proceed |
371
+
|`btc-psbt-prepared`| Settlement transaction is prepared but unsigned. | accepted quote, wallet-ready proof, terminal journal root, PSBT root | no payment observation |
372
+
|`btc-psbt-signed`| Reader has signed the transaction. | prepared PSBT root, wallet authorization proof, signed PSBT root | broadcast admitted; no finality |
373
+
|`btc-broadcast-submitted`| Signed transaction has been submitted to the Bitcoin network. | signed transaction root, txid, network root, provider observation root | observed payment pending finality |
|`btc-payment-mismatch-repair-required`| Observed payment does not conserve the accepted quote or violates wallet/network policy. | mismatch proof root, repair blocker root | repair, replacement, refund, or escalation only |
376
+
|`btc-finality-confirmed`| Bitcoin finality satisfies the configured confirmation/finality policy. | finality receipt, confirmations, txid, block/reorg readback, quote/payment conservation root | settlement can authorize BTD rights transfer |
377
+
|`btc-replaced-reorged-or-failed`| Transaction was replaced, reorged out, failed, or became non-final. | replacement, reorg, or failure root | source remains locked; repair or refund/escalation required |
378
+
|`btc-settlement-finalized`| Quote, payment, finality, ledger, database, object storage, and source-safe readback agree. | finality root, ledger/database/storage reconciliation root, terminal journal root, settlement unlock root | BTD rights transfer and delivery unlock may proceed |
379
+
|`btc-contributor-compensation-routable`| Final settlement is available to source-to-shares allocation and contributor statements. | finalized settlement root, BTD range slices, source-to-shares proof, contributor roots | compensation statements and treasury routes may be issued |
380
+
|`btc-refund-or-escalation-required`| A payment or quote cannot be accepted as final settlement, and value movement or operator review is required. | refund/escalation case root, payment evidence, policy reason | no rights, no source unlock, no contributor compensation |
381
+
|`btc-settlement-repair-required`| Any quote, wallet, PSBT, broadcast, observation, finality, readback, unlock, or compensation proof is missing or stale. | repair blocker root | fail-closed repair only |
382
+
383
+
Settlement law:
384
+
385
+
- A quote is not an estimate. It must be denominated in BTC sats, bind the
386
+
BTD scalar-volume/range and deterministic share-to-fee policy, name its
387
+
network and expiry, and carry a source-safe quote root.
388
+
- A quote must be accepted before PSBT preparation. Expired, superseded,
389
+
failed, revoked, wrong-network, wrong-wallet, or mismatched quotes cannot
390
+
unlock rights even if a payment is later observed.
391
+
- Bitcode must never take server custody of wallet private material. The
392
+
Reader signs through a wallet session that proves network, capability,
393
+
authorization, and no-server-custody posture.
394
+
- Prepared, signed, broadcast, and observed states are not final settlement.
395
+
They cannot transfer BTD rights, unlock source, deliver a pull request, or
396
+
allocate contributor compensation.
397
+
- Payment observation must conserve the accepted quote: expected sats,
0 commit comments