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) |