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
      • Bridge to OP Rollup
      • Bridge to Arbitrum Rollup
        • Migrating Existing USDC Liquidity
    • Bundler
LogoLogo
Company
Open App
IntegrationsBridged USDCBridge to Arbitrum Rollup

User Guide: Migrating Existing USDC Liquidity to Circle’s USDC Standard

Was this page helpful?
Previous

Bundler

Next
Built with

To migrate your existing USDC liquidity on an Arbitrum chain that has recently adopted the Bridged USDC Standard, follow the steps below.

1

Approve the USDC contract for withdrawal

Find the ERC-20 USDC contract and approve the ‘StandardGateway’ to spend the full amount of your USDC. Contact the Chain team if the address to the ‘StandardGateway’ was not provided.

2

Initiate withdrawal via outboundTransfer

Call the outboundTransfer function on the approved USDC contract with the following arguments:

  • _l1Token: The address of the USDC contract on the settlement layer.
  • _to: The address on the settlement layer where you want to withdraw the USDC.
  • _amount: The amount to withdraw (note: 1 USDC = 1000000 units).
  • _data: Leave this field empty.

Using Conduit Explorer

You can initiate this transaction directly through Conduit Explorer’s UI, when navigating to the Standard Gateway Contract.

Using Foundry

Alternatively, use Foundry with the following cast command, replacing the placeholders with your specific details:

$cast call $STANDARD_GATEWAY "outboundTransfer(address,address,uint256,uint256,uint256,bytes)" $L1_USDC_ADDRESS $YOUR_ADDRESS $AMOUNT_TO_WITHDRAW 0 0 0x --rpc-url $RPC_URL --private-key $PK
3

Check the withdrawal status

After processing the transaction, monitor the withdrawal status in the Superbridge UI. This interface will guide you through the proving and finalization stages.

4

Finalize the transfer on the settlement layer

Once the withdrawal is complete and your USDC is back on the settlement layer, use the Superbridge UI or other recommended bridging methods to bridge it back to your rollup.

5

Confirm bridged USDC on the rollup

Once the bridging process is complete, your USDC will appear as Bridged USDC (USDC.e) on the rollup.