Refusal codes

Every error code the protocol can return, with its meaning. When dClutch refuses a transaction, the whole transaction rolls back -- no partial effect survives -- and the code says exactly which program refused and why. A refusal isn't a malfunction; it's the protocol keeping the rules.

Reading a code: each program owns its own block ("band") of codes, and band = code >> 12 -- drop the last three hex digits to get the band. So custom program error: 0x5180 is band 5, which is Claims. Band 0 is never used, meaning a code below 0x1000 came from some other program in your transaction, not from dClutch. Bands at 0x100000 and above belong to test-only programs that are never deployed.

The tables below carry all 209 codes, with meanings taken from the source code's own documentation.

Band allocation

basebandallocation
0x10000x1Band 1 — dclutch-registry-sbf
0x20000x2Band 2 — dclutch-rent-sbf
0x30000x3Band 3 — dclutch-core-sbf
0x40000x4Band 4 — dclutch-trading-sbf
0x50000x5Band 5 — dclutch-claims-sbf
0x60000x6Band 6 — dclutch-custody-sbf
0x70000x7Band 7 — dclutch-dealer-sbf
0x80000x8Band 8 — dclutch-resolution-proof-sbf
0x90000x9Band 9 — dclutch-product-runtime-v2-sbf
0xA0000xABand 10 — dclutch-direct-aot-sbf
0xB0000xBBand 11 — dclutch-series-shadow-sbf
0xC0000xCBand 12 — dclutch-general-accelerator-sbf
0xD0000xDBand 13 — dclutch-dealer-accelerator-sbf
0x1000000x100Band 0x100 — dclutch-claims-sbf test caller affine-batch-caller
0x1010000x101Band 0x101 — dclutch-claims-sbf test caller fractional-signed-delta-caller
0x1020000x102Band 0x102 — dclutch-claims-sbf test caller liability-basis-caller
0x1030000x103Band 0x103 — dclutch-claims-sbf test caller rational-lifecycle-caller
0x1040000x104Band 0x104 — dclutch-claims-sbf test caller rational-v2-caller
0x1050000x105Band 0x105 — dclutch-claims-sbf test caller sparse-chain-caller
0x1060000x106Band 0x106 — dclutch-claims-sbf test caller terminal-settlement-caller
0x1070000x107Band 0x107 — dclutch-custody-sbf test caller caller
0x1080000x108Band 0x108 — dclutch-dealer-accelerator-sbf test caller dealer-caller
0x1090000x109Band 0x109 — dclutch-general-accelerator-sbf test caller general-caller
0x10A0000x10ABand 0x10A — dclutch-svm-harness test caller resolution-receipt-caller

claims

