> 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. > 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.