Skip to main content

How to use this page

  1. Search your error code or hex value with Cmd+F/ Ctrl+F
  2. Check for debug guides - some errors have detailed troubleshooting pages
  3. Still having issues? We’re here to help!
  • Reach out on Discord for support
  • Share the exact error code and a reproducer (GitHub repo / gist)
For help with debugging use the MCP Configuration or AskDevin viaAsk DeepWiki

6000 - 6053 / SystemProgramError Variants

CodeHexErrorMessage
60000x1770SumCheckFailed”Sum check failed”
60010x1771SignerCheckFailed”Signer check failed”
60020x1772CpiSignerCheckFailed”Cpi signer check failed”
60030x1773ComputeInputSumFailed”Computing input sum failed.”
60040x1774ComputeOutputSumFailed”Computing output sum failed.”
60050x1775ComputeRpcSumFailed”Computing rpc sum failed.”
60060x1776InvalidAddress”InvalidAddress”
60070x1777DeriveAddressError”DeriveAddressError”
60080x1778CompressedSolPdaUndefinedForCompressSol”CompressedSolPdaUndefinedForCompressSol”
60090x1779DecompressLamportsUndefinedForCompressSol”DecompressLamportsUndefinedForCompressSol”
60100x177ACompressedSolPdaUndefinedForDecompressSol”CompressedSolPdaUndefinedForDecompressSol”
60110x177BDeCompressLamportsUndefinedForDecompressSol”DeCompressLamportsUndefinedForDecompressSol”
60120x177CDecompressRecipientUndefinedForDecompressSol”DecompressRecipientUndefinedForDecompressSol”
60130x177DWriteAccessCheckFailed”WriteAccessCheckFailed”
60140x177EInvokingProgramNotProvided”InvokingProgramNotProvided”
60150x177FInvalidCapacity”InvalidCapacity”
60160x1780InvalidMerkleTreeOwner”InvalidMerkleTreeOwner”
60170x1781ProofIsNone”ProofIsNone”
60180x1782ProofIsSome”Proof is some but no input compressed accounts or new addresses provided.”
60190x1783EmptyInputs”EmptyInputs”
60200x1784CpiContextAccountUndefined”CpiContextAccountUndefined”
60210x1785CpiContextEmpty”CpiContextEmpty”
60220x1786CpiContextMissing”CpiContextMissing”
60230x1787DecompressionRecipientDefined”DecompressionRecipientDefined”
60240x1788SolPoolPdaDefined”SolPoolPdaDefined”
60250x1789AppendStateFailed”AppendStateFailed”
60260x178AInstructionNotCallable”The instruction is not callable”
60270x178BCpiContextFeePayerMismatch”CpiContextFeePayerMismatch”
60280x178CCpiContextAssociatedMerkleTreeMismatch”CpiContextAssociatedMerkleTreeMismatch”
60290x178DNoInputs”NoInputs”
60300x178EInputMerkleTreeIndicesNotInOrder”Input merkle tree indices are not in ascending order.”
60310x178FOutputMerkleTreeIndicesNotInOrder”Output merkle tree indices are not in ascending order.”
60320x1790OutputMerkleTreeNotUnique”OutputMerkleTreeNotUnique”
60330x1791DataFieldUndefined”DataFieldUndefined”
60340x1792ReadOnlyAddressAlreadyExists”ReadOnlyAddressAlreadyExists”
60350x1793ReadOnlyAccountDoesNotExist”ReadOnlyAccountDoesNotExist”
60360x1794HashChainInputsLenghtInconsistent”HashChainInputsLenghtInconsistent”
60370x1795InvalidAddressTreeHeight”InvalidAddressTreeHeight”
60380x1796InvalidStateTreeHeight”InvalidStateTreeHeight”
60390x1797InvalidArgument”InvalidArgument”
60400x1798InvalidAccount”InvalidAccount”
60410x1799AddressMerkleTreeAccountDiscriminatorMismatch”AddressMerkleTreeAccountDiscriminatorMismatch”
60420x179AStateMerkleTreeAccountDiscriminatorMismatch”StateMerkleTreeAccountDiscriminatorMismatch”
60430x179BProofVerificationFailed”Proof verification failed.”
How to debug this error
60440x179CInvalidAccountMode”Invalid account mode.”
60450x179DInvalidInstructionDataDiscriminator”InvalidInstructionDataDiscriminator”
60460x179ENewAddressAssignedIndexOutOfBounds”NewAddressAssignedIndexOutOfBounds”
60470x179FAddressIsNone”AddressIsNone”
60480x17A0AddressDoesNotMatch”AddressDoesNotMatch”
60490x17A1CpiContextAlreadySet”CpiContextAlreadySet”
60500x17A2InvalidTreeHeight”InvalidTreeHeight”
60510x17A3TooManyOutputAccounts”TooManyOutputAccounts”
60520x17A4BorrowingDataFailed”Borrowing data failed”
60530x17A5DuplicateAccountInInputsAndReadOnly”DuplicateAccountInInputsAndReadOnly”

