Bridging Assets
City Chains leverage Arbitrum's native bridge infrastructure to enable secure asset transfers across layers. This canonical bridge provides the most secure path for moving assets between Ethereum, Locale Network (L2), and individual City Chains (L3).
Bridge Architecture
Multi-Layer Bridge Flow
Asset Bridging Layers
City Chain A (L3)
Local stablecoinLock tokens
Arbitrum Bridge Layer (L2)
Canonical bridgeState verification
City Chain B (L3)
Mint wrappedLocal stablecoin
Token Locking Model
| Direction | Source | Destination | Mechanism |
|---|---|---|---|
| Deposit | L1 | L2 | Lock on L1 → Mint on L2 |
| Deposit | L2 | L3 | Lock on L2 → Mint on L3 |
| Withdraw | L3 | L2 | Burn on L3 → Unlock on L2 |
| Withdraw | L2 | L1 | Burn on L2 → Unlock on L1 |
Supported Assets
Native Bridge Support
| Asset Type | L1 → L2 | L2 → L3 | Notes |
|---|---|---|---|
| ETH | Native | Native | Gas token on all layers |
| USDC | Gateway | Gateway | Primary stablecoin |
| USDT | Gateway | Gateway | Tether stablecoin |
| ERC-20 | Custom Gateway | Custom Gateway | Per-token configuration |
Local Stablecoins
City Chains can mint local stablecoins backed by bridged assets:
| Asset | Origin | Use Case |
|---|---|---|
| KCD (KC Dollar) | Kansas City | Local commerce, micropayments |
| USDC | Ethereum | Backing for local stablecoins |
| Bridged ETH | Ethereum | Gas, collateral |
Gateway Contracts
L1GatewayRouter
The L1 Gateway Router manages deposits from Ethereum to Locale Network:
| Function | Description |
|---|---|
| outboundTransfer | Initiates deposit to L2 |
| getGateway | Returns gateway for specific token |
| setGateway | Registers new token gateway (admin) |
L2GatewayRouter
The L2 Gateway Router handles the Locale Network side:
| Function | Description |
|---|---|
| finalizeInboundTransfer | Completes deposit from L1 |
| outboundTransfer | Initiates withdrawal to L1 or deposit to L3 |
| getGateway | Returns gateway for specific token |
L3GatewayRouter
Each City Chain has its own gateway router:
| Function | Description |
|---|---|
| finalizeInboundTransfer | Completes deposit from L2 |
| outboundTransfer | Initiates withdrawal to L2 |
| mintLocal | Mints local stablecoin against bridged assets |
Bridge Timelines
Deposit Times
| Route | Typical Time | Notes |
|---|---|---|
| L1 → L2 | ~10-15 minutes | Includes L1 block confirmations |
| L2 → L3 | ~2-5 minutes | Faster L2 block times |
| L1 → L3 | ~15-20 minutes | Combined journey |
Withdrawal Times
| Route | Typical Time | Notes |
|---|---|---|
| L3 → L2 | ~7 days | Standard optimistic rollup window |
| L2 → L1 | ~7 days | Standard optimistic rollup window |
| L3 → L1 | ~14 days | Sequential withdrawal periods |
Fast Withdrawals
For faster withdrawals, users can utilize:
| Option | Time | Trade-off |
|---|---|---|
| Third-Party Bridges | Minutes | Liquidity fees |
| Fast Exit Providers | Hours | Service fees |
| Native Bridge | 7+ days | No fees beyond gas |
Security Model
Trust Assumptions
| Layer | Security Source |
|---|---|
| L1 Bridge | Ethereum consensus |
| L2 Bridge | Arbitrum fraud proofs |
| L3 Bridge | Locale Network validation |
Bridge Security Features
| Feature | Protection |
|---|---|
| Fraud Proofs | Challenge invalid state transitions |
| Timelock | 7-day window for challenges |
| Multisig Guardian | Emergency pause capability |
| Rate Limiting | Prevents large-scale exploits |
Bridge Operations
Depositing to City Chain
- Approve — Approve token spending on L1
- Deposit to L2 — Call L1GatewayRouter.outboundTransfer
- Wait for Confirmation — L2 processes the deposit
- Deposit to L3 — Call L2GatewayRouter.outboundTransfer
- Receive Tokens — Tokens appear on City Chain
Withdrawing from City Chain
- Initiate Withdrawal — Call L3GatewayRouter.outboundTransfer
- Wait for L3 → L2 — ~7 day challenge period
- Claim on L2 — Execute withdrawal on Locale Network
- Initiate L2 → L1 — Call L2GatewayRouter.outboundTransfer
- Wait for L2 → L1 — ~7 day challenge period
- Claim on L1 — Execute withdrawal on Ethereum
Integration with Local Currency
Stablecoin Minting
Bridged assets can back local stablecoins:
Local Stablecoin Backing
RESERVE BACKING
60%
USDC
Stable backing
30%
ETH
Growth asset
10%
Local RWA
Community assets
100%+ Collateralized
Verifiable on-chain reserves
Reserve Management
| Metric | Transparency |
|---|---|
| Total Supply | On-chain, real-time |
| Backing Ratio | On-chain, auditable |
| Reserve Address | Public, verifiable |
| Mint/Burn Events | Indexed, queryable |
Cross-City Transfers
Via Locale Network
For transfers between City Chains:
- Withdraw to L2 — Bridge assets to Locale Network
- Route — Locale Network coordinates transfer
- Deposit to Target — Bridge to destination City Chain
Optimized Routing
Future implementations will enable:
- Direct L3 ↔ L3 — Atomic cross-city swaps
- Batch Processing — Reduced fees for bulk transfers
- Liquidity Pools — Instant swaps via shared liquidity
Learn More
- Cross-Chain Messaging — Message passing between chains
- City to City — Inter-city coordination
- Local Currency — Stablecoin economics