# Get Started with CCIP (EVM)
Source: https://docs.chain.link/ccip/evm/getting-started
Last Updated: 2026-07-23

> For the complete documentation index, see [llms.txt](/llms.txt).

Get started with Chainlink CCIP 2.0, as a user and as a developer

In this guide, you will:

1. Bridge tokens from one chain to another as a user, via Chainlink Transporter.
2. Send and receive cross-chain messages as a developer, using Chainlink CCIP 2.0 infrastructure.

## Bridge Tokens Using Chainlink Transporter

The Transporter application is a user-friendly tool built by Chainlink Labs to allow users to bridge tokens from one chain to another seamlessly,
leveraging the power of CCIP 2.0's infrastructure.

- [Transporter UI (Testnet)](https://test.transporter.io/)
- [Transporter UI (Mainnet)](https://www.transporter.io/)

## Send and Receive Cross-Chain Messages Using CCIP

### Before you begin

You will need:

- Basic [Solidity](https://soliditylang.org/) and [smart contract deployment](/quickstarts/deploy-your-first-contract) experience

- One [wallet](https://metamask.io/) funded on two CCIP-supported EVM testnets: [Ethereum Sepolia and Arbitrum Sepolia](/ccip/directory/testnet). You will need `ETH` and `LINK` on *Ethereum Sepolia*, and `ETH` on *Arbitrum Sepolia*.

- Choose one of the following development environments:
  - **[Hardhat 3](https://hardhat.org/docs/getting-started)**
  - **[Foundry](https://book.getfoundry.sh/)**
  - **[Remix](https://remix-ide.readthedocs.io/en/latest/)**

### Examine the code

This section goes through the code for the `Sender` and `Receiver` contracts needed to complete the tutorial.
We will use the same contracts for all three development environments.

### Send a cross-chain message using CCIP

Send and verify a cross-chain message using CCIP in under 10 minutes, with your favorite development framework.

#### Foundry

Best for **Solidity-native** workflows that prefer a modular, powerful scripting framework.

#### Hardhat 3

Best for a `TypeScript`-based scripting workflow where you deploy contracts, send a CCIP message, and verify delivery from the command line.

#### Remix

Best for **Web3-native** workflows that prefer a browser-based IDE.

Once you understand basic transfers, most applications move to [programmable token transfers (PTT)](/ccip/evm/tutorials/application-developers/programmable-token-transfers) to combine value and execution.