7001 - 7009 / HasherError Variants

CodeHexErrorMessage
70010x1B59IntegerOverflow”Integer overflow, value too large”
70030x1B5BPoseidonSyscall(PoseidonSyscallError)”Poseidon syscall error:
70050x1B5DInvalidInputLength(usize, usize)”Allowed input length provided
70060x1B5EInvalidNumFields”Invalid number of fields”
70070x1B5FEmptyInput”Empty input”
70080x1B60BorshError”Borsh serialization failed.”
70090x1B61OptionHashToFieldSizeZero”Option hash to field size returned [0u8;32], a collision with None for an Option type.”

10001 - 10014 / ConcurrentMerkleTreeError Variants

CodeHexErrorMessage
100010x2711IntegerOverflow”Integer overflow”
100020x2712HeightZero”Invalid height, it has to be greater than 0”
100030x2713InvalidHeight(usize)”Invalud height, expected
100040x2714ChangelogZero”Invalid changelog size, it has to be greater than 0. Changelog is used for storing Merkle paths during appends.”
100050x2715RootsZero”Invalid number of roots, it has to be greater than 0”
100060x2716CanopyGeThanHeight”Canopy depth has to be lower than height”
100070x2717TreeIsFull”Merkle tree is full, cannot append more leaves.”
100080x2718BatchGreaterThanChangelog(usize, usize)”Number of leaves () exceeds the changelog capacity ().“
100090x2719InvalidProofLength(usize, usize)”Invalid proof length, expected , got .“
100100x271AInvalidProof([u8; 32], [u8; 32])”Invalid Merkle proof, expected root: {0:?}, the provided proof produces root: {1:?}
100110x271BCannotUpdateLeaf”Attempting to update the leaf which was updated by an another newest change.”
100120x271CCannotUpdateEmpty”Cannot update the empty leaf”
100130x271DEmptyLeaves”The batch of leaves is empty”
100140x271EBufferSize(usize, usize)”Invalid buffer size, expected , got

11001 - 11009 / IndexedMerkleTreeError Variants

CodeHexErrorMessage
110010x2AF9IntegerOverflow”Integer overflow”
110020x2AFAIndexHigherThanMax”Invalid index, it exceeds the number of elements.”
110030x2AFBLowElementNotFound”Could not find the low element.”
110040x2AFCLowElementGreaterOrEqualToNewElement”Low element is greater or equal to the provided new element.”
110050x2AFDNewElementGreaterOrEqualToNextElement”The provided new element is greater or equal to the next element.”
110060x2AFEElementAlreadyExists”The element already exists, but was expected to be absent.”
110070x2AFFElementDoesNotExist”The element does not exist, but was expected to be present.”
110080x2B00ChangelogBufferSize(usize, usize)”Invalid changelog buffer size, expected , got
110090x2B01ArrayFull”Indexed array is full, cannot append more elements”

12006 - 12019 / AccountError Variants

