For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Company
Open App
Introduction Chains RPC NodesChangelog
Introduction Chains RPC NodesChangelog
    • Overview
  • Getting Started
    • Deploy a Testnet
  • Supported Stacks
    • OP Stack
    • Arbitrum Orbit
    • Agglayer CDK
  • Guides
    • Customize Branding
    • Customize Domains
    • Get Testnet ETH
    • Get a Bridge UI
    • Bridge CGT (Arbitrum)
    • Trace Transactions
    • Share Chain Info
    • Permission your Rollup
    • Indexing your Chain
  • Explorer
    • Verify Contracts
  • Integrations
    • Bridged USDC
    • Bundler
LogoLogo
Company
Open App
On this page
  • Prerequisites
  • Option A: Direct deposit via Inbox programmatically
  • Option B: Direct deposit via inbox on Etherscan
Guides

Bridge CGT (Arbitrum)

Was this page helpful?
Previous

Tracing Transactions

Next
Built with

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

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

2

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

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.