diff --git a/.github/styles/Sei/Headings.yml b/.github/styles/Sei/Headings.yml
index ead512d..1537c1f 100644
--- a/.github/styles/Sei/Headings.yml
+++ b/.github/styles/Sei/Headings.yml
@@ -6,17 +6,32 @@ scope: heading
# AGENTS.md: "Sentence case for headings." Only the first word and proper nouns
# are capitalized. Proper nouns below are exempt so they may appear mid-heading.
match: $sentence
+# A colon starts a new sentence, so "Step 1: Evaluate compatibility" is still
+# sentence case.
+indicators:
+ - ':'
exceptions:
- Sei
- Sei Giga
- Sei EVM
- Sei Network
+ - Sei Mainnet
+ - Sei Testnet
- SeiDB
- EVM
- ERC
- CosmWasm
- Cosmos
- Ethereum
+ - Ethereum Mainnet
+ - Arbitrum
+ # Scoped to the migration heading so the rule still catches "Base fee" and
+ # "Base layer" elsewhere.
+ - Migrating from Base
+ - Polygon PoS
+ - Avalanche C-Chain
+ - LayerZero V2
+ - Uniswap V3
- Solidity
- Hardhat
- Foundry
diff --git a/.github/styles/Sei/Terminology.yml b/.github/styles/Sei/Terminology.yml
index 3e8360c..fe30d9f 100644
--- a/.github/styles/Sei/Terminology.yml
+++ b/.github/styles/Sei/Terminology.yml
@@ -10,6 +10,15 @@ action:
swap:
'the Sei blockchain': Sei
'Sei [Cc]hain': Sei
+ # Capitalized forms are reader-facing prose; the lowercase literals
+ # 'pacific-1' and 'atlantic-2' are intentionally kept for CLI, config,
+ # registry keys, and API paths, and don't match here (ignorecase: false).
+ 'Pacific-1': Sei Mainnet
+ 'Atlantic-2': Sei Testnet
+ # The network names are proper nouns, so the lowercase prose forms are wrong
+ # too. 'Sei Mainnet' and 'Sei Testnet' never match these patterns.
+ 'Sei mainnet': Sei Mainnet
+ 'Sei testnet': Sei Testnet
'gas fees?': gas
# Bare 'CW' is accepted shorthand for CosmWasm here — the standard names
# CW20/CW721/CW1155 plus phrases like "CW pointer", "CW-based", and "CW NFT".
diff --git a/AGENTS.md b/AGENTS.md
index 1d523b7..fcd1263 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -14,7 +14,7 @@
- **Sei Giga** is the next-generation architecture upgrade
- **seid** is the CLI binary; always lowercase and code-formatted
- **sei-js** (lowercase, hyphenated) for the JS/TS SDK
-- **Pacific-1** (mainnet chain ID `1329`), **Atlantic-2** (testnet chain ID `1328`)
+- Use **Sei Mainnet** (EVM chain ID `1329`) and **Sei Testnet** (EVM chain ID `1328`) in reader-facing copy. Both are proper nouns, so "Sei mainnet" and "Sei testnet" are wrong. Keep the literal identifiers `pacific-1` (mainnet) and `atlantic-2` (testnet) only where technically required, especially in node-operator instructions, CLI or config values, API paths, and registry keys.
- Precompiles live at specific addresses — always reference exact address when mentioning
- **Twin Turbo Consensus** and **parallelization engine** are proper nouns
- Prefer "dApp" over "app" when the context is blockchain
diff --git a/STYLE_GUIDE.md b/STYLE_GUIDE.md
index d86d2ca..d064af0 100644
--- a/STYLE_GUIDE.md
+++ b/STYLE_GUIDE.md
@@ -285,12 +285,13 @@ Use tables for comparing features, listing network information, or presenting st
When referencing network information, always include:
-- Chain ID (both decimal and hex format where applicable)
+- EVM chain ID (both decimal and hex format where applicable)
+- Cosmos chain ID (`pacific-1`, `atlantic-2`) when the table documents `seid` or Cosmos endpoints
- RPC URLs
- Explorer links
Example:
-| Network | Chain ID | RPC URL |
+| Network | EVM chain ID | RPC URL |
|---------|----------|---------|
-| Mainnet (pacific-1) | 1329 (0x531) | https://evm-rpc.sei-apis.com |
-| Testnet (atlantic-2) | 1328 (0x530) | https://evm-rpc-testnet.sei-apis.com |
+| Sei Mainnet | 1329 (0x531) | https://evm-rpc.sei-apis.com |
+| Sei Testnet | 1328 (0x530) | https://evm-rpc-testnet.sei-apis.com |
diff --git a/ai/agentic-wallets.mdx b/ai/agentic-wallets.mdx
index 766ca23..96afce8 100644
--- a/ai/agentic-wallets.mdx
+++ b/ai/agentic-wallets.mdx
@@ -157,7 +157,7 @@ account = Account.from_key("YOUR_PRIVATE_KEY")
wallet_provider = EthAccountWalletProvider(
config=EthAccountWalletProviderConfig(
account=account,
- chain_id=1329, # Sei mainnet
+ chain_id=1329, # Sei Mainnet
rpc_url="https://evm-rpc.sei-apis.com",
)
)
@@ -215,7 +215,7 @@ For Sei-native DeFi actions (swaps on Symphony/DragonSwap, staking via Silo, len
### Known Quirks on Sei
-Verified by running AgentKit `0.10.4` against Sei testnet (`chain 1328`). These quirks sit in AgentKit's network and action-provider layer and apply to **both** `ViemWalletProvider` and `PrivyWalletProvider`:
+Verified by running AgentKit `0.10.4` against Sei Testnet (`chain 1328`). These quirks sit in AgentKit's network and action-provider layer and apply to **both** `ViemWalletProvider` and `PrivyWalletProvider`:
- **Balances are labeled "ETH" in action output.** `walletActionProvider` hard-codes the native-currency symbol, so `get_wallet_details` returns strings like `Native Balance: 512993.50 ETH` and `native_transfer` responses say `Transferred 0.05 ETH to 0x...` even on Sei. Signing and arithmetic are unaffected — it's a display-only quirk. If the LLM will quote balances or transfer confirmations to users, add a post-processing step or a system-prompt instruction to rewrite `ETH` → `SEI` when `chain_id == 1329 || 1328`.
- **`networkId` is `undefined`.** Coinbase's internal `CHAIN_ID_TO_NETWORK_ID` map only includes Ethereum, Polygon, Base, Arbitrum, and Optimism (mainnet + testnet). Sei's chain IDs aren't in it, so `walletProvider.getNetwork()` returns `{ protocolFamily: 'evm', chainId: '1328', networkId: undefined }`. This is harmless for signing/sending, but **any action provider that branches on `networkId`** will refuse to run on Sei. In practice, `AgentKit.from({...})` prints a warning like `The following action providers are not supported on the current network and will be unavailable: weth, x402` and silently drops them — if you expect an action and it's missing from `agentKit.getActions()`, check this warning first.
@@ -273,7 +273,7 @@ Response:
-Use `eip155:1329` (CAIP-2 format) to target Sei mainnet:
+Use `eip155:1329` (CAIP-2 format) to target Sei Mainnet:
```bash
curl --request POST https://api.privy.io/v1/wallets/wallet_abc123/rpc \
@@ -343,7 +343,7 @@ console.log('Wallet address:', wallet.address);
// serialize a BigInt, so don't pass `parseEther(...)` directly.
const { hash } = await privy.walletApi.ethereum.sendTransaction({
walletId: wallet.id,
- caip2: 'eip155:1329', // Sei mainnet
+ caip2: 'eip155:1329', // Sei Mainnet
transaction: {
to: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e',
value: '0x' + parseEther('0.01').toString(16),
@@ -381,7 +381,7 @@ print(f"Wallet address: {wallet.address}")
result = client.wallets.rpc(
wallet_id=wallet.id,
method="eth_sendTransaction",
- caip2="eip155:1329", # Sei mainnet
+ caip2="eip155:1329", # Sei Mainnet
params={
"transaction": {
"to": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
@@ -401,7 +401,7 @@ print(f"Transaction hash: {result.hash}")
### Known Quirks on Sei (Privy)
-Verified by running `@privy-io/server-auth` `1.32.5` against Sei testnet (`eip155:1328`):
+Verified by running `@privy-io/server-auth` `1.32.5` against Sei Testnet (`eip155:1328`):
- **`value` must be a hex string, not a `BigInt`.** Privy's request signer uses RFC 8785 JSON canonicalization (`canonicalize`), which throws `TypeError: Do not know how to serialize a BigInt` if you pass a `BigInt` in any field of the `transaction` object. Convert viem's `parseEther(...)` output with `'0x' + parseEther('0.01').toString(16)` before sending.
- **`authorizationKeyIds` on `createWallet` expects the public-key registration ID, not the dashboard key ID.** Passing the ID shown next to a key in the Privy dashboard can fail with `400 Invalid authorization key IDs`. If you only need an app-owned wallet (app credentials + `authorizationPrivateKey` for request signing), omit `authorizationKeyIds` — the wallet is still fully operable.
@@ -519,7 +519,7 @@ const wallet = await privy.walletApi.createWallet({ chainType: 'ethereum' });
const walletProvider = await PrivyWalletProvider.configureWithWallet({
appId: process.env.PRIVY_APP_ID!,
appSecret: process.env.PRIVY_APP_SECRET!,
- chainId: '1329', // Sei mainnet
+ chainId: '1329', // Sei Mainnet
walletId: wallet.id,
authorizationPrivateKey: process.env.PRIVY_AUTH_KEY,
});
diff --git a/ai/mcp-server.mdx b/ai/mcp-server.mdx
index 590f226..f86a6ab 100644
--- a/ai/mcp-server.mdx
+++ b/ai/mcp-server.mdx
@@ -193,7 +193,7 @@ The Sei MCP Server enables your AI assistant to:
- Query account balances, tokens, NFTs, blocks, and transactions (read-only)
- Search the official Sei docs, including `@sei-js` references (`search_docs`)
-- Monitor network status for Pacific-1 and Atlantic-2
+- Monitor network status for Sei Mainnet and Sei Testnet
- Execute token transfers, NFT transfers, contract writes, and deploys when wallet mode is enabled on stdio
## Available tools
@@ -210,7 +210,7 @@ Network arguments accept `sei`, `sei-testnet`, `1329`, `1328`, `0x531`, or `0x53
| --- | --- | --- | --- |
| `search_docs` | Search the official Sei docs | "How do I use the staking precompile?" | No |
| `get_supported_networks` | List supported networks | "Which Sei networks are available?" | No |
-| `get_chain_info` | Network chain ID and latest block | "Show Sei mainnet info" | No |
+| `get_chain_info` | Network chain ID and latest block | "Show Sei Mainnet info" | No |
| `get_balance` | Native SEI balance | "Check balance of 0x123..." | No |
| `is_contract` | Verify a contract address | "Is 0x789... a contract?" | No |
| `read_contract` | Call a read-only contract function | "Read DEX reserves" | No |
@@ -278,7 +278,7 @@ These prompts are always available, including in read-only mode:
Explain an EVM concept in context
- Compare Pacific-1 and Atlantic-2
+ Compare Sei Mainnet and Sei Testnet
diff --git a/ai/sei-skill/install.mdx b/ai/sei-skill/install.mdx
index 76cdbe5..3c913bf 100644
--- a/ai/sei-skill/install.mdx
+++ b/ai/sei-skill/install.mdx
@@ -24,7 +24,7 @@ The default install targets Claude Code, placing the skill in `~/.claude/skills/
./install.sh
```
-The skill loads automatically in every Claude Code session. To verify it's active, ask: *"What is the SSTORE gas cost on Sei testnet?"*
+The skill loads automatically in every Claude Code session. To verify it's active, ask: *"What is the SSTORE gas cost on Sei Testnet?"*
diff --git a/ai/sei-skill/prompts.mdx b/ai/sei-skill/prompts.mdx
index 89969cc..5506e51 100644
--- a/ai/sei-skill/prompts.mdx
+++ b/ai/sei-skill/prompts.mdx
@@ -10,10 +10,10 @@ Once sei-skill is installed, your AI assistant has accurate, up-to-date context
## Contracts
```
-Set up Foundry for Sei testnet
+Set up Foundry for Sei Testnet
```
```
-Deploy a Solidity contract to Sei mainnet and verify it on Seiscan
+Deploy a Solidity contract to Sei Mainnet and verify it on Seiscan
```
```
How do I call the Staking precompile from Solidity to delegate SEI?
@@ -49,7 +49,7 @@ Migrate my Ethereum contract to Sei — what do I need to change?
## Frontend
```
-Set up Wagmi v2 with Sei mainnet and testnet chain configs
+Set up Wagmi v2 with Sei Mainnet and Sei Testnet chain configs
```
```
How do I integrate Sei Global Wallet for social login in my dApp?
@@ -79,7 +79,7 @@ Set up wagmi useWriteContract for delegating SEI to a validator
## Ecosystem
```
-What are reliable RPC endpoints for Sei mainnet with failover?
+What are reliable RPC endpoints for Sei Mainnet with failover?
```
```
How do I bridge USDC to Sei using LayerZero V2?
diff --git a/ai/x402.mdx b/ai/x402.mdx
index dac70de..fea8c1f 100644
--- a/ai/x402.mdx
+++ b/ai/x402.mdx
@@ -12,13 +12,13 @@ When a client requests a paid resource, the server responds with the price and p
x402 payments sit in the request path. The client receives the protected response only after the payment has been authorized and settled. Sei's fast finality reduces this wait, while its low transaction costs make small per-request payments practical.
-Sei EVM also lets you use the upstream `@x402` packages and standard EVM wallet tooling. Native USDC is already included in the x402 default asset registry for Pacific-1 and Atlantic-2, so dollar-denominated route pricing works without a custom token mapping.
+Sei EVM also lets you use the upstream `@x402` packages and standard EVM wallet tooling. Native USDC is already included in the x402 default asset registry for Sei Mainnet and Sei Testnet, so dollar-denominated route pricing works without a custom token mapping.
When you configure x402 on Sei:
-- Pacific-1 uses the CAIP-2 network identifier `eip155:1329`.
-- Atlantic-2 uses the CAIP-2 network identifier `eip155:1328`.
+- Sei Mainnet uses the CAIP-2 network identifier `eip155:1329`.
+- Sei Testnet uses the CAIP-2 network identifier `eip155:1328`.
- `@x402/evm` provides the EVM payment scheme implementation.
@@ -147,8 +147,8 @@ Use the CAIP-2 identifier for your target network when you configure a route:
| Network | CAIP-2 identifier | Default USDC |
| --- | --- | --- |
-| Pacific-1 | `eip155:1329` | `0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392` |
-| Atlantic-2 | `eip155:1328` | `0x4fCF1784B31630811181f670Aea7A7bEF803eaED` |
+| Sei Mainnet | `eip155:1329` | `0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392` |
+| Sei Testnet | `eip155:1328` | `0x4fCF1784B31630811181f670Aea7A7bEF803eaED` |
Because x402 registers these assets as the defaults for Sei, a price such as `"$0.001"` resolves to the USDC address for the selected network. To accept another ERC-20 token, configure an explicit token amount and its EIP-712 metadata instead.
@@ -166,7 +166,7 @@ Native USDC on Sei supports EIP-3009. With the `exact` EVM scheme, the buyer sig
## Protect an Express route
-The following x402 v2 example charges `0.001` USDC for `GET /weather` on Atlantic-2. Set `X402_FACILITATOR_URL` to a facilitator that supports `eip155:1328`.
+The following x402 v2 example charges `0.001` USDC for `GET /weather` on Sei Testnet. Set `X402_FACILITATOR_URL` to a facilitator that supports `eip155:1328`.
```typescript
import express from "express";
@@ -259,7 +259,7 @@ Do not treat a successful transaction receipt by itself as proof that a request
- Use HTTPS so intermediaries cannot read or replace payment headers.
- Keep buyer wallet keys in a secret manager or another server-side secret store. Do not ship a private key in browser code.
-- Confirm facilitator support for Pacific-1 or Atlantic-2 before you deploy.
+- Confirm facilitator support for Sei Mainnet or Sei Testnet before you deploy.
- Test rejected signatures, expired authorizations, failed settlement, and insufficient balances.
- Fulfill the protected request only after x402 reports a valid payment.
diff --git a/evm/building-a-frontend.mdx b/evm/building-a-frontend.mdx
index 24ada90..fe08e95 100644
--- a/evm/building-a-frontend.mdx
+++ b/evm/building-a-frontend.mdx
@@ -19,7 +19,7 @@ We'll implement the same functionality using each library so you can compare the
**Deploy to Testnet First**
-It is highly recommended that you deploy to testnet (atlantic-2) first and verify everything works as expected before committing to mainnet. Doing so helps you catch bugs early, avoid unnecessary gas costs, and keep your users safe.
+It is highly recommended that you deploy to Sei Testnet first and verify everything works as expected before committing to Sei Mainnet. Doing so helps you catch bugs early, avoid unnecessary gas costs, and keep your users safe.
diff --git a/evm/debugging-contracts.mdx b/evm/debugging-contracts.mdx
index 68faf82..3ee67ed 100644
--- a/evm/debugging-contracts.mdx
+++ b/evm/debugging-contracts.mdx
@@ -170,7 +170,7 @@ cast chain-id --rpc-url=$EVM_RPC_URL
## Try it live
-Each `cast` diagnostic above is a plain read-only JSON-RPC call. Run the same four against Sei mainnet right here — the example address (`0xAa55…3d96`) is the sender from the `cast tx` output earlier on this page.
+Each `cast` diagnostic above is a plain read-only JSON-RPC call. Run the same four against Sei Mainnet right here — the example address (`0xAa55…3d96`) is the sender from the `cast tx` output earlier on this page.
diff --git a/evm/differences-with-ethereum.mdx b/evm/differences-with-ethereum.mdx
index 0f0de7a..399d6e9 100644
--- a/evm/differences-with-ethereum.mdx
+++ b/evm/differences-with-ethereum.mdx
@@ -217,7 +217,7 @@ Transaction Fee = Gas Used × Gas Price
On Sei, the `SSTORE` opcode gas cost is configurable as an on-chain parameter, meaning it can be adjusted via governance proposal without requiring a chain upgrade. This provides flexibility to tune storage costs based on EVM state size and network conditions.
-Currently, the `SSTORE` gas cost is set to the non-standard value of **72,000 gas**. This value is the same on both mainnet (`pacific-1`) and testnet (`atlantic-2`). It was set by governance [Proposal #109](https://seistream.app/proposals/109) ("Update EVM SSTORE set gas to 72000"), which changed the `evm` module parameter `KeySeiSstoreSetGasEIP2200` to `72000`.
+Currently, the `SSTORE` gas cost is set to the non-standard value of **72,000 gas**. This value is the same on both Sei Mainnet and Sei Testnet. It was set by governance [Proposal #109](https://seistream.app/proposals/109) ("Update EVM SSTORE set gas to 72000"), which changed the `evm` module parameter `KeySeiSstoreSetGasEIP2200` to `72000`.
The values below are read **live** from the Sei EVM:
@@ -239,7 +239,7 @@ Existing OpenZeppelin contracts and tools work unchanged.
## Testing & Migration Checklist
-- ✅ Re‑deploy your Solidity code to Sei testnet; most contracts need no changes.
+- ✅ Re‑deploy your Solidity code to Sei Testnet; most contracts need no changes.
- ✅ If you used SELFDESTRUCT, refactor to a soft‑close pattern.
- ✅ Remove EIP‑1559 fee UI complexity; use a single `gasPrice` input in frontends.
- ✅ If you rely on on‑chain “randomness,” integrate an oracle/VRF.
diff --git a/evm/evm-foundry.mdx b/evm/evm-foundry.mdx
index aa30255..1a4126a 100644
--- a/evm/evm-foundry.mdx
+++ b/evm/evm-foundry.mdx
@@ -17,7 +17,7 @@ This tutorial will guide you through setting up Foundry for Sei EVM development
**Deploy to Testnet First**
-It is highly recommended that you deploy to testnet (atlantic-2) first and verify everything works as expected before committing to mainnet. Doing so helps you catch bugs early, avoid unnecessary gas costs, and keep your users safe.
+It is highly recommended that you deploy to Sei Testnet first and verify everything works as expected before committing to Sei Mainnet. Doing so helps you catch bugs early, avoid unnecessary gas costs, and keep your users safe.
@@ -27,19 +27,19 @@ Installing Foundry and scaffolding a project takes a few minutes. If you just wa
First, confirm the RPC endpoints you'll put in `foundry.toml` respond:
-
+
-
+
-Then add Sei testnet to your wallet and deploy a minimal `Counter.sol` from Remix — no `forge`, no install. In Remix: compile under **Solidity Compiler**, then **Deploy & Run** with **Environment** set to **Injected Provider — MetaMask**.
+Then add Sei Testnet to your wallet and deploy a minimal `Counter.sol` from Remix — no `forge`, no install. In Remix: compile under **Solidity Compiler**, then **Deploy & Run** with **Environment** set to **Injected Provider — MetaMask**.
-
+
## Table of Contents
@@ -101,7 +101,7 @@ solc_version = "0.8.28"
optimizer = true
optimizer_runs = 200
-# Sei testnet configuration
+# Sei Testnet configuration
[rpc_endpoints]
sei_testnet = "https://evm-rpc-testnet.sei-apis.com"
sei_mainnet = "https://evm-rpc.sei-apis.com"
@@ -585,13 +585,13 @@ Now let's deploy our contracts to the Sei networks. You can use either Forge scr
### Using Forge Scripts (Recommended)
-Deploy to Sei testnet:
+Deploy to Sei Testnet:
```bash
forge script script/DeployCounter.s.sol --rpc-url $SEI_TESTNET_RPC --private-key $PRIVATE_KEY --broadcast
```
-Deploy to Sei mainnet:
+Deploy to Sei Mainnet:
```bash
forge script script/DeployCounter.s.sol --rpc-url $SEI_MAINNET_RPC --private-key $PRIVATE_KEY --broadcast
diff --git a/evm/evm-general.mdx b/evm/evm-general.mdx
index 544fffd..ca98325 100644
--- a/evm/evm-general.mdx
+++ b/evm/evm-general.mdx
@@ -35,19 +35,19 @@ Here are some key points about the EVM:
You don't need a local toolchain to ship a contract to Sei. First confirm the network is live, then compile and deploy a minimal `Counter.sol` to testnet straight from the browser.
-
+
-
+
-Add Sei testnet to your wallet, then deploy from Remix below — compile under **Solidity Compiler**, then **Deploy & Run** with **Environment** set to **Injected Provider — MetaMask**:
+Add Sei Testnet to your wallet, then deploy from Remix below — compile under **Solidity Compiler**, then **Deploy & Run** with **Environment** set to **Injected Provider — MetaMask**:
-
+
## Smart contract languages
diff --git a/evm/evm-hardhat.mdx b/evm/evm-hardhat.mdx
index 8d5bedd..3be1986 100644
--- a/evm/evm-hardhat.mdx
+++ b/evm/evm-hardhat.mdx
@@ -17,7 +17,7 @@ This tutorial will guide you through setting up Hardhat for Sei EVM development
**Deploy to Testnet First**
-It is highly recommended that you deploy to testnet (atlantic-2) first and verify everything works as expected before committing to mainnet. Doing so helps you catch bugs early, avoid unnecessary gas costs, and keep your users safe.
+It is highly recommended that you deploy to Sei Testnet first and verify everything works as expected before committing to Sei Mainnet. Doing so helps you catch bugs early, avoid unnecessary gas costs, and keep your users safe.
@@ -27,19 +27,19 @@ Setting up the full toolchain takes a few minutes. If you just want to see a con
First, confirm the RPC endpoints you'll put in `hardhat.config` respond:
-
+
-
+
-Then add Sei testnet to your wallet and deploy a minimal `Counter.sol` from Remix — no Node, no install. In Remix: compile under **Solidity Compiler**, then **Deploy & Run** with **Environment** set to **Injected Provider — MetaMask**.
+Then add Sei Testnet to your wallet and deploy a minimal `Counter.sol` from Remix — no Node, no install. In Remix: compile under **Solidity Compiler**, then **Deploy & Run** with **Environment** set to **Injected Provider — MetaMask**.
-
+
## Table of Contents
@@ -116,7 +116,7 @@ const config: HardhatUserConfig = {
}
},
networks: {
- // Sei testnet (atlantic-2)
+ // Sei Testnet
seitestnet: {
type: 'http',
chainType: 'l1',
@@ -124,7 +124,7 @@ const config: HardhatUserConfig = {
accounts: [configVariable('SEI_PRIVATE_KEY')],
chainId: 1328
},
- // Sei mainnet (pacific-1)
+ // Sei Mainnet
seimainnet: {
type: 'http',
chainType: 'l1',
@@ -202,7 +202,7 @@ export default buildModule('SeiTokenModule', (m) => {
});
```
-To deploy the token to the Sei testnet:
+To deploy the token to Sei Testnet:
```bash
npx hardhat ignition deploy ignition/modules/deploy-sei-token.ts --network seitestnet
@@ -334,7 +334,7 @@ const transferEvent = receipt.logs.map((log) => seiNFT.interface.parseLog(log)).
console.log('NFT minted with ID:', transferEvent?.args.tokenId.toString() ?? 'unknown (no Transfer event in receipt)');
```
-Deploy the NFT contract to the Sei testnet:
+Deploy the NFT contract to Sei Testnet:
```bash
npx hardhat run scripts/deploy-sei-nft.ts --network seitestnet
@@ -605,7 +605,7 @@ npx hardhat test
## Deploying to Sei Testnet and Mainnet
-Once you've tested your contracts, you can deploy them to the Sei testnet or mainnet. To deploy, you'll need:
+Once you've tested your contracts, you can deploy them to Sei Testnet or Sei Mainnet. To deploy, you'll need:
1. SEI tokens in your wallet for gas
2. Your private key stored in the encrypted keystore (`npx hardhat keystore set SEI_PRIVATE_KEY`) — or exported as a `SEI_PRIVATE_KEY` environment variable in CI
diff --git a/evm/evm-parity/examples/deploy-verify.mdx b/evm/evm-parity/examples/deploy-verify.mdx
index da982d5..53e5ec3 100644
--- a/evm/evm-parity/examples/deploy-verify.mdx
+++ b/evm/evm-parity/examples/deploy-verify.mdx
@@ -12,19 +12,19 @@ For a deeper look at verification options (Remix, Sourcify UI, batch verificatio
## Try it: deploy from your browser
-No local toolchain required — compile and deploy a contract to Sei testnet straight from the browser. The Remix sandbox below preloads a minimal `Counter.sol`.
+No local toolchain required — compile and deploy a contract to Sei Testnet straight from the browser. The Remix sandbox below preloads a minimal `Counter.sol`.
-First, add Sei testnet to your wallet:
+First, add Sei Testnet to your wallet:
-
+
Then in Remix: compile under the **Solidity Compiler** tab, open **Deploy & Run**, set **Environment** to **Injected Provider — MetaMask**, and click **Deploy**. Sei has instant finality, so the deployment confirms in well under a second.
## Deploying with viem or ethers
diff --git a/evm/evm-parity/examples/erc1155.mdx b/evm/evm-parity/examples/erc1155.mdx
index 6e84814..3bf8554 100644
--- a/evm/evm-parity/examples/erc1155.mdx
+++ b/evm/evm-parity/examples/erc1155.mdx
@@ -12,19 +12,19 @@ ERC-1155 is the multi-token standard — a single contract can hold both fungibl
## Try it: deploy an ERC-1155
-Compile and deploy a real ERC-1155 to Sei testnet from the browser — the Remix sandbox preloads an OpenZeppelin-based `DemoMultiToken` with a public `mint(id, amount)`. Then point the read/write patterns below at your deployed address.
+Compile and deploy a real ERC-1155 to Sei Testnet from the browser — the Remix sandbox preloads an OpenZeppelin-based `DemoMultiToken` with a public `mint(id, amount)`. Then point the read/write patterns below at your deployed address.
-First, add Sei testnet to your wallet:
+First, add Sei Testnet to your wallet:
-
+
In Remix, compile under **Solidity Compiler**, then **Deploy & Run** with **Environment** set to **Injected Provider — MetaMask**.
## Setup
diff --git a/evm/evm-parity/examples/erc20.mdx b/evm/evm-parity/examples/erc20.mdx
index f140b27..8f69b97 100644
--- a/evm/evm-parity/examples/erc20.mdx
+++ b/evm/evm-parity/examples/erc20.mdx
@@ -12,19 +12,19 @@ Standard ERC-20 contracts work on Sei without modification. This page covers the
## Try it: deploy an ERC-20
-Compile and deploy a real ERC-20 to Sei testnet from the browser — the Remix sandbox preloads an OpenZeppelin-based `DemoToken`. Then point the read/write patterns below at your deployed address.
+Compile and deploy a real ERC-20 to Sei Testnet from the browser — the Remix sandbox preloads an OpenZeppelin-based `DemoToken`. Then point the read/write patterns below at your deployed address.
-First, add Sei testnet to your wallet:
+First, add Sei Testnet to your wallet:
-
+
In Remix, compile under **Solidity Compiler**, then **Deploy & Run** with **Environment** set to **Injected Provider — MetaMask**.
## Setup
diff --git a/evm/evm-parity/examples/erc721.mdx b/evm/evm-parity/examples/erc721.mdx
index 4f32fa1..97402fa 100644
--- a/evm/evm-parity/examples/erc721.mdx
+++ b/evm/evm-parity/examples/erc721.mdx
@@ -12,19 +12,19 @@ Standard ERC-721 contracts work on Sei without modification. This page covers re
## Try it: deploy an ERC-721
-Compile and deploy a real ERC-721 to Sei testnet from the browser — the Remix sandbox preloads an OpenZeppelin-based `DemoNFT` with a public `mint()`. Then point the patterns below at your deployed address.
+Compile and deploy a real ERC-721 to Sei Testnet from the browser — the Remix sandbox preloads an OpenZeppelin-based `DemoNFT` with a public `mint()`. Then point the patterns below at your deployed address.
-First, add Sei testnet to your wallet:
+First, add Sei Testnet to your wallet:
-
+
In Remix, compile under **Solidity Compiler**, then **Deploy & Run** with **Environment** set to **Injected Provider — MetaMask**.
## Setup
diff --git a/evm/evm-parity/examples/error-handling.mdx b/evm/evm-parity/examples/error-handling.mdx
index 27310d5..ae7aac4 100644
--- a/evm/evm-parity/examples/error-handling.mdx
+++ b/evm/evm-parity/examples/error-handling.mdx
@@ -11,7 +11,7 @@ Most transaction failures fall into three categories: contract reverts, wallet r
## Try it: see real errors
-The `RunSnippet` widget surfaces whatever the RPC returns — including failures. These two calls fail on purpose so you can see the exact error shape your code has to handle, live against Sei mainnet.
+The `RunSnippet` widget surfaces whatever the RPC returns — including failures. These two calls fail on purpose so you can see the exact error shape your code has to handle, live against Sei Mainnet.
@@ -74,13 +74,13 @@ Run these read-only calls against Sei mainnet right now — no install, no priva
## Edit and run
-Edit and re-run the full ethers code from this page live in the browser — a real ethers v6 `JsonRpcProvider` reading Sei **testnet** (atlantic-2), so its block number and balances won't match the mainnet reads above:
+Edit and re-run the full ethers code from this page live in the browser — a real ethers v6 `JsonRpcProvider` reading **Sei Testnet**, so its block number and balances won't match the mainnet reads above:
## Browser Provider
diff --git a/evm/evm-parity/examples/multicall.mdx b/evm/evm-parity/examples/multicall.mdx
index 270a099..452a6e2 100644
--- a/evm/evm-parity/examples/multicall.mdx
+++ b/evm/evm-parity/examples/multicall.mdx
@@ -9,11 +9,11 @@ import { RunSnippet } from '/snippets/run-snippet.jsx';
Multicall3 lets you batch multiple read calls into a single RPC round-trip, dramatically reducing latency for dashboards, portfolio pages, and any view that needs data from multiple contracts at once.
-Multicall3 is deployed at `0xcA11bde05977b3631167028862bE2a173976CA11` on Sei mainnet and testnet — the same address as Ethereum.
+Multicall3 is deployed at `0xcA11bde05977b3631167028862bE2a173976CA11` on Sei Mainnet and Sei Testnet — the same address as Ethereum.
## Try it live
-Multicall3 is a normal contract — you can hit it with a single `eth_call` and no SDK. These run its two zero-argument helpers on Sei mainnet; the hex results decode to decimal below each response.
+Multicall3 is a normal contract — you can hit it with a single `eth_call` and no SDK. These run its two zero-argument helpers on Sei Mainnet; the hex results decode to decimal below each response.
-
+
## Sending a Transaction
diff --git a/evm/evm-parity/examples/viem-quickstart.mdx b/evm/evm-parity/examples/viem-quickstart.mdx
index d30a405..2698475 100644
--- a/evm/evm-parity/examples/viem-quickstart.mdx
+++ b/evm/evm-parity/examples/viem-quickstart.mdx
@@ -77,11 +77,11 @@ The exact numbers are illustrative — your block number and balance will differ
## Try it live
-Run these read-only calls against Sei mainnet right now — no install, no private key. They're the same reads the script above performs, issued straight from your browser.
+Run these read-only calls against Sei Mainnet right now — no install, no private key. They're the same reads the script above performs, issued straight from your browser.
-
+
-
+
## Wallet Client
diff --git a/evm/evm-parity/examples/wagmi-react.mdx b/evm/evm-parity/examples/wagmi-react.mdx
index 45cc121..1489047 100644
--- a/evm/evm-parity/examples/wagmi-react.mdx
+++ b/evm/evm-parity/examples/wagmi-react.mdx
@@ -13,13 +13,13 @@ For Node.js scripts and backend services, see the [viem Quickstart](/evm/evm-par
## Try it live
-The hooks below — `useBlockNumber`, `useBalance` — are thin wrappers over JSON-RPC reads. Here are those same reads issued directly against Sei mainnet, no wallet connection required, so you can see the data your components will render.
+The hooks below — `useBlockNumber`, `useBalance` — are thin wrappers over JSON-RPC reads. Here are those same reads issued directly against Sei Mainnet, no wallet connection required, so you can see the data your components will render.
+
### Setup and Configuration
diff --git a/evm/evm-wizard.mdx b/evm/evm-wizard.mdx
index 2e21d7b..8f76c16 100644
--- a/evm/evm-wizard.mdx
+++ b/evm/evm-wizard.mdx
@@ -71,15 +71,15 @@ The OpenZeppelin Contract Wizard is a powerful interactive tool that simplifies
## Try it: deploy from the browser
-Once the wizard generates your contract, you can compile and deploy it to Sei testnet without any local setup. The Remix sandbox below is preloaded with a sample OpenZeppelin ERC-20 — replace it with your generated code, compile under **Solidity Compiler**, then **Deploy & Run** with **Environment** set to **Injected Provider — MetaMask**.
+Once the wizard generates your contract, you can compile and deploy it to Sei Testnet without any local setup. The Remix sandbox below is preloaded with a sample OpenZeppelin ERC-20 — replace it with your generated code, compile under **Solidity Compiler**, then **Deploy & Run** with **Environment** set to **Injected Provider — MetaMask**.
-
+
## Learn More
diff --git a/evm/index.mdx b/evm/index.mdx
index d6c9b68..a69bde8 100644
--- a/evm/index.mdx
+++ b/evm/index.mdx
@@ -83,7 +83,7 @@ keywords: ["sei evm", "ethereum virtual machine", "web3 development", "blockchai
Choose from official Sei Foundation endpoints or community-maintained alternatives. All endpoints support standard EVM JSON-RPC methods. Public endpoints have rate limits — for production apps, use a [dedicated RPC provider](/learn/rpc-providers) or [run your own node](/node).
-
+
| Endpoint | Provider | Type | Rate limit | Notes |
| --- | --- | --- | --- | --- |
| `https://evm-rpc.sei-apis.com` | Sei Foundation | public | 10 req/s | Recommended for development |
@@ -92,7 +92,7 @@ Choose from official Sei Foundation endpoints or community-maintained alternativ
| `https://seievm-rpc.polkachu.com` | Polkachu | public | — | Community maintained |
| `https://jsonrpc.lavenderfive.com:443/sei` | LavenderFive | public | — | Community maintained |
-
+
| Endpoint | Provider | Type | Rate limit | Notes |
| --- | --- | --- | --- | --- |
| `https://evm-rpc-testnet.sei-apis.com` | Sei Foundation | public | 20 req/s | Recommended for testing |
diff --git a/evm/indexer-providers/envio.mdx b/evm/indexer-providers/envio.mdx
index c91cf31..3bf7079 100644
--- a/evm/indexer-providers/envio.mdx
+++ b/evm/indexer-providers/envio.mdx
@@ -20,7 +20,7 @@ Index Sei smart contract data using Envio, a modular hyper-performant data index
| HyperSync URL Endpoint | `https://sei.hypersync.xyz` or `https://1329.hypersync.xyz` |
| HyperRPC URL Endpoint | `https://sei.rpc.hypersync.xyz` or `https://1329.rpc.hypersync.xyz` |
-> Sei testnet is also supported, with HyperSync at `https://sei-testnet.hypersync.xyz` and HyperRPC at `https://sei-testnet.rpc.hypersync.xyz`.
+> Sei Testnet is also supported, with HyperSync at `https://sei-testnet.hypersync.xyz` and HyperRPC at `https://sei-testnet.rpc.hypersync.xyz`.
## Choosing a Product
diff --git a/evm/indexer-providers/moralis.mdx b/evm/indexer-providers/moralis.mdx
index 42098cb..3959f6d 100644
--- a/evm/indexer-providers/moralis.mdx
+++ b/evm/indexer-providers/moralis.mdx
@@ -111,12 +111,12 @@ initMoralis();
## Wallet Transactions API
```typescript
-// Get wallet transactions for Sei mainnet
+// Get wallet transactions for Sei Mainnet
const getWalletTransactions = async (walletAddress: string) => {
try {
const response = await Moralis.EvmApi.transaction.getWalletTransactions({
address: walletAddress,
- chain: '0x531' // Sei mainnet
+ chain: '0x531' // Sei Mainnet
});
console.log('Wallet Transactions:', response.raw);
@@ -140,7 +140,7 @@ const getWalletNFTs = async (walletAddress: string) => {
try {
const response = await Moralis.EvmApi.nft.getWalletNFTs({
address: walletAddress,
- chain: '0x531' // Sei mainnet
+ chain: '0x531' // Sei Mainnet
});
console.log('Wallet NFTs:', response.raw);
@@ -156,7 +156,7 @@ const getNFTOwners = async (contractAddress: string) => {
try {
const response = await Moralis.EvmApi.nft.getNFTOwners({
address: contractAddress,
- chain: '0x531' // Sei mainnet
+ chain: '0x531' // Sei Mainnet
});
console.log('NFT Owners:', response.raw);
@@ -176,7 +176,7 @@ const getTransactionDetails = async (transactionHash: string) => {
try {
const response = await Moralis.EvmApi.transaction.getTransaction({
transactionHash: transactionHash,
- chain: '0x531' // Sei mainnet
+ chain: '0x531' // Sei Mainnet
});
console.log('Transaction Details:', response.raw);
@@ -192,7 +192,7 @@ const getTransactionVerbose = async (transactionHash: string) => {
try {
const response = await Moralis.EvmApi.transaction.getTransactionVerbose({
transactionHash: transactionHash,
- chain: '0x531' // Sei mainnet
+ chain: '0x531' // Sei Mainnet
});
console.log('Transaction Verbose:', response.raw);
@@ -212,7 +212,7 @@ const getTokenBalances = async (walletAddress: string) => {
try {
const response = await Moralis.EvmApi.token.getWalletTokenBalances({
address: walletAddress,
- chain: '0x531' // Sei mainnet
+ chain: '0x531' // Sei Mainnet
});
console.log('Token Balances:', response.raw);
@@ -228,7 +228,7 @@ const getTokenTransfers = async (walletAddress: string) => {
try {
const response = await Moralis.EvmApi.token.getWalletTokenTransfers({
address: walletAddress,
- chain: '0x531' // Sei mainnet
+ chain: '0x531' // Sei Mainnet
});
console.log('Token Transfers:', response.raw);
@@ -244,7 +244,7 @@ const getTokenMetadata = async (tokenAddress: string) => {
try {
const response = await Moralis.EvmApi.token.getTokenMetadata({
addresses: [tokenAddress],
- chain: '0x531' // Sei mainnet
+ chain: '0x531' // Sei Mainnet
});
console.log('Token Metadata:', response.raw);
@@ -336,12 +336,12 @@ main();
## Working with Testnet
-To switch to Sei testnet, change the chain ID in your API calls.
+To switch to Sei Testnet, change the chain ID in your API calls.
```typescript
// Testnet configuration
const TESTNET_CONFIG = {
- chainId: '0x530', // Sei testnet EVM chain ID
+ chainId: '0x530', // Sei Testnet EVM chain ID
rpcUrl: 'https://evm-rpc-testnet.sei-apis.com',
explorer: 'https://testnet.seiscan.io'
};
diff --git a/evm/migrate-from-other-evms.mdx b/evm/migrate-from-other-evms.mdx
index d9fec35..2e11d79 100644
--- a/evm/migrate-from-other-evms.mdx
+++ b/evm/migrate-from-other-evms.mdx
@@ -17,7 +17,7 @@ Sei offers full EVM bytecode compatibility plus instant finality and sub-second
-## Chain Comparison Overview
+## Chain comparison overview
Before diving into migration steps, understand how Sei compares to your source chain:
@@ -34,7 +34,7 @@ Before diving into migration steps, understand how Sei compares to your source c
| EVM Version | Pectra (w/o blobs) | Fusaka | Fusaka | Pectra | Pectra | Cancun |
-## Chain-Specific Migration Guides
+## Chain-specific migration guides
Select your source chain to see specific migration considerations:
@@ -269,7 +269,7 @@ uint32 constant TWAP_PERIOD = 9000; // Adjust for Sei's block time
-## Step 1: Evaluate Compatibility
+## Step 1: Evaluate compatibility
Revisit the [Divergence from Ethereum](/evm/differences-with-ethereum) doc and confirm every assumption your contracts/frontends make still holds.
@@ -294,9 +294,9 @@ Revisit the [Divergence from Ethereum](/evm/differences-with-ethereum) doc and c
-## Step 2: Prepare Your Development Environment
+## Step 2: Prepare your development environment
-### Add Sei Network Configuration
+### Add Sei Network configuration
**Hardhat Configuration:**
@@ -343,7 +343,7 @@ sei_testnet = "https://evm-rpc-testnet.sei-apis.com"
See the [Hardhat tutorial](/evm/evm-hardhat) and [Foundry guide](/evm/evm-foundry) for complete setup instructions.
-### Wallet Configuration
+### Wallet configuration
Pre-configure MetaMask or other wallets with Sei chain params:
@@ -362,7 +362,7 @@ await window.ethereum.request({
});
```
-## Step 3: Bootstrap Common Infrastructure
+## Step 3: Bootstrap common infrastructure
Sei already exposes canonical helper contracts—reference them instead of redeploying:
@@ -376,14 +376,14 @@ Sei already exposes canonical helper contracts—reference them instead of redep
For third-party contracts (LayerZero, Safe, etc.), consult the full [Ecosystem Contracts page](/evm/ecosystem-contracts).
-## Step 4: Port Contracts and Configuration
+## Step 4: Port contracts and configuration
-### Parameterize Chain-Specific Constants
+### Parameterize chain-specific constants
```solidity
// Example: Chain-aware deadline calculation
function getDeadline(uint256 secondsFromNow) internal view returns (uint256) {
- if (block.chainid == 1329) { // Sei mainnet
+ if (block.chainid == 1329) { // Sei Mainnet
// ~2.5 blocks per second on Sei
return block.timestamp + secondsFromNow;
} else if (block.chainid == 1) { // Ethereum
@@ -394,12 +394,12 @@ function getDeadline(uint256 secondsFromNow) internal view returns (uint256) {
}
```
-### Adjust Gas and Size Assumptions
+### Adjust gas and size assumptions
- Keep `gasLimit` buffers 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
+### Refactor deprecated patterns
```solidity
// Before: SELFDESTRUCT (deprecated)
@@ -422,7 +422,7 @@ modifier notClosed() {
}
```
-## Step 5: Plan Bridging and Cross-Chain Connectivity
+## Step 5: Plan bridging and cross-chain connectivity
### LayerZero V2
@@ -437,13 +437,13 @@ const seiContract = {
};
```
-### Other Bridge Options
+### Other bridge options
- **Circle CCTP:** For USDC bridging (check availability)
-## Step 6: Handle Assets and Oracles
+## Step 6: Handle assets and oracles
-### Oracle Integration
+### Oracle integration
Sei supports multiple oracle solutions:
@@ -457,9 +457,9 @@ 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
+## Step 7: Launch checklist
-### Testnet Deployment (atlantic-2)
+### Sei Testnet deployment
- [ ] Deploy all contracts to testnet (chain ID: `1328`)
- [ ] Run full integration test suite
@@ -468,7 +468,7 @@ Sei supports multiple oracle solutions:
- [ ] Validate oracle integrations
- [ ] Test cross-chain messaging if applicable
-### Mainnet Deployment (pacific-1)
+### Sei Mainnet deployment
- [ ] Deploy contracts to mainnet (chain ID: `1329`)
- [ ] Re-run smoke tests
@@ -478,9 +478,9 @@ Sei supports multiple oracle solutions:
**Fee Redistribution Warning:** Fees on Sei are not burned. If your protocol redistributes "burn rebates" to users, redesign that logic so it does not expect a base-fee burn component.
-## Step 8: Operational Readiness
+## Step 8: Operational readiness
-### Contract Verification
+### Contract verification
Automate verification through CI using [Sourcify](/evm/evm-verify-contracts):
@@ -493,13 +493,13 @@ forge verify-contract --watch \
```
-### RPC and Indexer Health
+### 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](/learn/rpc-providers)
-### Monitoring Gas Parameters
+### Monitoring gas parameters
Periodically query fee data to keep dashboards aligned:
@@ -509,7 +509,7 @@ const feeHistory = await provider.send('eth_feeHistory', ['0x5', 'latest', []]);
const gasPrice = await provider.getGasPrice();
```
-## Example: Uniswap V3-Style Deployment
+## Example: Uniswap V3-style deployment
Here's how to mirror a Uniswap V3 experience on Sei:
@@ -530,7 +530,7 @@ Here's how to mirror a Uniswap V3 experience on Sei:
5. **Verification:** Submit to [Sourcify](/evm/evm-verify-contracts) and the [Ecosystem Contracts registry](/evm/ecosystem-contracts).
-## Helpful References
+## Helpful references
- [Divergence from Ethereum](/evm/differences-with-ethereum) – Opcode, gas, and state nuances
- [EVM Networks](/evm/networks) – RPCs, explorers, and MetaMask payloads
diff --git a/evm/nonce-lanes.mdx b/evm/nonce-lanes.mdx
index 1549215..86d38f2 100644
--- a/evm/nonce-lanes.mdx
+++ b/evm/nonce-lanes.mdx
@@ -36,7 +36,7 @@ The second case is the submission bottleneck. It covers transactions that are dr
Two properties of Sei make this sharper than on Ethereum:
-- **Strict nonce admission.** Under Giga, the Autobahn producer mempool admits EVM transactions in per-sender nonce order and rejects a gap with a `bad nonce` error instead of holding it for later. See [Giga mode behavior](/node/technical-reference#giga-mode-behavior-and-per-block-limits). What you observe through an RPC endpoint can differ, because the node in front of the producer may hold a gapped transaction and release it later, or accept it and then drop it. The repository's `npm run baseline` command probes the RPC path you configure; in one session it returned [two different verdicts](#optional-see-the-baseline-you-are-escaping) for two Sei testnet endpoints.
+- **Strict nonce admission.** Under Giga, the Autobahn producer mempool admits EVM transactions in per-sender nonce order and rejects a gap with a `bad nonce` error instead of holding it for later. See [Giga mode behavior](/node/technical-reference#giga-mode-behavior-and-per-block-limits). What you observe through an RPC endpoint can differ, because the node in front of the producer may hold a gapped transaction and release it later, or accept it and then drop it. The repository's `npm run baseline` command probes the RPC path you configure; in one session it returned [two different verdicts](#optional-see-the-baseline-you-are-escaping) for two Sei Testnet endpoints.
- **No dependable pending view.** Sei does not expose Ethereum-style pending state, and [Finality and block tags](/evm/evm-parity/finality#pending-state) tells you not to rely on a pending nonce differing from the confirmed nonce. `txpool_content` is also [truncated and collapses the pending/queued distinction](/evm/reference). Even where a node answers a pending-nonce query, the value cannot be used to rebuild an in-flight queue.
@@ -58,7 +58,7 @@ The design combines four mechanisms. Each solves one part of the problem; none i
### ERC-4337 nonce lanes
-The canonical EntryPoint v0.8 singleton is already deployed at `0x4337084D9E255Ff0702461CF8895CE9E3b5Ff108` on both Sei mainnet (Pacific-1, chain ID `1329`) and Sei testnet (Atlantic-2, chain ID `1328`), so nothing here asks you to deploy one. It stores a UserOperation nonce as a 192-bit key plus a 64-bit sequence:
+The canonical EntryPoint v0.8 singleton is already deployed at `0x4337084D9E255Ff0702461CF8895CE9E3b5Ff108` on both Sei Mainnet (chain ID `1329`) and Sei Testnet (chain ID `1328`), so nothing here asks you to deploy one. It stores a UserOperation nonce as a 192-bit key plus a 64-bit sequence:
```text
nonce = (uint192 key << 64) | uint64 sequence
@@ -178,7 +178,7 @@ The baseline is not one transaction at a time. A single address can sign and bro
Read the first two rows together. `LANE_POOL_SIZE` caps how many operations can be signed and unresolved at once; `RELAYER_COUNT` caps how many outer transactions are broadcast at once. Lanes provide a large pool of independent intents rather than a large number of simultaneous transactions. The approximate per-block submission width is `RELAYER_COUNT × MAX_OPS_PER_BUNDLE`.
-Measured on Sei testnet against the same venue call, one address with sequential nonces landed 1 operation per second sending serially and 7 per second pipelining one request at a time, and reached 51 per second only by sending all 1,024 transactions in one JSON-RPC batch. A fleet of 8 hot wallets also landed 51 per second. Nonce lanes landed 60 to 64 per second from one address whose EVM nonce never moved, against a block-gas ceiling of about 73 for that call shape. The method, the run shapes, and the caveats are in [Benchmarks](#benchmarks).
+Measured on Sei Testnet against the same venue call, one address with sequential nonces landed 1 operation per second sending serially and 7 per second pipelining one request at a time, and reached 51 per second only by sending all 1,024 transactions in one JSON-RPC batch. A fleet of 8 hot wallets also landed 51 per second. Nonce lanes landed 60 to 64 per second from one address whose EVM nonce never moved, against a block-gas ceiling of about 73 for that call shape. The method, the run shapes, and the caveats are in [Benchmarks](#benchmarks).
Six properties of the design produce those rows:
@@ -206,7 +206,7 @@ The walkthrough below deploys the demo contracts, delegates a throwaway account,
- Git with submodule support
- [Foundry](https://getfoundry.sh/) with `forge`, `anvil`, and `cast`
- Node.js 22 or newer, and npm
-- For the Sei testnet path: a fresh throwaway key funded from the [Sei faucet](/learn/faucet)
+- For the Sei Testnet path: a fresh throwaway key funded from the [Sei faucet](/learn/faucet)
@@ -235,10 +235,10 @@ The walkthrough below deploys the demo contracts, delegates a throwaway account,
- Start with a local Prague fork. It carries Sei testnet's state, including the deployed EntryPoint, but spends only local funds.
+ Start with a local Prague fork. It carries Sei Testnet's state, including the deployed EntryPoint, but spends only local funds.
- Never use Anvil, Hardhat, tutorial, or shared test mnemonics on Sei testnet or mainnet. Their addresses and keys are public, so anyone can move funds sent to them. An address derived from a published mnemonic may also carry an existing EIP-7702 delegation, and a fork inherits that code. The fork below therefore needs a fresh mnemonic too. It also runs as chain `1328`, so an authorization signed against it is replayable on Sei testnet itself whenever the account's nonce lines up. Regenerate every key and mnemonic before you point a fork's `.env` at a public network.
+ Never use Anvil, Hardhat, tutorial, or shared test mnemonics on Sei Testnet or Sei Mainnet. Their addresses and keys are public, so anyone can move funds sent to them. An address derived from a published mnemonic may also carry an existing EIP-7702 delegation, and a fork inherits that code. The fork below therefore needs a fresh mnemonic too. It also runs as chain `1328`, so an authorization signed against it is replayable on Sei Testnet itself whenever the account's nonce lines up. Regenerate every key and mnemonic before you point a fork's `.env` at a public network.
@@ -291,7 +291,7 @@ The walkthrough below deploys the demo contracts, delegates a throwaway account,
--sender 0xYourAnvilAccount0
```
-
+
Generate fresh credentials. Never reuse a key or mnemonic that has appeared in a tutorial, a test framework, or a shared document:
```bash
@@ -336,7 +336,7 @@ The walkthrough below deploys the demo contracts, delegates a throwaway account,
```
- Mutating commands refuse to write to a remote Sei mainnet RPC unless `ALLOW_MAINNET=1` is set explicitly. They also refuse remote writes when `TRADER_PRIVATE_KEY` is Anvil account `0` or `RELAYER_MNEMONIC` is the default Anvil mnemonic. The fresh mnemonic above does not trigger that credential guard. Keep its `.env` pointed at `127.0.0.1`; if you point it at Sei testnet, chain ID `1328` is still valid and the application cannot know the change was accidental. These guards do not cover the separate Forge deployment command, and they do not make the demo production-ready.
+ Mutating commands refuse to write to a remote Sei Mainnet RPC unless `ALLOW_MAINNET=1` is set explicitly. They also refuse remote writes when `TRADER_PRIVATE_KEY` is Anvil account `0` or `RELAYER_MNEMONIC` is the default Anvil mnemonic. The fresh mnemonic above does not trigger that credential guard. Keep its `.env` pointed at `127.0.0.1`; if you point it at Sei Testnet, chain ID `1328` is still valid and the application cannot know the change was accidental. These guards do not cover the separate Forge deployment command, and they do not make the demo production-ready.
@@ -350,7 +350,7 @@ The walkthrough below deploys the demo contracts, delegates a throwaway account,
It prints the chain ID and whether there is code at the EntryPoint address `0x4337084D9E255Ff0702461CF8895CE9E3b5Ff108`. It also reports the account's current delegation, balances, its EntryPoint deposit, each relayer's confirmed nonce and gas balance, the lane sequences, and the venue state.
- Against current Sei testnet or mainnet state, the EntryPoint line reads `present` because the singleton is deployed on both. On a local fork or against a misconfigured endpoint, the check catches missing fork state or the wrong network. The relayer lines are worth a second look: any `HAS CODE/DELEGATION` marker means the mutating commands will refuse that relayer.
+ Against current Sei Testnet or Sei Mainnet state, the EntryPoint line reads `present` because the singleton is deployed on both. On a local fork or against a misconfigured endpoint, the check catches missing fork state or the wrong network. The relayer lines are worth a second look: any `HAS CODE/DELEGATION` marker means the mutating commands will refuse that relayer.
@@ -448,9 +448,9 @@ What to look for:
If a bundle is reported as `PENDING` or `FAILED`, the command exits non-zero and leaves the journal intact. Run `npm run submit` again once the RPC can answer receipt and nonce queries; the process recovers or replaces at the same relayer nonce before it creates new work. Do not delete the journal and do not send the relayer's next nonce by hand.
-### Optional: real swaps on Sei testnet
+### Optional: real swaps on Sei Testnet
-The repository includes a real-target path that routes tiny native SEI and native USDC swaps through the documented DragonSwap V1 deployment on Sei testnet. It is hard-blocked on every other chain. Get testnet USDC from the [Circle faucet](https://faucet.circle.com/), then:
+The repository includes a real-target path that routes tiny native SEI and native USDC swaps through the documented DragonSwap V1 deployment on Sei Testnet. It is hard-blocked on every other chain. Get testnet USDC from the [Circle faucet](https://faucet.circle.com/), then:
```bash
# from the app directory, where the walkthrough left off
@@ -490,7 +490,7 @@ The probe measures gap handling only. How many consecutive nonces one sender can
The probe samples both the `latest` and `pending` nonce tags before, during, and after, and prints any rejection message verbatim, because the exact message is the finding. If the two tags already disagree before the probe starts, it warns you: either the account has work in flight or the node reports a mempool-derived pending nonce, and in both cases the gap it is about to create may not be a gap at all, so the verdict cannot be attributed to nonce ordering. Compare the result with a `submit` run, where 24 operations from one account are mutually independent and one failure strands nothing.
-The verdict depends on the path. In one session, two Sei testnet RPC endpoints answered differently: a dedicated provider queued the gapped transaction and released it once the gap filled, while the public endpoint returned a hash and then dropped it, so it never landed even after the gap was filled. Neither rejected it at admission. Probe the path you will actually use.
+The verdict depends on the path. In one session, two Sei Testnet RPC endpoints answered differently: a dedicated provider queued the gapped transaction and released it once the gap filled, while the public endpoint returned a hash and then dropped it, so it never landed even after the gap was filled. Neither rejected it at admission. Probe the path you will actually use.
## Tuning
@@ -507,7 +507,7 @@ Three knobs shape a run. They interact, so change one at a time and measure.
That is why `CALL_GAS_LIMIT` is unset by default. Both submit paths measure the real call gas for the chain and call shape and add 25 percent; the variable is only a floor, and it has an effect only when you set it above that measurement. Because the EntryPoint reserves each operation's declared call gas before running it, a floor above the measurement costs block gas, and therefore operations per block, without changing the gas actually used.
- As a reference point, on Sei testnet with `CALL_GAS_LIMIT=500000`, the default in an earlier revision of the repository, the real-swap path sustained 77 operations per bundle; 78 no longer fit the 12,500,000 block gas limit in effect during that run and failed safely during simulation. Width 76 produced the best observed submission rate for that call shape, 47.7 landed swaps per second. These are measurements for one call shape, one configuration, and one network state, not protocol limits.
+ As a reference point, on Sei Testnet with `CALL_GAS_LIMIT=500000`, the default in an earlier revision of the repository, the real-swap path sustained 77 operations per bundle; 78 no longer fit the 12,500,000 block gas limit in effect during that run and failed safely during simulation. Width 76 produced the best observed submission rate for that call shape, 47.7 landed swaps per second. These are measurements for one call shape, one configuration, and one network state, not protocol limits.
The mock venue is a heavier call. In the [benchmark session](#benchmarks), with `CALL_GAS_LIMIT` unset, each `place` operation used about 331,000 gas of outer transaction gas, so 36 operations was the widest bundle that fit and 37 failed safely in simulation. Widths 8, 16, and 36 packed 4, 2, and 1 bundles into a 12,500,000-gas block; width 9, which should fit 4, landed 3. Wide bundles also queue behind each other, because only one 11,700,000-gas bundle fits a block. With more than about 8 relayers at width 32 or 36, receipt waits exceed the default `BUNDLE_RECEIPT_TIMEOUT_MS`; raise the timeout for those shapes instead of paying for fee-bumped replacements of bundles that land anyway.
@@ -528,9 +528,9 @@ The application always loads `.env` from the repository root. The variables you
| Variable | Default | Meaning |
| --- | --- | --- |
-| `SEI_CHAIN_ID` | `1328` | `1328` (Sei testnet) or `1329` (Sei mainnet) |
+| `SEI_CHAIN_ID` | `1328` | `1328` (Sei Testnet) or `1329` (Sei Mainnet) |
| `SEI_RPC_URL` | viem chain default | HTTP endpoint; its reported chain ID must match before any write |
-| `ALLOW_MAINNET` | `0` | Must be `1` for writes to a remote Sei mainnet RPC |
+| `ALLOW_MAINNET` | `0` | Must be `1` for writes to a remote Sei Mainnet RPC |
| `TRADER_PRIVATE_KEY` | required | The funded account that signs every UserOperation |
| `RELAYER_MNEMONIC` | required | Fresh BIP-39 mnemonic used only for gas-paying relayers |
| `RELAYER_COUNT` | `4` | Relayer workers, `1..256` |
@@ -585,7 +585,7 @@ The `bench:baseline` modes are the ways one address can drive a sequential queue
### Measured against the alternatives
-Every row below comes from one measurement session on Sei testnet. Conditions during the session: block gas limit 12,500,000; base fee 50 gwei plus a 1 gwei tip; about 2.0 blocks per second under load; 120 ms warm request latency to the configured endpoint. Each direct `place` transaction used 328,425 gas and each lane operation about 331,000 gas of outer transaction gas, so the block admits 36 to 38 operations however they are submitted: roughly 73 landed operations per second for this call shape. Chain-side rates divide landed operations by the block-timestamp span, which Sei stamps in whole seconds. Client-side rates divide by wall time from first broadcast to last receipt.
+Every row below comes from one measurement session on Sei Testnet. Conditions during the session: block gas limit 12,500,000; base fee 50 gwei plus a 1 gwei tip; about 2.0 blocks per second under load; 120 ms warm request latency to the configured endpoint. Each direct `place` transaction used 328,425 gas and each lane operation about 331,000 gas of outer transaction gas, so the block admits 36 to 38 operations however they are submitted: roughly 73 landed operations per second for this call shape. Chain-side rates divide landed operations by the block-timestamp span, which Sei stamps in whole seconds. Client-side rates divide by wall time from first broadcast to last receipt.
@@ -608,7 +608,7 @@ What the numbers show:
- Block gas, not the nonce model, set the ceiling. Lanes came closest to it, with 28 of 31 blocks at least 90 percent full in the 16 × 36 run, from one address whose EVM nonce never moved. A single ordered queue matched the fleet only when every transaction left in one JSON-RPC batch; one request at a time, it is bounded by the round trip, about 7 per second.
- Small relayer pools are client-bound. Throughput scales with `RELAYER_COUNT` until roughly 120 operations are in flight, then block gas takes over. The relayer and width series are in [Tuning](#tuning).
- A gap costs the whole queue. One lost transaction in the sequential queue (`pipelined-gap`, nonce 50 of 100) left the 49 transactions behind it accepted but unmined until the client resent it 15 seconds later. In the lane runs, the deliberately reverting order consumed only its own lane while the rest of its bundle landed.
-- RPC paths differ. `npm run baseline` gave [two different verdicts](#optional-see-the-baseline-you-are-escaping) for two Sei testnet endpoints in the same session.
+- RPC paths differ. `npm run baseline` gave [two different verdicts](#optional-see-the-baseline-you-are-escaping) for two Sei Testnet endpoints in the same session.
These are measurements of one call shape, one network state, and one client machine, not protocol limits. Cost was about 0.02 SEI per landed operation at the effective 52 gwei. Rerun the benchmarks against the network and endpoint you will actually use; block time and gas limits differ between [Twin Turbo Consensus](/learn/twin-turbo-consensus) and [Sei Giga](/learn/sei-giga). The raw records under `app/.state/bench/` include a journal for `bench:lanes`, which you should treat like `pending-ops.json`.
@@ -694,7 +694,7 @@ Treat `.env`, `app/.state/`, signed raw transactions, and RPC URLs containing cr
Check both `SEI_CHAIN_ID` and `SEI_RPC_URL`. For a local fork, pass `--chain-id 1328` to Anvil. The configured chain ID is part of the EIP-712 signature domain and cannot be guessed safely.
- The canonical v0.8 singleton is deployed at `0x4337084D9E255Ff0702461CF8895CE9E3b5Ff108` on both Sei mainnet and Sei testnet. A `MISSING` line against current state usually means the configured RPC is not serving Sei. Check `SEI_RPC_URL`, and check that a local Anvil was started with `--fork-url` against a Sei endpoint rather than as a bare chain. `submit` fails closed on the same condition with `No EntryPoint at … on this chain`, before it signs anything.
+ The canonical v0.8 singleton is deployed at `0x4337084D9E255Ff0702461CF8895CE9E3b5Ff108` on both Sei Mainnet and Sei Testnet. A `MISSING` line against current state usually means the configured RPC is not serving Sei. Check `SEI_RPC_URL`, and check that a local Anvil was started with `--fork-url` against a Sei endpoint rather than as a bare chain. `submit` fails closed on the same condition with `No EntryPoint at … on this chain`, before it signs anything.
Do not deploy your own EntryPoint to work around it. A second EntryPoint lives at a different address, so it has a different EIP-712 domain and shares no lane sequences or deposits with the one every other integration on Sei uses.
diff --git a/evm/oracles/chainlink.mdx b/evm/oracles/chainlink.mdx
index ecab335..8f4f0f0 100644
--- a/evm/oracles/chainlink.mdx
+++ b/evm/oracles/chainlink.mdx
@@ -35,7 +35,7 @@ Before starting this tutorial, ensure you have:
**Testnet** :
-- **Sei testnet RPC**: `https://evm-rpc-testnet.sei-apis.com`
+- **Sei Testnet RPC**: `https://evm-rpc-testnet.sei-apis.com`
- **Chain ID**: 1328
**Mainnet** :
@@ -50,7 +50,7 @@ Before starting this tutorial, ensure you have:
- **API credentials**: Contact Chainlink to get access to Data Streams on Sei Mainnet/testnet
- **API Key** and **User Secret** for testnet access
- **Feed IDs**: We'll use [SEI/USDT](https://docs.chain.link/data-streams/crypto-streams?page=1&testnetPage=1&testnetSearch=SEI#testnet-crypto-streams) feed ID `0x0003dba2d8553dfd7afe35c2bfe217ef5106d7805e5272c04a08940ddb868117`
-- **VerifierProxy contract address**: `0x60fAa7faC949aF392DFc858F5d97E3EEfa07E9EB` — the same address is used on [Sei mainnet](https://seiscan.io/address/0x60fAa7faC949aF392DFc858F5d97E3EEfa07E9EB) and [Sei testnet](https://testnet.seiscan.io/address/0x60fAa7faC949aF392DFc858F5d97E3EEfa07E9EB). See Chainlink's [Stream Addresses](https://docs.chain.link/data-streams/crypto-streams) page for the current list.
+- **VerifierProxy contract address**: `0x60fAa7faC949aF392DFc858F5d97E3EEfa07E9EB` — the same address is used on [Sei Mainnet](https://seiscan.io/address/0x60fAa7faC949aF392DFc858F5d97E3EEfa07E9EB) and [Sei Testnet](https://testnet.seiscan.io/address/0x60fAa7faC949aF392DFc858F5d97E3EEfa07E9EB). See Chainlink's [Stream Addresses](https://docs.chain.link/data-streams/crypto-streams) page for the current list.
## Step-by-Step Tutorial
@@ -286,7 +286,7 @@ contract ClientReportsVerifier {
**Deployment steps in Remix:**
1. Switch to Sei Testnet in MetaMask
-2. Deploy with Sei testnet VerifierProxy address: `0x60fAa7faC949aF392DFc858F5d97E3EEfa07E9EB`
+2. Deploy with Sei Testnet VerifierProxy address: `0x60fAa7faC949aF392DFc858F5d97E3EEfa07E9EB`
3. Save the contract address for testing
### Step 4: Complete Integration Script
@@ -321,7 +321,7 @@ async function main() {
const report = await client.getLatestReport(feedId);
console.log(`Got report: ${report.fullReport}`);
- // 2. Connect to Sei testnet and your deployed contract
+ // 2. Connect to Sei Testnet and your deployed contract
const provider = new ethers.JsonRpcProvider('https://evm-rpc-testnet.sei-apis.com');
const wallet = new ethers.Wallet(process.env.PRIVATE_KEY!, provider);
diff --git a/evm/precompiles/governance.mdx b/evm/precompiles/governance.mdx
index 1e54e21..bc34f3f 100644
--- a/evm/precompiles/governance.mdx
+++ b/evm/precompiles/governance.mdx
@@ -862,7 +862,7 @@ This is a test proposal. Vote according to your preference to test the system.`,
console.log('\n🔧 Troubleshooting tips:');
console.log('1. Ensure PRIVATE_KEY is set in .env file');
console.log('2. Verify sufficient SEI balance (minimum 3,600 SEI)');
- console.log('3. Check network connectivity to Sei mainnet');
+ console.log('3. Check network connectivity to Sei Mainnet');
console.log('4. Confirm wallet has staked SEI for voting power');
process.exit(1);
}
diff --git a/evm/precompiles/json.mdx b/evm/precompiles/json.mdx
index 14896a9..210d2f1 100644
--- a/evm/precompiles/json.mdx
+++ b/evm/precompiles/json.mdx
@@ -492,7 +492,7 @@ async function main() {
console.log('\n🔧 Troubleshooting tips:');
console.log('1. Ensure PRIVATE_KEY is set in .env file');
console.log('2. Verify sufficient SEI balance for gas fees');
- console.log('3. Check network connectivity to Sei mainnet');
+ console.log('3. Check network connectivity to Sei Mainnet');
console.log('4. Validate JSON structure before processing');
process.exit(1);
}
diff --git a/evm/python-quickstart.mdx b/evm/python-quickstart.mdx
index 5d5b55f..08c0c8b 100644
--- a/evm/python-quickstart.mdx
+++ b/evm/python-quickstart.mdx
@@ -48,15 +48,15 @@ Balance (SEI): 12.5
Nonce: 7
```
-Values are illustrative — your block number, and the queried address's balance and nonce, will differ. The chain ID is always `1329` on mainnet (`1328` on the atlantic-2 testnet).
+Values are illustrative — your block number, and the queried address's balance and nonce, will differ. The EVM chain ID is always `1329` on Sei Mainnet and `1328` on Sei Testnet.
## Try it live
-`web3.py` issues plain JSON-RPC under the hood — here are the same reads against Sei mainnet, no Python required.
+`web3.py` issues plain JSON-RPC under the hood — here are the same reads against Sei Mainnet, no Python required.
-
+
-Open `http://localhost:3000`. The generated dApp connects to Pacific-1 when `NEXT_PUBLIC_CHAIN` is unset. Set `NEXT_PUBLIC_CHAIN=testnet` in `.env.local` to use Atlantic-2. The template's `.env.example` already sets that value, so copying it to `.env.local` selects testnet.
+Open `http://localhost:3000`. The generated dApp connects to Sei Mainnet when `NEXT_PUBLIC_CHAIN` is unset. Set `NEXT_PUBLIC_CHAIN=testnet` in `.env.local` to use Sei Testnet. The template's `.env.example` already sets that value, so copying it to `.env.local` selects testnet.
@@ -101,7 +101,7 @@ npx @sei-js/create-sei app -n my-sei-precompile-app --extension precompiles
- Next.js App Router project structure
- Wallet connections through Wagmi, RainbowKit, and the injected browser-wallet connector
-- Pacific-1 and Atlantic-2 chain configuration via `NEXT_PUBLIC_CHAIN`
+- Sei Mainnet and Sei Testnet configuration via `NEXT_PUBLIC_CHAIN`
- TypeScript, Biome, Mantine UI, and Tailwind CSS
diff --git a/evm/sei-js/index.mdx b/evm/sei-js/index.mdx
index 1ad7a6e..288a693 100644
--- a/evm/sei-js/index.mdx
+++ b/evm/sei-js/index.mdx
@@ -17,7 +17,7 @@ Current npm majors are ESM-only: `@sei-js/precompiles@3`, `@sei-js/registry@2`,
## Why @sei-js?
- Typed ABIs and addresses for Sei precompiles
-- Viem's Pacific-1 and Atlantic-2 chain definitions re-exported for convenience, plus a `seiLocal` definition for local nodes
+- Viem's Sei Mainnet and Sei Testnet chain definitions re-exported for convenience, plus a `seiLocal` definition for local nodes
- Packages that work with standard EVM libraries
## Packages
@@ -50,7 +50,7 @@ npm install @sei-js/sei-global-wallet
### [@sei-js/registry](/evm/sei-js/registry)
-Use typed chain IDs, RPC endpoints, token metadata, and wallet information for Pacific-1 and Atlantic-2.
+Use typed chain IDs, RPC endpoints, token metadata, and wallet information for Sei Mainnet and Sei Testnet.
```bash
npm install @sei-js/registry
diff --git a/evm/sei-js/registry.mdx b/evm/sei-js/registry.mdx
index 640a0b7..636de8e 100644
--- a/evm/sei-js/registry.mdx
+++ b/evm/sei-js/registry.mdx
@@ -5,10 +5,10 @@ description: 'Typed chain constants, RPC endpoints, token metadata, and wallet i
keywords: ['sei-js', 'registry', 'chain constants', 'rpc endpoints', 'token list', 'sei network']
---
-`@sei-js/registry` exports typed chain IDs, endpoints, token metadata, and wallet information for Pacific-1 and Atlantic-2. Network and wallet data comes from the official [sei-protocol/chain-registry](https://github.com/sei-protocol/chain-registry). Token metadata comes from the community-maintained [Seitrace asset list](https://github.com/Seitrace/sei-assetlist).
+`@sei-js/registry` exports typed chain IDs, endpoints, token metadata, and wallet information for Sei Mainnet and Sei Testnet. Network and wallet data comes from the official [sei-protocol/chain-registry](https://github.com/sei-protocol/chain-registry). Token metadata comes from the community-maintained [Seitrace asset list](https://github.com/Seitrace/sei-assetlist).
-The package is ESM-only. Pacific-1 and Atlantic-2 are the only supported networks. `CHAIN_IDS.devnet`, `GAS_INFO`, and `IBC_INFO` are no longer exported.
+The package is ESM-only. Sei Mainnet and Sei Testnet are the only supported networks. `CHAIN_IDS.devnet`, `GAS_INFO`, and `IBC_INFO` are no longer exported.
## Installation
@@ -139,9 +139,9 @@ The current list is MetaMask (`evm`), Keplr (`native` and `evm`), and Coin98 (`n
## Supported networks
-| Value | Pacific-1 (mainnet) | Atlantic-2 (testnet) |
+| Value | Sei Mainnet | Sei Testnet |
| --- | --- | --- |
-| Chain ID | `pacific-1` | `atlantic-2` |
+| Cosmos chain ID | `pacific-1` | `atlantic-2` |
| EVM chain ID | 1329 | 1328 |
| EVM RPC | `NETWORKS['pacific-1'].evm_rpc` | `NETWORKS['atlantic-2'].evm_rpc` |
| EVM WebSocket | `NETWORKS['pacific-1'].evm_ws` | `NETWORKS['atlantic-2'].evm_ws` |
diff --git a/evm/tracing/index.mdx b/evm/tracing/index.mdx
index 3958698..b99b7a6 100644
--- a/evm/tracing/index.mdx
+++ b/evm/tracing/index.mdx
@@ -65,7 +65,7 @@ Tracing an ERC-20 transfer transaction:
```bash
-# Real transaction on Sei mainnet
+# Real transaction on Sei Mainnet
TRANSACTION_HASH="0x75b7ba10248e90db85b224eae587db1728520b6f72c795b9185064f444cee7c3"
# Transaction details
diff --git a/evm/transactions.mdx b/evm/transactions.mdx
index bfd3f9c..1d0a970 100644
--- a/evm/transactions.mdx
+++ b/evm/transactions.mdx
@@ -185,7 +185,7 @@ EVM transactions in Sei follow the Ethereum transaction format with standard pro
maxFeePerGas,
maxPriorityFeePerGas,
nonce,
- chainId: 1329 // pacific-1 mainnet (use 1328 for atlantic-2 testnet)
+ chainId: 1329 // Sei Mainnet (use 1328 for Sei Testnet)
};
// Sign locally, then broadcast the raw transaction
diff --git a/evm/usdc-on-sei.mdx b/evm/usdc-on-sei.mdx
index 324248c..2781cc7 100644
--- a/evm/usdc-on-sei.mdx
+++ b/evm/usdc-on-sei.mdx
@@ -5,8 +5,8 @@ keywords: ['USDC', 'Sei', 'Circle', 'stablecoin', 'ERC-20', 'Viem', 'payments',
---
## Addresses and Decimals
-- Testnet (atlantic-2) USDC: [`0x4fCF1784B31630811181f670Aea7A7bEF803eaED`](https://testnet.seiscan.io/address/0x4fCF1784B31630811181f670Aea7A7bEF803eaED)
-- Mainnet (pacific-1) USDC: [`0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392`](https://seiscan.io/address/0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392)
+- Sei Testnet USDC: [`0x4fCF1784B31630811181f670Aea7A7bEF803eaED`](https://testnet.seiscan.io/address/0x4fCF1784B31630811181f670Aea7A7bEF803eaED)
+- Sei Mainnet USDC: [`0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392`](https://seiscan.io/address/0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392)
- Decimals: `6`
## Overview
@@ -64,7 +64,7 @@ import { privateKeyToAccount } from 'viem/accounts';
// --- Chain and Contract Config ---
const seiTestnet = {
id: 1328,
- name: 'Sei Atlantic-2 Testnet',
+ name: 'Sei Testnet',
network: 'sei-atlantic-2',
nativeCurrency: { name: 'Sei', symbol: 'SEI', decimals: 18 },
rpcUrls: { default: { http: ['https://evm-rpc-testnet.sei-apis.com'] } },
@@ -74,7 +74,7 @@ const seiTestnet = {
const seiMainnet = {
id: 1329,
- name: 'Sei Mainnet (pacific-1)',
+ name: 'Sei Mainnet',
network: 'sei-pacific-1',
nativeCurrency: { name: 'Sei', symbol: 'SEI', decimals: 18 },
rpcUrls: { default: { http: ['https://evm-rpc.sei-apis.com'] } },
@@ -247,7 +247,7 @@ Continue building by checking for more information in the [Circle Developer Docs
### Important Notes
-- Testnet Only: Sei testnet USDC has no real value. Don’t use mainnet keys or expect real funds.
+- Testnet Only: Sei Testnet USDC has no real value. Don’t use mainnet keys or expect real funds.
- Security: Store private keys in `.env`; never commit secrets. Use best practices for key management.
- Gas Fees: You’ll need a small amount of testnet SEI to cover gas.
- Lightweight ABI: Only `balanceOf` and `transfer` are used — enough for simple transfers.
diff --git a/evm/wallet-integrations/particle.mdx b/evm/wallet-integrations/particle.mdx
index 51eafaa..937d197 100644
--- a/evm/wallet-integrations/particle.mdx
+++ b/evm/wallet-integrations/particle.mdx
@@ -131,7 +131,7 @@ export const ParticleConnectkit = ({ children }: React.PropsWithChildren) => {
```
This code sets up Particle Connect with a configuration for wallet
-authentication and blockchain interactions on Sei and Sei testnet. It includes
+authentication and blockchain interactions on Sei and Sei Testnet. It includes
social logins and traditional Web3 options through WalletConnect and enables
Account Abstraction (AA) with a `SimpleAccount` instance version 2.0.0. The
configured `ConnectKitProvider` component then wraps the app’s content, making
@@ -258,9 +258,9 @@ This transaction will be gasless because it meets two key conditions:
1. **Gasless Mode Configuration**: By setting `SendTransactionMode.Gasless`
within `AAWrapProvider`, we've specified that the transaction should be
gasless and sponsored.
-2. **Funding Requirements**: On Sei testnet, all transactions are
+2. **Funding Requirements**: On Sei Testnet, all transactions are
automatically sponsored, meaning you don't need to deposit funds to cover
- transaction fees. However, on Sei mainnet, the Paymaster (configurable
+ transaction fees. However, on Sei Mainnet, the Paymaster (configurable
in the [Particle dashboard](https://dashboard.particle.network)) would need
sufficient funds to sponsor these transactions.
diff --git a/learn/dev-chains.mdx b/learn/dev-chains.mdx
index 83a7dc1..ab8a357 100644
--- a/learn/dev-chains.mdx
+++ b/learn/dev-chains.mdx
@@ -21,8 +21,8 @@ smart contract deployments occur. This chain is used for all real-world
applications and activities.
- **Purpose**: Production
-- **Chain ID**: `pacific-1`
-- **EVM Chain ID**: `1329` or `0x531`
+- **Cosmos chain ID**: `pacific-1`
+- **EVM chain ID**: `1329` or `0x531`
- **EVM RPC**: `https://evm-rpc.sei-apis.com`
- **WebSocket**: `wss://evm-ws.sei-apis.com`
- **Explorer**: `https://seiscan.io`
@@ -37,8 +37,8 @@ simulates the mainnet conditions. This chain is crucial for ensuring that
applications work as expected before going live.
- **Purpose**: Staging
-- **Chain ID**: `atlantic-2`
-- **EVM Chain ID**: `1328` or `0x530`
+- **Cosmos chain ID**: `atlantic-2`
+- **EVM chain ID**: `1328` or `0x530`
- **EVM RPC**: `https://evm-rpc-testnet.sei-apis.com`
- **WebSocket**: `wss://evm-ws-testnet.sei-apis.com`
- **Explorer**: `https://testnet.seiscan.io`
@@ -54,7 +54,7 @@ new features, debugging issues, and experimenting with smart contracts with full
control over all tokens and governance decisions.
- **Purpose**: Development
-- **Chain ID**: Set by user (default: `sei-chain`)
+- **Cosmos chain ID**: Set by user (default: `sei-chain`)
Please read the [Nodes Introduction](/node) section for more
information on how to set up and run a local chain.
diff --git a/learn/dev-gas.mdx b/learn/dev-gas.mdx
index 70a840d..2723363 100644
--- a/learn/dev-gas.mdx
+++ b/learn/dev-gas.mdx
@@ -114,7 +114,7 @@ Sei's EVM RPC exposes the standard Ethereum JSON-RPC methods for gas estimation,
- `eth_maxPriorityFeePerGas` — suggested priority fee (tip) for EIP-1559 transactions.
- `eth_feeHistory` — recent base fees and priority-fee percentiles, useful for building custom fee strategies.
-Query the current gas price on mainnet (`pacific-1`) directly:
+Query the current gas price on Sei Mainnet directly:
```sh
curl -sS https://evm-rpc.sei-apis.com \
diff --git a/learn/explorers.mdx b/learn/explorers.mdx
index 1260c61..d932183 100644
--- a/learn/explorers.mdx
+++ b/learn/explorers.mdx
@@ -39,14 +39,14 @@ with the network including:
## Sei Explorers
-
- - [Seiscan](https://seiscan.io) — A user-friendly block explorer for the Sei Pacific-1 mainnet.
- - [Seistream](https://seistream.app/) — Real-time transaction streaming and monitoring tool for Sei mainnet.
- - [NG Explorer](https://sei.explorers.guru) — Comprehensive blockchain explorer provided by Nodes Guru for Sei mainnet.
+
+ - [Seiscan](https://seiscan.io) — A user-friendly block explorer for Sei Mainnet.
+ - [Seistream](https://seistream.app/) — Real-time transaction streaming and monitoring tool for Sei Mainnet.
+ - [NG Explorer](https://sei.explorers.guru) — Comprehensive blockchain explorer provided by Nodes Guru for Sei Mainnet.
-
- - [Seiscan](https://testnet.seiscan.io) — A user-friendly block explorer for the Sei Atlantic-2 testnet.
- - [Seistream](https://testnet.seistream.app/) — Real-time transaction streaming and monitoring tool for Sei testnet.
- - [NG Explorer](https://testnet.sei.explorers.guru) — Comprehensive blockchain explorer provided by Nodes Guru for Sei testnet.
+
+ - [Seiscan](https://testnet.seiscan.io) — A user-friendly block explorer for Sei Testnet.
+ - [Seistream](https://testnet.seistream.app/) — Real-time transaction streaming and monitoring tool for Sei Testnet.
+ - [NG Explorer](https://testnet.sei.explorers.guru) — Comprehensive blockchain explorer provided by Nodes Guru for Sei Testnet.
diff --git a/learn/faucet.mdx b/learn/faucet.mdx
index dfd0352..5e7b501 100644
--- a/learn/faucet.mdx
+++ b/learn/faucet.mdx
@@ -7,7 +7,7 @@ keywords: ['sei testnet', 'blockchain faucet', 'test tokens', 'development token
import { Faucet } from '/snippets/faucet.jsx';
-This faucet distributes testnet (atlantic-2) tokens only, which have no real-world value and are intended for testing purposes.
+This faucet distributes Sei Testnet tokens only, which have no real-world value and are intended for testing purposes.
## Request Tokens
@@ -18,7 +18,7 @@ Enter your EVM (`0x`) address below to receive testnet SEI.
## Usage Notes
- **Rate Limits** — Each address can request tokens once per day. Wait 24 hours between requests.
-- **Testnet Only** — Tokens are distributed on `atlantic-2` and cannot be used on mainnet.
+- **Testnet Only** — Tokens are distributed on Sei Testnet and cannot be used on Sei Mainnet.
- **Gas Coverage** — A single request provides enough SEI to cover hundreds of testnet transactions.
## Testnet USDC
diff --git a/learn/general-governance.mdx b/learn/general-governance.mdx
index b3c4aae..2541b60 100644
--- a/learn/general-governance.mdx
+++ b/learn/general-governance.mdx
@@ -22,9 +22,9 @@ Sei employs an on-chain governance system that enables SEI holders to participat
## Network Parameters
-### Production Network (Mainnet)
+### Sei Mainnet
-Live network parameters for pacific-1
+Live network parameters for Sei Mainnet
| Parameter | Value | Description |
| --- | --- | --- |
@@ -39,9 +39,9 @@ Live network parameters for pacific-1
| Expedited Threshold | 66.7% | Fast-track proposals |
| Veto Threshold | 33.4% | Maximum veto votes allowed |
-### Development Networks (Testnet)
+### Sei Testnet
-Changed testing parameters for atlantic-2
+Changed testing parameters for Sei Testnet
| Parameter | Value | Description |
| --- | --- | --- |
diff --git a/learn/index.mdx b/learn/index.mdx
index e5532cb..a8da67a 100644
--- a/learn/index.mdx
+++ b/learn/index.mdx
@@ -38,7 +38,7 @@ Sei's EVM implementation addresses traditional performance constraints through t
Understand the on-chain proposal and voting process for upgrades.
- Connect to Sei mainnet, testnet, and development environments.
+ Connect to Sei Mainnet, Sei Testnet, and development environments.
Track transactions, blocks, and contract activity on Sei.
diff --git a/learn/sei-giga-developers.mdx b/learn/sei-giga-developers.mdx
index 5946554..93c6124 100644
--- a/learn/sei-giga-developers.mdx
+++ b/learn/sei-giga-developers.mdx
@@ -147,14 +147,14 @@ struct Position {
## Sei precompiles under the Giga executor
-[Sei v6.6](https://github.com/sei-protocol/sei-chain/releases/tag/v6.6.0) activated the first Ares execution phase on Pacific-1. Eligible transactions use the Ares path; when that path encounters an unsupported case, the individual transaction reruns through the v2 fallback. Eligibility is release-specific, so do not assume every EVM transaction or precompile call uses the same fast path. Follow the [node configuration reference](/node/node-operators#giga-storage-and-giga-executor) for the release you operate.
+[Sei v6.6](https://github.com/sei-protocol/sei-chain/releases/tag/v6.6.0) activated the first Ares execution phase on Sei Mainnet. Eligible transactions use the Ares path; when that path encounters an unsupported case, the individual transaction reruns through the v2 fallback. Eligibility is release-specific, so do not assume every EVM transaction or precompile call uses the same fast path. Follow the [node configuration reference](/node/node-operators#giga-storage-and-giga-executor) for the release you operate.
The retired native Oracle precompile at `0x0000000000000000000000000000000000001008` is not a supported fallback. Its data-query methods revert. Use one of the third-party providers documented for Sei instead.
## Prepare your app for Giga today
- Build EVM-only. [SIP-3](/learn/sip-03-migration) consolidates Sei to a streamlined EVM-only stack ahead of Giga: CosmWasm no longer accepts new deployments. IBC is disabled in both directions: Proposals [116](https://seistream.app/proposals/116) and [120](https://seistream.app/proposals/120) disabled inbound transfers, and [121](https://seistream.app/proposals/121) disabled outbound transfers on July 31, 2026. Existing IBC balances can still move within Sei but can no longer be redeemed over IBC on their origin chain. For external data, use the providers documented for Sei: [API3](/evm/oracles/api3), [Chainlink](/evm/oracles/chainlink), [Pyth](/evm/oracles/pyth-network), and [RedStone](/evm/oracles/redstone).
-- Audit for hot slots. Per-user state isolation is the single most effective change for parallel throughput. The first Ares phase went live with the mandatory Pacific-1 v6.6 upgrade on August 4, 2026; broader Ares work continues in later releases.
+- Audit for hot slots. Per-user state isolation is the single most effective change for parallel throughput. The first Ares phase went live with the mandatory Sei Mainnet v6.6 upgrade on August 4, 2026; broader Ares work continues in later releases.
- Classify your confirmation flows. Decide which flows only need the fixed order, which act on an execution receipt, and which wait for state attestation, so the three-stage model will land as a config change rather than a redesign.
- Remove fragile dependencies. Anything that relies on `eth_getProof` and state roots ([current behavior](/evm/evm-parity/state-proofs)), `PREVRANDAO` randomness, blob transactions, or watching the public mempool will need a plan.
- Don't wait for a "Giga chain." There won't be one; Giga will arrive on the network where you're already deployed. Standard EVM contracts that do not depend on retired Sei-native surfaces are designed to carry over without redeployment.
@@ -171,4 +171,4 @@ The retired native Oracle precompile at `0x0000000000000000000000000000000000001
**Disclaimer:** The roadmap is subject to change based on development progress, market feedback, and other factors. Actual timelines, figures, and outcomes may vary.
-_Last updated August 2026, based on the Giga whitepaper v2.0 (June 29, 2026), the sei-chain v6.6 release, and the Pacific-1 v6.6 activation._
+_Last updated August 2026, based on the Giga whitepaper v2.0 (June 29, 2026), the sei-chain v6.6 release, and the Sei Mainnet v6.6 activation._
diff --git a/learn/sei-giga-specs.mdx b/learn/sei-giga-specs.mdx
index dc533b8..29e3948 100644
--- a/learn/sei-giga-specs.mdx
+++ b/learn/sei-giga-specs.mdx
@@ -7,7 +7,7 @@ keywords: ['sei giga specification', 'autobahn consensus', 'proof of availabilit
import { GigaLanesAndCuts, GigaSlotPipeline, GigaAttestationFlow, GigaOccDiagram, GigaStorageArchitecture, GigaBudWindow, GigaMergeRule } from '/snippets/giga-diagrams.jsx';
-This page specifies the Sei Giga protocol as defined in the [Giga whitepaper v2.0](https://arxiv.org/abs/2505.14914) (Marsh, Landers, Jog, Ranchal-Pedrosa; June 2026), with implementation notes from the [sei-chain](https://github.com/sei-protocol/sei-chain) v6.6 release and its Pacific-1 activation (August 2026). Please note: the specification below is forward-looking and subject to change until the corresponding upgrades activate on the Sei network. For a conceptual introduction, start with the [Sei Giga overview](/learn/sei-giga); for practical guidance, see the [developer guide](/learn/sei-giga-developers).
+This page specifies the Sei Giga protocol as defined in the [Giga whitepaper v2.0](https://arxiv.org/abs/2505.14914) (Marsh, Landers, Jog, Ranchal-Pedrosa; June 2026), with implementation notes from the [sei-chain](https://github.com/sei-protocol/sei-chain) v6.6 release and its Sei Mainnet activation (August 2026). Please note: the specification below is forward-looking and subject to change until the corresponding upgrades activate on the Sei network. For a conceptual introduction, start with the [Sei Giga overview](/learn/sei-giga); for practical guidance, see the [developer guide](/learn/sei-giga-developers).
## Protocol at a glance
@@ -231,11 +231,11 @@ The whitepaper publishes no fixed block gas limit, block size, or validator hard
## Implementation snapshot (Sei v6.6 activation, August 2026)
-Giga is implemented in the open in [sei-protocol/sei-chain](https://github.com/sei-protocol/sei-chain); there is no separate Giga repository. The mandatory [v6.6 release](https://github.com/sei-protocol/sei-chain/releases/tag/v6.6.0) brought the first Ares and Eidos components to Pacific-1 at height `224201091` on August 4, 2026. Ares became the default execution path for upgraded nodes; Eidos migration remains phased and operator-controlled. Broader work continues, and later Giga components remain inactive:
+Giga is implemented in the open in [sei-protocol/sei-chain](https://github.com/sei-protocol/sei-chain); there is no separate Giga repository. The mandatory [v6.6 release](https://github.com/sei-protocol/sei-chain/releases/tag/v6.6.0) brought the first Ares and Eidos components to Sei Mainnet at height `224201091` on August 4, 2026. Ares became the default execution path for upgraded nodes; Eidos migration remains phased and operator-controlled. Broader work continues, and later Giga components remain inactive:
| Area | Current state |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
-| Ares, first phase | Active on Pacific-1 after v6.6; eligible transactions use the Ares path, while unsupported cases rerun individually through the v2 fallback |
+| Ares, first phase | Active on Sei Mainnet after v6.6; eligible transactions use the Ares path, while unsupported cases rerun individually through the v2 fallback |
| Giga executor defaults | From v6.6, newly generated configurations and configurations that omit the fields enable the Giga executor and OCC; explicit `false` values opt out |
| Autobahn | Implemented in `sei-tendermint/autobahn` (lanes, PoAs, prepare/commit QCs, timeout certificates); ships in the binary but disabled until network activation; committee capped at 100 validators; implementation uses a stake-weighted availability threshold corresponding to the whitepaper's `f + 1` model |
| Operator surface | `autobahn-config-file` in `config.toml`, committee file generated with `seid tendermint gen-autobahn-config`; consensus state persisted across restarts to prevent double-signing |
@@ -291,11 +291,11 @@ Node operators should follow the [node configuration reference](/node/node-opera
- [Sei Giga: Achieving 5 Gigagas with Autobahn Consensus](https://seiresearch.io/articles/sei-giga-achieving-5-gigagas-with-autobahn-consensus), devnet results (Feb 2025)
- [Autobahn: Sei Giga's Multi-Proposer approach to blockchain consensus](https://blog.sei.io/autobahn-sei-gigas-multi-proposer-approach-to-blockchain-consensus), explainer post (Apr 2025)
- [The Giga Whitepaper v2](https://blog.sei.io/the-giga-whitepaper-2/), the announcement post (July 2026)
-- [Sei v6.6.0](https://github.com/sei-protocol/sei-chain/releases/tag/v6.6.0), mandatory Pacific-1 upgrade (August 2026)
+- [Sei v6.6.0](https://github.com/sei-protocol/sei-chain/releases/tag/v6.6.0), mandatory Sei Mainnet upgrade (August 2026)
- [sei-protocol/sei-chain](https://github.com/sei-protocol/sei-chain), the open-source implementation
**Disclaimer:** The roadmap is subject to change based on development progress, market feedback, and other factors. Actual timelines, figures, and outcomes may vary.
-_Last updated August 2026, based on the Giga whitepaper v2.0 (June 29, 2026), the sei-chain v6.6 release, and the Pacific-1 v6.6 activation._
+_Last updated August 2026, based on the Giga whitepaper v2.0 (June 29, 2026), the sei-chain v6.6 release, and the Sei Mainnet v6.6 activation._
diff --git a/learn/sei-giga.mdx b/learn/sei-giga.mdx
index 888ed2a..7403f2d 100644
--- a/learn/sei-giga.mdx
+++ b/learn/sei-giga.mdx
@@ -10,7 +10,7 @@ import { GigaProposerComparison, GigaAsyncPipeline, GigaTxJourney, GigaRoadmapTr
Sei Giga will be the next generation of the Sei protocol following the Giga Upgrade, designed to be the first Multi-Proposer EVM Layer 1. Every validator will propose transactions at the same time, consensus will finalize only the order of those transactions, and execution and state attestation will happen afterwards, off the critical path. On an internal devnet of 40 nodes across 20 regions, Giga sustained more than 5 gigagas per second (5 billion gas per second) with ordering finality under 250 ms. The separate public-testnet roadmap target is 200,000 TPS. Giga will ship as a series of in-place upgrades to the live Sei network rather than as a new chain.
- **Status (August 2026):** The [Giga whitepaper v2.0](https://arxiv.org/abs/2505.14914) was published in June 2026. The mandatory [Sei v6.6 release](https://github.com/sei-protocol/sei-chain/releases/tag/v6.6.0) brought the first execution (Ares) and storage (Eidos) components to Pacific-1 on August 4. Ares became the default execution path for upgraded nodes; Eidos storage migration remains phased and operator-controlled. Broader Eidos and Ares work continues, and the Autobahn consensus testnet is the next milestone on the [official roadmap](https://giga.seilabs.io). Functionality not yet activated remains forward-looking and subject to change.
+ **Status (August 2026):** The [Giga whitepaper v2.0](https://arxiv.org/abs/2505.14914) was published in June 2026. The mandatory [Sei v6.6 release](https://github.com/sei-protocol/sei-chain/releases/tag/v6.6.0) brought the first execution (Ares) and storage (Eidos) components to Sei Mainnet on August 4. Ares became the default execution path for upgraded nodes; Eidos storage migration remains phased and operator-controlled. Broader Eidos and Ares work continues, and the Autobahn consensus testnet is the next milestone on the [official roadmap](https://giga.seilabs.io). Functionality not yet activated remains forward-looking and subject to change.
## Sei Giga at a glance
@@ -153,12 +153,12 @@ Giga will arrive as a sequence of named upgrades to the live Sei network ([Sei L
| Autobahn mainnet | The live Sei network will upgrade to Autobahn consensus | Coming soon |
| Sedna upgrade | Private transaction dissemination (the "private mempool" milestone): transaction fragments will spread across lanes and be reassembled only after ordering | Coming soon |
| Hermes testnet | Next-generation consensus beyond Autobahn (whitepaper forthcoming) | Coming soon |
-| Hermes mainnet | Hermes will merge into Sei mainnet | Coming soon |
+| Hermes mainnet | Hermes will merge into Sei Mainnet | Coming soon |
-Sei v6.6 brought the first Ares and Eidos components to Pacific-1 at upgrade height `224201091` on August 4, 2026. Ares became the default execution path for upgraded nodes. Eidos migration remains phased and operator-controlled. Autobahn consensus, FlatKV/lattice-hash state commitment, and Sedna remain separate milestones or operator-gated work. Node operators should follow the [release-specific configuration reference](/node/node-operators#giga-storage-and-giga-executor) rather than infer settings from roadmap status.
+Sei v6.6 brought the first Ares and Eidos components to Sei Mainnet at upgrade height `224201091` on August 4, 2026. Ares became the default execution path for upgraded nodes. Eidos migration remains phased and operator-controlled. Autobahn consensus, FlatKV/lattice-hash state commitment, and Sedna remain separate milestones or operator-gated work. Node operators should follow the [release-specific configuration reference](/node/node-operators#giga-storage-and-giga-executor) rather than infer settings from roadmap status.
- There is no public Giga testnet yet (as of August 2026), and therefore no separate Giga chain ID, RPC endpoint, or faucet. Anything claiming otherwise is not official. Current network endpoints remain those of [Sei mainnet and testnet](/learn/dev-chains).
+ There is no public Giga testnet yet (as of August 2026), and therefore no separate Giga chain ID, RPC endpoint, or faucet. Anything claiming otherwise is not official. Current network endpoints remain those of [Sei Mainnet and Sei Testnet](/learn/dev-chains).
## Performance claims and targets
diff --git a/learn/sips.mdx b/learn/sips.mdx
index ec214e3..b11e7f9 100644
--- a/learn/sips.mdx
+++ b/learn/sips.mdx
@@ -56,7 +56,7 @@ A successful SIP usually moves through Draft, Review, Last Call, Final, Implemen
| [Last Call](https://github.com/sei-protocol/sips/blob/main/sips/sip-1.md#last-call) | A final window for objections, usually at least one week. |
| [Final](https://github.com/sei-protocol/sips/blob/main/sips/sip-1.md#final) | Accepted, and the specification is now frozen. |
| [Implemented](https://github.com/sei-protocol/sips/blob/main/sips/sip-1.md#implemented) | Development is complete, but the feature is not yet live on mainnet. |
-| [Activated](https://github.com/sei-protocol/sips/blob/main/sips/sip-1.md#activated) | Live on Sei mainnet. |
+| [Activated](https://github.com/sei-protocol/sips/blob/main/sips/sip-1.md#activated) | Live on Sei Mainnet. |
| [Stagnant](https://github.com/sei-protocol/sips/blob/main/sips/sip-1.md#stagnant) | Inactive for four weeks while in Draft, Review, or Last Call. |
| [Withdrawn](https://github.com/sei-protocol/sips/blob/main/sips/sip-1.md#withdrawn) | The author has withdrawn the proposal. |
| [Living](https://github.com/sei-protocol/sips/blob/main/sips/sip-1.md#living) | A continuously updated proposal that never reaches Final, such as SIP-1 itself. |
diff --git a/scripts/generate-llms.mjs b/scripts/generate-llms.mjs
index 91d30f5..e3e661e 100644
--- a/scripts/generate-llms.mjs
+++ b/scripts/generate-llms.mjs
@@ -33,13 +33,14 @@ const SEI_LLMS_CONFIG = {
'Prerequisites: Node.js ≥ 18, a wallet (Compass, Rabby, MetaMask, or any EVM-compatible wallet), and SEI tokens for gas.',
'Authentication: No API key is required for public RPC endpoints. Rate limits apply — use a dedicated provider (Ankr, DRPC, Nirvana) for production workloads.',
'Version compatibility: Solidity ≥ 0.8.x recommended. Sei EVM tracks the Pectra EVM (without blob transactions).',
- 'Network requirements: Mainnet chain ID 1329 (pacific-1), testnet chain ID 1328 (atlantic-2). Gas is paid in SEI (18 decimals).',
+ 'Network requirements: Sei Mainnet EVM chain ID 1329 (Cosmos chain ID pacific-1); Sei Testnet EVM chain ID 1328 (Cosmos chain ID atlantic-2). Gas is paid in SEI (18 decimals).',
'Important notes: Sei has 400ms block times — set lower polling intervals than on Ethereum. Transactions touching independent state are parallelized automatically; shared-state writes are serialized.',
'IBC disabled: Per SIP-03, IBC is disabled on Sei in both directions. Proposals 116 and 120 set the ibc module InboundEnabled parameter to false, and Proposal 121 set OutboundEnabled to false on 2026-07-31. No asset can be bridged into or out of Sei over IBC, and IBC assets already on Sei (USDC.n, USDT.kava, ATOM, WBTC) can no longer be redeemed on their origin chain. The IBC precompile at 0x0000000000000000000000000000000000001009 is non-functional. See /learn/sip-03-migration.',
'Tokenfactory unsupported: Do not recommend tokenfactory commands, APIs, Wasm bindings, native-denom pointer workflows, or other instructions for creating, minting, burning, administering, or integrating tokenfactory denoms. Legacy module surfaces may remain available for compatibility. Use ERC-20 for new fungible tokens. See /cosmos-sdk#tokenfactory-is-not-supported.'
].join('\n'),
quickReference: [
- 'Chain ID: mainnet 1329 (pacific-1), testnet 1328 (atlantic-2)',
+ 'EVM chain IDs: Sei Mainnet 1329, Sei Testnet 1328',
+ 'Cosmos chain IDs (seid --chain-id): Sei Mainnet pacific-1, Sei Testnet atlantic-2',
'RPC (mainnet): https://evm-rpc.sei-apis.com',
'RPC (testnet): https://evm-rpc-testnet.sei-apis.com',
'Native token: SEI (gas, staking, governance)',
@@ -135,7 +136,7 @@ const LLMS_SECTION_ORDER = [
overview: [
"Sei is a parallelized EVM Layer 1 blockchain. Performance comes from Twin Turbo Consensus (optimistic block processing), parallel EVM execution (concurrent transactions on independent state), and SeiDB (high-throughput storage). Full Ethereum tooling compatibility — deploy standard Solidity contracts with no modifications.",
"Sei Giga, the next major upgrade, is designed to be the first Multi-Proposer EVM Layer 1, using Autobahn consensus and a custom EVM execution engine. An internal devnet sustained more than 5 gigagas/s. The separate Autobahn public-testnet roadmap target is 200K TPS. For developers, Sei Giga's parallel engine will reward contracts with user-scoped state (mapping per address) over shared global state.",
- 'Mainnet (pacific-1): chain ID 1329. Testnet (atlantic-2): chain ID 1328.',
+ 'Sei Mainnet: EVM chain ID 1329. Sei Testnet: EVM chain ID 1328.',
'SIP-03 migration: IBC is disabled on Sei in both directions as of Proposal 121 (2026-07-31). IBC assets already on Sei can no longer be bridged out or redeemed on their origin chain, though the balances remain transferable within Sei.'
].join('\n\n')
},
diff --git a/skill.md b/skill.md
index d1b1ce5..d2bd3e1 100644
--- a/skill.md
+++ b/skill.md
@@ -38,7 +38,7 @@ npx skills add sei-ecosystem # apps / integrations only
## Critical facts — apply to every answer
1. **400ms block time, instant finality** — use `tx.wait(1)`, never `tx.wait(12)`
-2. **SSTORE gas is 72,000 on Sei** — the same on both mainnet (pacific-1) and testnet (atlantic-2); it does not vary by network. Set via governance (mainnet Proposal #109, "Update EVM SSTORE set gas to 72000", which set the `evm` param `KeySeiSstoreSetGasEIP2200` to `72000`), so it is adjustable and can change — confirm the live value at https://docs.sei.io/evm/differences-with-ethereum#sstore-gas-cost
+2. **SSTORE gas is 72,000 on Sei** — the same on both Sei Mainnet and Sei Testnet; it does not vary by network. Set via governance (mainnet Proposal #109, "Update EVM SSTORE set gas to 72000", which set the `evm` param `KeySeiSstoreSetGasEIP2200` to `72000`), so it is adjustable and can change — confirm the live value at https://docs.sei.io/evm/differences-with-ethereum#sstore-gas-cost
3. **Use legacy `gasPrice`** — Sei has no base fee burn; prefer `gasPrice` over EIP-1559 `maxFeePerGas` / `maxPriorityFeePerGas`
4. **Minimum gas price: 50 gwei**
5. **Block gas limit: 12.5M per block**
@@ -47,15 +47,15 @@ npx skills add sei-ecosystem # apps / integrations only
8. **No base fee burn** — all fees go to validators
9. **Dual address system** — every account has `sei1...` (Cosmos) + `0x...` (EVM) from the same key; cross-VM transfers require **association**
10. **CosmWasm deprecated** per SIP-3 (proposal 99) — use EVM for new development
-11. **Chain IDs:** Mainnet `pacific-1` / `1329`; Testnet `atlantic-2` / `1328`
+11. **Chain IDs:** Sei Mainnet — EVM `1329`, Cosmos `pacific-1`; Sei Testnet — EVM `1328`, Cosmos `atlantic-2`
12. **No `safe` or `finalized` block tags** — use `latest`
## Networks
-| Network | Chain ID | EVM RPC | Cosmos RPC |
-|---|---|---|---|
-| Mainnet (`pacific-1`) | 1329 | https://evm-rpc.sei-apis.com | https://rpc.sei-apis.com |
-| Testnet (`atlantic-2`) | 1328 | https://evm-rpc-testnet.sei-apis.com | https://rpc-testnet.sei-apis.com |
+| Network | EVM chain ID | Cosmos chain ID | EVM RPC | Cosmos RPC |
+|---|---|---|---|---|
+| Sei Mainnet | 1329 | pacific-1 | https://evm-rpc.sei-apis.com | https://rpc.sei-apis.com |
+| Sei Testnet | 1328 | atlantic-2 | https://evm-rpc-testnet.sei-apis.com | https://rpc-testnet.sei-apis.com |
Testnet faucet: https://docs.sei.io/learn/faucet
@@ -184,7 +184,7 @@ sei_mainnet = "https://evm-rpc.sei-apis.com"
1. **Classify the task** — contract / frontend / node ops / cross-VM / migration
2. **Apply the 12 critical facts** above for relevance
-3. **Always testnet first** — deploy to atlantic-2, test fully, verify on Seiscan, only then promote to mainnet
+3. **Always testnet first** — deploy to Sei Testnet, test fully, verify on Seiscan, only then promote to Sei Mainnet
4. **Verify contracts** on Seiscan using Sourcify (`forge verify-contract --verifier sourcify`)
5. **For cross-VM** (pointer contracts, precompiles) — verify address association before sending value
diff --git a/snippets/faucet.jsx b/snippets/faucet.jsx
index 22eb461..af2e819 100644
--- a/snippets/faucet.jsx
+++ b/snippets/faucet.jsx
@@ -1,4 +1,4 @@
-// Faucet — atlantic-2 testnet faucet, inlined from sei-docs-widgets.
+// Sei Testnet faucet, inlined from sei-docs-widgets.
//
// The widget repo kept this as an iframe because it imported npm packages
// (`@hcaptcha/react-hcaptcha`, `viem`, `sonner`) that Mintlify snippets cannot
diff --git a/snippets/network-tabs.jsx b/snippets/network-tabs.jsx
index ac46e1a..284fccf 100644
--- a/snippets/network-tabs.jsx
+++ b/snippets/network-tabs.jsx
@@ -142,13 +142,21 @@ export const NetworkTabs = (props) => {