coderefusalmeaningprovenance
0x5000ClaimsSbfError::InstructionInstruction bytes were hostile or selected no supported family.programs/dclutch-claims-sbf/src/lib.rs:162
0x5001ClaimsSbfError::AccountsAccount count, privileges, owners, or executable flags were wrong.programs/dclutch-claims-sbf/src/lib.rs:164
0x5002ClaimsSbfError::IdentityMarket or Position semantic identities did not join the packet.programs/dclutch-claims-sbf/src/lib.rs:166
0x5003ClaimsSbfError::ReleaseRegistry receipt or current deployment authentication failed.programs/dclutch-claims-sbf/src/lib.rs:168
0x5004ClaimsSbfError::AuthorityCaller PDA authority did not authenticate the packet.programs/dclutch-claims-sbf/src/lib.rs:170
0x5005ClaimsSbfError::EconomicClaims economic transition refused.programs/dclutch-claims-sbf/src/lib.rs:172
0x5006ClaimsSbfError::CustodyRequiredThis action requires the canonical Custody child composition.programs/dclutch-claims-sbf/src/lib.rs:174
0x5007ClaimsSbfError::ReceiptReceipt construction or post-state commitment failed.programs/dclutch-claims-sbf/src/lib.rs:176
0x5008ClaimsSbfError::RepresentationRepresentation descriptor/state or unified wrapper transition refused.programs/dclutch-claims-sbf/src/lib.rs:178
0x5009ClaimsSbfError::TokenToken-2022 mint/account profile or CPI refused.programs/dclutch-claims-sbf/src/lib.rs:180
0x500AClaimsSbfError::ReleaseSupersededThe release's pinned deployment slot moved: the substrate was upgraded. Decision 0012. Not a corrupted account and not an attack: the exact upgrade authority the release names shipped new bytes, so the cached authentication no longer describes what is deployed. Every open market on the superseded release generation refuses until a re-release re-authenticates the new deployment and re-pins its slot.programs/dclutch-claims-sbf/src/lib.rs:188
0x5100LiabilityBasisSbfErrorV2::InstructionInstruction bytes were not the sole canonical V2 action.programs/dclutch-claims-sbf/src/liability_basis_v2.rs:58
0x5101LiabilityBasisSbfErrorV2::AccountsAccount count, order, privilege, owner, or alias checks refused.programs/dclutch-claims-sbf/src/liability_basis_v2.rs:60
0x5102LiabilityBasisSbfErrorV2::ClaimsStateClaims aggregate or Position bytes/PDA/revision refused.programs/dclutch-claims-sbf/src/liability_basis_v2.rs:62
0x5103LiabilityBasisSbfErrorV2::FinalizedRecordA finalized raw-record PDA, staging vacancy, rent, or digest refused.programs/dclutch-claims-sbf/src/liability_basis_v2.rs:64
0x5104LiabilityBasisSbfErrorV2::ProductLinkProduct instance, basis identity, runtime width, or Core join refused.programs/dclutch-claims-sbf/src/liability_basis_v2.rs:66
0x5105LiabilityBasisSbfErrorV2::ReleaseRegistry current-deployment authentication refused.programs/dclutch-claims-sbf/src/liability_basis_v2.rs:68
0x5106LiabilityBasisSbfErrorV2::CandidateThe pure exact liability transition refused.programs/dclutch-claims-sbf/src/liability_basis_v2.rs:70
0x5107LiabilityBasisSbfErrorV2::CustodyRequestExact Custody request, authority, replay, or vault binding refused.programs/dclutch-claims-sbf/src/liability_basis_v2.rs:72
0x5108LiabilityBasisSbfErrorV2::CustodyCpiCustody CPI failed.programs/dclutch-claims-sbf/src/liability_basis_v2.rs:74
0x5109LiabilityBasisSbfErrorV2::PostconditionCustody return data or physical postconditions refused.programs/dclutch-claims-sbf/src/liability_basis_v2.rs:76
0x510ALiabilityBasisSbfErrorV2::CommitComplete candidate state could not be committed atomically.programs/dclutch-claims-sbf/src/liability_basis_v2.rs:78
0x5140ProtocolPositionSbfErrorV2::InstructionInstruction bytes did not decode as the canonical lifecycle ABI.programs/dclutch-claims-sbf/src/protocol_position_v2.rs:112
0x5141ProtocolPositionSbfErrorV2::AccountsAccount count, privilege, executable, or alias facts refused.programs/dclutch-claims-sbf/src/protocol_position_v2.rs:114
0x5142ProtocolPositionSbfErrorV2::ReleaseCurrent release selection or caller authority refused.programs/dclutch-claims-sbf/src/protocol_position_v2.rs:116
0x5143ProtocolPositionSbfErrorV2::MarketClaims aggregate identity, revision, release, or generation refused.programs/dclutch-claims-sbf/src/protocol_position_v2.rs:118
0x5144ProtocolPositionSbfErrorV2::ProductBasisProduct graph, linked basis, Core, or runtime width refused.programs/dclutch-claims-sbf/src/protocol_position_v2.rs:120
0x5145ProtocolPositionSbfErrorV2::PositionPosition/admission PDA vacancy, shape, owner, or balance refused.programs/dclutch-claims-sbf/src/protocol_position_v2.rs:122
0x5146ProtocolPositionSbfErrorV2::RentPrepaid rent or authenticated RentCredit facts refused.programs/dclutch-claims-sbf/src/protocol_position_v2.rs:124
0x5147ProtocolPositionSbfErrorV2::AllocationSystem allocation or assignment refused.programs/dclutch-claims-sbf/src/protocol_position_v2.rs:126
0x5148ProtocolPositionSbfErrorV2::AdmissionPersisted admission did not join the requested terminal close.programs/dclutch-claims-sbf/src/protocol_position_v2.rs:128
0x5149ProtocolPositionSbfErrorV2::CommitComplete candidate state or rent-credit reclamation did not commit.programs/dclutch-claims-sbf/src/protocol_position_v2.rs:130
0x514AProtocolPositionSbfErrorV2::ReceiptImmediate receipt construction or poststate commitment refused.programs/dclutch-claims-sbf/src/protocol_position_v2.rs:132
0x5160AffineBatchSbfErrorV2::InstructionInstruction bytes did not decode as the canonical public ABI.programs/dclutch-claims-sbf/src/affine_batch_v2.rs:100
0x5161AffineBatchSbfErrorV2::AccountsAccount count, order, privileges, owners, or aliases refused.programs/dclutch-claims-sbf/src/affine_batch_v2.rs:102
0x5162AffineBatchSbfErrorV2::ReleaseRegistry current-release authentication or caller authority refused.programs/dclutch-claims-sbf/src/affine_batch_v2.rs:104
0x5163AffineBatchSbfErrorV2::ProductBasisProduct graph, linked basis, semantic identity, or Core join refused.programs/dclutch-claims-sbf/src/affine_batch_v2.rs:106
0x5164AffineBatchSbfErrorV2::ClaimsStateAggregate or Position PDA, width, identity, or revision refused.programs/dclutch-claims-sbf/src/affine_batch_v2.rs:108
0x5165AffineBatchSbfErrorV2::CandidateAn exact delta overflowed, underflowed, or selected an invalid coordinate.programs/dclutch-claims-sbf/src/affine_batch_v2.rs:110
0x5166AffineBatchSbfErrorV2::CommitComplete candidate buffers could not all be borrowed and committed last.programs/dclutch-claims-sbf/src/affine_batch_v2.rs:112
0x5167AffineBatchSbfErrorV2::ReceiptThe canonical success receipt could not be constructed.programs/dclutch-claims-sbf/src/affine_batch_v2.rs:114
0x5180ClaimsFoundingSbfErrorV5::InstructionInstruction bytes did not decode as the sole FoundingV5 ABI.programs/dclutch-claims-sbf/src/founding_v5.rs:106
0x5181ClaimsFoundingSbfErrorV5::AccountsAccount count, privileges, executable flags, or aliases refused.programs/dclutch-claims-sbf/src/founding_v5.rs:108
0x5182ClaimsFoundingSbfErrorV5::ReleaseCore caller authority or current release selection refused.programs/dclutch-claims-sbf/src/founding_v5.rs:110
0x5183ClaimsFoundingSbfErrorV5::CustodyCustody source, Hoard, or replay post-observations refused.programs/dclutch-claims-sbf/src/founding_v5.rs:112
0x5184ClaimsFoundingSbfErrorV5::ProductBasisProduct graph, linked basis, or Founding Core Market refused.programs/dclutch-claims-sbf/src/founding_v5.rs:114
0x5185ClaimsFoundingSbfErrorV5::ClaimsStateClaims aggregate, Position, or admission PDA/vacancy refused.programs/dclutch-claims-sbf/src/founding_v5.rs:116
0x5186ClaimsFoundingSbfErrorV5::RentRent sysvar, exact principals, target lamports, or RentCredit refused.programs/dclutch-claims-sbf/src/founding_v5.rs:118
0x5187ClaimsFoundingSbfErrorV5::AllocationSystem allocation or assignment refused.programs/dclutch-claims-sbf/src/founding_v5.rs:120
0x5188ClaimsFoundingSbfErrorV5::ReceiptCandidate receipt or post-resource digest refused.programs/dclutch-claims-sbf/src/founding_v5.rs:122
0x5189ClaimsFoundingSbfErrorV5::CommitState-last copy or immutable postcondition refused.programs/dclutch-claims-sbf/src/founding_v5.rs:124
0x5200SignedDeltaSbfErrorV3::InstructionInstruction bytes did not decode as the canonical public ABI.programs/dclutch-claims-sbf/src/signed_delta_v3.rs:95
0x5201SignedDeltaSbfErrorV3::AccountsAccount count, order, privileges, owners, or aliases refused.programs/dclutch-claims-sbf/src/signed_delta_v3.rs:97
0x5202SignedDeltaSbfErrorV3::ReleaseRegistry current-release authentication or caller authority refused.programs/dclutch-claims-sbf/src/signed_delta_v3.rs:99
0x5203SignedDeltaSbfErrorV3::ProductBasisProduct graph, linked basis, semantic identity, or Core join refused.programs/dclutch-claims-sbf/src/signed_delta_v3.rs:101
0x5204SignedDeltaSbfErrorV3::ClaimsStateAggregate or Position PDA, width, identity, or revision refused.programs/dclutch-claims-sbf/src/signed_delta_v3.rs:103
0x5205SignedDeltaSbfErrorV3::CandidateAn exact signed delta overflowed or underflowed a resource.programs/dclutch-claims-sbf/src/signed_delta_v3.rs:105
0x5206SignedDeltaSbfErrorV3::CommitComplete candidate buffers could not all be borrowed and committed last.programs/dclutch-claims-sbf/src/signed_delta_v3.rs:107
0x5207SignedDeltaSbfErrorV3::ReceiptThe canonical success receipt could not be constructed.programs/dclutch-claims-sbf/src/signed_delta_v3.rs:109
0x5210RationalLifecycleSbfErrorV2::InstructionInstruction bytes or runtime width refused.programs/dclutch-claims-sbf/src/rational_lifecycle_v2.rs:117
0x5211RationalLifecycleSbfErrorV2::AccountsAccount frame, privilege, or alias refused.programs/dclutch-claims-sbf/src/rational_lifecycle_v2.rs:119
0x5212RationalLifecycleSbfErrorV2::ReleaseCurrent release selection or Trading caller refused.programs/dclutch-claims-sbf/src/rational_lifecycle_v2.rs:121
0x5213RationalLifecycleSbfErrorV2::DescriptorFinalized descriptor or a derived resource identity refused.programs/dclutch-claims-sbf/src/rational_lifecycle_v2.rs:123
0x5214RationalLifecycleSbfErrorV2::MarketCore Market or canonical Claims aggregate refused.programs/dclutch-claims-sbf/src/rational_lifecycle_v2.rs:125
0x5215RationalLifecycleSbfErrorV2::RentPrepaid or reclaimed native rent accounting refused.programs/dclutch-claims-sbf/src/rational_lifecycle_v2.rs:127
0x5216RationalLifecycleSbfErrorV2::TokenToken-2022 resource state or effect refused.programs/dclutch-claims-sbf/src/rational_lifecycle_v2.rs:129
0x5217RationalLifecycleSbfErrorV2::PositionCanonical protocol Position lifecycle refused.programs/dclutch-claims-sbf/src/rational_lifecycle_v2.rs:131
0x5218RationalLifecycleSbfErrorV2::ReceiptFinal resource observation or typed receipt refused.programs/dclutch-claims-sbf/src/rational_lifecycle_v2.rs:133
0x5260SparseNativeTransferSbfErrorV1::InstructionRequest bytes refused the canonical fixed codec.programs/dclutch-claims-sbf/src/sparse_native_transfer_v1.rs:83
0x5261SparseNativeTransferSbfErrorV1::AccountsAccount count, privilege, owner, or alias refused.programs/dclutch-claims-sbf/src/sparse_native_transfer_v1.rs:85
0x5262SparseNativeTransferSbfErrorV1::ReleaseRegistry current-role or caller authority refused.programs/dclutch-claims-sbf/src/sparse_native_transfer_v1.rs:87
0x5263SparseNativeTransferSbfErrorV1::ProductProduct Runtime V3, linked basis, or Core join refused.programs/dclutch-claims-sbf/src/sparse_native_transfer_v1.rs:89
0x5264SparseNativeTransferSbfErrorV1::ClaimsStateAggregate or Position identity, width, PDA, or revision refused.programs/dclutch-claims-sbf/src/sparse_native_transfer_v1.rs:91
0x5265SparseNativeTransferSbfErrorV1::CandidateDebit, credit, revision, or conservation arithmetic refused.programs/dclutch-claims-sbf/src/sparse_native_transfer_v1.rs:93
0x5266SparseNativeTransferSbfErrorV1::CommitCandidate accounts could not all be borrowed and committed last.programs/dclutch-claims-sbf/src/sparse_native_transfer_v1.rs:95
0x5267SparseNativeTransferSbfErrorV1::ReceiptExact success receipt construction refused.programs/dclutch-claims-sbf/src/sparse_native_transfer_v1.rs:97
0x5500ClaimsMarketClosureSbfErrorV1::AccountsThe fixed account frame or privileges refused.programs/dclutch-claims-sbf/src/market_closure_v1.rs:70
0x5501ClaimsMarketClosureSbfErrorV1::AuthorityCaller PDA or current Registry releases refused.programs/dclutch-claims-sbf/src/market_closure_v1.rs:72
0x5502ClaimsMarketClosureSbfErrorV1::IdentityCore/aggregate/RentCredit identities or revisions refused.programs/dclutch-claims-sbf/src/market_closure_v1.rs:74
0x5503ClaimsMarketClosureSbfErrorV1::LiabilityA nonzero aggregate supply prevented closure.programs/dclutch-claims-sbf/src/market_closure_v1.rs:76
0x5504ClaimsMarketClosureSbfErrorV1::CommitChecked refund accounting or commit-last closure refused.programs/dclutch-claims-sbf/src/market_closure_v1.rs:78
0x5505ClaimsMarketClosureSbfErrorV1::ReceiptTyped receipt construction refused.programs/dclutch-claims-sbf/src/market_closure_v1.rs:80

