API Version: v1.6.0

CCIP v1.6.0 Error Codes and Messages API Reference

When invoking the ccipSend function, it is possible to encounter various errors. These might be thrown either by the CCIP router or by one of the downstream contracts called by the CCIP router. Below is a compiled list of potential errors you might encounter. Referencing this list will enable you to capture and handle these exceptions gracefully.

Router Errors

Error Parameters Error Selector Description
UnsupportedDestinationChain uint64 destChainSelector 0xae236d9c

Thrown when sending to an unsupported destination chain.

InsufficientFeeTokenAmount - 0x07da6ee6

Thrown when the fee token amount provided is less than required.

InvalidMsgValue - 0x1841b4e1

Thrown when msg.value is non-zero for non-native fee token payments.

BadARMSignal - 0xc1483715

Thrown when the RMN (Risk Management Network) has cursed the network.

SafeERC20FailedOperation - 0x70c9c181

Thrown when an ERC20 token transfer fails.

OnRamp Errors

Error Parameters Error Selector Description
CursedByRMN - 0x53ad11d8

Thrown when the RMN (Risk Management Network) has cursed the destination chain.

RouterMustSetOriginalSender - 0xa4ec7479

Thrown when the router has not set the original sender address.

MustBeCalledByRouter - 0x1c0a3529

Thrown when the caller is not the configured router address.

CannotSendZeroTokens - 0x5cf04449

Thrown when attempting to send a token with amount zero.

UnsupportedToken address token 0xbf16aab6

Thrown when attempting to send an unsupported token.

FeeQuoter Errors

Error Parameters Error Selector Description
InvalidExtraArgsTag - 0x5247fdce

Thrown when an invalid extra arguments tag is used.

MessageTooLarge uint256 maxSize
uint256 actualSize
0x86933789

Thrown when the message size exceeds the maximum allowed size.

MessageGasLimitTooHigh - 0x4c4fc93a

Thrown when the gas limit exceeds the maximum per-message gas limit.

UnsupportedNumberOfTokens uint256 numberOfTokens
uint256 maxNumberOfTokensPerMsg
0x4c056b6a

Thrown when too many tokens are involved in the transfer.

ExtraArgOutOfOrderExecutionMustBeTrue - 0xee433e99

Thrown when enforceOutOfOrder is true but allowOutOfOrderExecution is false.

SourceTokenDataTooLarge address token 0x36f536ca

Thrown when the source token data exceeds the configured maximum size.

TokenNotSupported address token 0x06439c6b

Thrown when a token's price isn't configured or is zero.

FeeTokenNotSupported address token 0x2502348c

Thrown when the fee token isn't in the allowed fee tokens list.

StaleGasPrice uint64 destChainSelector
uint256 threshold
uint256 timePassed
0xf08bcb3e

Thrown when a gas price is too old based on the chain's staleness threshold.

DataFeedValueOutOfUint224Range - 0x10cb51d1

Thrown when price feed values exceed uint224 range.

DestinationChainNotEnabled uint64 destChainSelector 0x99ac52f2

Thrown when attempting to use a disabled destination chain.

InvalidExtraArgsData - 0xb00b53dc

Thrown when extra args data is missing or malformed.

MessageFeeTooHigh uint256 msgFeeJuels
uint256 maxFeeJuelsPerMsg
0x6a92a483

Thrown when message fee exceeds the maximum allowed fee.

InvalidChainFamilySelector bytes4 chainFamilySelector 0x2ee82075

Thrown when an unsupported chain family selector is used.

InvalidTokenReceiver - 0x5bed5192

Thrown when token receiver is invalid for SVM chains (typically when it's zero and tokens are being transferred).

TooManySVMExtraArgsAccounts uint256 numAccounts
uint256 maxAccounts
0x8a0d71f7

Thrown when too many accounts are specified in SVM extra args.

InvalidSVMExtraArgsWritableBitmap uint64 accountIsWritableBitmap
uint256 numAccounts
0xafa93308

Thrown when SVM writable bitmap is invalid for the number of accounts.

MessageComputeUnitLimitTooHigh - 0x2e2b0c29

Thrown when compute unit limit exceeds maximum for SVM chains.

Rate Limiter Errors

Error Parameters Error Selector Description
BucketOverfilled - 0x9725942a

Thrown when the token bucket contains more tokens than its capacity.

OnlyCallableByAdminOrOwner - 0xf6cd5620

Thrown when a function is called by an address that is not the admin or owner.

TokenMaxCapacityExceeded uint256 capacity
uint256 requested
address tokenAddress
0x1a76572a

Thrown when attempting to consume more tokens than the bucket's maximum capacity.

TokenRateLimitReached uint256 minWaitInSeconds
uint256 available
address tokenAddress
0xd0c8d23a

Thrown when attempting to consume more tokens than currently available in the bucket.

AggregateValueMaxCapacityExceeded uint256 capacity
uint256 requested
0xf94ebcd1

Thrown when attempting to consume more aggregate value than the bucket's maximum capacity.

AggregateValueRateLimitReached uint256 minWaitInSeconds
uint256 available
0x15279c08

Thrown when attempting to consume more aggregate value than currently available in the bucket.

Token (ERC20) Errors

Error Description
ERC20: burn amount exceeds balance

Thrown when the amount to be burned exceeds the pool balance.

ERC20: transfer amount exceeds allowance

Thrown when the transfer amount exceeds the allowance.

BurnMintERC20 Errors

Error Parameters Error Selector Description
MaxSupplyExceeded uint256 supplyAfterMint 0xcbbf1113

Thrown when a mint operation would cause the total supply to exceed the maximum supply limit.

InvalidRecipient address recipient 0x17858bbe

Thrown when attempting to transfer or approve tokens for the contract itself (address(this)).

Token Pool Errors

Error Parameters Error Selector Description
InvalidToken address token 0x961c9a4f

Thrown when the token being locked or burned is not supported by the pool.

CursedByRMN - 0x53ad11d8

Thrown when the RMN (Risk Management Network) has cursed the network.

SenderNotAllowed address sender 0xd0d25976

Thrown when the sender is not on the allowlist (when allowlist is enabled).

ChainNotAllowed uint64 remoteChainSelector 0xa9902c7e

Thrown when the remote chain selector is not supported.

CallerIsNotARampOnRouter address caller 0x728fe07b

Thrown when the caller is not a valid onRamp for the given chain on the Router.

Get the latest Chainlink content straight to your inbox.