Why migrate to Sei?
- Block times are 400 ms, which is 30× faster than Ethereum and 2 to 5× faster than most L2s.
- Throughput is approximately 100 MGas/s, which is 20× higher than Ethereum mainnet.
- Finality is instant (approximately 400 ms). You do not wait for confirmations or for safe or finalized states.
- Parallelized execution gives higher throughput without code changes.
- Full EVM compatibility lets you deploy your existing Solidity contracts unchanged.
Chain comparison overview
Before you start the migration steps, see how Sei compares with your source chain:Chain-specific migration guides
Select your source chain to see the migration considerations for that chain:- 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 the timeouts proportionally. A 30-minute deadline on Ethereum is approximately 150 blocks. On Sei, the deadline should be approximately 45 seconds (approximately 112 blocks).
- Confirmation requirements: Remove any logic that waits for multiple confirmations or checks “safe” versus “finalized” states. Sei has instant finality.
-
Gas estimation: Sei’s parallelized execution can make gas estimates vary slightly. Add a modest buffer (10 to 15%) to your
gasLimitcalculations. -
Fee UI: Simplify your frontend. You can use a single
gasPriceinput instead ofmaxFeePerGasandmaxPriorityFeePerGas.
Sei enforces a minimum gas price of 50 gwei. The mempool rejects transactions below this price. Query the live value with
eth_gasPrice, which returns the base fee plus a suggested tip.- PREVRANDAO and DIFFICULTY: If you use these opcodes for any randomness, integrate a VRF oracle instead. On Sei, their values are derived from block time, not from true randomness.
Step 1: Evaluate compatibility
Review the Divergence from Ethereum page. Confirm that every assumption your contracts and 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. In Hardhat 3, hardhat-verify (bundled with the toolbox) enables contract verification through Sourcify by default.
Foundry configuration:
foundry.toml
Wallet configuration
Preconfigure MetaMask or other wallets with the Sei chain parameters:Step 3: Bootstrap common infrastructure
Sei already exposes canonical helper contracts. Reference them instead of redeploying them:
For LayerZero, Safe, and other third-party contracts, see the full Ecosystem Contracts page.
Step 4: Port contracts and configuration
Parameterize chain-specific constants
Adjust gas and size assumptions
- Keep
gasLimitbuffers modest, but make sure that calldata stays under 21 MB. - Sei’s gas limit is 12.5M per block, so 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 these oracles:TWAP adjustments: Sei blocks arrive approximately 30× faster than Ethereum blocks. Shorten your TWAP observation windows to keep your time-weighted calculations comparable.
Step 7: Launch checklist
Sei Testnet deployment
- Deploy all contracts to Sei Testnet (chain ID:
1328) - Run the full integration test suite
- Verify the contracts with Sourcify
- Test wallet connections and transaction flows
- Validate your oracle integrations
- If applicable, test cross-chain messaging
Sei Mainnet deployment
- Deploy the contracts to Sei Mainnet (chain ID:
1329) - Run the smoke tests again
- Verify all contracts on Sourcify
- Update the frontend configurations
- Prepare migration documentation for your users
Step 8: Operational readiness
Contract verification
Automate verification in CI with 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
Query fee data periodically to keep your dashboards up to date:Example: Uniswap V3-style deployment
Use these steps to reproduce a Uniswap V3 experience on Sei:-
Routers and 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 the source chain
- Bridges the underlying tokens to Sei
- Mints new Sei LP positions
- Includes gas estimates tuned for Sei’s 12.5M block cap
- Price oracles: Reuse your TWAP or Chainlink logic, but shorten the observation windows for Sei’s faster blocks.
- Verification: Submit your contracts to Sourcify and the Ecosystem Contracts registry.
Helpful references
- Divergence from Ethereum: opcode, gas, and state differences
- EVM Networks: RPCs, explorers, and MetaMask payloads
- Precompiles: interoperability patterns
- Ecosystem Contracts: canonical addresses
- LayerZero Integration: cross-chain messaging
- Contract Verification: contract verification guide