Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -504,6 +504,16 @@
"prompt": "Search the Sei docs..."
},
"redirects": [
{
"source": "/learn/getting-started",
"destination": "/learn",
"permanent": true
},
{
"source": "/evm/getting-started",
"destination": "/learn",
"permanent": true
},
{
"source": "/evm/ai-tooling/mcp-server",
"destination": "/ai/mcp-server",
Expand Down
4 changes: 2 additions & 2 deletions evm/building-a-frontend.mdx
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
---
title: 'Building a Frontend for Sei EVM: A Comprehensive Guide'

Check warning on line 2 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L2

Did you really mean 'Sei'?
sidebarTitle: 'Building a Frontend'
description: 'Comprehensive guide on Building a Frontend for Sei EVM. Learn key concepts, commands, and best practices.'

Check warning on line 4 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L4

Did you really mean 'Sei'?
keywords: ['frontend development', 'dApp', 'ethers.js', 'viem', 'wagmi', 'react', 'wallet connection', 'sei']
---
Developing the frontend of a dApp on Sei EVM involves connecting to wallets, interacting with the blockchain via RPC endpoints, and signing and broadcasting transactions. This tutorial will demonstrate how to build a simple ERC20 token interface using three popular libraries:

Check warning on line 7 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L7

Did you really mean 'dApp'?

Check warning on line 7 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L7

Did you really mean 'Sei'?

Check warning on line 7 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L7

Did you really mean 'blockchain'?

1. [**Ethers.js**](https://docs.ethers.org/v6/) - A complete and compact library for interacting with
EVM blockchains. Known for its simplicity and extensive functionality.

Check warning on line 10 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L10

Did you really mean 'blockchains'?
2. [**Viem**](https://viem.sh/docs/getting-started) - A lightweight and modular TypeScript interface for Ethereum

Check warning on line 11 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L11

Did you really mean 'Viem'?

Check warning on line 11 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L11

Did you really mean 'Ethereum'?
3. [**Wagmi**](https://wagmi.sh/) - A React hooks library built on top of Viem that simplifies wallet

Check warning on line 12 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L12

Did you really mean 'Wagmi'?

Check warning on line 12 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L12

Did you really mean 'Viem'?
connection and interaction. Provides hooks for interacting with Ethereum

Check warning on line 13 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L13

Did you really mean 'Ethereum'?
wallets and contracts for use with modern frontend libraries and frameworks.

We'll implement the same functionality using each library so you can compare their approaches and choose the one that best fits your development style.

<Tip>

**Deploy to Testnet First**

Check warning on line 20 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L20

Did you really mean 'Testnet'?

It is <strong>highly recommended</strong> that you deploy to <em>testnet (atlantic-2)</em> 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.

Check warning on line 22 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L22

Did you really mean 'testnet'?

Check warning on line 22 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L22

Did you really mean 'mainnet'?

</Tip>

Expand All @@ -27,7 +27,7 @@

### Ethers.js

Ethers.js is ideal for developers who want a comprehensive, battle-tested library with straightforward API design. It's great for both simple and complex dApps, especially when you're not using React or need custom state management.

Check warning on line 30 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L30

Did you really mean 'dApps'?

- **Pros**:
- Comprehensive and easy-to-use API
Expand All @@ -35,12 +35,12 @@
- Works well with both TypeScript and JavaScript
- All-in-one solution for wallet connection and contract interaction
- **Cons**:
- Larger bundle size compared to Viem

Check warning on line 38 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L38

Did you really mean 'Viem'?
- Not specifically designed for React hooks integration

### Viem

Check warning on line 41 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L41

Did you really mean 'Viem'?

Viem is perfect for developers who want fine-grained control over their blockchain interactions and appreciate a modular, lightweight approach. It's a good choice when bundle size matters and when you have specific requirements for how contract interactions should work.

Check warning on line 43 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L43

Did you really mean 'Viem'?

Check warning on line 43 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L43

Did you really mean 'blockchain'?

- **Pros**:
- Lightweight and modular
Expand All @@ -52,14 +52,14 @@
- Requires more boilerplate code for some operations
- Requires separate handling for wallet connection and contract interactions

### Wagmi

Check warning on line 55 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L55

Did you really mean 'Wagmi'?

Wagmi is the best choice for React developers building dApps who want to leverage React's state management capabilities. It abstracts away much of the complexity of blockchain interactions via hooks, making it easy to build reactive UIs that respond to chain state.

Check warning on line 57 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L57

Did you really mean 'Wagmi'?

Check warning on line 57 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L57

Did you really mean 'dApps'?

Check warning on line 57 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L57

Did you really mean 'blockchain'?

Check warning on line 57 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L57

Did you really mean 'UIs'?

- **Pros**:
- React-specific hooks for seamless integration
- Handles complex state management for you
- Built on top of Viem, combining its benefits

Check warning on line 62 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L62

Did you really mean 'Viem'?
- Convenient caching and auto-refreshing for contract data
- **Cons**:
- Only works with React
Expand All @@ -71,7 +71,7 @@
Before starting, ensure you have:

- Node.js & NPM installed
- One of the Sei wallets listed [here](/learn/wallets)

Check warning on line 74 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L74

Did you really mean 'Sei'?

## Creating a React Project

Expand Down Expand Up @@ -102,7 +102,7 @@

## Defining the ERC20 Contract Details

<Info>Make sure to deploy your ERC20 token contract first and replace `TOKEN_CONTRACT_ADDRESS` in the constants file with your actual deployed contract address, and update the RPC URL in the Sei chain configuration. You can find a list of existing ERC20 contracts on Sei Mainnet here: [Sei Assets](https://seiscan.io/tokens)</Info>
<Info>Make sure to deploy your ERC20 token contract first — for example with [Hardhat](/evm/evm-hardhat) or [Foundry](/evm/evm-foundry), or generate one with the [contract wizard](/evm/evm-wizard) (see also [deploy & verify](/evm/evm-parity/examples/deploy-verify)) — and replace `TOKEN_CONTRACT_ADDRESS` in the constants file with your actual deployed contract address, and update the RPC URL in the Sei chain configuration. You can find a list of existing ERC20 contracts on Sei Mainnet here: [Sei Assets](https://seiscan.io/tokens)</Info>

Let's create a shared constants file for our project:

Expand Down Expand Up @@ -218,7 +218,7 @@
}
];

// TODO: Replace with your deployed ERC20 token contract address
// TODO: Deploy an ERC-20 (see /evm/evm-hardhat or /evm/evm-foundry) and paste its address here
export const TOKEN_CONTRACT_ADDRESS = '0xYourTokenContractAddress';
```

Expand All @@ -233,7 +233,7 @@
Let's start with the Ethers.js implementation:

- Checks for any EVM compatible wallet extension.
- Establishes a connection to Sei Mainnet via the connected wallet,

Check warning on line 236 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L236

Did you really mean 'Sei'?

Check warning on line 236 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L236

Did you really mean 'Mainnet'?
using ethers.js BrowserProvider.
- Creates an ethers.js contract instance with the signer from the wallet,
setting it in the contract state for later use.
Expand Down Expand Up @@ -375,15 +375,15 @@
}
```

## Option 2: Viem Implementation

Check warning on line 378 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L378

Did you really mean 'Viem'?

Install Viem first:

Check warning on line 380 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L380

Did you really mean 'Viem'?

```bash
npm install viem
```

Now implement the Viem interface:

Check warning on line 386 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L386

Did you really mean 'Viem'?

```tsx title="src/components/ViemInterface.tsx"
import { useState, useEffect } from 'react';
Expand Down Expand Up @@ -553,15 +553,15 @@
}
```

## Option 3: Wagmi Implementation

Check warning on line 556 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L556

Did you really mean 'Wagmi'?

Install Wagmi and configure it:

Check warning on line 558 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L558

Did you really mean 'Wagmi'?

```bash
npm install wagmi viem @tanstack/react-query
```

First, let's create a Wagmi configuration file:

Check warning on line 564 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L564

Did you really mean 'Wagmi'?

```tsx title="src/wagmi.ts"
import { http, createConfig } from 'wagmi';
Expand All @@ -578,7 +578,7 @@
});
```

Now implement the Wagmi interface:

Check warning on line 581 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L581

Did you really mean 'Wagmi'?

```tsx title="src/components/WagmiInterface.tsx"
import { useState } from 'react';
Expand Down Expand Up @@ -751,9 +751,9 @@
export default App;
```

## Polyfills for Browser Environment

Check warning on line 754 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L754

Did you really mean 'Polyfills'?

When developing frontend applications for the blockchain, you might need polyfills for Node.js-specific features like `Buffer`. Add these polyfills to your project:

Check warning on line 756 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L756

Did you really mean 'blockchain'?

Check warning on line 756 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L756

Did you really mean 'polyfills'?

Check warning on line 756 in evm/building-a-frontend.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/building-a-frontend.mdx#L756

Did you really mean 'polyfills'?

```tsx title="src/main.tsx"
import React from 'react';
Expand Down
51 changes: 47 additions & 4 deletions evm/evm-parity/examples/ethers-quickstart.mdx
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
---
title: 'ethers v6 Quickstart'

Check warning on line 2 in evm/evm-parity/examples/ethers-quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/evm-parity/examples/ethers-quickstart.mdx#L2

Did you really mean 'ethers'?
description: 'Using ethers v6 with Sei in a Node.js script or browser context'

Check warning on line 3 in evm/evm-parity/examples/ethers-quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/evm-parity/examples/ethers-quickstart.mdx#L3

Did you really mean 'ethers'?

Check warning on line 3 in evm/evm-parity/examples/ethers-quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/evm-parity/examples/ethers-quickstart.mdx#L3

Did you really mean 'Sei'?
---

# ethers v6 Quickstart

Check warning on line 6 in evm/evm-parity/examples/ethers-quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/evm-parity/examples/ethers-quickstart.mdx#L6

Did you really mean 'ethers'?

This example covers ethers v6 with Sei. The patterns apply whether you are writing a Node.js script, a CLI tool, or a browser app.

Check warning on line 8 in evm/evm-parity/examples/ethers-quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/evm-parity/examples/ethers-quickstart.mdx#L8

Did you really mean 'ethers'?

## Install

Expand All @@ -23,16 +23,29 @@

## Reading Chain Data

This is the first milestone — it needs no private key.

```ts
const blockNumber = await provider.getBlockNumber();
const blockNumber = await provider.getBlockNumber(); // number
console.log('Block number:', blockNumber);

const balance = await provider.getBalance('0xYourAddress'); // bigint, wei
console.log('Balance (SEI):', ethers.formatEther(balance));

const block = await provider.getBlock('latest');
const nonce = await provider.getTransactionCount('0xYourAddress'); // number
console.log('Nonce:', nonce);
```

const balance = await provider.getBalance('0xYourAddress');
**You're done when you see:**

const nonce = await provider.getTransactionCount('0xYourAddress');
```text
Block number: 148203117
Balance (SEI): 12.5
Nonce: 7
```

The exact numbers are illustrative — your block number and balance will differ. `getBlockNumber()` and `getTransactionCount()` return a `number`, while `getBalance()` returns a `bigint` in wei (format it with `ethers.formatEther()`).

Check warning on line 47 in evm/evm-parity/examples/ethers-quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/evm-parity/examples/ethers-quickstart.mdx#L47

Did you really mean 'wei'?

## Browser Provider

In a browser context, connect to the user's injected wallet:
Expand All @@ -53,6 +66,8 @@

## Sending a Transaction

Next step — this requires a funded account; get testnet SEI from the [faucet](/learn/faucet).

Check warning on line 69 in evm/evm-parity/examples/ethers-quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/evm-parity/examples/ethers-quickstart.mdx#L69

Did you really mean 'testnet'?

```ts
const tx = await wallet.sendTransaction({
to: '0xRecipient',
Expand Down Expand Up @@ -104,6 +119,34 @@
contract.off('Transfer');
```

## Using Python (web3.py)

Sei is fully EVM-compatible, so any standard Ethereum client works — including Python's [web3.py](https://web3py.readthedocs.io).

Check warning on line 124 in evm/evm-parity/examples/ethers-quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/evm-parity/examples/ethers-quickstart.mdx#L124

Did you really mean 'Sei'?

Check warning on line 124 in evm/evm-parity/examples/ethers-quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/evm-parity/examples/ethers-quickstart.mdx#L124

Did you really mean 'Ethereum'?

```bash
pip install web3
```

```python
from web3 import Web3

w3 = Web3(Web3.HTTPProvider("https://evm-rpc.sei-apis.com"))

print("Connected:", w3.is_connected())
print("Latest block:", w3.eth.block_number)
print("Chain ID:", w3.eth.chain_id) # 1329
```

**You're done when you see:**

```text
Connected: True
Latest block: 148203117
Chain ID: 1329
```

The block number is illustrative; the chain ID is always `1329` on mainnet.

Check warning on line 148 in evm/evm-parity/examples/ethers-quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/evm-parity/examples/ethers-quickstart.mdx#L148

Did you really mean 'mainnet'?

## Next Steps

- [ERC-20 interaction](/evm/evm-parity/examples/erc20) — full token read/write examples
Expand Down
53 changes: 49 additions & 4 deletions evm/evm-parity/examples/viem-quickstart.mdx
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
---
title: 'viem Quickstart'

Check warning on line 2 in evm/evm-parity/examples/viem-quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/evm-parity/examples/viem-quickstart.mdx#L2

Did you really mean 'viem'?
description: 'Using viem with Sei in a Node.js script, CLI tool, or backend service'

Check warning on line 3 in evm/evm-parity/examples/viem-quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/evm-parity/examples/viem-quickstart.mdx#L3

Did you really mean 'viem'?

Check warning on line 3 in evm/evm-parity/examples/viem-quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/evm-parity/examples/viem-quickstart.mdx#L3

Did you really mean 'Sei'?
---

# viem Quickstart

Check warning on line 6 in evm/evm-parity/examples/viem-quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/evm-parity/examples/viem-quickstart.mdx#L6

Did you really mean 'viem'?

This example shows how to use viem with Sei outside of a React context — in a Node.js script, CLI tool, or backend service. For React apps, see [wagmi](https://wagmi.sh) and the [frontend guide](/evm/building-a-frontend).

Check warning on line 8 in evm/evm-parity/examples/viem-quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/evm-parity/examples/viem-quickstart.mdx#L8

Did you really mean 'viem'?

Check warning on line 8 in evm/evm-parity/examples/viem-quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/evm-parity/examples/viem-quickstart.mdx#L8

Did you really mean 'Sei'?

## Install

Expand Down Expand Up @@ -38,16 +38,31 @@

## Reading Chain Data

This is the first milestone — it needs no private key.

```ts
const blockNumber = await client.getBlockNumber();
import { formatEther } from 'viem';

const block = await client.getBlock({ blockTag: 'latest' });
const blockNumber = await client.getBlockNumber(); // bigint
console.log('Block number:', blockNumber);

const balance = await client.getBalance({ address: '0xYourAddress' });
const balance = await client.getBalance({ address: '0xYourAddress' }); // bigint, wei
console.log('Balance (SEI):', formatEther(balance));

const nonce = await client.getTransactionCount({ address: '0xYourAddress' });
const nonce = await client.getTransactionCount({ address: '0xYourAddress' }); // number
console.log('Nonce:', nonce);
```

**You're done when you see:**

```text
Block number: 148203117n
Balance (SEI): 12.5
Nonce: 7
```

The exact numbers are illustrative — your block number and balance will differ. Note the trailing `n`: `getBlockNumber()` and `getBalance()` return `bigint`, while `getTransactionCount()` returns a `number`.

## Wallet Client

A wallet client handles signing and broadcasting transactions.
Expand All @@ -70,6 +85,8 @@

## Sending a Transaction

Next step — this requires a funded account; get testnet SEI from the [faucet](/learn/faucet).

Check warning on line 88 in evm/evm-parity/examples/viem-quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/evm-parity/examples/viem-quickstart.mdx#L88

Did you really mean 'testnet'?

```ts
import { parseEther } from 'viem';

Expand Down Expand Up @@ -127,7 +144,7 @@

## Estimating Gas

Always use `estimateGas` rather than hard-coding values. SSTORE costs on Sei are governance-adjustable.

Check warning on line 147 in evm/evm-parity/examples/viem-quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/evm-parity/examples/viem-quickstart.mdx#L147

Did you really mean 'Sei'?

```ts
const gas = await client.estimateGas({
Expand All @@ -137,6 +154,34 @@
});
```

## Using Python (web3.py)

Sei is fully EVM-compatible, so any standard Ethereum client works — including Python's [web3.py](https://web3py.readthedocs.io).

Check warning on line 159 in evm/evm-parity/examples/viem-quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/evm-parity/examples/viem-quickstart.mdx#L159

Did you really mean 'Sei'?

Check warning on line 159 in evm/evm-parity/examples/viem-quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/evm-parity/examples/viem-quickstart.mdx#L159

Did you really mean 'Ethereum'?

```bash
pip install web3
```

```python
from web3 import Web3

w3 = Web3(Web3.HTTPProvider("https://evm-rpc.sei-apis.com"))

print("Connected:", w3.is_connected())
print("Latest block:", w3.eth.block_number)
print("Chain ID:", w3.eth.chain_id) # 1329
```

**You're done when you see:**

```text
Connected: True
Latest block: 148203117
Chain ID: 1329
```

The block number is illustrative; the chain ID is always `1329` on mainnet.

Check warning on line 183 in evm/evm-parity/examples/viem-quickstart.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/evm-parity/examples/viem-quickstart.mdx#L183

Did you really mean 'mainnet'?

## Next Steps

- [ERC-20 interaction](/evm/evm-parity/examples/erc20) — full token read/write examples
Expand Down
29 changes: 22 additions & 7 deletions evm/index.mdx
Original file line number Diff line number Diff line change
@@ -1,33 +1,33 @@
---
title: "Sei EVM - High Performance Ethereum Virtual Machine"

Check warning on line 2 in evm/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/index.mdx#L2

Did you really mean 'Sei'?

Check warning on line 2 in evm/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/index.mdx#L2

Did you really mean 'Ethereum'?
sidebarTitle: 'Home'
description: "Build on the fastest EVM with 400ms finality, 100 MGas/s throughput, and full Ethereum tooling compatibility."

Check warning on line 4 in evm/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/index.mdx#L4

Did you really mean 'Ethereum'?
keywords: ["sei evm", "ethereum virtual machine", "web3 development", "blockchain development", "fast evm"]
---

## Why Choose Sei EVM?

Check warning on line 8 in evm/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/index.mdx#L8

Did you really mean 'Sei'?

| Feature | Sei EVM | Ethereum | Other Layer 1s |

Check warning on line 10 in evm/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/index.mdx#L10

Did you really mean 'Sei'?

Check warning on line 10 in evm/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/index.mdx#L10

Did you really mean 'Ethereum'?
| -------------------------- | ------------- | ---------------- | --------------- |
| Blocktime | 400 ms | 12 - 14 seconds | 1 - 3 seconds |

Check warning on line 12 in evm/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/index.mdx#L12

Did you really mean 'Blocktime'?
| Transaction Throughput | 100 MGas/s | 3 MGas/s | < 50 MGas/s |
| Parallelized Execution | Yes | No | Limited/No |
| EVM Tooling Compatibility | 100% | 100% | Varies |
| EVM Version | Pectra (w/o blobs) | Fusaka | Varies |

Check warning on line 16 in evm/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/index.mdx#L16

Did you really mean 'Pectra'?

Check warning on line 16 in evm/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/index.mdx#L16

Did you really mean 'Fusaka'?

<Card horizontal title="Detailed Ethereum comparison" icon="arrow-right" href="/evm/differences-with-ethereum">
View detailed Ethereum comparison

Check warning on line 19 in evm/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/index.mdx#L19

Did you really mean 'Ethereum'?
</Card>

## Quick Start

<Steps>
<Step title="Add Sei to Wallet">

Check warning on line 25 in evm/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/index.mdx#L25

Did you really mean 'Sei'?
- [Install Sei Global Wallet](/evm/sei-global-wallet)

Check warning on line 26 in evm/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/index.mdx#L26

Did you really mean 'Sei'?
- [Sei EVM Network Information](/evm/networks)
</Step>
<Step title="Get Test Tokens">
- [Visit Sei Faucet](/learn/faucet)

Check warning on line 30 in evm/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/index.mdx#L30

Did you really mean 'Sei'?
- [View Token Information](/evm/tokens)
</Step>
<Step title="Start Building">
Expand All @@ -43,7 +43,7 @@
Generate ERC-20, ERC-721, and more contracts in minutes. Configure, copy, deploy.
</Card>
<Card horizontal title="Frontend Integration" icon="window" href="/evm/building-a-frontend">
Connect ethers.js, viem, or wagmi to your Sei EVM smart contracts.

Check warning on line 46 in evm/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/index.mdx#L46

Did you really mean 'viem'?

Check warning on line 46 in evm/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/index.mdx#L46

Did you really mean 'wagmi'?

Check warning on line 46 in evm/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/index.mdx#L46

Did you really mean 'Sei'?
</Card>
<Card horizontal title="Solidity Resources" icon="screwdriver-wrench" href="/evm/solidity-resources">
Tools and best practices for Solidity development on Sei.
Expand All @@ -54,10 +54,10 @@

<CardGroup cols={2}>
<Card horizontal title="Deploy with Hardhat" icon="terminal" href="/evm/evm-hardhat">
Deploy smart contracts on Sei EVM using Hardhat. Simple setup, fast results.

Check warning on line 57 in evm/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/index.mdx#L57

Did you really mean 'Sei'?
</Card>
<Card horizontal title="Deploy with Foundry" icon="cube" href="/evm/evm-foundry">
Use Foundry to build and deploy on Sei EVM. Fast testing, simple deployment.

Check warning on line 60 in evm/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/index.mdx#L60

Did you really mean 'Sei'?
</Card>
</CardGroup>

Expand All @@ -68,17 +68,32 @@
Implement HTTP 402 Payment Required for API monetization and premium content.
</Card>
<Card horizontal title="USDC on Sei" icon="dollar-sign" href="/evm/usdc-on-sei">
Native USDC integration guide for seamless stablecoin transactions.

Check warning on line 71 in evm/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/index.mdx#L71

Did you really mean 'stablecoin'?
</Card>
</CardGroup>

## RPC Endpoints

Choose from official Sei Foundation endpoints or community-maintained alternatives. All endpoints support standard EVM JSON-RPC methods. Public endpoints have rate limitsfor production apps, consider using a dedicated RPC provider or running your own node.
Choose from official Sei Foundation endpoints or community-maintained alternatives. All endpoints support standard EVM JSON-RPC methods. Public endpoints have rate limitsfor production apps, use a [dedicated RPC provider](/learn/rpc-providers) or [run your own node](/node).

Check warning on line 77 in evm/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/index.mdx#L77

Did you really mean 'Sei'?

<iframe
src="https://sei-widgets.vercel.app/rpc-selector"
style={{ width: "100%", minHeight: "520px", border: "0" }}
loading="lazy"
title="Sei RPC selector"
/>
<Tabs>
<Tab title="Mainnet (pacific-1)">
| Endpoint | Provider | Type | Rate limit | Notes |
| --- | --- | --- | --- | --- |
| `https://evm-rpc.sei-apis.com` | Sei Foundation | <span style={{ backgroundColor: 'rgba(34,197,94,0.15)', color: '#16a34a', padding: '0.125rem 0.5rem', borderRadius: '9999px', fontSize: '0.75rem', fontWeight: 600 }}>public</span> | 10 req/s | Recommended for development |
| `https://evm-rpc-sei.stingray.plus` | Staketab | <span style={{ backgroundColor: 'rgba(34,197,94,0.15)', color: '#16a34a', padding: '0.125rem 0.5rem', borderRadius: '9999px', fontSize: '0.75rem', fontWeight: 600 }}>public</span> | — | Community maintained |

Check warning on line 84 in evm/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/index.mdx#L84

Did you really mean 'Staketab'?
| `https://sei-evm-rpc.publicnode.com` | PublicNode | <span style={{ backgroundColor: 'rgba(34,197,94,0.15)', color: '#16a34a', padding: '0.125rem 0.5rem', borderRadius: '9999px', fontSize: '0.75rem', fontWeight: 600 }}>public</span> | 5 req/s | Community maintained |
| `https://seievm-rpc.polkachu.com` | Polkachu | <span style={{ backgroundColor: 'rgba(34,197,94,0.15)', color: '#16a34a', padding: '0.125rem 0.5rem', borderRadius: '9999px', fontSize: '0.75rem', fontWeight: 600 }}>public</span> | — | Community maintained |

Check warning on line 86 in evm/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/index.mdx#L86

Did you really mean 'Polkachu'?
| `https://jsonrpc.lavenderfive.com:443/sei` | LavenderFive | <span style={{ backgroundColor: 'rgba(34,197,94,0.15)', color: '#16a34a', padding: '0.125rem 0.5rem', borderRadius: '9999px', fontSize: '0.75rem', fontWeight: 600 }}>public</span> | — | Community maintained |
</Tab>
<Tab title="Testnet (atlantic-2)">
| Endpoint | Provider | Type | Rate limit | Notes |
| --- | --- | --- | --- | --- |
| `https://evm-rpc-testnet.sei-apis.com` | Sei Foundation | <span style={{ backgroundColor: 'rgba(34,197,94,0.15)', color: '#16a34a', padding: '0.125rem 0.5rem', borderRadius: '9999px', fontSize: '0.75rem', fontWeight: 600 }}>public</span> | 20 req/s | Recommended for testing |
| `https://evm-rpc-testnet-sei.stingray.plus` | Staketab | <span style={{ backgroundColor: 'rgba(34,197,94,0.15)', color: '#16a34a', padding: '0.125rem 0.5rem', borderRadius: '9999px', fontSize: '0.75rem', fontWeight: 600 }}>public</span> | — | Community maintained |

Check warning on line 93 in evm/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/index.mdx#L93

Did you really mean 'Staketab'?
| `https://seievm-testnet-rpc.polkachu.com` | Polkachu | <span style={{ backgroundColor: 'rgba(34,197,94,0.15)', color: '#16a34a', padding: '0.125rem 0.5rem', borderRadius: '9999px', fontSize: '0.75rem', fontWeight: 600 }}>public</span> | — | Community maintained |

Check warning on line 94 in evm/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/index.mdx#L94

Did you really mean 'Polkachu'?
| `https://sei-testnet.drpc.org` | dRPC | <span style={{ backgroundColor: 'rgba(34,197,94,0.15)', color: '#16a34a', padding: '0.125rem 0.5rem', borderRadius: '9999px', fontSize: '0.75rem', fontWeight: 600 }}>public</span> | — | Community maintained |
</Tab>
</Tabs>

For the complete list of JSON-RPC methods, see the [EVM reference](/evm/reference).
44 changes: 22 additions & 22 deletions evm/transactions.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
keywords: ['transactions', 'EVM transactions', 'gas', 'EIP-1559', 'nonce', 'transaction lifecycle', 'sei']
---

Sei supports EVM transactions, allowing compatibility with Ethereum-based tools and contracts. Transactions are signed messages originating from an externally owned account (EOA) that trigger state changes on the blockchain.

Check warning on line 8 in evm/transactions.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/transactions.mdx#L8

Did you really mean 'Sei'?

Check warning on line 8 in evm/transactions.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/transactions.mdx#L8

Did you really mean 'blockchain'?

## Transaction Lifecycle

Expand All @@ -14,14 +14,14 @@
| 1. Creation | A transaction is created by an EOA, specifying the recipient, value, gas parameters, and other fields. |
| 2. Signing | The transaction is signed with the sender's private key to create a valid signature. |
| 3. Submission | The signed transaction is submitted to the network through an RPC endpoint. |
| 4. Mempool | The transaction enters the mempool (transaction pool) where it awaits inclusion in a block. |

Check warning on line 17 in evm/transactions.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/transactions.mdx#L17

Did you really mean 'Mempool'?

Check warning on line 17 in evm/transactions.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/transactions.mdx#L17

Did you really mean 'mempool'?
| 5. Execution | When selected by a validator, the transaction is executed in the EVM, causing state changes. |

Check warning on line 18 in evm/transactions.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/transactions.mdx#L18

Did you really mean 'validator'?
| 6. Validation | The transaction and its state changes are validated by the consensus mechanism. |
| 7. Confirmation | Once validated, the transaction is included in a block and confirmed on-chain. |
| 8. Finality | On Sei, transactions achieve immediate finality once included in a block. |

Check warning on line 21 in evm/transactions.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/transactions.mdx#L21

Did you really mean 'Sei'?

<Info>
Unlike other EVM chains where you need to wait for multiple confirmations, Sei's consensus mechanism provides immediate transaction finality. Once a transaction is included in a block, it cannot be reversed.

Check warning on line 24 in evm/transactions.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/transactions.mdx#L24

Did you really mean 'Sei's'?
</Info>

## Gas Mechanics
Expand All @@ -31,8 +31,8 @@
| Term | Description |
| -------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| Gas Limit | The maximum amount of gas the transaction may consume, set by the sender. |
| Base Fee | The minimum gas price required to be included in a block. On Sei, the base fee is not burned — all fees go to validators. |

Check warning on line 34 in evm/transactions.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/transactions.mdx#L34

Did you really mean 'Sei'?

Check warning on line 34 in evm/transactions.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/transactions.mdx#L34

Did you really mean 'validators'?
| Priority Fee | An additional fee (tip) paid to validators for faster inclusion. |

Check warning on line 35 in evm/transactions.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/transactions.mdx#L35

Did you really mean 'validators'?
| Gas Price | In legacy transactions, the price per unit of gas the sender is willing to pay. |
| Effective Gas Price | The actual price paid per unit of gas (base fee + priority fee in EIP-1559). |

Expand All @@ -46,7 +46,7 @@

## Transaction Structure

EVM transactions in Sei follow the Ethereum transaction format with standard properties:

Check warning on line 49 in evm/transactions.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/transactions.mdx#L49

Did you really mean 'Sei'?

Check warning on line 49 in evm/transactions.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/transactions.mdx#L49

Did you really mean 'Ethereum'?

<Tabs>
<Tab title="Transaction Properties">
Expand All @@ -56,10 +56,10 @@
| `to` | The receiving address. If this is an EOA, the transaction transfers value. If a contract address, the transaction executes the contract code. If empty or null, the transaction creates a new contract. |
| `signature` | The cryptographic signature generated when the sender's private key signs the transaction. This confirms the sender has authorized the transaction and includes the v, r, and s components. |
| `nonce` | A sequentially incrementing counter that indicates the transaction number from the account. This prevents replay attacks and ensures transaction ordering. |
| `data` | The input data (also called 'input' or 'calldata') for contract execution. For simple transfers, this is usually empty. For contract interactions, this contains the function selector and encoded arguments. |

Check warning on line 59 in evm/transactions.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/transactions.mdx#L59

Did you really mean 'calldata'?
| `value` | Amount of SEI to transfer from sender to recipient (denominated in WEI, where 1 SEI equals 1e+18 WEI). |
| `gasLimit` | The maximum amount of gas units that can be consumed by the transaction. Often referred to simply as 'gas' in transaction objects. |
| `maxPriorityFeePerGas` | The maximum price of the consumed gas to be included as a tip to the validator (denominated in WEI). Used in EIP-1559 transactions. |

Check warning on line 62 in evm/transactions.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/transactions.mdx#L62

Did you really mean 'validator'?
| `maxFeePerGas` | The maximum fee per unit of gas willing to be paid for the transaction (inclusive of baseFeePerGas and maxPriorityFeePerGas). Used in EIP-1559 transactions. |
| `gasPrice` | The price per unit of gas the sender is willing to pay (denominated in WEI). Used in legacy transactions. |
| `chainId` | The chain identifier number. Prevents transaction reuse across different chains. |
Expand Down Expand Up @@ -155,42 +155,42 @@

### JavaScript example with web3.js

<Info>
Public RPC endpoints such as `https://evm-rpc.sei-apis.com` do not manage or unlock accounts, so `eth_getAccounts` and `eth_sendTransaction` are not available. Sign transactions locally with a private key and broadcast the raw transaction instead.
</Info>

```javascript
// Example using web3.js to send a transaction
const Web3 = require('web3');
// Example using web3.js v4 to sign and broadcast a transaction.
// Public RPC endpoints do not manage accounts, so sign locally with a private key.
const { Web3 } = require('web3');
const web3 = new Web3('https://evm-rpc.sei-apis.com');

async function sendTransaction() {
const accounts = await web3.eth.getAccounts();
const sender = accounts[0];
// Load your account from a private key. Never hard-code keys — read from an env var.
const account = web3.eth.accounts.privateKeyToAccount(process.env.PRIVATE_KEY);

// Get the current nonce for the sender
const nonce = await web3.eth.getTransactionCount(sender);
async function sendTransaction() {
// Current nonce for the sender
const nonce = await web3.eth.getTransactionCount(account.address);

// Get the current block to estimate gas fees
// Use the latest base fee to set EIP-1559 fees
const block = await web3.eth.getBlock('latest');
const baseFeePerGas = block.baseFeePerGas;

// Set priority fee (tip)
const maxPriorityFeePerGas = web3.utils.toWei('1', 'gwei');

// Calculate max fee per gas
const maxFeePerGas = web3.utils
.toBN(baseFeePerGas)
.add(web3.utils.toBN(maxPriorityFeePerGas));
const maxFeePerGas = (BigInt(block.baseFeePerGas) + BigInt(maxPriorityFeePerGas)).toString();

const tx = {
from: sender,
from: account.address,
to: '0x07a565b7ed7d7a678680a4c162885bedbb695fe0',
value: web3.utils.toWei('0.1', 'ether'),
gas: 21000, // Gas limit for a simple transfer
maxFeePerGas: maxFeePerGas.toString(),
maxPriorityFeePerGas: maxPriorityFeePerGas,
nonce: nonce,
data: '0x' // Empty data for a simple transfer
maxFeePerGas,
maxPriorityFeePerGas,
nonce,
chainId: 1329 // pacific-1 mainnet (use 1328 for atlantic-2 testnet)
};

const receipt = await web3.eth.sendTransaction(tx);
// Sign locally, then broadcast the raw transaction
const signed = await web3.eth.accounts.signTransaction(tx, process.env.PRIVATE_KEY);
const receipt = await web3.eth.sendSignedTransaction(signed.rawTransaction);
console.log('Transaction receipt:', receipt);
}

Expand Down Expand Up @@ -272,7 +272,7 @@
**Transaction Best Practices:**

- **Set appropriate gas parameters:** Use network conditions to estimate optimal values for `maxFeePerGas` and `maxPriorityFeePerGas`.
- **Manage nonces carefully:** Track and increment nonces correctly to avoid transaction failures.

Check warning on line 275 in evm/transactions.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/transactions.mdx#L275

Did you really mean 'nonces'?

Check warning on line 275 in evm/transactions.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/transactions.mdx#L275

Did you really mean 'nonces'?
- **Use typed transactions:** Prefer EIP-1559 transactions (type 2) for more predictable fees.
- **Implement proper error handling:** Account for potential transaction failures and revert reasons.
- **Verify recipient addresses:** Always double-check destination addresses, as transactions cannot be reversed.
Expand All @@ -280,7 +280,7 @@

| Common Issue | Cause | Solution |
| --- | --- | --- |
| Transaction Underpriced | Gas price or priority fee too low | Increase `maxFeePerGas` and `maxPriorityFeePerGas` |

Check warning on line 283 in evm/transactions.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/transactions.mdx#L283

Did you really mean 'Underpriced'?
| Nonce Too Low | Using a nonce that's already been used | Query current nonce with `getTransactionCount` |
| Out of Gas | Gas limit too low for the operation | Use `eth_estimateGas` to set appropriate limit |
| Contract Execution Failed | Contract function reverted | Test with `eth_call` before sending transaction |
Expand All @@ -289,12 +289,12 @@

<CardGroup cols={3}>
<Card horizontal title="RPC Reference" icon="circle-info" href="/evm/reference">
Complete documentation of Sei's EVM RPC endpoints for transaction creation and monitoring

Check warning on line 292 in evm/transactions.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/transactions.mdx#L292

Did you really mean 'Sei's'?
</Card>
<Card horizontal title="Gas & Fees" icon="coins" href="/learn/dev-gas">
Learn more about gas calculation, fee estimation, and cost optimization on Sei

Check warning on line 295 in evm/transactions.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/transactions.mdx#L295

Did you really mean 'Sei'?
</Card>
<Card horizontal title="Accounts" icon="user" href="/learn/accounts">
Understanding Externally Owned Accounts and Contract Accounts on Sei

Check warning on line 298 in evm/transactions.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/transactions.mdx#L298

Did you really mean 'Sei'?
</Card>
</CardGroup>
6 changes: 6 additions & 0 deletions learn/dev-chains.mdx
Original file line number Diff line number Diff line change
@@ -1,25 +1,28 @@
---
title: 'Sei Blockchain Network Chains Overview'

Check warning on line 2 in learn/dev-chains.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/dev-chains.mdx#L2

Did you really mean 'Sei'?

Check warning on line 2 in learn/dev-chains.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/dev-chains.mdx#L2

Did you really mean 'Blockchain'?
sidebarTitle: 'Chain Info'
description: "Compare Sei's different network environments including testnet, mainnet, and local chains, with detailed chain IDs and purposes for each development stage."

Check warning on line 4 in learn/dev-chains.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/dev-chains.mdx#L4

Did you really mean 'Sei's'?

Check warning on line 4 in learn/dev-chains.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/dev-chains.mdx#L4

Did you really mean 'testnet'?

Check warning on line 4 in learn/dev-chains.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/dev-chains.mdx#L4

Did you really mean 'mainnet'?
keywords: ['sei chains', 'blockchain networks', 'sei mainnet', 'sei testnet', 'chain registry']
---
Sei utilizes multiple chains for various stages of the development lifecycle.

Check warning on line 7 in learn/dev-chains.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/dev-chains.mdx#L7

Did you really mean 'Sei'?
This multi-chain approach allows developers to build, deploy, manage, and
iterate confidently, ensuring thorough testing and feedback before updates go
live on the mainnet.

Check warning on line 10 in learn/dev-chains.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/dev-chains.mdx#L10

Did you really mean 'mainnet'?

<Info>All chain updates are first deployed to the testnet for thorough testing and validation before they are released to the mainnet. This process allows developers to test their applications thoroughly and raise any concerns regarding the upgrades before they go live on the mainnet.</Info>

## Mainnet

Check warning on line 14 in learn/dev-chains.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/dev-chains.mdx#L14

Did you really mean 'Mainnet'?

Mainnet is the live, production environment where actual transactions and

Check warning on line 16 in learn/dev-chains.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/dev-chains.mdx#L16

Did you really mean 'Mainnet'?
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`
- **EVM RPC**: `https://evm-rpc.sei-apis.com`
- **WebSocket**: `wss://evm-ws.sei-apis.com`
- **Explorer**: `https://seiscan.io`

<iframe
src="https://sei-widgets.vercel.app/add-sei?network=mainnet&label=Add+Sei+Mainnet+to+your+wallet"
Expand All @@ -38,6 +41,9 @@
- **Purpose**: Staging
- **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`

<iframe
src="https://sei-widgets.vercel.app/add-sei?network=testnet&label=Add+Sei+Testnet+to+your+wallet"
Expand All @@ -50,7 +56,7 @@

Developers can also run local chains on their machines for testing and
development purposes. Local chains are isolated environments that mimic the
behavior of the mainnet or testnet chains. They are useful for testing

Check warning on line 59 in learn/dev-chains.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/dev-chains.mdx#L59

Did you really mean 'mainnet'?

Check warning on line 59 in learn/dev-chains.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/dev-chains.mdx#L59

Did you really mean 'testnet'?
new features, debugging issues, and experimenting with smart contracts with full
control over all tokens and governance decisions.

Expand Down
Loading