Notes
- L1 to L2 via GatewayRouter (for token deposits) or L1ScrollMessenger (for arbitrary messages)
- zkEVM architecture — withdrawals finalize with ZK proofs (faster than optimistic rollups, typically hours not days)
- GatewayRouter auto-routes tokens to the correct gateway (standard ERC-20, WETH, custom gateways)
msg.valuemust include gas fees for L2 execution (even for ERC-20 deposits)- L1 to L2 deposits finalize after ZK proof generation (~1-4 hours)
- L2 to L1 withdrawals also require ZK proof finalization (~1-4 hours)
- Canonical bridge, secured by Scroll’s ZK proving system
Its names in a program
On Ethereum,ScrollBridge is a namespace: its contracts need no import.
Deployments
ABI
ScrollL1GatewayRouterABI
import ScrollL1GatewayRouterABI from "./protocols/scroll-bridge/ScrollL1GatewayRouterABI.json"; Speaks for: l1GatewayRouter.
depositETH(uint256 _amount, uint256 _gasLimit) payabledepositERC20(address _token, uint256 _amount, uint256 _gasLimit) payable
ScrollL1MessengerABI
import ScrollL1MessengerABI from "./protocols/scroll-bridge/ScrollL1MessengerABI.json"; Speaks for: l1ScrollMessenger.
sendMessage(address to, uint256 value, bytes message, uint256 gasLimit) payable
Next steps
- Protocols: the other protocols, by what they do.
- Protocols and tokens: calling a contract by its namespace, or through its ABI.
- Glossary: the words these pages use, in plain terms.
