Reference

@solana/kit error codes

All 334 SolanaError codes from @solana/errors 8.4.0. Production builds of Kit strip messages and print "Solana error #<code>" with an npx command; paste that line below to decode it, context included.

Try:
Why your error only shows a number
@solana/kit ships two builds. The development build throws errors with full messages. The production build replaces them with Solana error #8100002; Decode this error by running `npx @solana/errors decode -- 8100002 '…'`. The base64 argument is the error’s context (for example statusCode=429), URL-encoded. This page decodes both.

General

14 codes

Early, uncategorised errors: blockhash expiry, nonces, number parsing, and failures to send or sign.

JSON-RPC server errors

26 codes

Errors returned by the RPC node itself. The numeric code is the JSON-RPC error code from the server (negative numbers), wrapped by Kit.

CodeNameMessage
-32700JSON_RPC__PARSE_ERRORJSON-RPC error: An error occurred on the server while parsing the JSON text ($__serverMessage)
-32603JSON_RPC__INTERNAL_ERRORJSON-RPC error: Internal JSON-RPC error ($__serverMessage)
-32602JSON_RPC__INVALID_PARAMSJSON-RPC error: Invalid method parameter(s) ($__serverMessage)
-32601JSON_RPC__METHOD_NOT_FOUNDJSON-RPC error: The method does not exist / is not available ($__serverMessage)
-32600JSON_RPC__INVALID_REQUESTJSON-RPC error: The JSON sent is not a valid `Request` object ($__serverMessage)
-32021JSON_RPC__SERVER_ERROR_NO_SLOT_HISTORYNo slot history
-32020JSON_RPC__SERVER_ERROR_FILTER_TRANSACTION_NOT_FOUND$__serverMessage
-32019JSON_RPC__SERVER_ERROR_LONG_TERM_STORAGE_UNREACHABLEFailed to query long-term storage; please try again
-32018JSON_RPC__SERVER_ERROR_SLOT_NOT_EPOCH_BOUNDARYRewards cannot be found because slot $slot is not the epoch boundary. This may be due to gap in the queried node's local ledger or long-term storage
-32017JSON_RPC__SERVER_ERROR_EPOCH_REWARDS_PERIOD_ACTIVEEpoch rewards period still active at slot $slot
-32016JSON_RPC__SERVER_ERROR_MIN_CONTEXT_SLOT_NOT_REACHEDMinimum context slot has not been reached
-32015JSON_RPC__SERVER_ERROR_UNSUPPORTED_TRANSACTION_VERSION$__serverMessage
-32014JSON_RPC__SERVER_ERROR_BLOCK_STATUS_NOT_AVAILABLE_YET$__serverMessage
-32013JSON_RPC__SERVER_ERROR_TRANSACTION_SIGNATURE_LEN_MISMATCHTransaction signature length mismatch
-32012JSON_RPC__SCAN_ERROR$__serverMessage
-32011JSON_RPC__SERVER_ERROR_TRANSACTION_HISTORY_NOT_AVAILABLETransaction history is not available from this node
-32010JSON_RPC__SERVER_ERROR_KEY_EXCLUDED_FROM_SECONDARY_INDEX$__serverMessage
-32009JSON_RPC__SERVER_ERROR_LONG_TERM_STORAGE_SLOT_SKIPPED$__serverMessage
-32008JSON_RPC__SERVER_ERROR_NO_SNAPSHOTNo snapshot
-32007JSON_RPC__SERVER_ERROR_SLOT_SKIPPED$__serverMessage
-32006JSON_RPC__SERVER_ERROR_TRANSACTION_PRECOMPILE_VERIFICATION_FAILURE$__serverMessage
-32005JSON_RPC__SERVER_ERROR_NODE_UNHEALTHYNode is unhealthy; behind by $numSlotsBehind slots
-32004JSON_RPC__SERVER_ERROR_BLOCK_NOT_AVAILABLE$__serverMessage
-32003JSON_RPC__SERVER_ERROR_TRANSACTION_SIGNATURE_VERIFICATION_FAILURETransaction signature verification failure
-32002JSON_RPC__SERVER_ERROR_SEND_TRANSACTION_PREFLIGHT_FAILURETransaction simulation failed
-32001JSON_RPC__SERVER_ERROR_BLOCK_CLEANED_UP$__serverMessage

Addresses and PDAs

12 codes

Base58 address validation and program derived address derivation.

Account fetching and decoding

5 codes

Helpers like `fetchEncodedAccount` and `assertAccountExists`.

SubtleCrypto availability

8 codes

The runtime lacks part of the WebCrypto API (Ed25519 key generation, signing, verification or digest).

Crypto

1 codes

Random value generation.

Keys and signatures

7 codes

Key pair construction, signature byte lengths and key extractability.

File system

1 codes

Reading keypairs from disk.

Instruction shape

3 codes

An instruction object is missing data, accounts or the expected program address.

Instruction errors (on-chain)

55 codes

Kit's typed wrappers around the runtime's `InstructionError` variants. The same errors exist in the legacy format; see the linked page for causes and fixes.

