Sonic is the high-throughput EVM L1 successor to Fantom Opera, launched December 2024 with a 1:1 FTM→S token migration. Mainnet chain ID is 146, gas token is S, and the chain targets sub-second finality with a Fee Monetization (FeeM) program that rewards dapps with up to 90% of gas fees their users generate.
- 01Fantom-era dapp migrations
- 02high-TPS EVM consumer apps
- 03DeFi protocols opting into Fee Monetization (FeeM)
- 04low-fee Solidity deployments
- pnpm add viem wagmi
| Variable | Scope | Description |
|---|---|---|
| NEXT_PUBLIC_SONIC_RPC_URL | Client | Sonic RPC URL (mainnet: https://rpc.soniclabs.com). |
| NEXT_PUBLIC_SONIC_CHAIN_ID | Client | Chain ID — 146 for Sonic mainnet, 64165 for Sonic Blaze testnet. |
Use viem's built-in `sonic` chain (`import { sonic } from 'viem/chains'`) — chain ID 146, gas token S, RPC `https://rpc.soniclabs.com`, explorer `https://sonicscan.org`. Fantom dapps migrate by updating RPC + chain ID only — Solidity bytecode is unchanged. Bridge from Ethereum via the official Sonic Gateway (`gateway.soniclabs.com`) which uses fast L1↔L2-style messaging with a 14-day fail-safe window. To opt into Fee Monetization, deploy your contract, then register it via the FeeM portal on `my.soniclabs.com` to start receiving up to 90% of the gas fees your users generate. FTM holders migrate via `my.soniclabs.com/upgrade` — Fantom Opera (chain 250) continues to run during the transition but is being wound down.
- ⚑Fantom (chain 250) and Sonic (chain 146) are different chains with different RPCs — never assume a wallet, indexer, or library that supports Fantom also supports Sonic. Update chain ID in every config.
- ⚑FTM→S migration is opt-in and 1:1, but unmigrated FTM still circulates. Fantom Opera is being deprecated (Exodus and other custodians have set 2026 cutoff dates) — UX should detect chain 250 and prompt migration rather than silently swap.
- ⚑Fee Monetization is contract-scoped and requires registration; contracts that aren't FeeM-registered earn no rebate, and registration requires verifying the deployer key. Plan this into the deploy script.
- ⚑The Sonic Gateway is a custom bridge with a 14-day challenge / fail-safe window for security; canonical assets bridged through it are not the same canonical token as the Wormhole/Axelar/LayerZero versions. Pick one canonical and document it.
- ⚑Sub-second finality and low gas mean some Ethereum tools mis-estimate fees or poll too slowly; tune wagmi's `pollingInterval`, `confirmations`, and gas oracles for Sonic specifically.
- ⚑Validator set inherits from Lachesis (aBFT DAG consensus). It is mature relative to brand-new L1s but smaller than Ethereum — for very high TVL, model bridge / validator concentration risk.