core

coderefusalmeaningprovenance
0x3000CoreSbfError::InstructionInstruction bytes or action-specific inactive fields refused.programs/dclutch-core-sbf/src/lib.rs:87
0x3001CoreSbfError::AccountFrameAccount count, order, privilege, executable flag, or alias refused.programs/dclutch-core-sbf/src/lib.rs:89
0x3002CoreSbfError::FinalizedRecordFinalized record owner, PDA, cursor absence, Rent, digest, or schema refused.programs/dclutch-core-sbf/src/lib.rs:91
0x3003CoreSbfError::ReferenceRealm/Product/result-domain/Market identity linkage refused.programs/dclutch-core-sbf/src/lib.rs:93
0x3004CoreSbfError::ReleaseRegistry cache, Loader-backed current deployment, or release-set join refused.programs/dclutch-core-sbf/src/lib.rs:95
0x3005CoreSbfError::MarketCore Market PDA, owner, width, phase, or generation refused.programs/dclutch-core-sbf/src/lib.rs:97
0x3006CoreSbfError::RentCreditRentCredit owner, bytes, PDA, or persisted beneficiary refused.programs/dclutch-core-sbf/src/lib.rs:99
0x3007CoreSbfError::CreationSystem, Rent, Clock, vacant account, or exact creation plan refused.programs/dclutch-core-sbf/src/lib.rs:101
0x3008CoreSbfError::FundingCapability manifest entry, FundingState, custody, deadline, or PDA refused.programs/dclutch-core-sbf/src/lib.rs:103
0x3009CoreSbfError::CallerAuthorityCanonical release-pinned Core caller authority refused.programs/dclutch-core-sbf/src/lib.rs:105
0x300ACoreSbfError::ChildCpiSelected child invocation or immediate return-data producer refused.programs/dclutch-core-sbf/src/lib.rs:107
0x300BCoreSbfError::ChildAckChild acknowledgement or post-funding physical delta refused.programs/dclutch-core-sbf/src/lib.rs:109
0x300CCoreSbfError::TransitionGenerated semantic transition refused.programs/dclutch-core-sbf/src/lib.rs:111
0x300DCoreSbfError::CommitCommit-last Core state persistence postcheck refused.programs/dclutch-core-sbf/src/lib.rs:113
0x300ECoreSbfError::ArithmeticChecked arithmetic or bounded conversion refused.programs/dclutch-core-sbf/src/lib.rs:115
0x300FCoreSbfError::InfrastructureCore bootstrap profile, artifact, Loader, or immutability authority refused.programs/dclutch-core-sbf/src/lib.rs:117
0x3010CoreSbfError::ReleaseSupersededThe release's pinned deployment slot moved: the substrate was upgraded. Decision 0012. Not a corrupted account and not an attack: the exact upgrade authority the release names shipped new bytes, so the cached authentication no longer describes what is deployed. Every open market on the superseded release generation refuses until a re-release re-authenticates the new deployment and re-pins its slot.programs/dclutch-core-sbf/src/lib.rs:125