CodeHexErrorMessage
120060x2EE6InvalidDiscriminator”Invalid Discriminator.”
120070x2EE7AccountOwnedByWrongProgram”Account owned by wrong program.”
120080x2EE8AccountNotMutable”Account not mutable.”
120090x2EE9BorrowAccountDataFailed”Borrow account data failed.”
120100x2EEAInvalidAccountSize”Invalid Account size.”
120110x2EEBAccountMutable”Account is mutable.”
120120x2EECAlreadyInitialized”Account is already initialized.”
120130x2EEDInvalidAccountBalance”Invalid account balance.”
120140x2EEEFailedBorrowRentSysvar”Failed to borrow rent sysvar.”
120150x2EEFInvalidSigner”Invalid Signer”
120160x2EF0InvalidSeeds”Invalid Seeds”
120170x2EF1InvalidProgramId”Invalid Program Id”
120180x2EF2ProgramNotExecutable”Program not executable.”
120190x2EF3AccountNotZeroed”Account not zeroed.”

14001 - 14009 / MerkleTreeMetadataError Variants

CodeHexErrorMessage
140010x36B1MerkleTreeAndQueueNotAssociated”Merkle tree and queue are not associated.”
140020x36B2RolloverNotConfigured”Rollover not configured.”
140030x36B3MerkleTreeAlreadyRolledOver”Merkle tree already rolled over.”
140040x36B4InvalidQueueType”Invalid queue type.”
140050x36B5InsufficientRolloverFee”Insufficient rollover fee.”
140060x36B6NotReadyForRollover”Merkle tree not ready for rollover.”
140070x36B7InvalidTreeType”Invalid tree type.”
140080x36B8InvalidRolloverThreshold”Invalid Rollover Threshold.”
140090x36B9InvalidHeight”Invalid Height.”

14017 - 14034 / LightSdkTypesError Variants

CodeHexErrorMessage
140170x36C1FewerAccountsThanSystemAccounts”Fewer accounts than system accounts”
140210x36C5InitAddressIsNone”Address is none during initialization”
140220x36C6InitWithAddressIsNone”Address is none during initialization with address”
140230x36C7InitWithAddressOutputIsNone”Output is none during initialization with address”
140240x36C8MetaMutAddressIsNone”Address is none during meta mutation”
140250x36C9MetaMutInputIsNone”Input is none during meta mutation”
140260x36CAMetaMutOutputLamportsIsNone”Output lamports is none during meta mutation”
140270x36CBMetaMutOutputIsNone”Output is none during meta mutation”
140280x36CCMetaCloseAddressIsNone”Address is none during meta close”
140290x36CDMetaCloseInputIsNone”Input is none during meta close”
140310x36CFCpiAccountsIndexOutOfBounds(usize)”CPI accounts index out of bounds:
140320x36D0InvalidCpiContextAccount”Invalid CPI context account”
140330x36D1InvalidSolPoolPdaAccount”Invalid sol pool pda account”
140340x36D2InvalidCpiAccountsOffset”CpiAccounts accounts slice starts with an invalid account. It should start with LightSystemProgram SySTEM1eSU2p4BGQfQpimFEWWSC1XDFeun3Nqzz3rT7.”

14301 - 14312 / BatchedMerkleTreeError Variants

CodeHexErrorMessage
143010x37DDBatchNotReady”Batch is not ready to be inserted”
143020x37DEBatchAlreadyInserted”Batch is already inserted”
143030x37DFBatchInsertFailed”Batch insert failed”
143040x37E0LeafIndexNotInBatch”Leaf index not in batch.”
143050x37E1InvalidNetworkFee”Invalid network fee.”
143060x37E2BatchSizeNotDivisibleByZkpBatchSize”Batch size not divisible by ZKP batch size.”
143070x37E3InclusionProofByIndexFailed”Inclusion proof by index failed.”
143080x37E4InvalidBatchIndex”Invalid batch index”
143090x37E5InvalidIndex”Invalid index”
143100x37E6TreeIsFull”Batched Merkle tree is full.”
143110x37E7NonInclusionCheckFailed”Value already exists in bloom filter.”
143120x37E8BloomFilterNotZeroed”Bloom filter must be zeroed prior to reusing a batch.”

15001 - 15017 / ZeroCopyError Variants