CodeNameMessage
4615000INSTRUCTION_ERROR__UNKNOWNThe instruction failed with the error: $errorName
4615001INSTRUCTION_ERROR__GENERIC_ERRORGeneric instruction error
4615002INSTRUCTION_ERROR__INVALID_ARGUMENTInvalid program argument
4615003INSTRUCTION_ERROR__INVALID_INSTRUCTION_DATAInvalid instruction data
4615004INSTRUCTION_ERROR__INVALID_ACCOUNT_DATAInvalid account data for instruction
4615005INSTRUCTION_ERROR__ACCOUNT_DATA_TOO_SMALLAccount data too small for instruction
4615006INSTRUCTION_ERROR__INSUFFICIENT_FUNDSInsufficient funds for instruction
4615007INSTRUCTION_ERROR__INCORRECT_PROGRAM_IDIncorrect program id for instruction
4615008INSTRUCTION_ERROR__MISSING_REQUIRED_SIGNATUREMissing required signature for instruction
4615009INSTRUCTION_ERROR__ACCOUNT_ALREADY_INITIALIZEDInstruction requires an uninitialized account
4615010INSTRUCTION_ERROR__UNINITIALIZED_ACCOUNTInstruction requires an initialized account
4615011INSTRUCTION_ERROR__UNBALANCED_INSTRUCTIONSum of account balances before and after instruction do not match
4615012INSTRUCTION_ERROR__MODIFIED_PROGRAM_IDInstruction illegally modified the program id of an account
4615013INSTRUCTION_ERROR__EXTERNAL_ACCOUNT_LAMPORT_SPENDInstruction spent from the balance of an account it does not own
4615014INSTRUCTION_ERROR__EXTERNAL_ACCOUNT_DATA_MODIFIEDInstruction modified data of an account it does not own
4615015INSTRUCTION_ERROR__READONLY_LAMPORT_CHANGEInstruction changed the balance of a read-only account
4615016INSTRUCTION_ERROR__READONLY_DATA_MODIFIEDInstruction modified data of a read-only account
4615017INSTRUCTION_ERROR__DUPLICATE_ACCOUNT_INDEXInstruction contains duplicate accounts
4615018INSTRUCTION_ERROR__EXECUTABLE_MODIFIEDInstruction changed executable bit of an account
4615019INSTRUCTION_ERROR__RENT_EPOCH_MODIFIEDInstruction modified rent epoch of an account
4615020INSTRUCTION_ERROR__NOT_ENOUGH_ACCOUNT_KEYSInsufficient account keys for instruction
4615021INSTRUCTION_ERROR__ACCOUNT_DATA_SIZE_CHANGEDProgram other than the account's owner changed the size of the account data
4615022INSTRUCTION_ERROR__ACCOUNT_NOT_EXECUTABLEInstruction expected an executable account
4615023INSTRUCTION_ERROR__ACCOUNT_BORROW_FAILEDInstruction tries to borrow reference for an account which is already borrowed
4615024INSTRUCTION_ERROR__ACCOUNT_BORROW_OUTSTANDINGInstruction left account with an outstanding borrowed reference
4615025INSTRUCTION_ERROR__DUPLICATE_ACCOUNT_OUT_OF_SYNCInstruction modifications of multiply-passed account differ
4615026INSTRUCTION_ERROR__CUSTOMCustom program error: #$code
4615027INSTRUCTION_ERROR__INVALID_ERRORProgram returned invalid error code
4615028INSTRUCTION_ERROR__EXECUTABLE_DATA_MODIFIEDInstruction changed executable accounts data
4615029INSTRUCTION_ERROR__EXECUTABLE_LAMPORT_CHANGEInstruction changed the balance of an executable account
4615030INSTRUCTION_ERROR__EXECUTABLE_ACCOUNT_NOT_RENT_EXEMPTExecutable accounts must be rent exempt
4615031INSTRUCTION_ERROR__UNSUPPORTED_PROGRAM_IDUnsupported program id
4615032INSTRUCTION_ERROR__CALL_DEPTHCross-program invocation call depth too deep
4615033INSTRUCTION_ERROR__MISSING_ACCOUNTAn account required by the instruction is missing
4615034INSTRUCTION_ERROR__REENTRANCY_NOT_ALLOWEDCross-program invocation reentrancy not allowed for this instruction
4615035INSTRUCTION_ERROR__MAX_SEED_LENGTH_EXCEEDEDLength of the seed is too long for address generation
4615036INSTRUCTION_ERROR__INVALID_SEEDSProvided seeds do not result in a valid address
4615037INSTRUCTION_ERROR__INVALID_REALLOCFailed to reallocate account data
4615038INSTRUCTION_ERROR__COMPUTATIONAL_BUDGET_EXCEEDEDComputational budget exceeded
4615039INSTRUCTION_ERROR__PRIVILEGE_ESCALATIONCross-program invocation with unauthorized signer or writable account
4615040INSTRUCTION_ERROR__PROGRAM_ENVIRONMENT_SETUP_FAILUREFailed to create program execution environment
4615041INSTRUCTION_ERROR__PROGRAM_FAILED_TO_COMPLETEProgram failed to complete
4615042INSTRUCTION_ERROR__PROGRAM_FAILED_TO_COMPILEProgram failed to compile
4615043INSTRUCTION_ERROR__IMMUTABLEAccount is immutable
4615044INSTRUCTION_ERROR__INCORRECT_AUTHORITYIncorrect authority provided
4615045INSTRUCTION_ERROR__BORSH_IO_ERRORFailed to serialize or deserialize account data
4615046INSTRUCTION_ERROR__ACCOUNT_NOT_RENT_EXEMPTAn account does not have enough lamports to be rent-exempt
4615047INSTRUCTION_ERROR__INVALID_ACCOUNT_OWNERInvalid account owner
4615048INSTRUCTION_ERROR__ARITHMETIC_OVERFLOWProgram arithmetic overflowed
4615049INSTRUCTION_ERROR__UNSUPPORTED_SYSVARUnsupported sysvar
4615050INSTRUCTION_ERROR__ILLEGAL_OWNERProvided owner is not allowed
4615051INSTRUCTION_ERROR__MAX_ACCOUNTS_DATA_ALLOCATIONS_EXCEEDEDAccounts data allocations exceeded the maximum allowed per transaction
4615052INSTRUCTION_ERROR__MAX_ACCOUNTS_EXCEEDEDMax accounts exceeded
4615053INSTRUCTION_ERROR__MAX_INSTRUCTION_TRACE_LENGTH_EXCEEDEDMax instruction trace length exceeded
4615054INSTRUCTION_ERROR__BUILTIN_PROGRAMS_MUST_CONSUME_COMPUTE_UNITSBuiltin programs must consume compute units

