NEW

Introducing Transporter, a new bridging app powered by CCIP. Go cross-chain.

Back

Errors 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

ErrorParametersError SelectorDescription
UnsupportedDestinationChain
  • uint64 destChainSelector
0xae236d9cThrown when the destination chain is not supported.
InsufficientFeeTokenAmount-0x07da6ee6Thrown when the CCIP fees are paid with native tokens, but not enough is sent with the transaction.
InvalidMsgValue-0x1841b4e1Thrown when the CCIP fees are not paid in native tokens, but msg.value is non-zero.

Onramp

ErrorParametersError SelectorDescription
NotAFeeToken
  • address token
0xa7499d20Thrown when an unsupported fee token is used.
UnsupportedToken
  • IERC20 token
0xbf16aab6Thrown when an unsupported transfer token is used.
CannotSendZeroTokens-0x5cf04449Thrown when the user tries to send a zero amount of tokens.
InvalidChainSelector
  • uint64 chainSelector
0xd9a9cd68Thrown when an invalid destination chain selector is used.
InvalidAddress
  • bytes encodedAddress
0x370d875fThrown when the receiver address is invalid.
InvalidExtraArgsTag-0x5247fdceThrown when an invalid extra arguments tag is used.
RouterMustSetOriginalSender-0xa4ec7479This error should never be thrown as the router always sets the sender.
MustBeCalledByRouter-0x1c0a3529This error should never be thrown as the router always makes the call.
MessageTooLarge
  • uint256 maxSize
  • uint256 actualSize
0x86933789Thrown when the message size exceeds the maximum allowed size.
MessageGasLimitTooHigh-0x4c4fc93aThrown when the gas limit is too high.
UnsupportedNumberOfTokens-0x4c056b6aThrown when too many tokens are involved in the transfer.
SenderNotAllowed
  • address sender
0xd0d25976Thrown when the sender is not allowlisted.
MaxFeeBalanceReached-0xe5c7a491Thrown when the onRamp has reached its maximum fee storage capacity. If it is full, it cannot process new transactions.

RateLimiter

ErrorParametersError SelectorDescription
PriceNotFoundForToken
  • address token
0x9a655f7bThrown when a price cannot be found for a specific token.
BucketOverfilled-0x9725942aThis error should never be thrown as it indicates an invalid bucket state.
AggregateValueMaxCapacityExceeded
  • uint256 capacity
  • uint256 requested
0xf94ebcd1Thrown when the user requests to transfer more value than the capacity of the aggregate rate limit bucket.
TokenMaxCapacityExceeded
  • uint256 capacity
  • uint256 requested
  • address tokenAddress
0x1a76572aThrown when the user requests to transfer more of a token than the capacity of the bucket.
AggregateValueRateLimitReached
  • uint256 minWaitInSeconds
  • uint256 available
0x15279c08Thrown when the user requests to transfer more value than currently available in the bucket. The user might have to wait for at least minWaitInSeconds for enough availability or transfer the currently available amount.
TokenRateLimitReached
  • uint256 minWaitInSeconds
  • uint256 available
  • address tokenAddress
0xd0c8d23aThrown when the user requests to transfer more of a token than currently available in the bucket. The user might have to wait at least minWaitInSeconds for enough availability, or transfer the currently available amount.

ERC20

ErrorDescription
ERC20: burn amount exceeds balanceThrown when the amount to be burned exceeds the pool balance.
ERC20: transfer amount exceeds allowanceThrown when the transfer amount exceeds the allowance.

PriceRegistry

ErrorParametersError SelectorDescription
ChainNotSupported
  • uint64 chain
0x2e59db3aThrown when a chain is not supported.
StaleGasPrice
  • uint64 destChainSelector
  • uint256 threshold
  • uint256 timePassed
0xf08bcb3eThrown when the gas price is stale.
TokenNotSupported
  • address token
0x06439c6bThrown when a token is not supported.
StaleTokenPrice
  • address token
  • uint256 threshold
  • uint256 timePassed
0xc65fdfcaThrown when the price of a token is stale.

Stay updated on the latest Chainlink news