custody

coderefusalmeaningprovenance
0x6000CustodySbfError::InstructionInstruction bytes did not decode as the one generated request.programs/dclutch-custody-sbf/src/lib.rs:88
0x6001CustodySbfError::AccountFrameAccount count, order, privileges, or aliases were not exact.programs/dclutch-custody-sbf/src/lib.rs:90
0x6002CustodySbfError::ReleaseRegistry CPI, producer, receipt, release, role, or caller refused.programs/dclutch-custody-sbf/src/lib.rs:92
0x6003CustodySbfError::CallerAuthorityCaller authority was not the release-pinned role PDA signer.programs/dclutch-custody-sbf/src/lib.rs:94
0x6004CustodySbfError::RealmRealm content, PDA, owner, Mint, token program, or adapter release refused.programs/dclutch-custody-sbf/src/lib.rs:96
0x6005CustodySbfError::ReplayReplay PDA, owner, bytes, or revision refused.programs/dclutch-custody-sbf/src/lib.rs:98
0x6006CustodySbfError::TokenStateVault PDA, token state, or authority policy refused.programs/dclutch-custody-sbf/src/lib.rs:100
0x6007CustodySbfError::CreateRent, payer, System program, or account creation refused.programs/dclutch-custody-sbf/src/lib.rs:102
0x6008CustodySbfError::TokenCpiExact token or close-account CPI refused.programs/dclutch-custody-sbf/src/lib.rs:104
0x6009CustodySbfError::PostconditionExact CPI postcondition or checked balance arithmetic refused.programs/dclutch-custody-sbf/src/lib.rs:106
0x600ACustodySbfError::CommitReplay state could not be committed after all effects succeeded.programs/dclutch-custody-sbf/src/lib.rs:108
0x600BCustodySbfError::ExpiryAn expiry-gated terminal was attempted at the wrong time. The kernel has always distinguished this from [Self::Replay]; this program used to flatten both into it, so a projection refusing an early unwind reported "replay PDA, owner, bytes, or revision refused" - which is not what happened and is not what a reader needs to know. For a terminal whose entire safety property is that it refuses while the founding is still satisfiable, the refusal has to be able to say so.programs/dclutch-custody-sbf/src/lib.rs:117
0x600CCustodySbfError::ReleaseSupersededThe release's pinned deployment slot moved: the substrate was upgraded. Decision 0012. Not a corrupted account and not an attack: the exact upgrade authority the release names shipped new bytes, so the cached authentication no longer describes what is deployed. Every open market on the superseded release generation refuses until a re-release re-authenticates the new deployment and re-pins its slot.programs/dclutch-custody-sbf/src/lib.rs:125

