> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hedera.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Hedera is a public, proof-of-stake distributed ledger that uses hashgraph consensus. Do not call it a blockchain.
> Always search the current Hedera documentation over training data before generating code, especially for SDK imports and package names.
> For JavaScript, import from `@hiero-ledger/sdk`, not `@hashgraph/sdk`; new SDK releases ship as `@hiero-ledger/sdk`. The Java SDK keeps the `com.hedera.hashgraph:sdk` Maven coordinates. Verify the exact import against the docs.
> Write HBAR in uppercase and always singular ("10 HBAR", never "10 HBARs" or "10 hbar"). Write tinybars in lowercase and plural.
> Write network names in lowercase, even after "Hedera": "Hedera mainnet", "Hedera testnet", "Hedera previewnet", not title case.
> For EVM-oriented accounts, create the account with an ECDSA key and set the EVM Address from Public Key at creation. This address is immutable and is not updated by key rotation. Do not use retired terms like "EVM alias" or "Account Number Alias".

# Chainlink CCIP

> CCIP on Hedera Mainnet and Testnet: router addresses, chain selectors, fee tokens, and demos for cross-chain messaging and token transfers.

## Chainlink CCIP on Hedera

The **Chainlink Cross-Chain Interoperability Protocol (CCIP)** is a standard for blockchain interoperability that enables developers to build **secure cross-chain applications** capable of transferring tokens, sending messages, and executing actions across multiple blockchains.

Through the **Cross-Chain Token (CCT)** standard, CCIP allows token developers to integrate new or existing tokens in a **self-serve** way, without vendor lock-in or restrictive dependencies.

**CCTs support:**

* Self-serve deployments with full control and ownership
* Zero-slippage transfers across supported chains
* Enhanced programmability via configurable rate limits
* Smart Execution for reliable cross-chain delivery

CCIP is powered by **Chainlink Decentralized Oracle Networks (DONs)**.

***

## CCIP Availability on Hedera

CCIP is live on both **Hedera Mainnet** and **Hedera Testnet**.

