Bridging overview
Choose the right approach for bridging assets and messages between Ethereum and Arbitrum.
Token bridging and cross-chain messaging are fundamental aspects of building on Arbitrum. This page helps you find the right guide for your use case.
Move ETH between chains
- Deposit ETH to Arbitrum: Bridge ETH from the parent chain to a child chain using the Inbox contract
- Withdraw ETH to Ethereum: Withdraw ETH from a child chain back to the parent chain via ArbSys
Move ERC-20 tokens between chains
- Deposit tokens to Arbitrum: Move ERC-20 tokens from the parent chain to the child chain
- Withdraw tokens to Ethereum: Move ERC-20 tokens from the child chain back to the parent chain
Make my token bridgeable
Choose a gateway based on your token's requirements:
- Standard gateway (recommended): Automatic deployment of a standard ERC-20 on Arbitrum, no configuration required
- Generic-custom gateway: Custom functionality in your child chain token while using Arbitrum's built-in gateway
- Custom gateway: Specialized gateway logic for advanced use cases
Send arbitrary cross-chain messages
- Parent → child messaging: Send messages from Ethereum to Arbitrum using retryable tickets
- Child → parent messaging: Send messages from Arbitrum to Ethereum via ArbSys and the Outbox
Build on a custom gas token chain
If you're working with an Arbitrum chain that uses a non-ETH gas token, see Custom gas token chain bridging for SDK APIs and workflows.
Example code
Learn more
How is this guide?
Bridging
Move ETH, tokens, and messages between parent and child chains.
Cross-chain messaging
Learn how to send cross-chain messages between Ethereum and Arbitrum using retryable tickets, the ArbSys precompile, and the Outbox contract. Includes a complete Greeter tutorial demonstrating both parent-to-child and child-to-parent messaging.