dealer

coderefusalmeaningprovenance
0x7000DealerSbfError::InstructionInstruction bytes did not encode one canonical Dealer request.programs/dclutch-dealer-sbf/src/lib.rs:109
0x7001DealerSbfError::AccountFrameAccount count, order, privilege, aliasing, or executable status refused.programs/dclutch-dealer-sbf/src/lib.rs:111
0x7002DealerSbfError::AccountIdentityPolicy, Candidate, or State owner/PDA/width authentication refused.programs/dclutch-dealer-sbf/src/lib.rs:113
0x7003DealerSbfError::SignatureActor signature or action-specific actor identity refused.programs/dclutch-dealer-sbf/src/lib.rs:115
0x7004DealerSbfError::ClockClock account or request time binding refused.programs/dclutch-dealer-sbf/src/lib.rs:117
0x7005DealerSbfError::ReleaseRegistry CPI, receipt provenance, role, program, or release join refused.programs/dclutch-dealer-sbf/src/lib.rs:119
0x7006DealerSbfError::SemanticThe total Dealer interpreter refused the transition.programs/dclutch-dealer-sbf/src/lib.rs:121
0x7007DealerSbfError::ClaimsThe canonical Claims child action or receipt refused.programs/dclutch-dealer-sbf/src/lib.rs:123
0x7008DealerSbfError::CustodyA canonical Custody child transfer, receipt, or postcondition refused.programs/dclutch-dealer-sbf/src/lib.rs:125
0x7009DealerSbfError::CommitState data could not be borrowed or commit width changed.programs/dclutch-dealer-sbf/src/lib.rs:127
0x700ADealerSbfError::ReleaseSupersededThe release's pinned deployment slot moved: the substrate was upgraded. Decision 0012. Not a corrupted account and not an attack: the exact upgrade authority the release names shipped new bytes, so the cached authentication no longer describes what is deployed. Every open market on the superseded release generation refuses until a re-release re-authenticates the new deployment and re-pins its slot.programs/dclutch-dealer-sbf/src/lib.rs:135

dealer-accelerator

coderefusalmeaningprovenance
0xD000DealerAcceleratorSbfErrorV4::InvalidRequestAcceleratorRequestV2 transport or candidate-bank width differed.programs/dclutch-dealer-accelerator-sbf/src/lib.rs:38
0xD001DealerAcceleratorSbfErrorV4::InvalidInvocationCommon Trading could not authenticate the release/artifact/runtime view.programs/dclutch-dealer-accelerator-sbf/src/lib.rs:40
0xD002DealerAcceleratorSbfErrorV4::InvalidAcknowledgementA canonical acknowledgement could not be constructed.programs/dclutch-dealer-accelerator-sbf/src/lib.rs:42

direct-aot

