Skip to content

Error Domains

Ashen groups errors into five numeric domains. These codes appear in RPC responses and logs via the unified ChainError structure:

  • code: numeric error code (e.g., 1001)
  • name: stable, machine-readable identifier
  • message: human-readable description

Domains:

  • E1xxx: Consensus/DKG
  • E2xxx: VM/Execution
  • E3xxx: Storage/State
  • E4xxx: Transaction
  • E5xxx: Network/RPC
CodeNameDescription
E1001INVALID_SIGNATUREBlock signature verification failed
E1002HEIGHT_MISMATCHBlock height does not match expected height
E1003PARENT_NOT_FOUNDParent block not found in chain
E1004INVALID_TIMESTAMPBlock timestamp is invalid or in the future
E1005UNAUTHORIZED_PROPOSERBlock proposer is not authorized for this slot
E1006DUPLICATE_BLOCKBlock has already been received
E1007VALIDATION_FAILEDBlock validation failed
E1008INVALID_FINALITY_CERTIFICATEFinality certificate is invalid
E1009EPOCH_MISMATCHBlock epoch does not match expected epoch
E1010VIEW_MISMATCHBlock view does not match expected view
E1101DKG_SHARE_VERIFICATION_FAILEDDKG share verification failed
E1102DKG_INVALID_COMMITMENTDKG commitment is invalid
E1103DKG_THRESHOLD_NOT_METDKG threshold not met for key reconstruction
E1104DKG_PARTICIPANT_NOT_FOUNDDKG participant not found
E1105DKG_ALREADY_COMPLETEDDKG has already completed for this epoch
E1106DKG_NOT_STARTEDDKG has not started for this epoch
E1107DKG_DECRYPTION_FAILEDDKG share decryption failed
E1108DKG_INVALID_COMPLAINTDKG complaint is invalid
E1109DKG_INVALID_JUSTIFICATIONDKG justification is invalid
E1110DKG_SHARE_NOT_FOUNDDKG share not found after key generation
E1111DKG_NETWORK_TIMEOUTDKG network timeout during protocol execution
E1112DKG_INVALID_CONTRIBUTIONDKG invalid contribution from peer
E1113DKG_TOO_MANY_PARTICIPANTSDKG participant count exceeds maximum
E1114DKG_INDEX_OUT_OF_BOUNDSDKG internal index out of bounds
E1115DKG_CONSECUTIVE_FALLBACKDKG consecutive fallback (back-to-back epoch failures)
E1116DKG_EMPTY_PARTICIPANTSDKG participant set is empty
E1117DKG_FAILEDDKG failed for epoch
E1201INSUFFICIENT_VOTESInsufficient votes for finality
E1202UNKNOWN_VALIDATORVote from unknown validator
E1203DUPLICATE_VOTEDuplicate vote from validator
E1204VOTE_EPOCH_MISMATCHVote is for wrong epoch
E1205VOTE_SIGNATURE_INVALIDVote signature is invalid
E1301LC_VALIDATOR_SET_ID_MISMATCHValidator set ID mismatch in finality proof
E1302LC_INVALID_MEMBERSHIP_PROOFInvalid membership proof for aggregate key
E1303LC_TRANSITION_COMMITMENT_MISMATCHValidator set transition commitment mismatch
E1304LC_TRANSITION_VERSION_NOT_INCREASEDValidator set version did not increase
E1305LC_TRANSITION_NOT_AT_EPOCH_BOUNDARYValidator set transition not at epoch boundary
E1306LC_NO_PENDING_UPDATENo pending validator set update
E1307LC_DATA_UNAVAILABLEData unavailability detected (DAS verification failed)
E1308LC_DAS_TIMEOUTData availability verification timed out
E1401KEY_ROTATION_ALREADY_PENDINGKey rotation already pending for validator
CodeNameDescription
E2001OUT_OF_GASExecution ran out of gas
E2002INVALID_OPCODEInvalid opcode encountered
E2003STACK_OVERFLOWStack overflow
E2004STACK_UNDERFLOWStack underflow
E2005MEMORY_OUT_OF_BOUNDSMemory access out of bounds
E2006DIVISION_BY_ZERODivision by zero
E2007INTEGER_OVERFLOWInteger overflow
E2008INVALID_MEMORY_ACCESSInvalid memory access
E2009TRAPExecution trap
E2010INVALID_CALL_TARGETInvalid call target address
E2011CSR_FORBIDDENCSR instruction is forbidden
E2012BUFFER_TOO_SMALLBuffer too small for operation
E2013INVALID_GAS_SCHEDULEInvalid gas schedule specified
E2101CONTRACT_NOT_FOUNDContract not found at address
E2102INVALID_CONTRACT_CODEContract code is invalid
E2103DEPLOYMENT_FAILEDContract deployment failed
E2104REVERTContract execution reverted
E2105PANICContract panicked
E2106INVALID_ABI_VERSIONInvalid ABI version
E2107UNKNOWN_SELECTORUnknown function selector
E2108INVALID_CALLDATAInvalid calldata format
E2109CONTRACT_ALREADY_EXISTSContract already exists at address
E2201HEAP_CAP_PER_FRAMEHeap memory cap exceeded for frame
E2202STACK_CAP_PER_FRAMEStack memory cap exceeded for frame
E2203HEAP_CAP_PER_TXHeap memory cap exceeded for transaction
E2204JOURNAL_CAPJournal entries cap exceeded
E2205STORAGE_WRITES_CAPStorage writes cap exceeded
E2206LOG_CAP_PER_TXLog bytes cap exceeded for transaction
E2207PRECOMPILE_CAPPrecompile input cap exceeded
E2208CALL_DEPTH_CAPCall depth cap exceeded
E2209LOG_CAP_PER_BLOCKLog bytes cap exceeded for block
E2210PRECOMPILE_CAP_PER_BLOCKPrecompile input cap exceeded for block
E2211INPUT_TOO_LARGEInput data too large
E2212STORAGE_BYTES_CAPStorage bytes cap exceeded for transaction
E2301REENTRANCYReentrancy detected
E2302STATIC_CALL_WRITEStatic call attempted to modify state
E2303CROSS_CONTRACT_CALL_FAILEDCross-contract call failed
E2304INVALID_RETURN_DATAInvalid return data from call
E2401HOST_ERRORHost error during syscall execution
E2402CONTEXT_DECODE_FAILEDFailed to decode execution context
CodeNameDescription
E3001KEY_NOT_FOUNDKey not found in storage
E3002INVALID_KEY_FORMATInvalid key format
E3003KEY_TOO_LARGEKey exceeds maximum size
E3004TYPED_DECODE_FAILEDTyped state decode failed (borsh deserialization)
E3005DATA_CORRUPTEDStorage data corrupted on read
E3050VALUE_TOO_LARGEValue exceeds maximum size
E3051QUOTA_EXCEEDEDStorage quota exceeded
E3052TYPED_ENCODE_FAILEDTyped state encode failed (borsh serialization)
E3053METADATA_OVERRIDE_NOT_ALLOWEDMetadata override not allowed for table
E3101MERKLE_PROOF_ERRORMerkle proof error
E3102INVALID_PROOFState proof is invalid
E3103PROOF_VERIFICATION_FAILEDState proof verification failed
E3104MISSING_PROOF_NODEMissing node in proof
E3105INVALID_STATE_ROOTState root is invalid
E3106INVALID_NON_MEMBERSHIP_ORDERINGInvalid non-membership proof ordering
E3107INVALID_EMPTY_ROOTExpected empty tree for non-membership proof
E3108UNEXPECTED_SLOT_PROOFUnexpected slot proof for absent contract
E3109INVALID_QMDB_OPSInvalid QMDB operations
E3110MISSING_QMDB_OPMissing QMDB operation for contract
E3111INVALID_QMDB_ORDERINGInvalid QMDB ordering
E3112INVALID_QMDB_LAST_LOCInvalid QMDB last_loc
E3113INVALID_LEAF_DIGESTLeaf digest mismatch in proof
E3114UNSUPPORTED_PROOFUnsupported proof request
E3115LEAF_POSITION_OVERFLOWLeaf position overflow in BMT
E3201BACKEND_UNAVAILABLEStorage backend unavailable
E3202WRITE_FAILEDStorage write failed
E3203READ_FAILEDStorage read failed
E3204SNAPSHOT_NOT_SUPPORTEDStorage backend does not support snapshots
E3205COMMIT_FAILEDStorage commit failed
E3206ROLLBACK_FAILEDStorage rollback failed
E3207SERIALIZATION_FAILEDSerialization error during storage operation
E3301UNDECLARED_ACCESSAccessed state key not in access list
E3302READ_ONLY_WRITEAttempted write to read-only storage
E3401MMR_POSITION_OUT_OF_BOUNDSMMR leaf position out of bounds
E3402MMR_EMPTYMMR is empty
E3403MMR_HEIGHT_NOT_FOUNDHeight not found in MMR
E3501SNAPSHOT_UNSUPPORTED_VERSIONSnapshot version not supported
E3502SNAPSHOT_EMPTYEmpty snapshot: no headers included
E3503SNAPSHOT_BROKEN_CHAINHeader chain broken in snapshot
E3504SNAPSHOT_MMR_ROOT_MISMATCHMMR root mismatch in snapshot
E3505SNAPSHOT_STATE_ROOT_MISMATCHState root mismatch in snapshot
E3506SNAPSHOT_FINALITY_FAILEDFinality proof verification failed in snapshot
E3507SNAPSHOT_MISSING_VALIDATOR_SETMissing validator set for epoch in snapshot
E3508SNAPSHOT_CHECKPOINT_MISMATCHCheckpoint height mismatch in snapshot
E3509SNAPSHOT_MMR_COUNT_MISMATCHMMR entry count mismatch in snapshot
E3510SNAPSHOT_SERIALIZATION_FAILEDSnapshot serialization error
E3511SNAPSHOT_STORAGE_FAILEDSnapshot storage error
CodeNameDescription
E4001INVALID_SIGNATURETransaction signature is invalid
E4002INVALID_NONCETransaction nonce is invalid
E4003INSUFFICIENT_BALANCEInsufficient balance to pay fees
E4004GAS_LIMIT_TOO_LOWGas limit is too low
E4005GAS_LIMIT_TOO_HIGHGas limit exceeds maximum
E4006INVALID_FEE_ASSETFee asset is not supported
E4007MAX_FEE_TOO_LOWMax fee is too low for transaction
E4008INVALID_ACCESS_LISTAccess list is invalid
E4009SYSTEM_ADDRESS_NOT_ALLOWEDSystem addresses not allowed in transactions
E4010PAYER_MISMATCHPayer does not match authorizer
E4101INVALID_DEPLOY_NONCE_SPACEInvalid nonce space for deploy
E4102INVALID_DEPLOY_ADDRESSInvalid deploy address derivation
E4103DEPLOY_CODE_TOO_LARGEDeploy code exceeds size limit
E4104INVALID_DEPLOY_MANIFESTDeploy manifest is invalid
E4201KEY_ROTATION_EPOCH_TOO_SOONKey rotation effective epoch is too soon
E4202KEY_ROTATION_NOT_VALIDATORKey rotation sender is not a validator
E4203KEY_ROTATION_ALREADY_PENDINGKey rotation already pending for validator
E4204KEY_ROTATION_MALFORMEDKey rotation call_data is malformed
E4301POOL_FULLTransaction pool is full
E4302DUPLICATE_TRANSACTIONTransaction already in pool
E4303TRANSACTION_EXPIREDTransaction has expired
E4304REPLACEMENT_FEE_TOO_LOWReplacement transaction fee is too low
E4305TOO_MANY_LANESToo many nonce lanes for sender
E4306TRANSACTION_TOO_LARGETransaction exceeds maximum size
E4307GAS_RATE_LIMITEDTransaction rejected due to gas-weighted rate limiting
E4401SEAL_ENCRYPTION_FAILEDSealed transaction encryption failed
E4402SEAL_DECRYPTION_FAILEDSealed transaction decryption failed
E4403SEAL_INVALID_CIPHERTEXTSealed transaction ciphertext is invalid
E4404SEAL_EPOCH_MISMATCHSealed transaction epoch mismatch
E4405SEAL_DESERIALIZATION_FAILEDSealed transaction deserialization failed
E4406TLE_INSUFFICIENT_SIGNATURESInsufficient threshold signatures for TLE
E4407TLE_INVALID_PARTIAL_SIGNATUREInvalid partial signature for TLE
E4408TLE_SIGNATURE_RECOVERY_FAILEDTLE signature recovery failed
E4501ORDERING_UNKNOWN_COMMITMENTUnknown sealed transaction commitment
E4502ORDERING_OUT_OF_ORDERSealed transactions out of FIFO order
E4503ORDERING_DUPLICATE_COMMITMENTDuplicate sealed transaction commitment
E4601CALL_DATA_TRUNCATEDCall data is truncated
E4602CALL_DATA_UNKNOWN_VERSIONUnknown call data version byte
E4603CALL_DATA_UNKNOWN_KINDUnknown call data kind
E4604CALL_DATA_MANIFEST_OVERFLOWManifest length overflow in call data
E4605CALL_DATA_MANIFEST_OUT_OF_BOUNDSManifest extends past end of call data
E4606CALL_DATA_IDL_OVERFLOWIDL length overflow in call data
E4607CALL_DATA_IDL_OUT_OF_BOUNDSIDL extends past end of call data
E4608CALL_DATA_MISSING_IDLDeploy missing required IDL
E4609CALL_DATA_MISSING_ELFDeploy missing required ELF binary
E4701ACCESS_LIST_INVALID_PREFIXAccess list prefix is invalid
E4702ACCESS_LIST_INVALID_RANGEAccess list range bounds invalid or empty
E4703ACCESS_LIST_TOO_MANY_ACCOUNTSToo many accounts in access list
E4704ACCESS_LIST_TOO_MANY_STORAGE_ENTRIESToo many storage entries in access list
E4705ACCESS_LIST_TOO_MANY_DESCRIPTORSToo many descriptors per access list entry
E4801SESSION_KEY_NOT_FOUNDSession key not found for authorizer
E4802SESSION_REVOKEDSession key has been revoked
E4803SESSION_EXPIREDSession key has expired
E4804SESSION_BUDGET_EXHAUSTEDSession key budget is exhausted
E4805SESSION_VALUE_EXCEEDEDTransaction value exceeds session per-tx limit
E4806SESSION_BUDGET_OVERFLOWTransaction value exceeds remaining session budget
E4807SESSION_CONTRACT_NOT_ALLOWEDTarget contract not allowed by session key
E4808SESSION_SELECTOR_NOT_ALLOWEDFunction selector not allowed by session key
CodeNameDescription
E5001INVALID_REQUESTRPC request is invalid
E5002METHOD_NOT_FOUNDRPC method not found
E5003INVALID_PARAMSRPC parameters are invalid
E5004INTERNAL_ERRORInternal server error
E5005RATE_LIMITEDRequest rate limited
E5006REQUEST_TOO_LARGERequest exceeds size limit
E5007SERVICE_UNAVAILABLEService is unavailable
E5008PARSE_ERRORFailed to parse request (malformed JSON)
E5009REQUEST_TIMEOUTRequest timed out
E5010PAYMENT_REQUIREDPayment required for this method
E5011PAYMENT_INVALIDPayment verification failed
E5012PAYMENT_ERRORPayment processing error
E5013NOT_FOUNDResource not found
E5014UNAUTHORIZEDUnauthorized access
E5101PEER_NOT_FOUNDPeer not found
E5102CONNECTION_FAILEDConnection failed
E5103HANDSHAKE_FAILEDHandshake failed
E5104PROTOCOL_MISMATCHProtocol version mismatch
E5105MESSAGE_TOO_LARGEMessage exceeds size limit
E5106INVALID_MESSAGEMessage is invalid
E5107PEER_BANNEDPeer is banned
E5108MAX_CONNECTIONS_REACHEDMaximum connections reached
E5201GOSSIP_VALIDATION_FAILEDGossip message validation failed
E5202DUPLICATE_GOSSIP_MESSAGEDuplicate gossip message
E5203UNKNOWN_GOSSIP_TOPICUnknown gossip topic
  • /reference/rpc-api/ for RPC error surfaces
  • src/core/error_domains.rs for the canonical source