Signers

13 codes

Transaction and message signer plumbing: missing fee payer signer, wrong signer type, address mismatch.

CodeNameMessage
5508000SIGNER__ADDRESS_CANNOT_HAVE_MULTIPLE_SIGNERSMultiple distinct signers were identified for address `$address`. Please ensure that you are using the same signer instance for each address.
5508001SIGNER__EXPECTED_KEY_PAIR_SIGNERThe provided value does not implement the `KeyPairSigner` interface
5508002SIGNER__EXPECTED_MESSAGE_SIGNERThe provided value does not implement any of the `MessageSigner` interfaces
5508003SIGNER__EXPECTED_MESSAGE_MODIFYING_SIGNERThe provided value does not implement the `MessageModifyingSigner` interface
5508004SIGNER__EXPECTED_MESSAGE_PARTIAL_SIGNERThe provided value does not implement the `MessagePartialSigner` interface
5508005SIGNER__EXPECTED_TRANSACTION_SIGNERThe provided value does not implement any of the `TransactionSigner` interfaces
5508006SIGNER__EXPECTED_TRANSACTION_MODIFYING_SIGNERThe provided value does not implement the `TransactionModifyingSigner` interface
5508007SIGNER__EXPECTED_TRANSACTION_PARTIAL_SIGNERThe provided value does not implement the `TransactionPartialSigner` interface
5508008SIGNER__EXPECTED_TRANSACTION_SENDING_SIGNERThe provided value does not implement the `TransactionSendingSigner` interface
5508009SIGNER__TRANSACTION_CANNOT_HAVE_MULTIPLE_SENDING_SIGNERSMore than one `TransactionSendingSigner` was identified.
5508010SIGNER__TRANSACTION_SENDING_SIGNER_MISSINGNo `TransactionSendingSigner` was identified. Please provide a valid `TransactionWithSingleSendingSigner` transaction.
5508011SIGNER__WALLET_MULTISIGN_UNIMPLEMENTEDWallet account signers do not support signing multiple messages/transactions in a single operation
5508012SIGNER__WALLET_ACCOUNT_CANNOT_SIGN_TRANSACTIONThe wallet account $address cannot be used to create a transaction signer because it does not implement either the `solana:signTransaction` or `solana:signAndSendTransaction` feature. At least one of these features is required. The account supports the following features: $supportedFeatures.

Off-chain messages

20 codes

Encoding and validating off-chain signed messages (application domain, format, length limits).

