CCIP v2.0.0 Events API Reference

This page centralizes key events emitted across the CCIP EVM Solidity surface.

Use it to track message lifecycle, routing changes, and token movement. For full context, see the originating contract pages.

Event index

EventContractCategory
CCIPMessageSentOnRampMessage sending
MessageExecutedRouterMessage delivery
ExecutionStateChangedOffRampMessage delivery
OnRampSetRouterConfiguration
OffRampAddedRouterConfiguration
OffRampRemovedRouterConfiguration
ConfigSetOnRampConfiguration
DestChainConfigSetOnRampConfiguration
StaticConfigSetOffRampConfiguration
SourceChainConfigSetOffRampConfiguration

Message sending (source chain)

These events are emitted when a message is accepted on the source chain.

CCIPMessageSent

Emitted by: OnRamp When emitted: After a message is accepted and encoded for cross-chain delivery Why it matters: Primary event for tracking message submission

event CCIPMessageSent(
  uint64 indexed destChainSelector,
  address indexed sender,
  bytes32 indexed messageId,
  address feeToken,
  uint256 tokenAmountBeforeTokenPoolFees,
  bytes encodedMessage,
  Receipt[] receipts,
  bytes[] verifierBlobs
);

Message delivery (destination chain)

These events are emitted when a message is processed on the destination chain.

MessageExecuted

Emitted by: Router When emitted: After the Router attempts delivery to a receiver Why it matters: Correlates destination-chain execution attempts

event MessageExecuted(
  bytes32 messageId,
  uint64 sourceChainSelector,
  address offRamp,
  bytes32 calldataHash
);

ExecutionStateChanged

Emitted by: OffRamp When emitted: When execution state changes for a message Why it matters: Tracks success, failure, or intermediate execution states

event ExecutionStateChanged(
  uint64 indexed sourceChainSelector,
  uint64 indexed messageNumber,
  bytes32 indexed messageId,
  Internal.MessageExecutionState state,
  bytes returnData
);

Routing and configuration

These events track routing updates and system configuration.

OnRampSet

Emitted by: Router When emitted: When an OnRamp is set or updated Why it matters: Tracks outbound routing configuration

event OnRampSet(uint64 indexed destChainSelector, address onRamp);

OffRampAdded

Emitted by: Router When emitted: When an OffRamp is authorized Why it matters: Tracks allowed destination-chain delivery sources

event OffRampAdded(uint64 indexed sourceChainSelector, address offRamp);

OffRampRemoved

Emitted by: Router When emitted: When an OffRamp is removed Why it matters: Tracks removal of delivery authorization

event OffRampRemoved(uint64 indexed sourceChainSelector, address offRamp);

ConfigSet

Emitted by: OnRamp When emitted: When OnRamp configuration is updated Why it matters: Tracks changes to source-chain configuration

event ConfigSet(StaticConfig staticConfig, DynamicConfig dynamicConfig);

DestChainConfigSet

Emitted by: OnRamp When emitted: When configuration for a destination chain is updated Why it matters: Tracks lane-specific configuration

event DestChainConfigSet(
  uint64 indexed destChainSelector,
  uint64 messageNumber,
  DestChainConfigArgs config
);

StaticConfigSet

Emitted by: OffRamp When emitted: During initialization Why it matters: Defines baseline OffRamp configuration

event StaticConfigSet(StaticConfig staticConfig);

SourceChainConfigSet

Emitted by: OffRamp When emitted: When source-chain configuration is updated Why it matters: Tracks inbound lane configuration

event SourceChainConfigSet(
  uint64 indexed sourceChainSelector,
  SourceChainConfigArgs sourceConfig
);

Token pool events

Token pools emit events during token movement and configuration.

Lock and release

Contracts:

Typical behavior:

  • Tokens are locked on the source chain
  • Tokens are released on the destination chain

Refer to these contract pages for exact event definitions such as token lock, release, and liquidity updates.

Burn and mint

Contracts:

Typical behavior:

  • Tokens are burned on the source chain
  • Tokens are minted on the destination chain

Refer to these contract pages for exact event definitions such as burn, mint, and supply changes.

Token pool configuration

Relevant contracts:

Typical configuration events include:

  • fee updates
  • rate limit configuration
  • allowlist or policy changes

Refer to token pool and registry contracts for full event definitions.

Get the latest Chainlink content straight to your inbox.