diff --git a/ai/cambrian-agent-kit.mdx b/ai/cambrian-agent-kit.mdx index e67a479..acc1913 100644 --- a/ai/cambrian-agent-kit.mdx +++ b/ai/cambrian-agent-kit.mdx @@ -446,7 +446,7 @@ async function monitorTransaction(txHash: string) { } } - console.log('⏰ Transaction timeout - check manually on SeiTrace'); + console.log('⏰ Transaction timeout - check manually on Seiscan'); } ``` diff --git a/ai/sei-skill/index.mdx b/ai/sei-skill/index.mdx index bcdf19f..48b43b2 100644 --- a/ai/sei-skill/index.mdx +++ b/ai/sei-skill/index.mdx @@ -32,7 +32,7 @@ sei-skill covers three areas. You can install all three or just the ones you nee - Pointer contracts for cross-VM asset bridging - Gas optimization, OCC parallel execution awareness - Account abstraction (ERC-4337), contract upgradeability -- Verification workflows on Seitrace +- Verification workflows on Seiscan - Security patterns and common errors **Frontend** — dApp UI development: diff --git a/ai/sei-skill/prompts.mdx b/ai/sei-skill/prompts.mdx index 61c175f..59b7de0 100644 --- a/ai/sei-skill/prompts.mdx +++ b/ai/sei-skill/prompts.mdx @@ -13,7 +13,7 @@ Once sei-skill is installed, your AI assistant has accurate, up-to-date context Set up Foundry for Sei testnet ``` ``` -Deploy a Solidity contract to Sei mainnet and verify it on Seitrace +Deploy a Solidity contract to Sei mainnet and verify it on Seiscan ``` ``` How do I call the Staking precompile from Solidity to delegate SEI? diff --git a/evm/ai-tooling/cambrian-agent-kit.mdx b/evm/ai-tooling/cambrian-agent-kit.mdx index e67a479..acc1913 100644 --- a/evm/ai-tooling/cambrian-agent-kit.mdx +++ b/evm/ai-tooling/cambrian-agent-kit.mdx @@ -446,7 +446,7 @@ async function monitorTransaction(txHash: string) { } } - console.log('⏰ Transaction timeout - check manually on SeiTrace'); + console.log('⏰ Transaction timeout - check manually on Seiscan'); } ``` diff --git a/evm/differences-with-ethereum.mdx b/evm/differences-with-ethereum.mdx index 2946ae7..4022d4a 100644 --- a/evm/differences-with-ethereum.mdx +++ b/evm/differences-with-ethereum.mdx @@ -11,7 +11,7 @@ Sei's EVM and Ethereum itself: | --- | --- | --- | | Blocktime | 400 ms | 12 s | | Gas per Second | ~ 100 MegaGas/s | ~ 5 MegaGas/s | -| Finality | Instant | Various commitment levels (safe, latest, justified, finalized) | +| Finality | Instant (~400 ms) | Various commitment levels (safe, latest, justified, finalized) | | Parallelized Execution | Yes | No | | EVM Tooling Compatibility | 100% | 100% | | EVM Version | Pectra (w/o blobs) | Fusaka | @@ -26,7 +26,7 @@ Sei's EVM and Ethereum itself: - Sei uses the Pectra (Prague + Electra) version of EVM, excluding blob transactions. Ethereum has since upgraded to Fusaka (December 2025), which introduced PeerDAS for enhanced data availability. - Sei's gas limit is 12.5 M as opposed to Ethereum's 60 M (increased from 45 M in the Fusaka upgrade via EIP-7935). Sei also has a byte size limit of 21MB. -- Sei has instant finality. This means the various commitment levels typical for Ethereum (i.e., safe, latest, justified) do not apply on Sei. +- Sei has instant finality — a transaction is final as soon as its block is committed (~400 ms). This means the various commitment levels typical for Ethereum (i.e., safe, latest, justified) do not apply on Sei. @@ -69,7 +69,7 @@ Sei EVM was originally deployed at the following block heights and versions: | --- | --- | --- | --- | | PREVRANDAO | Returns a value derived from the current block time | Returns the RANDAO mix (EIP‑4399) | Not a randomness source; use an oracle/VRF. `DIFFICULTY` aliases to this. | | COINBASE | Always the global fee collector address | Block proposer (miner) address | Do not assume it is the validator address. | -| BASEFEE | Returns current base fee; no burn | Returns current base fee; a portion is burned (EIP‑1559) | Legacy tx must specify ≥ `10 gwei` base fee on Sei. | +| BASEFEE | Returns current base fee; no burn | Returns current base fee; a portion is burned (EIP‑1559) | Legacy tx must meet Sei's governance-set minimum gas price (currently `50 gwei`); query `eth_gasPrice` for the live value. | | BLOCKHASH | Hash of the Tendermint header; different encoding | Keccak of the Ethereum block header | Usable for recent blocks only; values are not interchangeable across chains. | | GASLIMIT | = 12,500,000 per block | = 60,000,000 per block | Represents block gas limit in both chains. | | TIMESTAMP | Tendermint block time | Proposer-chosen block time | Same semantics; do not use as randomness. | @@ -106,7 +106,7 @@ format, and is different from Ethereum's block Hash as a result. ## Base Fee & Tips Sei supports all non‑blob transaction types, including the Pectra `SetCode` transaction (EIP‑7702). However for a legacy (non EIP‑1559) type -transaction, you must specify a base fee of `10 gwei`. In addition to this, excess +transaction, you must specify a gas price at or above Sei's governance-set minimum gas price (currently `50 gwei` on mainnet). Query the live value with `eth_gasPrice` rather than hard-coding it. In addition to this, excess "gas wanted/gas limit" beyond the actual "gas used" may not be refunded in full or in part. @@ -138,7 +138,8 @@ may find certain state changes unattributable to any EVM transaction. ## Finality -Sei has instant finality, meaning that commitment levels of "safe", "latest", +Sei has instant finality — a transaction is final as soon as its block is +committed (~400 ms) — meaning that commitment levels of "safe", "latest", "justified", and "finalized" on Ethereum are all the same thing on Sei. ## Pending State diff --git a/evm/evm-verify-contracts.mdx b/evm/evm-verify-contracts.mdx index 4b3a0c1..e275bfc 100644 --- a/evm/evm-verify-contracts.mdx +++ b/evm/evm-verify-contracts.mdx @@ -93,13 +93,13 @@ export default defineConfig({ type: "http", chainId: 1328, url: "https://evm-rpc-testnet.sei-apis.com", - accounts: [configVariable("PRIVATE_KEY")], + accounts: [configVariable("SEI_PRIVATE_KEY")], }, sei_mainnet: { type: "http", chainId: 1329, url: "https://evm-rpc.sei-apis.com", - accounts: [configVariable("PRIVATE_KEY")], + accounts: [configVariable("SEI_PRIVATE_KEY")], }, }, diff --git a/evm/index.mdx b/evm/index.mdx index 60f4f98..6d11fca 100644 --- a/evm/index.mdx +++ b/evm/index.mdx @@ -9,8 +9,8 @@ keywords: ["sei evm", "ethereum virtual machine", "web3 development", "blockchai | Feature | Sei EVM | Ethereum | Other Layer 1s | | -------------------------- | ------------- | ---------------- | --------------- | -| Blocktime | 400 ms | 12 - 14 seconds | 1 - 3 seconds | -| Transaction Throughput | 100 MGas/s | 3 MGas/s | < 50 MGas/s | +| Blocktime | 400 ms | ~12 s | 1 - 3 seconds | +| Transaction Throughput | 100 MGas/s | ~5 MGas/s | < 50 MGas/s | | Parallelized Execution | Yes | No | Limited/No | | EVM Tooling Compatibility | 100% | 100% | Varies | | EVM Version | Pectra (w/o blobs) | Fusaka | Varies | diff --git a/evm/migrate-from-other-evms.mdx b/evm/migrate-from-other-evms.mdx index 0ca222e..58e687b 100644 --- a/evm/migrate-from-other-evms.mdx +++ b/evm/migrate-from-other-evms.mdx @@ -4,14 +4,14 @@ sidebarTitle: 'Migrate from Other EVMs' description: 'Step-by-step checklist for teams that already run on another EVM chain and want to redeploy on Sei, including environment prep, contract migration, liquidity planning, and chain-specific guidance for Ethereum, Arbitrum, Base, Polygon, and Avalanche.' keywords: ['EVM migration', 'cross-chain deployment', 'ethereum to sei', 'arbitrum to sei', 'base to sei', 'polygon to sei', 'avalanche to sei', 'smart contract deployment'] --- -Sei offers full EVM bytecode compatibility plus near-instant finality and sub-second blocks. This guide distills what product teams need to do when they already run on Polygon, Base, Ethereum, Arbitrum, Avalanche or another EVM chain and want to bring your dApp stack to Sei. +Sei offers full EVM bytecode compatibility plus instant finality and sub-second blocks. This guide distills what product teams need to do when they already run on Polygon, Base, Ethereum, Arbitrum, Avalanche or another EVM chain and want to bring your dApp stack to Sei. **Why Migrate to Sei?** - **400ms block times** – 30× faster than Ethereum, 2-5× faster than most L2s -- **~100 MGas/s throughput** – 33× higher than Ethereum mainnet -- **Instant finality** – No waiting for confirmations or safe/finalized states +- **~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 @@ -25,7 +25,7 @@ Before diving into migration steps, understand how Sei compares to your source c | --- | --- | --- | --- | --- | --- | --- | | Chain ID | 1329 | 1 | 42161 | 8453 | 137 | 43114 | | Block Time | 400 ms | ~12 s | ~250 ms | ~2 s | ~2 s | ~2 s | -| Finality | Instant | ~15 min (finalized) | ~7 days (L1 settlement) | ~7 days (L1 settlement) | ~5 s (Heimdall v2) | ~1 s | +| Finality | Instant (~400 ms) | ~15 min (finalized) | ~7 days (L1 settlement) | ~7 days (L1 settlement) | ~5 s (Heimdall v2) | ~1 s | | Gas Limit | 12.5 M | 60M | 32M | 375M | 45M | Dynamic | | Per-Tx Gas Cap | 12.5 M | ~16.7 M | 32 M | ~25 M | 45 M | Dynamic | | Native Token | SEI | ETH | ETH | ETH | POL (MATIC) | AVAX | @@ -48,7 +48,7 @@ Select your source chain to see specific migration considerations: | Aspect | Ethereum | Sei | Migration Impact | | --- | --- | --- | --- | | Block time | ~12 seconds | 400 ms | Reduce `deadline` buffers in DEX swaps by 30× | -| Finality | ~15 min for finalized | Instant | Remove confirmation polling logic | +| Finality | ~15 min for finalized | Instant (~400 ms) | Remove confirmation polling logic | | Gas limit | ~16.7M per TX (EIP-7825) | 12.5 M per block/TX | Split large batch deployments | | Fee model | EIP-1559 with burn | EIP-1559 different params | Update fee estimation UIs | | Pending state | Yes | No | Remove pending transaction logic | @@ -91,7 +91,7 @@ const tx = await contract.method({ | Aspect | Arbitrum | Sei | Migration Impact | | --- | --- | --- | --- | | Architecture | Optimistic Rollup (L2) | L1 | No L1 data availability concerns | -| Finality | ~7 days for L1 settlement | Instant | Simplify withdrawal flows | +| Finality | ~7 days for L1 settlement | Instant (~400 ms) | Simplify withdrawal flows | | Sequencer | Centralized sequencer | Decentralized validators | No sequencer downtime risk | | Block time | ~250 ms | 400 ms | Slightly slower, but with true finality | | L1 gas | Pays L1 data costs | No L1 dependency | Simpler fee structure | @@ -128,7 +128,7 @@ uint256 blockNum = block.number; // Standard EVM | Aspect | Base | Sei | Migration Impact | | --- | --- | --- | --- | | Architecture | OP Stack Rollup (L2) | L1 | No L1 data availability concerns | -| Finality | ~7 days for L1 settlement | Instant | Simplify withdrawal flows | +| Finality | ~7 days for L1 settlement | Instant (~400 ms) | Simplify withdrawal flows | | Block time | ~2 seconds | 400 ms | 5× faster block production | | Sequencer | Coinbase-operated | Decentralized validators | No single point of failure | | EIP-4844 blobs | Supported | Not supported | Remove blob transaction logic | @@ -176,7 +176,7 @@ const seiMainnet = { | --- | --- | --- | --- | | Native token | POL (MATIC) | SEI | Update all token references | | Block time | ~2 seconds | 400 ms | 5× faster blocks | -| Finality | ~5 s (Heimdall v2) | Instant | Remove finality delay handling | +| Finality | ~5 s (Heimdall v2) | Instant (~400 ms) | Remove finality delay handling | | Checkpoints | Periodic to Ethereum | None | Simpler architecture | | Reorgs | Possible (rare) | Never | Remove reorg handling | @@ -276,7 +276,7 @@ Revisit the [Divergence from Ethereum](/evm/differences-with-ethereum) doc and c | Dimension | Sei EVM | Practical Effect | | --- | --- | --- | | Block time | 400 ms | Faster TX inclusion → smaller `deadline` buffers and quicker price oracles | -| Finality | Instant | No separate "safe/latest" commitment levels to poll | +| Finality | Instant (~400 ms) | No separate "safe/latest" commitment levels to poll | | Gas limit | 12.5M gas + 21 MB byte limit | Batch contract deployments by 12.5M gas blocks | | Base fee | Dynamic but never burned | Validators receive 100% of fees | | Execution | Parallelized EVM | No changes to your Solidity code are necessary | diff --git a/evm/transactions-with-seid.mdx b/evm/transactions-with-seid.mdx index 7fa88f6..a403a4d 100644 --- a/evm/transactions-with-seid.mdx +++ b/evm/transactions-with-seid.mdx @@ -176,7 +176,7 @@ seid tx evm call-contract [addr] [payload hex] --value= --from= - `--gas-fee-cap=1000000000000` (1000 Gwei) - `--gas-limit=7000000` -- `--value=0` - ETH value to send with the call +- `--value=0` - SEI value to send with the call **Example:** @@ -208,7 +208,7 @@ seid tx evm call-precompile [precompile name] [method] [args...] --value= --gas --gas-p ### Using EVM (wagmi) -```js -import { sendTransaction } from 'wagmi/actions'; - -sendTransaction({ - request: { - to: '0xRecipientAddress', - value: '1000000000000000000', // 1 ETH - gasPrice: '100000000000', // 100 Gwei - gasLimit: '21000' - } +```ts +import { parseEther, parseGwei } from 'viem'; +import { sendTransaction } from '@wagmi/core'; +import { config } from './config'; // your wagmi config + +await sendTransaction(config, { + to: '0xRecipientAddress', + value: parseEther('1'), // 1 SEI + gasPrice: parseGwei('100'), // 100 gwei (legacy tx; omit to use EIP-1559 maxFeePerGas/maxPriorityFeePerGas) + gas: 21000n }); ```