CodeNameMessage
5607000OFFCHAIN_MESSAGE__MAXIMUM_LENGTH_EXCEEDEDThe message body provided has a byte-length of $actualBytes. The maximum allowable byte-length is $maxBytes
5607001OFFCHAIN_MESSAGE__RESTRICTED_ASCII_BODY_CHARACTER_OUT_OF_RANGEThe message body provided contains characters whose codes fall outside the allowed range. In order to ensure clear-signing compatiblity with hardware wallets, the message may only contain line feeds and characters in the range [\x20-\x7e].
5607002OFFCHAIN_MESSAGE__APPLICATION_DOMAIN_STRING_LENGTH_OUT_OF_RANGEExpected base58-encoded application domain string of length in the range [32, 44]. Actual length: $actualLength.
5607003OFFCHAIN_MESSAGE__INVALID_APPLICATION_DOMAIN_BYTE_LENGTHExpected base58 encoded application domain to decode to a byte array of length 32. Actual length: $actualLength.
5607004OFFCHAIN_MESSAGE__NUM_SIGNATURES_MISMATCHThe offchain message preamble specifies $numRequiredSignatures required signature(s), got $signaturesLength.
5607005OFFCHAIN_MESSAGE__NUM_REQUIRED_SIGNERS_CANNOT_BE_ZEROOffchain message must specify the address of at least one required signer
5607006OFFCHAIN_MESSAGE__VERSION_NUMBER_NOT_SUPPORTEDThis version of Kit does not support decoding offchain messages with version $unsupportedVersion. The current max supported version is 0.
5607007OFFCHAIN_MESSAGE__MESSAGE_FORMAT_MISMATCHExpected message format $expectedMessageFormat, got $actualMessageFormat
5607008OFFCHAIN_MESSAGE__MESSAGE_LENGTH_MISMATCHThe message length specified in the message preamble is $specifiedLength bytes. The actual length of the message is $actualLength bytes.
5607009OFFCHAIN_MESSAGE__MESSAGE_MUST_BE_NON_EMPTYOffchain message content must be non-empty
5607010OFFCHAIN_MESSAGE__NUM_ENVELOPE_SIGNATURES_CANNOT_BE_ZEROOffchain message envelope must reserve space for at least one signature
5607011OFFCHAIN_MESSAGE__SIGNATURES_MISSINGOffchain message is missing signatures for addresses: $addresses.
5607012OFFCHAIN_MESSAGE__ENVELOPE_SIGNERS_MISMATCHThe signer addresses in this offchain message envelope do not match the list of required signers in the message preamble. These unexpected signers were present in the envelope: `[$unexpectedSigners]`. These required signers were missing from the envelope `[$missingSigners]`.
5607013OFFCHAIN_MESSAGE__ADDRESSES_CANNOT_SIGN_OFFCHAIN_MESSAGEAttempted to sign an offchain message with an address that is not a signer for it
5607014OFFCHAIN_MESSAGE__UNEXPECTED_VERSIONExpected offchain message version $expectedVersion. Got $actualVersion.
5607015OFFCHAIN_MESSAGE__SIGNATORIES_MUST_BE_SORTEDThe signatories of this offchain message must be listed in lexicographical order
5607016OFFCHAIN_MESSAGE__SIGNATORIES_MUST_BE_UNIQUEAn address must be listed no more than once among the signatories of an offchain message
5607017OFFCHAIN_MESSAGE__SIGNATURE_VERIFICATION_FAILUREOffchain message signature verification failed. Signature mismatch for required signatories [$signatoriesWithInvalidSignatures]. Missing signatures for signatories [$signatoriesWithMissingSignatures]
5607018OFFCHAIN_MESSAGE__CONTENT_DOES_NOT_MATCH_EXPECTEDThe content of the offchain message does not match the content that was expected. Expected content with a byte-length of $expectedBytes; got content with a byte-length of $actualBytes. The signer may have signed different data than was requested; do not trust its signature.
5607019OFFCHAIN_MESSAGE__REQUIRED_SIGNATORIES_DO_NOT_MATCH_EXPECTEDThe offchain message lists different required signatories than was expected. Expected [$expectedAddresses]. Got [$actualAddresses]. The signer may have signed different data than was requested; do not trust its signature.

Transaction building

41 codes

Assembling, compiling, signing and size-checking transaction messages.