coderefusalmeaningprovenance
0xA000DirectAotSbfError::NonStatelessFrameThe invocation supplied any account, signer, writable state, or child.programs/dclutch-direct-aot-sbf/src/lib.rs:53
0xA001DirectAotSbfError::InvalidRequestThe request wire or its runtime bank counts were not exact Direct V2.programs/dclutch-direct-aot-sbf/src/lib.rs:55
0xA002DirectAotSbfError::InvalidBankThe scalar-then-identity input bank was malformed.programs/dclutch-direct-aot-sbf/src/lib.rs:57
0xA003DirectAotSbfError::InvalidAckAn accepted output or acknowledgement could not be encoded canonically.programs/dclutch-direct-aot-sbf/src/lib.rs:59

general-accelerator

coderefusalmeaningprovenance
0xC000GeneralAcceleratorSbfErrorV3::InvalidRequestAccelerator request transport or register geometry differed.programs/dclutch-general-accelerator-sbf/src/lib.rs:76
0xC001GeneralAcceleratorSbfErrorV3::InvalidFrameThe fixed admitted frame or readonly runtime frame differed.programs/dclutch-general-accelerator-sbf/src/lib.rs:78
0xC002GeneralAcceleratorSbfErrorV3::InvalidTopLevelInstructionThe current top-level Trading instruction could not be authenticated.programs/dclutch-general-accelerator-sbf/src/lib.rs:80
0xC003GeneralAcceleratorSbfErrorV3::InvalidScratchBankA Trading-owned scratch page or whole-bank digest differed.programs/dclutch-general-accelerator-sbf/src/lib.rs:82
0xC004GeneralAcceleratorSbfErrorV3::InvalidAcknowledgementThe exact acknowledgement could not be encoded.programs/dclutch-general-accelerator-sbf/src/lib.rs:84

product-runtime-v2

coderefusalmeaningprovenance
0x9000AdmissionSbfErrorV2::AccountFrameAccount count, aliasing, privilege, or owner was invalid.programs/dclutch-product-runtime-v2-sbf/src/lib.rs:40
0x9001AdmissionSbfErrorV2::InstructionInstruction bytes or request identity were invalid.programs/dclutch-product-runtime-v2-sbf/src/lib.rs:42
0x9002AdmissionSbfErrorV2::RentRent sysvar identity or bytes were invalid.programs/dclutch-product-runtime-v2-sbf/src/lib.rs:44
0x9003AdmissionSbfErrorV2::ReceiptReceipt address, initial bytes, or physical funding was invalid.programs/dclutch-product-runtime-v2-sbf/src/lib.rs:46
0x9004AdmissionSbfErrorV2::ProductRecordProduct finalized-record evidence was invalid.programs/dclutch-product-runtime-v2-sbf/src/lib.rs:48
0x9005AdmissionSbfErrorV2::ResultDomainRecordResult-domain finalized-record evidence was invalid.programs/dclutch-product-runtime-v2-sbf/src/lib.rs:50
0x9006AdmissionSbfErrorV2::PortfolioRecordPortfolio finalized-record evidence was invalid.programs/dclutch-product-runtime-v2-sbf/src/lib.rs:52
0x9007AdmissionSbfErrorV2::CompositionExact Product/domain/portfolio semantic composition refused.programs/dclutch-product-runtime-v2-sbf/src/lib.rs:54
0x9008AdmissionSbfErrorV2::BorrowAccount data could not be borrowed.programs/dclutch-product-runtime-v2-sbf/src/lib.rs:56

registry

coderefusalmeaningprovenance
0x1000RegistryError::InstructionInstruction bytes were not the one canonical Registry wire.programs/dclutch-registry-sbf/src/lib.rs:72
0x1001RegistryError::AccountFrameAccount count, order, privilege, or aliasing was invalid.programs/dclutch-registry-sbf/src/lib.rs:74
0x1002RegistryError::FinalizedRecordA finalized record owner, digest, PDA, rent, or vacancy proof refused.programs/dclutch-registry-sbf/src/lib.rs:76
0x1003RegistryError::DeploymentLoader Program, ProgramData, linkage, slot, ELF, or authority refused.programs/dclutch-registry-sbf/src/lib.rs:78
0x1004RegistryError::ReleaseRelease-set or artifact semantic admission refused.programs/dclutch-registry-sbf/src/lib.rs:80
0x1005RegistryError::ActivationCacheThe activation cache owner, PDA, bytes, or lifecycle refused.programs/dclutch-registry-sbf/src/lib.rs:82
0x1006RegistryError::CreateCpiSystem account creation failed or produced the wrong account.programs/dclutch-registry-sbf/src/lib.rs:84
0x1007RegistryError::BorrowAccount data could not be borrowed.programs/dclutch-registry-sbf/src/lib.rs:86
0x1008RegistryError::ArithmeticChecked width or lamport arithmetic refused.programs/dclutch-registry-sbf/src/lib.rs:88
0x1009RegistryError::SysvarClock-independent Rent or native-program authentication refused.programs/dclutch-registry-sbf/src/lib.rs:90
0x100ARegistryError::BatchA batched request or receipt failed its canonical fixed-width contract.programs/dclutch-registry-sbf/src/lib.rs:92
0x100BRegistryError::ContinuationRegistry-authenticated continuation header, signer, or child refused.programs/dclutch-registry-sbf/src/lib.rs:94
0x100CRegistryError::RecordImmutable-record publication wire, frame, transition, or account refused.programs/dclutch-registry-sbf/src/lib.rs:96
0x100DRegistryError::ReleaseSupersededThe release's pinned deployment slot moved: the substrate was upgraded. Decision 0012. Not a corrupted account and not an attack: the exact upgrade authority the release names shipped new bytes, so the cached authentication no longer describes what is deployed. Every open market on the superseded release generation refuses until a re-release re-authenticates the new deployment and re-pins its slot.programs/dclutch-registry-sbf/src/lib.rs:104

