IRouterClient API Reference 
    
      On this page  
    
          
  
  
  
    
      Add Chainlink CCIP to your project
    
    If you need to integrate Chainlink CCIP into your project, install the @chainlink-ccip/contracts NPM package .
   
 
To send messages through CCIP, users must interact with the IRouterClient interface.
After you import IRouterClient.sol, you can initialize a router client instance:
import  { IRouterClient}  from  "@chainlink/contracts-ccip/src/v0.8/ccip/interfaces/IRouterClient.sol" ; 
. . . 
IRouterClient router; 
constructor ( address  _router)  { 
     router =  IRouterClient ( _router) ; 
 } Errors 
UnsupportedDestinationChain 
error UnsupportedDestinationChain ( uint64  destChainSelector) InsufficientFeeTokenAmount 
error InsufficientFeeTokenAmount ( ) InvalidMsgValue 
error InvalidMsgValue ( ) Functions 
isChainSupported 
function  isChainSupported ( uint64  chainSelector)  external  view  returns  ( bool  supported) Checks if the given chain ID is supported for sending/receiving.
Parameters 
Name Type Description chainSelector uint64 The chain to check. 
Return Values 
Name Type Description supported bool is true if supported or false if not. 
getSupportedTokens 
function  getSupportedTokens ( uint64  chainSelector)  external  view  returns  ( address [ ]  tokens) Gets a list of all supported tokens which can be sent or received
to or from a given chain ID.
Parameters 
Name Type Description chainSelector uint64 The chainSelector. 
Return Values 
Name Type Description tokens address[] The addresses of all supported tokens. 
getFee 
function  getFee ( uint64  destinationChainSelector,  struct  Client . EVM2AnyMessage message)  external  view  returns  ( uint256  fee) returns 0 fees on invalid message. 
Parameters 
Name Type Description destinationChainSelector uint64 The destination chainSelector message struct Client.EVM2AnyMessage  The cross-chain CCIP message, including data and/or tokens 
Return Values 
Name Type Description fee uint256 returns guaranteed execution fee for the specified message delivery to the destination chain 
ccipSend 
function  ccipSend ( uint64  destinationChainSelector,  struct  Client . EVM2AnyMessage message)  external  payable  returns  ( bytes32 ) Request a message to be sent to the destination chain.
  
  
    
      caution
    
    If the msg.value exceeds the required fee from getFee, the over overpayment is accepted with no refund.
   
 
Parameters 
Name Type Description destinationChainSelector uint64 The destination chain ID message struct Client.EVM2AnyMessage  The cross-chain CCIP message, including data and/or tokens 
Return Values 
Name Type Description [0] bytes32 messageId The message ID 
        
    
    
   
  
    More