CodeNameMessage
5663000TRANSACTION__INVOKED_PROGRAMS_CANNOT_PAY_FEESThis transaction includes an address (`$programAddress`) which is both invoked and set as the fee payer. Program addresses may not pay fees
5663001TRANSACTION__INVOKED_PROGRAMS_MUST_NOT_BE_WRITABLEThis transaction includes an address (`$programAddress`) which is both invoked and marked writable. Program addresses may not be writable
5663002TRANSACTION__EXPECTED_BLOCKHASH_LIFETIMETransaction does not have a blockhash lifetime
5663003TRANSACTION__EXPECTED_NONCE_LIFETIMETransaction is not a durable nonce transaction
5663004TRANSACTION__VERSION_NUMBER_OUT_OF_RANGETransaction version must be in the range [0, 127]. `$actualVersion` given
5663005TRANSACTION__FAILED_TO_DECOMPILE_ADDRESS_LOOKUP_TABLE_CONTENTS_MISSINGContents of these address lookup tables unknown: $lookupTableAddresses
5663006TRANSACTION__FAILED_TO_DECOMPILE_ADDRESS_LOOKUP_TABLE_INDEX_OUT_OF_RANGELookup of address at index $highestRequestedIndex failed for lookup table `$lookupTableAddress`. Highest known index is $highestKnownIndex. The lookup table may have been extended since its contents were retrieved
5663007TRANSACTION__FAILED_TO_DECOMPILE_INSTRUCTION_PROGRAM_ADDRESS_NOT_FOUNDCould not find program address at index $index
5663008TRANSACTION__FAILED_TO_DECOMPILE_FEE_PAYER_MISSINGNo fee payer set in CompiledTransaction
5663009TRANSACTION__SIGNATURES_MISSINGTransaction is missing signatures for addresses: $addresses.
5663010TRANSACTION__ADDRESS_MISSINGTransaction is missing an address at index: $index.
5663011TRANSACTION__FEE_PAYER_MISSINGTransaction is missing a fee payer.
5663012TRANSACTION__FEE_PAYER_SIGNATURE_MISSINGCould not determine this transaction's signature. Make sure that the transaction has been signed by its fee payer.
5663013TRANSACTION__INVALID_NONCE_TRANSACTION_INSTRUCTIONS_MISSINGTransaction with no instructions cannot be durable nonce transaction.
5663014TRANSACTION__INVALID_NONCE_TRANSACTION_FIRST_INSTRUCTION_MUST_BE_ADVANCE_NONCETransaction first instruction is not advance nonce account instruction.
5663015TRANSACTION__ADDRESSES_CANNOT_SIGN_TRANSACTIONAttempted to sign a transaction with an address that is not a signer for it
5663016TRANSACTION__CANNOT_ENCODE_WITH_EMPTY_SIGNATURESTransaction has no expected signers therefore it cannot be encoded
5663017TRANSACTION__MESSAGE_SIGNATURES_MISMATCHThe transaction message expected the transaction to have $numRequiredSignatures signatures, got $signaturesLength.
5663018TRANSACTION__FAILED_TO_ESTIMATE_COMPUTE_LIMITFailed to estimate the compute unit consumption for this transaction message. This is likely because simulating the transaction failed. Inspect the `cause` property of this error to learn more
5663019TRANSACTION__FAILED_WHEN_SIMULATING_TO_ESTIMATE_COMPUTE_LIMITTransaction failed when it was simulated in order to estimate the compute unit consumption. The compute unit estimate provided is for a transaction that failed when simulated and may not be representative of the compute units this transaction would consume if successful. Inspect the `cause` property of this error to learn more
5663020TRANSACTION__EXCEEDS_SIZE_LIMITTransaction size $transactionSize exceeds limit of $transactionSizeLimit bytes
5663021TRANSACTION__VERSION_NUMBER_NOT_SUPPORTEDThis version of Kit does not support decoding transactions with version $unsupportedVersion. The current max supported version is 1.
5663022TRANSACTION__NONCE_ACCOUNT_CANNOT_BE_IN_LOOKUP_TABLEThe transaction has a durable nonce lifetime (with nonce `$nonce`), but the nonce account address is in a lookup table. The lifetime constraint cannot be constructed without fetching the lookup tables for the transaction.
5663023TRANSACTION__MALFORMED_MESSAGE_BYTESTransaction message bytes are malformed: $messageBytes
5663024TRANSACTION__CANNOT_ENCODE_WITH_EMPTY_MESSAGE_BYTESTransaction message bytes are empty, so the transaction cannot be encoded
5663025TRANSACTION__CANNOT_DECODE_EMPTY_TRANSACTION_BYTESTransaction bytes are empty, so no transaction can be decoded
5663026TRANSACTION__VERSION_ZERO_MUST_BE_ENCODED_WITH_SIGNATURES_FIRSTTransaction version 0 must be encoded with signatures first. This transaction was encoded with first byte $firstByte, which is expected to be a signature count for v0 transactions.
5663027TRANSACTION__SIGNATURE_COUNT_TOO_HIGH_FOR_TRANSACTION_BYTESThe provided transaction bytes expect that there should be $numExpectedSignatures signatures, but the bytes are not long enough to contain a transaction message with this many signatures. The provided bytes are $transactionBytesLength bytes long.
5663028TRANSACTION__INVALID_CONFIG_MASK_PRIORITY_FEE_BITSInvalid transaction config mask: $mask. Bits 0 and 1 must match (both set or both unset)
5663029TRANSACTION__INVALID_NONCE_ACCOUNT_INDEXThe transaction has a durable nonce lifetime, but the nonce account index is invalid. Expected a nonce account index less than $numberOfStaticAccounts, got $nonceAccountIndex.
5663030TRANSACTION__INVALID_CONFIG_VALUE_KINDThe transaction config value for $configName has the incorrect kind. Expected $expectedKind, got $actualKind.
5663031TRANSACTION__INSTRUCTION_HEADERS_PAYLOADS_MISMATCHThe transaction does not have the same number of instruction headers and instruction payloads. Got $numInstructionHeaders instruction headers, and $numInstructionPayloads instruction payloads.
5663032TRANSACTION__TOO_MANY_SIGNER_ADDRESSESTransaction has $actualCount unique signer addresses but the maximum allowed is $maxAllowed
5663033TRANSACTION__TOO_MANY_ACCOUNT_ADDRESSESTransaction has $actualCount unique account addresses but the maximum allowed is $maxAllowed
5663034TRANSACTION__TOO_MANY_INSTRUCTIONSTransaction has $actualCount instructions but the maximum allowed is $maxAllowed
5663035TRANSACTION__TOO_MANY_ACCOUNTS_IN_INSTRUCTIONThe instruction at index $instructionIndex has $actualCount account references but the maximum allowed is $maxAllowed
5663036TRANSACTION__FAILED_TO_ESTIMATE_LOADED_ACCOUNTS_DATA_SIZE_LIMITFailed to estimate the loaded accounts data size for this transaction message. The RPC did not return a `loadedAccountsDataSize` value from simulation. This value is required for version 1 transactions
5663037TRANSACTION__FAILED_WHEN_SIMULATING_TO_ESTIMATE_RESOURCE_LIMITSTransaction failed when it was simulated in order to estimate its resource limits. The resource limit estimates provided are for a transaction that failed when simulated and may not be representative of the resources this transaction would consume if successful. Inspect the `cause` property of this error to learn more
5663038TRANSACTION__FAILED_TO_DECOMPILE_INSTRUCTION_ACCOUNT_INDEX_OUT_OF_RANGECould not find an account address at index $index while decompiling an instruction
5663039TRANSACTION__COMPUTE_UNIT_LIMIT_OUT_OF_RANGETransaction compute unit limit must be an integer in the range [0, $maxComputeUnitLimit]. `$computeUnitLimit` given
5663040TRANSACTION__INVALID_HEAP_SIZETransaction heap size must be an integer multiple of $multipleOf bytes in the range [$minHeapSize, $maxHeapSize]. `$heapSize` given

Transaction introspection

2 codes

Decoding `getTransaction` responses back into transaction objects.

Transaction errors (on-chain)

37 codes

Kit's typed wrappers around the runtime's `TransactionError` variants, such as blockhash not found or insufficient funds for fee.