CodeHexErrorMessage
150010x3A99Full”The vector is full, cannot push any new elements”
150020x3A9AArraySize(usize, usize)”Requested array of size , but the vector has elements”
150030x3A9BIterFromOutOfBounds”The requested start index is out of bounds”
150040x3A9CInsufficientMemoryAllocated(usize, usize)”Memory allocated , Memory required
150060x3A9EUnalignedPointer”Unaligned pointer”
150070x3A9FMemoryNotZeroed”Memory not zeroed”
150080x3AA0InvalidConversion”Invalid conversion”
150090x3AA1InvalidData(Infallible)”Invalid data”
150100x3AA2Size”Invalid size”
150110x3AA3InvalidOptionByte(u8)”Invalid option byte must be 0 (None) or 1 (Some)“
150120x3AA4InvalidCapacity”Invalid capacity. Capacity must be greater than 0”
150130x3AA5LengthGreaterThanCapacity”Length is greater than capacity”
150140x3AA6CurrentIndexGreaterThanLength”Current index is greater than length”
150150x3AA7InvalidEnumValue”Invalid enum value”
150160x3AA8InsufficientCapacity”Insufficient capacity for operation”
150170x3AA9PlatformSizeOverflow”Value too large for platform usize”

16001 - 16034 / LightSdkError Variants

CodeHexErrorMessage
160010x3E81ConstraintViolation”Constraint violation”
160020x3E82InvalidLightSystemProgram”Invalid light-system-program ID”
160030x3E83ExpectedAccounts”Expected accounts in the instruction”
160040x3E84ExpectedAddressTreeInfo”Expected address Merkle context to be provided”
160050x3E85ExpectedAddressRootIndex”Expected address root index to be provided”
160060x3E86ExpectedData”Accounts with a specified input are expected to have data”
160070x3E87ExpectedDiscriminator”Accounts with specified data are expected to have a discriminator”
160080x3E88ExpectedHash”Accounts with specified data are expected to have a hash”
160090x3E89ExpectedLightSystemAccount(String)”Expected the {0} light account to be provided”
160100x3E8AExpectedMerkleContextmut and close accounts are expected to have a Merkle context”
160110x3E8BExpectedRootIndex”Expected root index to be provided”
160120x3E8CTransferFromNoInput”Cannot transfer lamports from an account without input”
160130x3E8DTransferFromNoLamports”Cannot transfer from an account without lamports”
160140x3E8ETransferFromInsufficientLamports”Account, from which a transfer was attempted, has insufficient amount of lamports”
160150x3E8FTransferIntegerOverflow”Integer overflow resulting from too large resulting amount”
160160x3E90Borsh”Borsh error.”
160170x3E91FewerAccountsThanSystemAccounts”Fewer accounts than number of system accounts.”
160180x3E92InvalidCpiSignerAccount”InvalidCpiSignerAccount”
160190x3E93MissingField(String)”Missing meta field:
160200x3E94OutputStateTreeIndexIsNone”Output state tree index is none. Use an CompressedAccountMeta type with output tree index to initialize or update accounts.”
160210x3E95InitAddressIsNone”Address is none during initialization”
160220x3E96InitWithAddressIsNone”Address is none during initialization with address”
160230x3E97InitWithAddressOutputIsNone”Output is none during initialization with address”
160240x3E98MetaMutAddressIsNone”Address is none during meta mutation”
160250x3E99MetaMutInputIsNone”Input is none during meta mutation”
160260x3E9AMetaMutOutputLamportsIsNone”Output lamports is none during meta mutation”
160270x3E9BMetaMutOutputIsNone”Output is none during meta mutation”
160280x3E9CMetaCloseAddressIsNone”Address is none during meta close”
160290x3E9DMetaCloseInputIsNone”Input is none during meta close”
160310x3E9FCpiAccountsIndexOutOfBounds(usize)”CPI accounts index out of bounds:
160320x3EA0InvalidCpiContextAccount”Invalid CPI context account”
160330x3EA1InvalidSolPoolPdaAccount”Invalid SolPool PDA account”
160340x3EA2InvalidCpiAccountsOffset”CpigAccounts accounts slice starts with an invalid account. It should start with LightSystemProgram SySTEM1eSU2p4BGQfQpimFEWWSC1XDFeun3Nqzz3rT7.”