Bridge CGT to Your Rollup (Arbitrum)

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

Prerequisites

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.

1

Approve tokens to the Inbox

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

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

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

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

1

Approve CGT to the Inbox

  1. Open your CGT token on Etherscan (L1), go to ContractWrite 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

2

Deposit on the Inbox contract

  1. Open the INBOX_ADDRESS on Etherscan, go to ContractWrite 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

3

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.