CodeNameMessage
7050000TRANSACTION_ERROR__UNKNOWNThe transaction failed with the error `$errorName`
7050001TRANSACTION_ERROR__ACCOUNT_IN_USEAccount in use
7050002TRANSACTION_ERROR__ACCOUNT_LOADED_TWICEAccount loaded twice
7050003TRANSACTION_ERROR__ACCOUNT_NOT_FOUNDAttempt to debit an account but found no record of a prior credit.
7050004TRANSACTION_ERROR__PROGRAM_ACCOUNT_NOT_FOUNDAttempt to load a program that does not exist
7050005TRANSACTION_ERROR__INSUFFICIENT_FUNDS_FOR_FEEInsufficient funds for fee
7050006TRANSACTION_ERROR__INVALID_ACCOUNT_FOR_FEEThis account may not be used to pay transaction fees
7050007TRANSACTION_ERROR__ALREADY_PROCESSEDThis transaction has already been processed
7050008TRANSACTION_ERROR__BLOCKHASH_NOT_FOUNDBlockhash not found
7050009TRANSACTION_ERROR__CALL_CHAIN_TOO_DEEPLoader call chain is too deep
7050010TRANSACTION_ERROR__MISSING_SIGNATURE_FOR_FEETransaction requires a fee but has no signature present
7050011TRANSACTION_ERROR__INVALID_ACCOUNT_INDEXTransaction contains an invalid account reference
7050012TRANSACTION_ERROR__SIGNATURE_FAILURETransaction did not pass signature verification
7050013TRANSACTION_ERROR__INVALID_PROGRAM_FOR_EXECUTIONThis program may not be used for executing instructions
7050014TRANSACTION_ERROR__SANITIZE_FAILURETransaction failed to sanitize accounts offsets correctly
7050015TRANSACTION_ERROR__CLUSTER_MAINTENANCETransactions are currently disabled due to cluster maintenance
7050016TRANSACTION_ERROR__ACCOUNT_BORROW_OUTSTANDINGTransaction processing left an account with an outstanding borrowed reference
7050017TRANSACTION_ERROR__WOULD_EXCEED_MAX_BLOCK_COST_LIMITTransaction would exceed max Block Cost Limit
7050018TRANSACTION_ERROR__UNSUPPORTED_VERSIONTransaction version is unsupported
7050019TRANSACTION_ERROR__INVALID_WRITABLE_ACCOUNTTransaction loads a writable account that cannot be written
7050020TRANSACTION_ERROR__WOULD_EXCEED_MAX_ACCOUNT_COST_LIMITTransaction would exceed max account limit within the block
7050021TRANSACTION_ERROR__WOULD_EXCEED_ACCOUNT_DATA_BLOCK_LIMITTransaction would exceed account data limit within the block
7050022TRANSACTION_ERROR__TOO_MANY_ACCOUNT_LOCKSTransaction locked too many accounts
7050023TRANSACTION_ERROR__ADDRESS_LOOKUP_TABLE_NOT_FOUNDTransaction loads an address table account that doesn't exist
7050024TRANSACTION_ERROR__INVALID_ADDRESS_LOOKUP_TABLE_OWNERTransaction loads an address table account with an invalid owner
7050025TRANSACTION_ERROR__INVALID_ADDRESS_LOOKUP_TABLE_DATATransaction loads an address table account with invalid data
7050026TRANSACTION_ERROR__INVALID_ADDRESS_LOOKUP_TABLE_INDEXTransaction address table lookup uses an invalid index
7050027TRANSACTION_ERROR__INVALID_RENT_PAYING_ACCOUNTTransaction leaves an account with a lower balance than rent-exempt minimum
7050028TRANSACTION_ERROR__WOULD_EXCEED_MAX_VOTE_COST_LIMITTransaction would exceed max Vote Cost Limit
7050029TRANSACTION_ERROR__WOULD_EXCEED_ACCOUNT_DATA_TOTAL_LIMITTransaction would exceed total account data limit
7050030TRANSACTION_ERROR__DUPLICATE_INSTRUCTIONTransaction contains a duplicate instruction ($index) that is not allowed
7050031TRANSACTION_ERROR__INSUFFICIENT_FUNDS_FOR_RENTTransaction results in an account ($accountIndex) with insufficient funds for rent
7050032TRANSACTION_ERROR__MAX_LOADED_ACCOUNTS_DATA_SIZE_EXCEEDEDTransaction exceeded max loaded accounts data size cap
7050033TRANSACTION_ERROR__INVALID_LOADED_ACCOUNTS_DATA_SIZE_LIMITLoadedAccountsDataSizeLimit set for transaction must be greater than 0.
7050034TRANSACTION_ERROR__RESANITIZATION_NEEDEDResanitizationNeeded
7050035TRANSACTION_ERROR__PROGRAM_EXECUTION_TEMPORARILY_RESTRICTEDExecution of the program referenced by account at index $accountIndex is temporarily restricted.
7050036TRANSACTION_ERROR__UNBALANCED_TRANSACTIONSum of account balances before and after transaction do not match

Instruction plans

13 codes

The instruction-plan executor could not pack or execute a plan.