rent

coderefusalmeaningprovenance
0x2000RentSbfError::InstructionInstruction bytes did not decode under the canonical contract.programs/dclutch-rent-sbf/src/lib.rs:61
0x2001RentSbfError::AccountFrameAccount count, order, privileges, aliases, or wallet facts refused.programs/dclutch-rent-sbf/src/lib.rs:63
0x2002RentSbfError::RuntimeAccountSystem Program or Rent sysvar identity/value refused.programs/dclutch-rent-sbf/src/lib.rs:65
0x2003RentSbfError::RentCreditRentCredit PDA, owner, vacancy, or immutable binding refused.programs/dclutch-rent-sbf/src/lib.rs:67
0x2004RentSbfError::BalanceExact checked contract balance plan refused.programs/dclutch-rent-sbf/src/lib.rs:69
0x2005RentSbfError::SystemCpiSystem Program refused exact PDA creation.programs/dclutch-rent-sbf/src/lib.rs:71
0x2006RentSbfError::PostconditionA completed physical effect did not have its exact planned poststate.programs/dclutch-rent-sbf/src/lib.rs:73
0x2007RentSbfError::BorrowA required account borrow was unavailable.programs/dclutch-rent-sbf/src/lib.rs:75
0x2008RentSbfError::ReleaseRegistry refused the current Core deployment or returned other bytes.programs/dclutch-rent-sbf/src/lib.rs:77
0x2009RentSbfError::CallerCurrent Core did not sign with the exact lifecycle-close authority.programs/dclutch-rent-sbf/src/lib.rs:79
0x200ARentSbfError::ClosureComplete retirement evidence or the final close plan refused.programs/dclutch-rent-sbf/src/lib.rs:81
0x200BRentSbfError::ReleaseSupersededThe release's pinned deployment slot moved: the substrate was upgraded. Decision 0012. Not a corrupted account and not an attack: the exact upgrade authority the release names shipped new bytes, so the cached authentication no longer describes what is deployed. Every open market on the superseded release generation refuses until a re-release re-authenticates the new deployment and re-pins its slot.programs/dclutch-rent-sbf/src/lib.rs:89

resolution

coderefusalmeaningprovenance
0x8000ResolutionError::AccountFrameAccount count, order, privilege, executable state, or aliasing was invalid.programs/dclutch-resolution-proof-sbf/src/lib.rs:39
0x8001ResolutionError::InstructionThe generated fixed-layout request refused hostile bytes.programs/dclutch-resolution-proof-sbf/src/lib.rs:41
0x8002ResolutionError::OutputStateA writable Source state or certificate account was not canonical.programs/dclutch-resolution-proof-sbf/src/lib.rs:43
0x8003ResolutionError::MarketAuthorityMarket owner, root, lifecycle, generation, or Source binding was invalid.programs/dclutch-resolution-proof-sbf/src/lib.rs:45
0x8004ResolutionError::FinalizedRecordA finalized raw-record owner, PDA, digest, rent, or vacancy proof was invalid.programs/dclutch-resolution-proof-sbf/src/lib.rs:47
0x8005ResolutionError::ResolutionReleaseThe Market-selected Registry activation did not authorize this Resolution release.programs/dclutch-resolution-proof-sbf/src/lib.rs:49
0x8006ResolutionError::ResolutionDeploymentCurrent Loader V3 Program, ProgramData, ELF, slot, or upgrade policy was substituted.programs/dclutch-resolution-proof-sbf/src/lib.rs:51
0x8007ResolutionError::SourceMaterialSource material or one of its embedded content identities was inconsistent.programs/dclutch-resolution-proof-sbf/src/lib.rs:53
0x8008ResolutionError::ProductDomainThe external Product-owned result-domain identity or bytes differed.programs/dclutch-resolution-proof-sbf/src/lib.rs:55
0x8009ResolutionError::ProviderReleaseThe selected Pyth provider-release record or Loader accounts differed.programs/dclutch-resolution-proof-sbf/src/lib.rs:57
0x800AResolutionError::ProviderObservationFully verified update authentication failed: the posted bytes, their digest, the write authority, the posted slot, or an evidence identity was not the one this frame committed to. This used to be all of §12.3 as well. It is not any more: the three questions docs/design/MAINNET_STATE_RELAY.md §12.3 says an operator must be able to tell apart now have their own codes (ProviderWindow, ProviderFreshness, ProviderConfiguration), and this one is the residue — "the update itself did not authenticate".programs/dclutch-resolution-proof-sbf/src/lib.rs:67
0x800BResolutionError::SysvarClock or Rent sysvar identity or bytes were invalid.programs/dclutch-resolution-proof-sbf/src/lib.rs:69
0x800CResolutionError::TransitionProvider-neutral Source admission or Product mapping refused.programs/dclutch-resolution-proof-sbf/src/lib.rs:71
0x800DResolutionError::ArithmeticChecked physical arithmetic or signed timestamp conversion failed.programs/dclutch-resolution-proof-sbf/src/lib.rs:73
0x800EResolutionError::FundingCanonical capability funding, typed custody, or exact bounty debit failed.programs/dclutch-resolution-proof-sbf/src/lib.rs:75
0x800FResolutionError::RelayedRecordThe sealed relayed observation record was not consumable against this Market's authenticated Source graph.programs/dclutch-resolution-proof-sbf/src/lib.rs:78
0x8010ResolutionError::RelayedWindowThe relayed observation was admissible but did not satisfy the Product's own window: it is no answer rather than a wrong one, and the market is still live. Distinct from every "the bytes were wrong" refusal on purpose, because "come back later" and "something is broken" are not the same message to whoever is holding the position.programs/dclutch-resolution-proof-sbf/src/lib.rs:84
0x8011ResolutionError::ProviderWindowThe provider's observation is not ABOUT the period this Market sold: its publication time is outside [window.start, window.end]. Like RelayedWindow, and for the same reason: this is no answer rather than a wrong one, and the Market is still live. §12.3's first operator question.programs/dclutch-resolution-proof-sbf/src/lib.rs:91
0x8012ResolutionError::ProviderFreshnessThe provider's observation is about the right period and this cluster will not act on it: its publication time is outside [now - max_age, now + max_future_skew]. §12.3's second operator question, and the one whose answer is an instruction: if the publication is too OLD, a pinned fixture has outlived its declared shelf life and must be recaptured — not widened.programs/dclutch-resolution-proof-sbf/src/lib.rs:99
0x8013ResolutionError::ProviderConfigurationThe provider's observation is timely and about the right period, and its feed identity, exponent, or confidence is not what this Market's adapter configuration admits. §12.3's third operator question. Unlike the first two this one is not "come back later": nothing about waiting changes it.programs/dclutch-resolution-proof-sbf/src/lib.rs:106
0x8014ResolutionError::ReleaseSupersededThe release's pinned deployment slot moved: the substrate was upgraded. Decision 0012. Not a corrupted account and not an attack: the exact upgrade authority the release names shipped new bytes, so the cached authentication no longer describes what is deployed. Every open market on the superseded release generation refuses until a re-release re-authenticates the new deployment and re-pins its slot.programs/dclutch-resolution-proof-sbf/src/lib.rs:114

