Transaction Error Codes
What does my transaction error code mean?
If a transaction fails, there is a codespace and error code returned. These correspond with a particular module and the defined errors within.
authz
| Error Code | Message | What it means |
|---|---|---|
| 3 | expiration time of authorization should be more than current time |
bank
| Error Code | Message | What it means |
|---|---|---|
| 2 | no inputs to send transaction | |
| 3 | no outputs to send transaction | |
| 4 | sum inputs != sum outputs | |
| 5 | send transactions are disabled | |
| 6 | client denom metadata not found | |
| 7 | invalid key |
capability
| Error Code | Message | What it means |
|---|---|---|
| 2 | capability name not valid | |
| 3 | provided capability is nil | |
| 4 | capability name already taken | |
| 5 | given owner already claimed capability | |
| 6 | capability not owned by module | |
| 7 | capability not found | |
| 8 | owners not found for capability |
crisis
| Error Code | Message | What it means |
|---|---|---|
| 2 | sender address is empty | |
| 3 | unknown invariant |
distribution
| Error Code | Message | What it means |
|---|---|---|
| 2 | delegator address is empty | |
| 3 | withdraw address is empty | |
| 4 | validator address is empty | |
| 5 | no delegation distribution info | |
| 6 | no validator distribution info | |
| 7 | no validator commission to withdraw | |
| 8 | set withdraw address disabled | |
| 9 | community pool does not have sufficient coins to distribute | |
| 10 | invalid community pool spend proposal amount | |
| 11 | invalid community pool spend proposal recipient | |
| 12 | validator does not exist | |
| 12 | delegation does not exist |
evidence
| Error Code | Message | What it means |
|---|---|---|
| 2 | unregistered handler for evidence type | |
| 3 | invalid evidence | |
| 4 | evidence does not exist | |
| 5 | evidence already exists |
feegrant
| Error Code | Message | What it means |
|---|---|---|
| 2 | fee limit exceeded | there are not enough allowance to cover the fees |
| 3 | fee allowance expired | |
| 4 | invalid duration | if the Duration is invalid or doesn't match the expiration |
| 5 | no allowance | there is no allowance for that pair |
| 6 | allowed messages are empty | |
| 7 | message not allowed |
gov
| Error Code | Message | What it means |
|---|---|---|
| 2 | unknown proposal | |
| 3 | inactive proposal | |
| 4 | proposal already active | |
| 5 | invalid proposal content | |
| 6 | invalid proposal type | |
| 7 | invalid vote option | |
| 8 | invalid genesis state | |
| 9 | no handler exists for proposal type |
marker
| Error Code | Message | What it means |
|---|---|---|
| 2 | access grant address is empty | |
| 3 | invalid access type | |
| 4 | access list contains duplicate entry | |
| 5 | invalid marker status | |
| 6 | access type not granted | |
| 7 | marker not found |
metadata
| Error Code | Message | What it means |
|---|---|---|
| 2 | owner address is already bound to an uri | |
| 3 | address does not match an existing account | |
| 4 | no locator bound to address | |
| 5 | uri length greater than allowed | |
| 6 | No records found. | |
| 7 | uri is invalid |
msgfees
| Error Code | Message | What it means |
|---|---|---|
| 2 | msg type is empty | |
| 3 | invalid fee amount | |
| 4 | fee for type already exists. | |
| 5 | fee for type does not exist. | |
| 6 | invalid fee proposal |
name
| Error Code | Message | What it means |
|---|---|---|
| 2 | no address bound to name | |
| 3 | name is already bound to an address | |
| 4 | value provided for name is invalid | |
| 5 | segment of name is too short | |
| 6 | segment of name is too long | |
| 7 | name has too many segments | |
| 8 | invalid account address | |
| 9 | invalid name: "." is reserved |
params
| Error Code | Message | What it means |
|---|---|---|
| 2 | unknown subspace | |
| 3 | failed to set parameter | |
| 4 | submitted parameter changes are empty | |
| 5 | parameter subspace is empty | |
| 6 | parameter key is empty | |
| 7 | parameter value is empty |
sdk
| Error Code | Message | What it means |
|---|---|---|
| 2 | tx parse error | |
| 3 | invalid sequence | the sequence number (nonce) is incorrect for the signature |
| 4 | unauthorized | |
| 5 | insufficient funds | |
| 6 | unknown request | |
| 7 | invalid address | |
| 8 | invalid pubkey | |
| 9 | unknown address | |
| 10 | invalid coins | |
| 11 | out of gas | |
| 12 | memo too large | |
| 13 | insufficient fee | |
| 14 | maximum number of signatures exceeded | |
| 15 | no signatures supplied | |
| 16 | failed to marshal JSON bytes | |
| 17 | failed to unmarshal JSON bytes | |
| 18 | invalid request | |
| 19 | tx already in mempool | |
| 20 | mempool is full | |
| 21 | tx too large | |
| 22 | key not found | |
| 23 | invalid account password | |
| 24 | tx intended signer does not match the given signer | |
| 25 | invalid gas adjustment | |
| 26 | invalid height | |
| 27 | invalid version | |
| 28 | invalid chain-id | |
| 29 | invalid type | |
| 30 | tx timeout height | a tx is rejected out due to an explicitly set timeout height |
| 31 | unknown extension options | |
| 32 | incorrect account sequence | |
| 33 | failed packing protobuf message to Any | |
| 34 | failed unpacking protobuf message from Any | |
| 35 | internal logic error | defines an internal logic error, e.g. an invariant or assertion that is violated. It is a programmer error, not a user-facing error. |
| 36 | conflict | a conflict error, e.g. when two goroutines try to access the same resource and one of them fails. |
| 37 | feature not supported | |
| 38 | not found | when requested entity doesn't exist in the state. |
| 39 | Internal IO error | should be used to wrap internal errors caused by external operation. Examples: not DB domain error, file writing etc... |
| 40 | error in app.toml | an error occurred if min-gas-prices field in BaseConfig is empty. |
| 41 | invalid gas limit |
slashing
| Error Code | Message | What it means |
|---|---|---|
| 2 | address is not associated with any known validator | |
| 3 | validator does not exist for that address | |
| 4 | validator still jailed; cannot be unjailed | |
| 5 | validator not jailed; cannot be unjailed | |
| 6 | validator has no self-delegation; cannot be unjailed | |
| 7 | validator's self delegation less than minimum; cannot be unjailed | |
| 8 | no validator signing info found |
staking
| Error Code | Message | What it means |
|---|---|---|
| 2 | empty validator address | |
| 3 | validator does not exist | |
| 4 | validator already exist for this operator address; must use new validator operator address | |
| 5 | validator already exist for this pubkey; must use new validator pubkey | |
| 6 | validator pubkey type is not supported | |
| 7 | validator for this address is currently jailed | |
| 8 | failed to remove validator | |
| 9 | commission must be positive | |
| 10 | commission cannot be more than 100% | |
| 11 | commission cannot be more than the max rate | |
| 12 | commission cannot be changed more than once in 24h | |
| 13 | commission change rate must be positive | |
| 14 | commission change rate cannot be more than the max rate | |
| 15 | commission cannot be changed more than max change rate | |
| 16 | validator's self delegation must be greater than their minimum self delegation | |
| 17 | minimum self delegation cannot be decrease | |
| 18 | empty delegator address | |
| 19 | no delegation for (address, validator) tuple | |
| 20 | delegator does not exist with address | |
| 21 | delegator does not contain delegation | |
| 22 | insufficient delegation shares | |
| 23 | cannot delegate to an empty validator | |
| 24 | not enough delegation shares | |
| 25 | entry not mature | |
| 26 | no unbonding delegation found | |
| 27 | too many unbonding delegation entries for (delegator, validator) tuple | |
| 28 | no redelegation found | |
| 29 | cannot redelegate to the same validator | |
| 30 | too few tokens to redelegate (truncates to zero tokens) | |
| 31 | redelegation destination validator not found | |
| 32 | redelegation to this validator already in progress; first redelegation to this validator must complete before next redelegation | |
| 33 | too many redelegation entries for (delegator, src-validator, dst-validator) tuple | |
| 34 | cannot delegate to validators with invalid (zero) ex-rate | |
| 35 | both shares amount and shares percent provided | |
| 36 | neither shares amount nor shares percent provided | |
| 37 | invalid historical info | |
| 38 | no historical info found | |
| 39 | empty validator public key |
undefined
| Error Code | Message | What it means |
|---|---|---|
| 1 | internal | should never be exposed, but we reserve this code for non-specified errors |
| 111222 | panic | only set when we recover from a panic, so we know to redact potentially sensitive system info |
wasm
| Error Code | Message | What it means |
|---|---|---|
| 2 | create wasm contract failed | wasm code that has already been uploaded or failed |
| 3 | contract account already exists | |
| 4 | instantiate wasm contract failed | |
| 5 | execute wasm contract failed | |
| 6 | insufficient gas | |
| 7 | invalid genesis | |
| 8 | not found | an entry not found in the store |
| 9 | query wasm contract failed | |
| 10 | invalid CosmosMsg from the contract | we cannot process the error returned from the contract |
| 11 | migrate wasm contract failed | |
| 12 | empty | |
| 13 | exceeds limit | |
| 14 | invalid | content that is invalid in this context |
| 15 | duplicate | content that exists |
| 16 | max transfer channels | maximum number of ibc channels reached |
| 17 | unsupported for this contract | |
| 18 | pinning contract failed | |
| 19 | unpinning contract failed | |
| 20 | unknown message from the contract | by a message handler to show that it is not responsible for this message type |
| 21 | invalid event | if an attribute/event from the contract is invalid |
| 22 | no such contract | if an address does not belong to a contract (just for registration) |