Skip to main content
Sei has full EVM bytecode compatibility, instant finality, and sub-second blocks. This guide is for product teams that already run on Polygon, Base, Ethereum, Arbitrum, Avalanche, or another EVM chain. It shows what you need to do to bring your dApp stack to Sei.
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:

Migrating from Ethereum Mainnet

Key differences:What to update:
  1. 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).
  2. Confirmation requirements: Remove any logic that waits for multiple confirmations or checks “safe” versus “finalized” states. Sei has instant finality.
  3. Gas estimation: Sei’s parallelized execution can make gas estimates vary slightly. Add a modest buffer (10 to 15%) to your gasLimit calculations.
  4. Fee UI: Simplify your frontend. You can use a single gasPrice input instead of maxFeePerGas and maxPriorityFeePerGas.
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.
  1. 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.
Features that need attention:
  • Pending state: Sei does not have a pending state. A transaction is either included or not.
  • Blob opcodes: Sei does not support EIP-4844 blob transactions.
  • PREVRANDAO entropy: Use VRF oracles for randomness. PREVRANDAO returns a value derived from block time, not true randomness.
  • SELFDESTRUCT: Refactor to “soft close” patterns. This opcode is deprecated.

Step 2: Prepare your development environment

Add Sei network configuration

Hardhat configuration:
hardhat.config.ts
Store your deployer key in Hardhat’s encrypted keystore with 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
For complete setup instructions, see the Hardhat tutorial and the Foundry guide.

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 gasLimit buffers 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 is 30280. 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
Fee redistribution: If your protocol redistributes “burn rebates” to users, redesign that logic so it does not expect a base-fee burn component. Sei does not burn fees.

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:
  1. Routers and factories: Deploy your own, or fork the existing DragonSwap stack:
    • Router: 0xdD489C75be1039ec7d843A6aC2Fd658350B067Cf
    • V3 Factory: 0x75FC67473A91335B5b8F8821277262a13B38c9b3
    • Position Manager: 0x8B3c541c30f9b29560f56B9E44b59718916B69EF
  2. Permit and Multicall: Point your frontend SDK to the shared Permit2 and Multicall3 addresses above.
  3. 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
  4. Price oracles: Reuse your TWAP or Chainlink logic, but shorten the observation windows for Sei’s faster blocks.
  5. Verification: Submit your contracts to Sourcify and the Ecosystem Contracts registry.

Helpful references