series-shadow

coderefusalmeaningprovenance
0xB000SeriesShadowSbfErrorV4::InvalidInvocationCommon Trading could not authenticate the Shadow callback.programs/dclutch-series-shadow-sbf/src/entrypoint.rs:75
0xB001SeriesShadowSbfErrorV4::NoSelectedReleaseThis ELF has no deliberately selected generated release.programs/dclutch-series-shadow-sbf/src/entrypoint.rs:77
0xB002SeriesShadowSbfErrorV4::RuntimeProfile13 geometry or normalized runtime observations differed.programs/dclutch-series-shadow-sbf/src/entrypoint.rs:79
0xB003SeriesShadowSbfErrorV4::FinalizedRecordA finalized Series or Product record did not authenticate.programs/dclutch-series-shadow-sbf/src/entrypoint.rs:81
0xB004SeriesShadowSbfErrorV4::InvalidAcknowledgementThe typed acknowledgement could not be encoded.programs/dclutch-series-shadow-sbf/src/entrypoint.rs:83

trading

coderefusalmeaningprovenance
0x4000TradingSbfError::UnsupportedContentThe instruction is not supported by an admitted content profile.programs/dclutch-trading-sbf/src/lib.rs:147
0x4001TradingSbfError::ReleaseThe Registry receipt did not authenticate this Program as current Trading.programs/dclutch-trading-sbf/src/lib.rs:149
0x4002TradingSbfError::RootThe immutable Trading child root or its PDA refused.programs/dclutch-trading-sbf/src/lib.rs:151
0x4003TradingSbfError::ContentManifest, selected entry, descriptor, or config content refused.programs/dclutch-trading-sbf/src/lib.rs:153
0x4004TradingSbfError::TransitionThe checked data-defined transition refused.programs/dclutch-trading-sbf/src/lib.rs:155
0x4005TradingSbfError::CommitA projected physical mutation or account write could not commit.programs/dclutch-trading-sbf/src/lib.rs:157
0x4006TradingSbfError::NativeSignatureInstructions-sysvar or native-signature evidence was not exact.programs/dclutch-trading-sbf/src/lib.rs:159
0x4007TradingSbfError::ReleaseSupersededThe release's pinned deployment slot moved: the substrate was upgraded. Decision 0012. Not a corrupted account and not an attack: the exact upgrade authority the release names shipped new bytes, so the cached authentication no longer describes what is deployed. Every open market on the superseded release generation refuses until a re-release re-authenticates the new deployment and re-pins its slot.programs/dclutch-trading-sbf/src/lib.rs:167
0x4100SeriesAccountErrorV3::StateOwner, width, key, phase, or canonical bytes refused.programs/dclutch-trading-sbf/src/series/accounts.rs:50
0x4101SeriesAccountErrorV3::FrameSigner, writable, executable, System, or alias contract refused.programs/dclutch-trading-sbf/src/series/accounts.rs:52
0x4102SeriesAccountErrorV3::FundingExact native funding or checked arithmetic refused.programs/dclutch-trading-sbf/src/series/accounts.rs:54
0x4103SeriesAccountErrorV3::CreationSystem creation or direct lamport transfer failed.programs/dclutch-trading-sbf/src/series/accounts.rs:56
0x4104SeriesAccountErrorV3::CommitCore acknowledgement or final state write refused.programs/dclutch-trading-sbf/src/series/accounts.rs:58