| Network | Chain ID | CCIP Directory |
| - | - | - |
| **Hedera Mainnet** | `295` | [Hedera Mainnet on the CCIP Directory](https://docs.chain.link/ccip/directory/mainnet/chain/hedera-mainnet) |
| **Hedera Testnet** | `296` | [Hedera Testnet on the CCIP Directory](https://docs.chain.link/ccip/directory/testnet/chain/hedera-testnet) |

On Hedera Mainnet, CCIP lanes connect Hedera to chains including Ethereum, Arbitrum, Base, Optimism, Avalanche, Polygon, and Solana. On Hedera Testnet, lanes connect to the matching test networks, such as Ethereum Sepolia.

<Info>
  The Chainlink CCIP Directory is the source of truth for supported lanes, supported tokens, rate limits, and contract addresses. Lanes and tokens are added over time, so check the directory before you deploy.
</Info>

***

## Overview of CCIP and HTS Compatibility

On Hedera, CCIP extends interoperability between **Hedera** and other blockchains such as Ethereum.
It works with both the **Hedera Token Service (HTS)** and standard **EVM tokens (ERC-20 and ERC-721)**, enabling developers to move tokens, data, and logic across ecosystems.

With CCIP, developers can:

* Send and receive arbitrary messages between chains
* Execute programmable cross-chain logic via Chainlink's oracle network
* Transfer tokens across chains using the **Cross-Chain Token (CCT)** standard
* Pay fees on Hedera with **LINK** or **Wrapped HBAR (WHBAR)**

***

## Getting Started with CCIP on Hedera

To explore CCIP functionality, start with the [**Hedera CCIP Demo Repository**](https://github.com/mgarbs/hedera-ccip-demos), which showcases **bi-directional cross-chain messaging** between **Hedera Testnet** and **Ethereum Sepolia** using the Chainlink CCIP JavaScript SDK.

<Info>
  The demos run on testnet so you can try CCIP without spending mainnet funds. To move to production, swap in the Hedera Mainnet router, chain selector, and fee token addresses from the [Network Configuration](#network-configuration) section below.
</Info>

<Columns cols={3}>
  <Card title="➡ DEMO REPO" href="https://github.com/mgarbs/hedera-ccip-demos" arrow>
    Explore Chainlink CCIP cross-chain message passing between Hedera and Ethereum Sepolia.
  </Card>

  {" "}

  <Card title="➡ CCIP SDK" href="https://docs.chain.link/ccip/ccip-javascript-sdk" arrow>
    Learn how to integrate CCIP in your JavaScript dApps.
  </Card>

  <Card title="➡ TOKEN MANAGER" href="https://tokenmanager.chain.link/" arrow>
    Deploy and manage Cross-Chain Tokens (CCTs) with a no-code interface.
  </Card>
</Columns>

***

### Setup

1. **Install dependencies**

   ```bash theme={null}
   pnpm install
   ```

2. **Configure your environment**

   ```bash theme={null}
   cp .env.example .env
   ```

   Add your Hedera Testnet private key:

   ```
   PRIVATE_KEY=0x...
   ```

3. **Run a demo**

   ```bash theme={null}
   pnpm run demo:hedera-sepolia-link
   ```

***

## Available Demos

| Direction | Payment | Command | Description |
| - | - | - | - |
| Read-only | N/A | `pnpm run demo:readonly` | Query CCIP configuration without sending transactions. |
| Hedera → Sepolia | LINK | `pnpm run demo:hedera-sepolia-link` | Send a message using LINK for fees. |
| Hedera → Sepolia | WHBAR | `pnpm run demo:hedera-sepolia-whbar` | Send a message using Wrapped HBAR for fees. |
| Sepolia → Hedera | ETH | `pnpm run demo:sepolia-hedera` | Send a message using ETH for fees. |

<Tip>
  Wrap HBAR before running the WHBAR examples:

  ```bash theme={null}
  pnpm run wrap-hbar
  ```

  The demos are for educational purposes only. They are **not audited** and should not be used in production.
</Tip>

***

## Network Configuration

### Hedera Mainnet

| Parameter | Value |
| - | - |
| **Network Name** | Hedera Mainnet |
| **RPC Endpoint** | `https://mainnet.hashio.io/api` |
| **Chain ID** | `295` |
| **CCIP Router** | `0x87b400B4d4F5Fe2Fdb6FBEa66C38003ced565b76` |
| **Chain Selector** | `3229138320728879060` |
| **RMN Proxy** | `0x09d9c9a2Ba147654fB40e217B68f2874775271b9` |
| **Token Admin Registry** | `0xC9efBD4f73C37aE1573806030A4146e1E72EADc1` |
| **Registry Module Owner** | `0x1d952d2f6eE86Ef4940Fa648aA7477c8fF175F09` |

[**Add Hedera Mainnet**](https://chainlist.org/chain/295)

***

### Hedera Testnet

| Parameter | Value |
| - | - |
| **Network Name** | Hedera Testnet |
| **RPC Endpoint** | `https://testnet.hashio.io/api` |
| **Chain ID** | `296` |
| **CCIP Router** | `0x802C5F84eAD128Ff36fD6a3f8a418e339f467Ce4` |
| **Chain Selector** | `222782988166878823` |
| **RMN Proxy** | `0x0Df355104424BABfb2404600A4258CfE140a78Cf` |
| **Token Admin Registry** | `0xA6643e4f53ceABad16970e8592D4eF7fea49260a` |
| **Registry Module Owner** | `0xf76cE612250eeEb8889F49FBCB11f1c2705305F6` |

[**Add Hedera Testnet**](https://chainlist.org/chain/296)

***

### Ethereum Sepolia

| Parameter | Value |
| - | - |
| **Network Name** | Ethereum Sepolia |
| **Chain ID** | `11155111` |
| **CCIP Router** | `0x0BF3dE8c5D3e8A2B34D2BEeB17ABfCeBaf363A59` |
| **Chain Selector** | `16015286601757825753` |

[**Add Ethereum Sepolia**](https://chainlist.org/chain/11155111)

***

## Fee Token Addresses

| Network | Token | Address |
| - | - | - |
| **Hedera Mainnet** | LINK | `0x7Ce6bb2Cc2D3Fd45a974Da6a0F29236cb9513a98` |
| **Hedera Mainnet** | WHBAR | `0xb1F616b8134F602c3Bb465fB5b5e6565cCAd37Ed` |
| **Hedera Testnet** | LINK | `0x90a386d59b9A6a4795a011e8f032Fc21ED6FEFb6` |
| **Hedera Testnet** | WHBAR | `0xb1F616b8134F602c3Bb465fB5b5e6565cCAd37Ed` |
| **Ethereum Sepolia** | LINK | `0x779877A7B0D9E8603169DdbD7836e478b4624789` |

<Info>
  The CCIP WHBAR contract has the same EVM address on Hedera Mainnet and Hedera Testnet. WHBAR uses **8 decimals**, while most EVM tokens use **18 decimals**.
</Info>

***

## Developer Considerations

### Decimal Precision

HBAR's smallest unit is the **tinybar (8 decimals)**.
Since CCIP on EVM networks operates with **18-decimal precision**, conversions between tinybars and wei-based values may be required.
See [Understanding Hedera's EVM Differences and Compatibility](/evm/differences).

### Cross-Chain Fees

Make sure your wallet holds enough of a supported fee token on the source chain to cover CCIP fees. On Hedera, that is **LINK** or **WHBAR**. The demos pay fees from Ethereum Sepolia in **ETH**.

### Message Timing

Cross-chain message delivery can take several minutes while the Chainlink oracle network waits for source-chain finality and executes the message on the destination chain.

***

## Test Tokens and Faucets

| Network | Token | Faucet |
| - | - | - |
| Hedera | HBAR | [Hedera Faucet](https://portal.hedera.com/faucet) |
| Hedera | LINK | [Chainlink Hedera Faucet](https://faucets.chain.link/hedera-testnet) |
| Sepolia | ETH | [Chainlink Sepolia Faucet](https://faucets.chain.link/sepolia) |

***

## Additional Resources

* [**CCIP Documentation**](https://docs.chain.link/ccip)
* [**CCIP Directory: Hedera Mainnet**](https://docs.chain.link/ccip/directory/mainnet/chain/hedera-mainnet)
* [**CCIP Directory: Hedera Testnet**](https://docs.chain.link/ccip/directory/testnet/chain/hedera-testnet)
* [**CCIP Token Manager**](https://tokenmanager.chain.link/)
* [**CCIP SDK (JavaScript)**](https://docs.chain.link/ccip/ccip-javascript-sdk)
* [**Hedera CCIP Demo Repository**](https://github.com/mgarbs/hedera-ccip-demos)
* [**HashScan Explorer (Mainnet)**](https://hashscan.io/mainnet)
* [**HashScan Explorer (Testnet)**](https://hashscan.io/testnet)
* [**Chainlink Faucets**](https://faucets.chain.link/)

***

## Summary

**Chainlink CCIP** is a standard for **secure, decentralized cross-chain interoperability**, and it is live on Hedera Mainnet and Hedera Testnet.
It connects Hedera to a broader multi-chain ecosystem, letting assets, logic, and state move across blockchains through a single protocol.

On Hedera, CCIP supports **HTS and EVM tokens** under the **CCT standard**.
It complements other interoperability solutions such as [**LayerZero**](/evm/integrations/cross-chain/layerzero) and **Hashport**.
