Why Migrate to Sei?
- 400ms block times – 30× faster than Ethereum, 2-5× faster than most L2s
- ~100 MGas/s throughput – 20× higher than Ethereum mainnet
- Instant finality (~400 ms) – No waiting for confirmations or safe/finalized states
- Parallelized execution – Higher throughput without code changes
- Full EVM compatibility – Deploy your existing Solidity contracts unchanged
Chain Comparison Overview
Before diving into migration steps, understand how Sei compares to your source chain:Chain-Specific Migration Guides
Select your source chain to see specific migration considerations:- Ethereum
- Arbitrum
- Base
- Polygon
- Avalanche
Migrating from Ethereum Mainnet
Key Differences:What to Update:
- Time-based logic: If your contracts use block timestamps for deadlines, reduce timeouts proportionally. A 30-minute deadline on Ethereum (~150 blocks) should be ~45 seconds on Sei (~112 blocks).
- Confirmation requirements: Remove any logic that waits for multiple confirmations or checks “safe” vs “finalized” states—Sei has instant finality.
-
Gas estimation: Sei’s parallelized execution can slightly vary gas estimates. Add a modest buffer (10-15%) to your
gasLimitcalculations. -
Fee UI: Simplify your frontend—you can use a single
gasPriceinput instead ofmaxFeePerGas/maxPriorityFeePerGas.
Sei enforces a 50 gwei minimum gas price; transactions below this are rejected by the mempool. Query the live value with
eth_gasPrice (returns base fee + suggested tip).- PREVRANDAO/DIFFICULTY: If you use these for any randomness, integrate a VRF oracle instead—Sei’s values are derived from block time, not true randomness.
Step 1: Evaluate Compatibility
Revisit the Divergence from Ethereum doc and confirm every assumption your contracts/frontends make still holds.Step 2: Prepare Your Development Environment
Add Sei Network Configuration
Hardhat Configuration:hardhat.config.ts
npx hardhat keystore set SEI_PRIVATE_KEY. Contract verification via Sourcify is enabled by default in Hardhat 3’s hardhat-verify (bundled with the toolbox).
Foundry Configuration:
foundry.toml
Wallet Configuration
Pre-configure MetaMask or other wallets with Sei chain params:Step 3: Bootstrap Common Infrastructure
Sei already exposes canonical helper contracts—reference them instead of redeploying:
For third-party contracts (LayerZero, Safe, etc.), consult the full Ecosystem Contracts page.
Step 4: Port Contracts and Configuration
Parameterize Chain-Specific Constants
Adjust Gas and Size Assumptions
- Keep
gasLimitbuffers modest but ensure calldata stays under 21 MB - Sei’s 12.5M gas limit per block means large deployments may need batching
Refactor Deprecated Patterns
Step 5: Plan Bridging and Cross-Chain Connectivity
LayerZero V2
Sei’s LayerZero Endpoint ID is30280. See the complete LayerZero integration guide.
layerzero.config.ts
Other Bridge Options
- Circle CCTP: For USDC bridging (check availability)
Step 6: Handle Assets and Oracles
Oracle Integration
Sei supports multiple oracle solutions:TWAP Adjustments: Because Sei blocks arrive ~30× faster than Ethereum, shorten your TWAP observation windows to maintain comparable time-weighted calculations.
Step 7: Launch Checklist
Testnet Deployment (atlantic-2)
- Deploy all contracts to testnet (chain ID:
1328) - Run full integration test suite
- Verify contracts via Sourcify
- Test wallet connections and transaction flows
- Validate oracle integrations
- Test cross-chain messaging if applicable
Mainnet Deployment (pacific-1)
- Deploy contracts to mainnet (chain ID:
1329) - Re-run smoke tests
- Verify all contracts on Sourcify
- Update frontend configurations
- Prepare user migration documentation
Step 8: Operational Readiness
Contract Verification
Automate verification through CI using Sourcify:RPC and Indexer Health
- Primary RPC:
https://evm-rpc.sei-apis.com - Testnet RPC:
https://evm-rpc-testnet.sei-apis.com - For mission-critical paths, consider self-hosted nodes or premium RPC providers
Monitoring Gas Parameters
Periodically query fee data to keep dashboards aligned:Example: Uniswap V3-Style Deployment
Here’s how to mirror a Uniswap V3 experience on Sei:-
Routers & Factories: Deploy your own or fork the existing DragonSwap stack:
- Router:
0xdD489C75be1039ec7d843A6aC2Fd658350B067Cf - V3 Factory:
0x75FC67473A91335B5b8F8821277262a13B38c9b3 - Position Manager:
0x8B3c541c30f9b29560f56B9E44b59718916B69EF
- Router:
-
Permit and Multicall: Point your frontend SDK to the shared
Permit2andMulticall3addresses above. -
Liquidity Migration Script: Build a helper that:
- Withdraws LP on source chain
- Bridges underlying tokens to Sei
- Mints new Sei LP positions
- Include gas estimations tuned for Sei’s 12.5M block cap
- Price Oracles: Reuse TWAP/Chainlink logic but shorten observation windows for Sei’s faster blocks.
- Verification: Submit to Sourcify and the Ecosystem Contracts registry.
Helpful References
- Divergence from Ethereum – Opcode, gas, and state nuances
- EVM Networks – RPCs, explorers, and MetaMask payloads
- Precompiles – Interoperability patterns
- Ecosystem Contracts – Canonical addresses
- LayerZero Integration – Cross-chain messaging
- Contract Verification – Contract verification guide