CodeNameMessage
7618000INSTRUCTION_PLANS__MESSAGE_CANNOT_ACCOMMODATE_PLANThe provided message has insufficient capacity to accommodate the next instruction(s) in this plan. Expected at least $numBytesRequired free byte(s), got $numFreeBytes byte(s).
7618001INSTRUCTION_PLANS__MESSAGE_PACKER_ALREADY_COMPLETENo more instructions to pack; the message packer has completed the instruction plan.
7618002INSTRUCTION_PLANS__EMPTY_INSTRUCTION_PLANThe provided instruction plan is empty.
7618003INSTRUCTION_PLANS__FAILED_TO_EXECUTE_TRANSACTION_PLANThe provided transaction plan failed to execute. See the `transactionPlanResult` attribute for more details. Note that the `cause` property is deprecated, and a future version will not set it.
7618004INSTRUCTION_PLANS__NON_DIVISIBLE_TRANSACTION_PLANS_NOT_SUPPORTEDThis transaction plan executor does not support non-divisible sequential plans. To support them, you may create your own executor such that multi-transaction atomicity is preserved — e.g. by targetting RPCs that support transaction bundles.
7618005INSTRUCTION_PLANS__FAILED_SINGLE_TRANSACTION_PLAN_RESULT_NOT_FOUNDNo failed transaction plan result was found in the provided transaction plan result.
7618006INSTRUCTION_PLANS__UNEXPECTED_INSTRUCTION_PLANUnexpected instruction plan. Expected $expectedKind plan, got $actualKind plan.
7618007INSTRUCTION_PLANS__UNEXPECTED_TRANSACTION_PLANUnexpected transaction plan. Expected $expectedKind plan, got $actualKind plan.
7618008INSTRUCTION_PLANS__UNEXPECTED_TRANSACTION_PLAN_RESULTUnexpected transaction plan result. Expected $expectedKind plan, got $actualKind plan.
7618009INSTRUCTION_PLANS__EXPECTED_SUCCESSFUL_TRANSACTION_PLAN_RESULTExpected a successful transaction plan result. I.e. there is at least one failed or cancelled transaction in the plan.
7618010INSTRUCTION_PLANS__MAX_INSTRUCTIONS_PER_TRANSACTION_EXCEEDEDPlanning this transaction message would require $numInstructions instructions, which exceeds the configured maximum of $maxInstructions instructions per transaction. This limit is configurable, and intended to leave headroom for inner instructions which are included in the maximum instruction limit for transactions. Increase `maxInstructionsPerTransaction` on the transaction planner (or `maxInstructions` on the message packer) to allow more instructions per transaction.
7618011INSTRUCTION_PLANS__INVALID_MAX_INSTRUCTIONS_PER_TRANSACTIONThe configured maximum of $maxInstructions instructions per transaction is invalid. It must be a positive integer no greater than the transaction format limit of $transactionInstructionLimit instructions per transaction. Provide a `maxInstructionsPerTransaction` (on the transaction planner) or `maxInstructions` (on the message packer) value between 1 and $transactionInstructionLimit.
7618012INSTRUCTION_PLANS__MESSAGE_REJECTED_BY_PACKERThe message packer rejected the provided transaction message: $reason.

Codecs

30 codes

Encoding and decoding bytes: wrong sizes, out-of-range numbers, enum discriminators, sentinels, invalid strings.

CodeNameMessage
8078000CODECS__CANNOT_DECODE_EMPTY_BYTE_ARRAYCodec [$codecDescription] cannot decode empty byte arrays.
8078001CODECS__INVALID_BYTE_LENGTHCodec [$codecDescription] expected $expected bytes, got $bytesLength.
8078002CODECS__EXPECTED_FIXED_LENGTHExpected a fixed-size codec, got a variable-size one.
8078003CODECS__EXPECTED_VARIABLE_LENGTHExpected a variable-size codec, got a fixed-size one.
8078004CODECS__ENCODER_DECODER_SIZE_COMPATIBILITY_MISMATCHEncoder and decoder must either both be fixed-size or variable-size.
8078005CODECS__ENCODER_DECODER_FIXED_SIZE_MISMATCHEncoder and decoder must have the same fixed size, got [$encoderFixedSize] and [$decoderFixedSize].
8078006CODECS__ENCODER_DECODER_MAX_SIZE_MISMATCHEncoder and decoder must have the same max size, got [$encoderMaxSize] and [$decoderMaxSize].
8078007CODECS__INVALID_NUMBER_OF_ITEMSExpected [$codecDescription] to have $expected items, got $actual.
8078008CODECS__ENUM_DISCRIMINATOR_OUT_OF_RANGEEnum discriminator out of range. Expected a number in [$formattedValidDiscriminators], got $discriminator.
8078009CODECS__INVALID_DISCRIMINATED_UNION_VARIANTInvalid discriminated union variant. Expected one of [$variants], got $value.
8078010CODECS__INVALID_ENUM_VARIANTInvalid enum variant. Expected one of [$stringValues] or a number in [$formattedNumericalValues], got $variant.
8078011CODECS__NUMBER_OUT_OF_RANGECodec [$codecDescription] expected number to be in the range [$min, $max], got $value.
8078012CODECS__INVALID_STRING_FOR_BASEInvalid value $value for base $base with alphabet $alphabet.
8078013CODECS__EXPECTED_POSITIVE_BYTE_LENGTHCodec [$codecDescription] expected a positive byte length, got $bytesLength.
8078014CODECS__OFFSET_OUT_OF_RANGECodec [$codecDescription] expected offset to be in the range [0, $bytesLength], got $offset.
8078015CODECS__INVALID_LITERAL_UNION_VARIANTInvalid literal union variant. Expected one of [$variants], got $value.
8078016CODECS__LITERAL_UNION_DISCRIMINATOR_OUT_OF_RANGELiteral union discriminator out of range. Expected a number between $minRange and $maxRange, got $discriminator.
8078017CODECS__UNION_VARIANT_OUT_OF_RANGEUnion variant out of range. Expected an index between $minRange and $maxRange, got $variant.
8078018CODECS__INVALID_CONSTANTExpected byte array constant [$hexConstant] to be present in data [$hexData] at offset [$offset].
8078019CODECS__EXPECTED_ZERO_VALUE_TO_MATCH_ITEM_FIXED_SIZECodec [$codecDescription] expected zero-value [$hexZeroValue] to have the same size as the provided fixed-size item [$expectedSize bytes].
8078020CODECS__ENCODED_BYTES_MUST_NOT_INCLUDE_SENTINELSentinel [$hexSentinel] must not be present in encoded bytes [$hexEncodedBytes].
8078021CODECS__SENTINEL_MISSING_IN_DECODED_BYTESExpected sentinel [$hexSentinel] to be present in decoded bytes [$hexDecodedBytes].
8078022CODECS__CANNOT_USE_LEXICAL_VALUES_AS_ENUM_DISCRIMINATORSEnum codec cannot use lexical values [$stringValues] as discriminators. Either remove all lexical values or set `useValuesAsDiscriminators` to `false`.
8078023CODECS__EXPECTED_DECODER_TO_CONSUME_ENTIRE_BYTE_ARRAYThis decoder expected a byte array of exactly $expectedLength bytes, but $numExcessBytes unexpected excess bytes remained after decoding. Are you sure that you have chosen the correct decoder for this data?
8078024CODECS__INVALID_PATTERN_MATCH_VALUEInvalid pattern match value. The provided value does not match any of the specified patterns.
8078025CODECS__INVALID_PATTERN_MATCH_BYTESInvalid pattern match bytes. The provided byte array does not match any of the specified patterns.
8078026CODECS__INVALID_UTF8_BYTESInvalid UTF-8 byte sequence at offset $offset.
8078027CODECS__INVALID_UTF8_STRINGInvalid UTF-8 string. Found a lone surrogate at index $index.
8078028CODECS__SENTINEL_MISSING_AT_END_OF_BYTESCodec [$codecDescription] expected sentinel [$hexSentinel] to terminate the collection, but reached the end of the byte array without it.
8078029CODECS__SENTINEL_MUST_NOT_BE_EMPTYThe sentinel must not be empty.

