> For a complete page index, fetch https://docs.conduit.xyz/llms.txt

# Bridge CGT (Arbitrum)

> Bridge the CGT ERC20 token from Ethereum to your Arbitrum rollup by calling the Inbox directly—either programmatically via command line or through etherscan—with step-by-step instructions and screenshots.

This guide walks you through depositing the CGT token from Ethereum (L1) to your Arbitrum rollup (L2).

## Prerequisites

* **L1 RPC URL** (for example, Ethereum Sepolia)
* **Private key** with enough ETH for gas on L1
* `TOKEN_ADDRESS`: CGT token address on L1
* `INBOX_ADDRESS`: Find this on the rollup contracts page as the "Inbox" or fetch it from [api.conduit.xyz/file/v1/arbitrum/core/your-network-slug](https://api.conduit.xyz/file/v1/arbitrum/core/your-network-slug)

> **Warning**
>
> Only CGT rollups exposes ERC20 deposit functions directly on the Inbox.

## Option A: Direct deposit via Inbox programmatically

Deposit CGT by calling your rollup's `Inbox` contract directly from the command line.

#### Approve tokens to the Inbox

Approve the `INBOX_ADDRESS` as a spender for the amount you plan to deposit.

```bash
cast send "$TOKEN_ADDRESS" "approve(address,uint256)" "$INBOX_ADDRESS" "$RAW_AMOUNT" \
  --private-key "$PRIVATE_KEY" --rpc-url "$L1_RPC_URL"
```

#### Call the Inbox deposit function

Call the deposit function exposed by your rollup's Inbox implementation. The signature may vary; a common pattern is `depositERC20(address,uint256)`.

```bash
cast send "$INBOX_ADDRESS" "depositERC20(address,uint256)" "$TOKEN_ADDRESS" "$RAW_AMOUNT" \
  --private-key "$PRIVATE_KEY" --rpc-url "$L1_RPC_URL"
```

## Option B: Direct deposit via inbox on Etherscan

Use Etherscan to approve and deposit without writing code.

#### Approve CGT to the Inbox

1. Open your CGT token on Etherscan (L1), go to `Contract` → `Write Contract`.
2. Connect your wallet with `Connect to Web3`.
3. Find `approve` and set `spender` to your `INBOX_ADDRESS`, `amount` to the desired deposit amount (in wei).

![Approve CGT on Etherscan](/_fern-img/174f0d586b520426bd776661ea459449b04e7b2dccb07b783cc741e6a3f26a75.webp)

#### Deposit on the Inbox contract

1. Open the `INBOX_ADDRESS` on Etherscan, go to `Contract` → `Write Contract`.
2. Connect your wallet.
3. Call the Inbox deposit function. For many rollups, this is `depositERC20(address,uint256)` with parameters:

* `token`: `TOKEN_ADDRESS` (CGT on L1)
* `amount`: amount in wei

![Deposit via Inbox on Etherscan](/_fern-img/5375b6d23b64cbf7d92666044b5ab29f8488c73809af916fd02b43e4fdf0189f.webp)

#### Wait for L2 credit

After the L1 transaction confirms, the rollup sequencer picks up the message and credits your L2 balance once the retryable ticket executes.