Fixed-point numbers

13 codes

Fixed-point arithmetic helpers (precision, overflow, parsing).

CodeNameMessage
8090000FIXED_POINTS__INVALID_TOTAL_BITSInvalid `totalBits`. Expected a positive integer, got $totalBits.
8090001FIXED_POINTS__INVALID_FRACTIONAL_BITSInvalid `fractionalBits`. Expected a non-negative integer, got $fractionalBits.
8090002FIXED_POINTS__INVALID_DECIMALSInvalid `decimals`. Expected a non-negative integer, got $decimals.
8090003FIXED_POINTS__FRACTIONAL_BITS_EXCEED_TOTAL_BITS`fractionalBits` ($fractionalBits) must not exceed `totalBits` ($totalBits).
8090004FIXED_POINTS__VALUE_OUT_OF_RANGEFixed-point value of kind `$kind` is out of range for $signedness $totalBits-bit storage. Expected a raw bigint in [$min, $max], got $raw.
8090005FIXED_POINTS__INVALID_STRINGInvalid string `$input` for fixed-point value of kind `$kind`.
8090006FIXED_POINTS__INVALID_ZERO_DENOMINATOR_RATIOInvalid ratio $numerator/$denominator for fixed-point value of kind `$kind`. Denominator must be non-zero.
8090007FIXED_POINTS__ARITHMETIC_OVERFLOWFixed-point operation `$operation` of kind `$kind` overflowed. Expected a raw bigint in [$min, $max], got $result.
8090008FIXED_POINTS__SHAPE_MISMATCHFixed-point `$operation` operation expected $expectedKind ($expectedSignedness, $expectedTotalBits bits, $expectedScale $expectedScaleLabel); got $actualKind ($actualSignedness, $actualTotalBits bits, $actualScale $actualScaleLabel).
8090009FIXED_POINTS__DIVISION_BY_ZEROFixed-point division by zero for value of kind `$kind` ($signedness, $totalBits bits).
8090010FIXED_POINTS__STRICT_MODE_PRECISION_LOSSFixed-point operation `$operation` of kind `$kind` cannot be performed exactly; pass a rounding mode other than `strict` to allow a rounded result.
8090011FIXED_POINTS__MALFORMED_RAW_VALUEFixed-point value of kind `$kind` has a malformed `raw` field. Expected a bigint, got `$raw`.
8090012FIXED_POINTS__TOTAL_BITS_NOT_BYTE_ALIGNEDFixed-point codec of kind `$kind` requires `totalBits` to be a multiple of 8; got $totalBits.

RPC transport

4 codes

HTTP transport layer errors when talking to an RPC endpoint.

RPC subscriptions (WebSocket)

5 codes

WebSocket connection and subscription lifecycle errors.

Subscribable

2 codes

Internal subscription iterator errors.

Program clients

8 codes

Generated program clients: unknown instruction or account discriminators, wrong program address.

Wallets

4 codes

Wallet Standard integration errors.

React hooks

3 codes

Misuse of the Kit React hooks.

Invariant violations

7 codes

Internal consistency checks that should never fail in normal use.