Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
8fff96c
docs: The Tendermint P2P config was overhauled: MaxOutboundConnection…
seidroid[bot] Aug 10, 2026
e71b901
docs: eth_getBlockByNumber now returns null (per Ethereum spec) for f…
seidroid[bot] Aug 10, 2026
55c961e
docs: The eth_getBlockTransactionCountByNumber and eth_getBlockTransa…
seidroid[bot] Aug 10, 2026
b076b1e
docs: Adds a new parallelized/profiled block trace path for debug_tra…
seidroid[bot] Aug 10, 2026
f509a64
docs: Three TOML config fields (sc-write-mode, sc-read-mode, sc-enabl…
seidroid[bot] Aug 10, 2026
e0df079
docs: The oracle module's default MinValidPerWindow parameter changed…
seidroid[bot] Aug 10, 2026
04fadd5
docs: Log messages now warn that IAVL will be deprecated soon and rec…
seidroid[bot] Aug 10, 2026
f0be2e4
docs: Legacy sei_*/sei2_* JSON-RPC HTTP gating now handles batch requ…
seidroid[bot] Aug 10, 2026
5fb5dce
docs: IAVL backend is fully removed and SeiDB state-commit is now man…
seidroid[bot] Aug 10, 2026
fb3c726
docs: Adds a new node config field `evm.enable_parallelized_block_tra…
seidroid[bot] Aug 10, 2026
7898626
docs: The mempool now tracks block-failed transactions and prevents i…
seidroid[bot] Aug 10, 2026
2c78f3a
docs: Adds a new `autobahn-config-file` node config field enabling th…
seidroid[bot] Aug 10, 2026
26ab32b
docs: Adds a new `disable-tx-index-lookup` config field to the receip…
seidroid[bot] Aug 10, 2026
9e0b5ea
docs: The ABCI peer filtering feature has been removed, deprecating t…
seidroid[bot] Aug 10, 2026
af3be99
docs: Adds a new `receipt-store.tx-index-backend` config field (defau…
seidroid[bot] Aug 10, 2026
0e00df2
docs: Adds a new `seid tendermint gen-autobahn-config` CLI command to…
seidroid[bot] Aug 10, 2026
094867c
docs: The `receipt-store.keep-recent` config field was removed; recei…
seidroid[bot] Aug 10, 2026
2745703
docs: Giga/Autobahn nodes now build blocks directly from the shared T…
seidroid[bot] Aug 10, 2026
f9b55f4
docs: The legacy sei_*/sei2_* JSON-RPC gateway now follows JSON-RPC 2…
seidroid[bot] Aug 10, 2026
44518f3
docs: Adds new state-store config fields (sc-write-mode, sc-read-mode…
seidroid[bot] Aug 10, 2026
289e52f
docs: Two new Prometheus metrics (proposer_priority_hash and proposer…
seidroid[bot] Aug 10, 2026
c264c22
docs: The autobahn config generator now defaults AllowEmptyBlocks to …
seidroid[bot] Aug 10, 2026
15a975a
docs: The EVM JSON-RPC methods eth_getFilterChanges and eth_getFilter…
seidroid[bot] Aug 10, 2026
9155a75
docs: Sei node data directory layout changed for new nodes—state/rece…
seidroid[bot] Aug 10, 2026
696184d
docs: When the parquet receipt store's pebble tx hash index is disabl…
seidroid[bot] Aug 10, 2026
cf3d370
docs: When GIGA_STORAGE=true, the receipt backend now defaults to par…
seidroid[bot] Aug 10, 2026
9b934f6
docs: Adds a new debug_traceTransactionProfile JSON-RPC method that r…
seidroid[bot] Aug 10, 2026
4755e77
docs: The /status RPC endpoint now returns a new SyncInfo field `last…
seidroid[bot] Aug 10, 2026
c30c988
docs: The Sei legacy JSON-RPC HTTP handler now treats requests with "…
seidroid[bot] Aug 10, 2026
6d391ee
docs: The v6.5 upgrade adds versioned copies of precompiles and retir…
seidroid[bot] Aug 10, 2026
4de6146
docs: Adds a new temporary consensus config field `stateless-leader-e…
seidroid[bot] Aug 10, 2026
e3c6efc
docs: The consensus config field 'stateless-leader-election' now defa…
seidroid[bot] Aug 10, 2026
df43180
docs: Adds a new `dump-flatkv` subcommand to the seidb tool and a `--…
seidroid[bot] Aug 10, 2026
53c5d9b
docs: The `stateless-leader-election` consensus config field is now d…
seidroid[bot] Aug 10, 2026
fd5327f
docs: The eth_feeHistory JSON-RPC endpoint now returns baseFeePerGas …
seidroid[bot] Aug 10, 2026
478fe3c
docs: Under Autobahn consensus, the Tendermint RPC endpoints /block, …
seidroid[bot] Aug 10, 2026
a21c927
docs: The Autobahn config field max_gas_per_block was removed; the pr…
seidroid[bot] Aug 10, 2026
422da2e
docs: The v6.5 release changelog references several developer-facing …
seidroid[bot] Aug 10, 2026
2046204
docs: Fixed EVM transaction receipts to report the correct EIP-1559 e…
seidroid[bot] Aug 10, 2026
1cea986
docs: Adds new OpenTelemetry-based EVM RPC metrics (evmrpc_request_la…
seidroid[bot] Aug 10, 2026
6430ab4
docs: FlatKV state DB adds a suite of OpenTelemetry metrics and intro…
seidroid[bot] Aug 10, 2026
d2efa59
docs: Introduces a new `mock_block_validation` build tag that produce…
seidroid[bot] Aug 10, 2026
72cade3
docs: Several advanced state-sync tuning knobs (backfill-blocks, back…
seidroid[bot] Aug 10, 2026
f4aa326
docs: New internal migration WriteModes (MemiavlOnly, FlatKVOnly, Tes…
seidroid[bot] Aug 10, 2026
f8897b6
docs: PebbleDB state store now uses a new descending-version MVCC enc…
seidroid[bot] Aug 10, 2026
3f212a5
docs: Adds a suite of new OpenTelemetry (Prometheus) metrics exposed …
seidroid[bot] Aug 10, 2026
4079ea8
docs: Adds two new seidb subcommands (import-flatkv-from-memiavl and …
seidroid[bot] Aug 10, 2026
8dfaa3d
docs: Out-of-process ABCI support was removed: the 'proxy-app' and 'a…
seidroid[bot] Aug 10, 2026
2d6ef74
docs: The sei_getTransactionReceiptExcludeTraceFail (and *ExcludeTrac…
seidroid[bot] Aug 10, 2026
66a71a9
docs: Under Autobahn consensus mode, eth_subscribe("newHeads") is now…
seidroid[bot] Aug 10, 2026
1712563
docs: The *ExcludeTraceFail EVM RPC endpoints (sei_getBlockBy{Number,…
seidroid[bot] Aug 10, 2026
b2c8845
docs: Added EVM RPC request proxying (sharding) so validators forward…
seidroid[bot] Aug 10, 2026
548fe9e
docs: The SeiDB state-commit config was overhauled: the sc-read-mode …
seidroid[bot] Aug 10, 2026
b58e981
docs: Distribution module now validates withdraw addresses against ba…
seidroid[bot] Aug 10, 2026
7de3bf3
docs: A new --persistent-state-dir flag was added to the tendermint g…
seidroid[bot] Aug 10, 2026
f31a55c
docs: eth_getTransactionReceipt now returns JSON null (instead of an …
seidroid[bot] Aug 10, 2026
8d86f9c
docs: The Tendermint mempool config changed TTLDuration/TTLNumBlocks …
seidroid[bot] Aug 10, 2026
e59bf32
docs: Adds a new seidb `migrate-evm-status` CLI subcommand, a new `sc…
seidroid[bot] Aug 10, 2026
2cb5a76
docs: Adds new OpenTelemetry metrics (histograms/counters) for module…
seidroid[bot] Aug 10, 2026
cc78e02
docs: The max block lookback guard now applies to all debug_trace* RP…
seidroid[bot] Aug 10, 2026
865ef13
docs: The eth_getTransactionByHash RPC now looks up pending transacti…
seidroid[bot] Aug 10, 2026
b117a5d
docs: The Autobahn (giga) autobahn config file drops the mempool_size…
seidroid[bot] Aug 10, 2026
0fa678b
docs: String length limits were added to numeric parsing functions (D…
seidroid[bot] Aug 10, 2026
9b7d096
docs: Adds a new mock_chain_validation build tag (and Docker images) …
seidroid[bot] Aug 10, 2026
7cded5e
docs: The Prometheus metrics namespace changed from 'sei-chain' to 's…
seidroid[bot] Aug 10, 2026
f1a9f10
docs: Adds support for booting a node directly in flatkv_only state-c…
seidroid[bot] Aug 10, 2026
05bf781
docs: A new RPC config field `timeout-write` was added to control the…
seidroid[bot] Aug 10, 2026
12ad528
docs: Two mempool config fields (pending-ttl-duration and pending-ttl…
seidroid[bot] Aug 10, 2026
d5945d9
docs: The eth_getProof JSON-RPC endpoint now requires hex-encoded sto…
seidroid[bot] Aug 10, 2026
e4b52b3
docs: The consensus validation metric label changed from `kind` to `v…
seidroid[bot] Aug 10, 2026
dc77bfc
docs: The parquet/DuckDB receipt store backend and its associated con…
seidroid[bot] Aug 10, 2026
afa4f3d
docs: Pagination now enforces hard caps on limit (MaxLimit=1000), off…
seidroid[bot] Aug 10, 2026
54f21cd
docs: EVM SetCode transactions (EIP-7702) with an empty authorization…
seidroid[bot] Aug 10, 2026
464a22f
docs: The EVM RPC methods eth_getBlockTransactionCountByNumber and et…
seidroid[bot] Aug 10, 2026
d0680db
docs: The Autobahn consensus protocol now enforces a maximum of 100 v…
seidroid[bot] Aug 10, 2026
3287f49
docs: A new consensus config field `unsafe-overrides-enabled` gates w…
seidroid[bot] Aug 10, 2026
090096c
docs: Adds a new RPC config field `timeout-read-header` to Tendermint…
seidroid[bot] Aug 10, 2026
a0070a7
docs: A new RPC config field `max-tx-search-results` caps the number …
seidroid[bot] Aug 10, 2026
1d3a6dd
docs: A new `seidb evm-logical-digest` CLI subcommand was added to co…
seidroid[bot] Aug 10, 2026
5f22976
docs: The Giga executor now loads the evmone shared library from a tr…
seidroid[bot] Aug 10, 2026
d67b006
docs: A new v6.6 upgrade version is registered across all EVM precomp…
seidroid[bot] Aug 10, 2026
4b6e155
docs: move the verified subset out to #59
monty-sei Aug 11, 2026
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
3 changes: 0 additions & 3 deletions evm/installing-seid-cli.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@

For more information see [here](https://pkg.go.dev/cmd/go#hdr-GOPATH_environment_variable).

## Command Overview

Check warning on line 52 in evm/installing-seid-cli.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/installing-seid-cli.mdx#L52

Use sentence case for headings: 'Command Overview'.

Seid supports all the commands you need to interact with the chain. To see a list of available commands and explanations of what they do, run seid:

Expand All @@ -65,7 +65,6 @@
add-wasm-genesis-message Wasm genesis subcommands
blocktest run EF blocktest
collect-gentxs Collect genesis txs and output a genesis.json file
compact Compact the application DB fully (only if it is a levelDB)
config Create or query an application CLI configuration file
debug Tool for helping with debugging your application
ethreplay replay EVM transactions
Expand All @@ -74,9 +73,7 @@
help Help about any command
init Initialize private validator, p2p, genesis, and application configuration files
keys Manage your application's keys
latest_version Prints the latest version of the app DB
migrate Migrate genesis to a specified target version
prune Prune app history states by keeping the recent heights and deleting old heights
query Querying subcommands
rollback rollback cosmos-sdk and tendermint state by one height
start Run the full node
Expand All @@ -97,7 +94,7 @@
Use "seid [command] --help" for more information about a command.
```

## Adding a Wallet

Check warning on line 97 in evm/installing-seid-cli.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/installing-seid-cli.mdx#L97

Use sentence case for headings: 'Adding a Wallet'.

You can create a new wallet using the seid keys command:

Expand Down Expand Up @@ -148,16 +145,16 @@
mnemonic: ""
```

## EVM Wallet Compatibility

Check warning on line 148 in evm/installing-seid-cli.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/installing-seid-cli.mdx#L148

Use sentence case for headings: 'EVM Wallet Compatibility'.

### Understanding Coin Types

Check warning on line 150 in evm/installing-seid-cli.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/installing-seid-cli.mdx#L150

Use sentence case for headings: 'Understanding Coin Types'.

Sei supports two coin types:

- Coin type 118 (default): Standard Cosmos address format
- Coin type 60: Ethereum-compatible address format for EVM wallets

### Creating an EVM-Compatible Wallet

Check warning on line 157 in evm/installing-seid-cli.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/installing-seid-cli.mdx#L157

Use sentence case for headings: 'Creating an EVM-Compatible Wallet'.

To create a new wallet that's compatible with EVM wallets like MetaMask:

Expand All @@ -184,7 +181,7 @@

<Info>`evm_address` is shown as empty here because it's only displayed after the key first broadcasts a transaction or is associated on-chain. The `0x` address is deterministically derived from the secp256k1 public key.</Info>

### Importing an Existing EVM Wallet

Check warning on line 184 in evm/installing-seid-cli.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/installing-seid-cli.mdx#L184

Use sentence case for headings: 'Importing an Existing EVM Wallet'.

To import an existing wallet from MetaMask or other EVM wallets:

Expand All @@ -210,7 +207,7 @@

<Info>Use coin type 60 when you want to use the same address across EVM-compatible chains or import from MetaMask. Use the default coin type 118 for standard Cosmos operations.</Info>

## Managing Wallets

Check warning on line 210 in evm/installing-seid-cli.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/installing-seid-cli.mdx#L210

Use sentence case for headings: 'Managing Wallets'.

To see your local wallets, you can run:

Expand Down Expand Up @@ -249,7 +246,7 @@

to see details about a specific wallet.

## Deleting Wallets

Check warning on line 249 in evm/installing-seid-cli.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/installing-seid-cli.mdx#L249

Use sentence case for headings: 'Deleting Wallets'.

To delete a wallet/key, you can use the following command:

Expand Down
4 changes: 4 additions & 0 deletions evm/precompiles/distribution.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

The distribution precompile provides EVM access to Cosmos SDK's distribution module. Smart contracts can manage staking rewards, validator commissions, and withdrawal addresses. This precompile is essential for DeFi applications that need to handle staking rewards programmatically.

## Key Features

Check warning on line 13 in evm/precompiles/distribution.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/precompiles/distribution.mdx#L13

Use sentence case for headings: 'Key Features'.

- **Reward Management**: Withdraw delegation rewards from validators
- **Commission Handling**: Validators can withdraw earned commissions
Expand All @@ -18,7 +18,7 @@
- **Flexible Withdrawals**: Set custom withdrawal addresses
- **Comprehensive Queries**: Access detailed reward information

## Interface Overview

Check warning on line 21 in evm/precompiles/distribution.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/precompiles/distribution.mdx#L21

Use sentence case for headings: 'Interface Overview'.

```solidity
interface IDistr {
Expand All @@ -43,7 +43,7 @@

The distribution precompile emits events for all state-changing operations, allowing off-chain services to track reward distributions and configuration changes.

### WithdrawAddressSet

Check warning on line 46 in evm/precompiles/distribution.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/precompiles/distribution.mdx#L46

Use sentence case for headings: 'WithdrawAddressSet'.

Emitted when a delegator changes their reward withdrawal address.

Expand All @@ -65,7 +65,7 @@
});
```

### DelegationRewardsWithdrawn

Check warning on line 68 in evm/precompiles/distribution.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/precompiles/distribution.mdx#L68

Use sentence case for headings: 'DelegationRewardsWithdrawn'.

Emitted when a delegator withdraws rewards from a single validator.

Expand All @@ -89,7 +89,7 @@
});
```

### MultipleDelegationRewardsWithdrawn

Check warning on line 92 in evm/precompiles/distribution.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/precompiles/distribution.mdx#L92

Use sentence case for headings: 'MultipleDelegationRewardsWithdrawn'.

Emitted when a delegator withdraws rewards from multiple validators in a single transaction.

Expand All @@ -115,7 +115,7 @@
});
```

### ValidatorCommissionWithdrawn

Check warning on line 118 in evm/precompiles/distribution.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/precompiles/distribution.mdx#L118

Use sentence case for headings: 'ValidatorCommissionWithdrawn'.

Emitted when a validator operator withdraws their earned commission.

Expand All @@ -140,9 +140,9 @@

<Info>**Event Amounts**: All event amounts use 6 decimal precision (usei), matching the actual withdrawn token amounts. This differs from the `rewards()` query which returns 18 decimal precision.</Info>

## Transaction Methods

Check warning on line 143 in evm/precompiles/distribution.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/precompiles/distribution.mdx#L143

Use sentence case for headings: 'Transaction Methods'.

### setWithdrawAddress

Check warning on line 145 in evm/precompiles/distribution.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/precompiles/distribution.mdx#L145

Use sentence case for headings: 'setWithdrawAddress'.

Sets the withdrawal address for staking rewards. By default, rewards are sent to the delegator's address, but this can be customized.

Expand All @@ -156,6 +156,10 @@

**Gas Cost**: ~30,000 gas

<Warning>**Recipient Validation**: The withdraw address must be allowed to receive external funds. The distribution module validates the recipient against the bank module's `CanSendTo` check, and the call reverts with `ErrInvalidRecipient` if it fails. In particular, an unassociated EVM-cast address (an EVM address that has no associated Sei account) is rejected, as are blocked module addresses. Ensure the target address is associated before setting it as a withdraw address.</Warning>

<Info>**Fallback on Invalid Stored Address**: If a previously set withdraw address later becomes unable to receive funds (for example, it becomes blocked or otherwise fails the `CanSendTo` check), the distribution module falls back to sending rewards to the delegator's own address rather than failing. Reward and commission withdrawals therefore always succeed even if the stored withdraw address is no longer valid.</Info>

**Example:**

```solidity
Expand All @@ -164,7 +168,7 @@
require(success, "Failed to set withdraw address");
```

### withdrawDelegationRewards

Check warning on line 171 in evm/precompiles/distribution.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/precompiles/distribution.mdx#L171

Use sentence case for headings: 'withdrawDelegationRewards'.

Withdraws accumulated rewards from a specific validator.

Expand All @@ -186,7 +190,7 @@
require(success, "Failed to withdraw rewards");
```

### withdrawMultipleDelegationRewards

Check warning on line 193 in evm/precompiles/distribution.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/precompiles/distribution.mdx#L193

Use sentence case for headings: 'withdrawMultipleDelegationRewards'.

Efficiently withdraws rewards from multiple validators in a single transaction.

Expand Down Expand Up @@ -214,7 +218,7 @@

<Info>**Batch Efficiency**: Using `withdrawMultipleDelegationRewards` is significantly more gas-efficient than multiple individual calls, especially when withdrawing from 3+ validators.</Info>

### withdrawValidatorCommission

Check warning on line 221 in evm/precompiles/distribution.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/precompiles/distribution.mdx#L221

Use sentence case for headings: 'withdrawValidatorCommission'.

Allows validators to withdraw their earned commission. Only callable by the validator operator address.

Expand All @@ -236,9 +240,9 @@

<Warning>**Validator Only**: This method can only be called by the validator's operator address. The precompile automatically identifies the validator based on the caller's associated Sei address. If the caller is not a validator operator, the call will fail.</Warning>

## Query Methods

Check warning on line 243 in evm/precompiles/distribution.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/precompiles/distribution.mdx#L243

Use sentence case for headings: 'Query Methods'.

### rewards

Check warning on line 245 in evm/precompiles/distribution.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/precompiles/distribution.mdx#L245

Use sentence case for headings: 'rewards'.

Retrieves comprehensive reward information for a delegator across all validators.

Expand Down Expand Up @@ -307,7 +311,7 @@
}
```

## Understanding Decimal Precision

Check warning on line 314 in evm/precompiles/distribution.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/precompiles/distribution.mdx#L314

Use sentence case for headings: 'Understanding Decimal Precision'.

The distribution precompile has **different decimal precision for queries vs actual withdrawals** due to how rewards are tracked in the Cosmos SDK:

Expand All @@ -319,13 +323,13 @@
| **withdrawValidatorCommission()** | Withdrawn amount (event) | 6 decimals (usei) | `amount / 1e6` |


### Why Different Precisions?

Check warning on line 326 in evm/precompiles/distribution.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/precompiles/distribution.mdx#L326

Use sentence case for headings: 'Why Different Precisions?'.

1. **Pending Rewards (18 decimals)**: The Cosmos SDK tracks pending rewards using `DecCoins` (decimal coins) with 18 decimal precision for higher accuracy during reward accumulation.

2. **Withdrawn Rewards (6 decimals)**: When rewards are actually withdrawn, they are converted to `sdk.Coins` (usei) with 6 decimal precision to match Sei's native token units.

### Conversion Helper Functions

Check warning on line 332 in evm/precompiles/distribution.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/precompiles/distribution.mdx#L332

Use sentence case for headings: 'Conversion Helper Functions'.

```typescript
// Convert pending rewards (18 decimals) to SEI
Expand All @@ -346,9 +350,9 @@

<Info>**Note**: When reconciling pending rewards with actual withdrawals, be aware of the 12-decimal difference (10^12 factor) between query results and withdrawal amounts.</Info>

## Practical Examples

Check warning on line 353 in evm/precompiles/distribution.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/precompiles/distribution.mdx#L353

Use sentence case for headings: 'Practical Examples'.

### DeFi Yield Aggregator

Check warning on line 355 in evm/precompiles/distribution.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/precompiles/distribution.mdx#L355

Use sentence case for headings: 'DeFi Yield Aggregator'.

```solidity
contract YieldAggregator {
Expand Down Expand Up @@ -380,7 +384,7 @@
}
```

### Validator Commission Manager

Check warning on line 387 in evm/precompiles/distribution.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/precompiles/distribution.mdx#L387

Use sentence case for headings: 'Validator Commission Manager'.

```solidity
contract ValidatorManager {
Expand All @@ -403,7 +407,7 @@
}
```

## Error Handling

Check warning on line 410 in evm/precompiles/distribution.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/precompiles/distribution.mdx#L410

Use sentence case for headings: 'Error Handling'.

Common error scenarios and how to handle them:

Expand Down Expand Up @@ -437,16 +441,16 @@
}
```

## Gas Optimization Tips

Check warning on line 444 in evm/precompiles/distribution.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/precompiles/distribution.mdx#L444

Use sentence case for headings: 'Gas Optimization Tips'.

1. **Batch Operations**: Use `withdrawMultipleDelegationRewards` for multiple validators
2. **Check Before Withdraw**: Query rewards first to avoid unnecessary transactions
3. **Set Withdraw Address Once**: Avoid repeated `setWithdrawAddress` calls
4. **Commission Timing**: Withdraw validator commission when amounts are substantial

## Integration Patterns

Check warning on line 451 in evm/precompiles/distribution.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/precompiles/distribution.mdx#L451

Use sentence case for headings: 'Integration Patterns'.

### Auto-Compounding Strategy

Check warning on line 453 in evm/precompiles/distribution.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/precompiles/distribution.mdx#L453

Use sentence case for headings: 'Auto-Compounding Strategy'.

```solidity
// Automatically reinvest rewards back into staking
Expand All @@ -459,7 +463,7 @@
}
```

### Treasury Management

Check warning on line 466 in evm/precompiles/distribution.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/precompiles/distribution.mdx#L466

Use sentence case for headings: 'Treasury Management'.

```solidity
// Route all rewards to a DAO treasury
Expand Down
2 changes: 1 addition & 1 deletion evm/precompiles/oracle.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@ keywords: ['oracle precompile', 'ethers.js', 'price feeds', 'exchange rates', 't
---
**Address:** `0x0000000000000000000000000000000000001008`

<Danger>**Deprecation Notice:** The native Sei Oracle is deprecated and will be shut off soon. We strongly recommend migrating to one of the third-party oracle providers, such as [Chainlink](/evm/oracles/chainlink), [Pyth](/evm/oracles/pyth-network), [Redstone](/evm/oracles/redstone), or [API3](/evm/oracles/api3).</Danger>
<Danger>**Retired as of v6.6:** The native Sei Oracle precompile has been retired. As of the v6.6 chain upgrade, both `getExchangeRates` and `getOracleTwaps` now revert with the error `oracle precompile is retired; oracle data queries are disabled` instead of returning data. Any contract that relies on on-chain oracle exchange rate or TWAP queries via this precompile will break after the upgrade. Migrate to one of the third-party oracle providers, such as [Chainlink](/evm/oracles/chainlink), [Pyth](/evm/oracles/pyth-network), [Redstone](/evm/oracles/redstone), or [API3](/evm/oracles/api3).</Danger>
96 changes: 80 additions & 16 deletions evm/reference.mdx

Large diffs are not rendered by default.

9 changes: 9 additions & 0 deletions evm/tracing/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@

Debug tracing is your primary tool for understanding EVM transaction execution on Sei. This comprehensive system allows you to analyze transaction flow, optimize gas usage, debug smart contract interactions, and troubleshoot production issues.

## What You Can Trace

Check warning on line 21 in evm/tracing/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/tracing/index.mdx#L21

Use sentence case for headings: 'What You Can Trace'.

### Transaction Execution

Check warning on line 23 in evm/tracing/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/tracing/index.mdx#L23

Use sentence case for headings: 'Transaction Execution'.

- Step-by-step opcode execution
- Contract call hierarchy
Expand All @@ -34,30 +34,36 @@
- Precompile usage tracking
- External library calls

### Performance Analysis

Check warning on line 37 in evm/tracing/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/tracing/index.mdx#L37

Use sentence case for headings: 'Performance Analysis'.

- Gas optimization opportunities
- Bottleneck identification
- Cache hit/miss patterns
- State access efficiency

### Security Analysis

Check warning on line 44 in evm/tracing/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/tracing/index.mdx#L44

Use sentence case for headings: 'Security Analysis'.

- Suspicious operation detection
- Reentrancy pattern analysis
- Access control verification
- Vulnerability scanning

## Available Tracing Methods

Check warning on line 51 in evm/tracing/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/tracing/index.mdx#L51

Use sentence case for headings: 'Available Tracing Methods'.

| Method | Purpose | Use Case |
| -------------------------- | -------------------------- | ----------------------------- |
| `debug_traceTransaction` | Trace specific transaction | Debugging failed transactions |
| `debug_traceBlockByNumber` | Trace entire block | Block-level analysis |

<Note>
When `debug_traceBlockByNumber` or `debug_traceBlockByHash` run with the default (struct) tracer — that is, when no custom `tracer` is specified — Sei can use a parallelized block trace path in which a failed transaction no longer aborts the entire block trace. Instead, each transaction produces its own per-tx entry in the result array: successful transactions include a `result` field, while failed transactions include an `error` field. This lets you inspect every transaction in a block even when one or more of them fail.

This parallelized path is opt-in and gated by the node config field `evm.enable_parallelized_block_trace` (default `false`). When it is disabled, or when an explicit `tracer` is specified, the legacy trace path is used. Node operators can enable it by setting `enable_parallelized_block_trace = true` in the `[evm]` section of `app.toml` (or via the `--evm.enable_parallelized_block_trace` flag).
</Note>
| `debug_traceCall` | Simulate and trace | Testing before execution |
| `debug_traceStateAccess` | State access patterns | Performance optimization |

## Transaction Analysis Example

Check warning on line 66 in evm/tracing/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/tracing/index.mdx#L66

Use sentence case for headings: 'Transaction Analysis Example'.

Tracing an ERC-20 transfer transaction:

Expand Down Expand Up @@ -267,7 +273,7 @@
</Tab>
</Tabs>

## Debugging Failed Transactions

Check warning on line 276 in evm/tracing/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/tracing/index.mdx#L276

Use sentence case for headings: 'Debugging Failed Transactions'.

Steps to analyze and resolve transaction failures:

Expand All @@ -287,7 +293,7 @@
https://evm-rpc.sei-apis.com
```

### Step 2: Trace the Execution

Check warning on line 296 in evm/tracing/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/tracing/index.mdx#L296

Use sentence case for headings: 'Step 2: Trace the Execution'.

```bash
# Trace to see where it failed
Expand Down Expand Up @@ -331,7 +337,7 @@
}
```

### Step 3: Fix and Test

Check warning on line 340 in evm/tracing/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/tracing/index.mdx#L340

Use sentence case for headings: 'Step 3: Fix and Test'.

```bash
# Simulate the fix with debug_traceCall
Expand Down Expand Up @@ -362,31 +368,31 @@
https://evm-rpc.sei-apis.com
```

## Common Debugging Scenarios

Check warning on line 371 in evm/tracing/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/tracing/index.mdx#L371

Use sentence case for headings: 'Common Debugging Scenarios'.

### Transaction Reverted

Check warning on line 373 in evm/tracing/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/tracing/index.mdx#L373

Use sentence case for headings: 'Transaction Reverted'.

**Problem**: Transaction failed with revert
**Solution**: Use `callTracer` to find the exact revert reason

### Out of Gas

Check warning on line 378 in evm/tracing/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/tracing/index.mdx#L378

Use sentence case for headings: 'Out of Gas'.

**Problem**: Transaction ran out of gas
**Solution**: Use gas analysis tracer to optimize gas usage

### Unexpected Behavior

Check warning on line 383 in evm/tracing/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/tracing/index.mdx#L383

Use sentence case for headings: 'Unexpected Behavior'.

**Problem**: Transaction succeeded but wrong result
**Solution**: Use opcode tracer for step-by-step analysis

### Slow Performance

Check warning on line 388 in evm/tracing/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/tracing/index.mdx#L388

Use sentence case for headings: 'Slow Performance'.

**Problem**: Transaction uses too much gas
**Solution**: Use state access tracer to find inefficiencies

## Quick Reference

Check warning on line 393 in evm/tracing/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/tracing/index.mdx#L393

Use sentence case for headings: 'Quick Reference'.

### Essential Commands

Check warning on line 395 in evm/tracing/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/tracing/index.mdx#L395

Use sentence case for headings: 'Essential Commands'.

```bash
# Trace transaction
Expand All @@ -400,15 +406,18 @@

# State access
debug_traceStateAccess(hash)

# Trace transaction with timing/store-access profiling
debug_traceTransactionProfile(hash, {})
```

### Common Tracers

Check warning on line 414 in evm/tracing/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/tracing/index.mdx#L414

Use sentence case for headings: 'Common Tracers'.

- **`callTracer`**: Contract call hierarchy
- **`opcodeTracer`**: Opcode-level execution
- **Custom JS**: Custom analysis logic

## Next Steps

Check warning on line 420 in evm/tracing/index.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

evm/tracing/index.mdx#L420

Use sentence case for headings: 'Next Steps'.

1. **[JavaScript Tracers](/evm/tracing/javascript-tracers)** - Custom analysis scripts
2. **[Troubleshooting](/evm/tracing/troubleshooting)** - Common issues and solutions
Expand Down
37 changes: 36 additions & 1 deletion learn/sei-giga-specs.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
</Card>
</Columns>

## Consensus Architecture

Check warning on line 23 in learn/sei-giga-specs.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/sei-giga-specs.mdx#L23

Use sentence case for headings: 'Consensus Architecture'.

### Current: Twin Turbo Consensus

Expand All @@ -44,7 +44,7 @@
</Columns>
</Card>

### Upcoming: Autobahn Consensus

Check warning on line 47 in learn/sei-giga-specs.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/sei-giga-specs.mdx#L47

Use sentence case for headings: 'Upcoming: Autobahn Consensus'.

<Card horizontal title="In Development" icon="clock">
<Columns cols={2}>
Expand All @@ -65,9 +65,42 @@
</Columns>
</Card>


### Upcoming: Autobahn Block Limits

Check warning on line 69 in learn/sei-giga-specs.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/sei-giga-specs.mdx#L69

Use sentence case for headings: 'Upcoming: Autobahn Block Limits'.

When a node runs with Autobahn (Sei Giga) consensus enabled, the block producer builds payloads by reaping transactions directly from the shared mempool, subject to hard on-chain block size constraints that are enforced during payload construction.

The block gas limit is no longer a single configurable Autobahn field. The producer now tracks two separate per-block gas dimensions: gas wanted and gas estimated. Each block payload records `total_gas_wanted` and `total_gas_estimated` (replacing the previous single `total_gas` field), and both are enforced against `MaxGasWantedPerBlock` and `MaxGasEstimatedPerBlock` limits during payload construction.

These limits are derived from the genesis `consensus_params.block` values: `MaxGasWantedPerBlock` comes from `max_gas_wanted` and `MaxGasEstimatedPerBlock` comes from `max_gas` — the same gas limit the EVM runtime reads via `ctx.ConsensusParams().Block.MaxGas`. Under Autobahn, `BlockResults`'s `ConsensusParamUpdates.Block.MaxGas` reflects `MaxGasEstimatedPerBlock`. The `max_gas_per_block` field has been removed from the Autobahn config file, so it should be omitted from existing configs.

<Note>Genesis `consensus_params.block.max_gas` must be a positive value. If it is missing or non-positive, node startup fails with `ErrGenesisMaxGasInvalid` (`genesis consensus_params.block.max_gas must be > 0`).</Note>

<Card horizontal title="In Development" icon="clock">
<Columns cols={2}>
<Card horizontal title="Block Size Constraints">
| Property | Value |
| --- | --- |
| Max transactions per block | 2000 (`MaxTxsPerBlock`) |
| Max total tx bytes per block | ~2 MB (`MaxTxsBytesPerBlock` = 2000 × 1024) |
| Max gas wanted per block | Derived from genesis `consensus_params.block.max_gas_wanted` (`MaxGasWantedPerBlock`) |
| Max gas estimated per block | Derived from genesis `consensus_params.block.max_gas` (`MaxGasEstimatedPerBlock`) |
| Block proto size bound | Derived from `MaxTxsPerBlock` and `MaxTxsBytesPerBlock` (`MaxBlockProtoSize`) |
</Card>
<Card horizontal title="Enforcement">
- Total tx bytes may be split arbitrarily across transactions (one large tx or many small ones), up to the `MaxTxsPerBlock` limit.
- Each block payload tracks `total_gas_wanted` and `total_gas_estimated`; a transaction is rejected if adding it would push either total past `MaxGasWantedPerBlock` or `MaxGasEstimatedPerBlock`.
- The gas limits are sourced from genesis `consensus_params.block`; `max_gas` (used for gas estimated) must be greater than zero or the node will refuse to start.
- Under Autobahn, `BlockResults` reports `ConsensusParamUpdates.Block.MaxGas` as `MaxGasEstimatedPerBlock`.
- Limits are validated when the payload is built; payloads exceeding the transaction count or total byte limit are rejected.
- The block proto size bound derives an upper limit on the encoded block used to size networking message windows.
</Card>
</Columns>
</Card>

## Execution Engine

Check warning on line 101 in learn/sei-giga-specs.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/sei-giga-specs.mdx#L101

Use sentence case for headings: 'Execution Engine'.

### Current: Parallel EVM Execution

Check warning on line 103 in learn/sei-giga-specs.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/sei-giga-specs.mdx#L103

Use sentence case for headings: 'Current: Parallel EVM Execution'.

<Card horizontal title="Live Implementation" icon="circle-check">
<Columns cols={3}>
Expand All @@ -94,7 +127,7 @@
| State Model | Account-based |
</Card>

## Storage Architecture

Check warning on line 130 in learn/sei-giga-specs.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/sei-giga-specs.mdx#L130

Use sentence case for headings: 'Storage Architecture'.

### Current: SeiDB

Expand All @@ -117,9 +150,9 @@
</Columns>
</Card>

## Network Specifications

Check warning on line 153 in learn/sei-giga-specs.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/sei-giga-specs.mdx#L153

Use sentence case for headings: 'Network Specifications'.

### Protocol Parameters

Check warning on line 155 in learn/sei-giga-specs.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/sei-giga-specs.mdx#L155

Use sentence case for headings: 'Protocol Parameters'.

**Network Configuration**

Expand All @@ -127,10 +160,12 @@
<Card horizontal title="Consensus Parameters">
| Property | Value |
| --- | --- |
| Max Validators | 100 |
| Max Validators | 100 (hard limit, enforced by Autobahn) |
| Voting Power | Stake-weighted |
| Unbonding Period | 21 days |
| Slashing | Byzantine behavior |

<Note>Under Autobahn consensus, the validator set size is a hard protocol limit rather than just a configurable network parameter. Committee creation (`NewCommittee`) enforces `MaxValidators = 100` and rejects any committee containing more than 100 validators with an error.</Note>
</Card>
<Card horizontal title="Block Parameters">
| Property | Value |
Expand All @@ -142,11 +177,11 @@
</Card>
</Columns>

## Performance Targets

Check warning on line 180 in learn/sei-giga-specs.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/sei-giga-specs.mdx#L180

Use sentence case for headings: 'Performance Targets'.

<Warning>**Engineering Targets**: The following performance specifications represent engineering targets for the upcoming Sei Giga architecture with Autobahn consensus, not current network performance.</Warning>

### Upcoming: Target Performance Specifications

Check warning on line 184 in learn/sei-giga-specs.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/sei-giga-specs.mdx#L184

Use sentence case for headings: 'Upcoming: Target Performance Specifications'.

<Card horizontal title="Performance Targets" icon="gauge-high">
<Columns cols={3}>
Expand All @@ -164,7 +199,7 @@

## Developer Interface

### JSON-RPC Compatibility

Check warning on line 202 in learn/sei-giga-specs.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/sei-giga-specs.mdx#L202

Use sentence case for headings: 'JSON-RPC Compatibility'.

**Ethereum JSON-RPC Support**

Expand All @@ -182,7 +217,7 @@
</Card>
</Columns>

## Related Resources

Check warning on line 220 in learn/sei-giga-specs.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/sei-giga-specs.mdx#L220

Use sentence case for headings: 'Related Resources'.

<Columns cols={2}>
<Card horizontal title="Overview" icon="book" href="/learn/sei-giga">
Expand Down
109 changes: 109 additions & 0 deletions learn/sei-giga.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

<Warning>**Upcoming Features**: Advanced features including Autobahn consensus, multi-proposer architecture, and 5 gigagas throughput targets are in development and represent the next evolution of the platform.</Warning>

## Current Architecture

Check warning on line 16 in learn/sei-giga.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/sei-giga.mdx#L16

Use sentence case for headings: 'Current Architecture'.

Sei's current system delivers significant performance improvements through three core components:

Expand All @@ -28,7 +28,7 @@

[Learn more about Twin Turbo Consensus →](/learn/twin-turbo-consensus)

### 2. Parallel Execution Engine

Check warning on line 31 in learn/sei-giga.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/sei-giga.mdx#L31

Use sentence case for headings: '2. Parallel Execution Engine'.

Sei implements Optimistic Concurrency Control (OCC) for parallel transaction execution:

Expand All @@ -39,7 +39,7 @@

[Learn more about the Parallelization Engine →](/learn/parallelization-engine)

### 3. SeiDB Storage System

Check warning on line 42 in learn/sei-giga.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/sei-giga.mdx#L42

Use sentence case for headings: '3. SeiDB Storage System'.

A specialized database optimized for blockchain workloads:

Expand All @@ -50,11 +50,11 @@

[Learn more about SeiDB →](/learn/seidb)

## Upcoming Sei Giga Architecture

Check warning on line 53 in learn/sei-giga.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/sei-giga.mdx#L53

Use sentence case for headings: 'Upcoming Sei Giga Architecture'.

The next evolution of Sei Giga will introduce three key innovations designed to achieve target performance characteristics:

### 1. Asynchronous Execution Model (Upcoming)

Check warning on line 57 in learn/sei-giga.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/sei-giga.mdx#L57

Use sentence case for headings: '1. Asynchronous Execution Model (Upcoming)'.

A planned architectural enhancement will implement complete separation of consensus and execution. Unlike traditional blockchains where these processes are tightly coupled, the upcoming Sei Giga architecture will reach consensus solely on the ordering of transactions within a block, not the resulting state change.

Expand Down Expand Up @@ -92,7 +92,7 @@
- **Pipelined processing**: Multiple blocks can be in different stages simultaneously
- **Optimized resource usage**: Consensus and execution use different hardware resources

### 2. Autobahn Consensus Protocol (Upcoming)

Check warning on line 95 in learn/sei-giga.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/sei-giga.mdx#L95

Use sentence case for headings: '2. Autobahn Consensus Protocol (Upcoming)'.

<Warning>**Future Features**: The Autobahn consensus protocol described here represents upcoming enhancements. The current system uses optimized Tendermint consensus (Twin Turbo).</Warning>

Expand Down Expand Up @@ -149,7 +149,116 @@
- Two-phase BFT agreement with fast and slow paths
- Pipelined slots for minimal latency



#### Enabling Autobahn on a Node

<Info>**Node Operators**: Autobahn (GigaRouter) can now be enabled experimentally on a node by pointing the `autobahn-config-file` field in `config.toml` to a JSON configuration file. Leave the field empty to keep Autobahn disabled.</Info>

To enable Autobahn, set the following in your node's `config.toml`:

```toml
# Path to a JSON file containing the Autobahn (GigaRouter) configuration.
# Leave empty to disable Autobahn.
autobahn-config-file = "/path/to/autobahn.json"
```

The node must be a committee member: its own validator public key and node public key must appear in the `validators` list of the referenced config file.

<Warning>**Remote signers are not supported**: When `autobahn-config-file` is set, the node fails to start if `priv-validator.laddr` is also configured. A local validator key is required — non-validator (observer) nodes are not yet supported.</Warning>

**Autobahn JSON Configuration Schema**

The file referenced by `autobahn-config-file` is a JSON document with the following fields:

| Field | Type | Description |
| --- | --- | --- |
| `validators` | array | The committee. Each entry is an object with `validator_key` (Autobahn validator public key), `node_key` (p2p node public key), and `address` (network `host:port`). |
| `max_gas_per_block` | number | Maximum gas allowed per block. Must be greater than 0. |
| `max_txs_per_block` | number | Maximum transactions per block. Must be greater than 0. |
| `max_txs_per_second` | number \| null | Optional cap on transactions per second. Omit or set null for no limit. |
| `block_interval` | duration | Target interval between blocks. Must be greater than 0. |
| `allow_empty_blocks` | boolean | Whether empty blocks may be produced. |
| `view_timeout` | duration | Consensus view timeout. Must be greater than 0. |
| `persistent_state_dir` | string \| null | Directory for persisting the Autobahn consensus and data-layer WALs across restarts, so both layers survive process restarts (they share this on-disk root and write to distinct subdirectories under it). Relative paths are resolved against the node's `--home` directory at load time; absolute paths are used as-is. Set to `null` (or generate with an empty `--persistent-state-dir`) to disable persistence and run in-memory only. |
| `dial_interval` | duration | Interval at which peers are dialed. Must be greater than 0. |

Example configuration file:

```json
{
"validators": [
{
"validator_key": "ed25519:public:...",
"node_key": "node:ed25519:public:...",
"address": "peer1.example.com:26660"
}
],
"max_gas_per_block": 50000000,
"max_txs_per_block": 5000,
"max_txs_per_second": 1000,
"mempool_size": 20000,
"block_interval": "200ms",
"allow_empty_blocks": true,
"view_timeout": "1.5s",
"persistent_state_dir": "/tmp/autobahn-state",
"dial_interval": "10s"
}
```

The node validates this file on startup and refuses to start if any required field is missing, if the `validators` list is empty, if a `validator_key` or `node_key` is duplicated, or if the node's own validator and node keys are not present as a matching entry in the `validators` list.



**Generating the config with `gen-autobahn-config`**

Rather than hand-authoring the JSON file, you can generate it from per-node pubkey files using the `seid tendermint gen-autobahn-config` command:

```bash
seid tendermint gen-autobahn-config [node-dirs...] --output <path>
```

The command reads four files from each node directory passed as an argument and assembles one `validators` entry per directory:

- `validator_pubkey.txt` — the Autobahn validator public key, in `validator:<pubkey>` format
- `node_pubkey.txt` — the p2p node public key, in `node:ed25519:public:<hex>` format
- `autobahn_address.txt` — the node's network address in `host:port` format
- `evmrpc_url.txt` — the node's EVM RPC HTTP URL (for example `http://<host>:8545`), used to proxy EVM requests to the validator that owns the sender's shard

The `--output` (or `-o`) flag is required and specifies where the generated JSON config is written. The generated file uses default consensus parameters (for example, a 400ms block interval and a 1.5s view timeout), which you can adjust afterward if needed.

The `validator_pubkey.txt` and `node_pubkey.txt` files are written automatically alongside the validator private key and node key whenever those keys are saved (for example, during `seid init`), so each node's config directory already contains the pubkey files needed for generation. You still need to create the `autobahn_address.txt` file with the node's reachable `host:port` address.

Example generating a config across three node directories:

```bash
seid tendermint gen-autobahn-config \
build/generated/node_0 \
build/generated/node_1 \
build/generated/node_2 \
--output ~/.sei/config/autobahn.json
```

Once generated, point `autobahn-config-file` in `config.toml` at the resulting file to enable Autobahn.



**Reactor changes when Autobahn is enabled**

<Warning>**Behavior change**: When a node runs with `autobahn-config-file` set, several standard reactors are disabled because they are incompatible with Autobahn's block production model.</Warning>

Enabling Autobahn changes how the node builds and synchronizes blocks:

- **Mempool gossip reactor disabled**: Transaction gossip across the standard mempool reactor is turned off. The shared `TxMempool` still accepts and stores transactions, but they are no longer broadcast peer-to-peer through the legacy mempool channel.
- **Consensus reactor disabled**: The Tendermint consensus reactor is not started; block ordering is handled entirely by the Autobahn (GigaRouter) protocol.
- **State sync and block sync disabled**: Both the statesync and blocksync reactors are skipped, so a node cannot catch up through those paths while Autobahn is active.
- **Direct reaping from the shared mempool**: The block producer no longer uses a separate producer mempool channel. Instead, it reaps transactions directly from the shared `TxMempool` when assembling each block's payload.

Because of these changes, an Autobahn-enabled node relies solely on the Autobahn data-dissemination and consensus layers for ordering and propagation, rather than the legacy gossip, consensus, and sync reactors.

<Info>**Block limits**: Autobahn blocks are bounded by hard on-chain limits — at most 2000 transactions per block and roughly 2 MB of total transaction bytes — in addition to the `max_gas_per_block` and `max_txs_per_block` values in the config file. These limits are enforced while the payload is built.</Info>

### 3. Advanced Parallel Execution

Check warning on line 261 in learn/sei-giga.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/sei-giga.mdx#L261

Use sentence case for headings: '3. Advanced Parallel Execution'.

The parallel execution architecture extends beyond current OCC capabilities to include:

Expand Down Expand Up @@ -200,7 +309,7 @@
- **Semantic understanding**: Special handling for common patterns (ERC-20 transfers)
- **Adaptive parallelism**: Dynamic adjustment based on conflict rates

## Storage Architecture Evolution

Check warning on line 312 in learn/sei-giga.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/sei-giga.mdx#L312

Use sentence case for headings: 'Storage Architecture Evolution'.

Beyond the current SeiDB capabilities, the Sei Giga architecture includes advanced storage innovations:

Expand Down Expand Up @@ -238,23 +347,23 @@
</Card>
</Columns>

## Economic Model

Check warning on line 350 in learn/sei-giga.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/sei-giga.mdx#L350

Use sentence case for headings: 'Economic Model'.

Sei operates with a native SEI token that serves multiple functions within the ecosystem:

### Token Distribution

Check warning on line 354 in learn/sei-giga.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/sei-giga.mdx#L354

Use sentence case for headings: 'Token Distribution'.

- **Total Supply**: 10,000,000,000 (10 billion) SEI
- **Initial Distribution**: Allocated across ecosystem participants, validators, and development

### Token Utility

Check warning on line 359 in learn/sei-giga.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/sei-giga.mdx#L359

Use sentence case for headings: 'Token Utility'.

1. **Gas Fees**: All transactions require SEI for execution
2. **Staking**: Validators and delegators stake SEI to secure the network
3. **Governance**: SEI holders participate in protocol governance
4. **Rewards**: Block rewards and fee distribution to validators

### Staking Mechanics

Check warning on line 366 in learn/sei-giga.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/sei-giga.mdx#L366

Use sentence case for headings: 'Staking Mechanics'.

**Staking & Validation**

Expand Down Expand Up @@ -282,25 +391,25 @@
</Card>
</Columns>

## Developer Experience

Check warning on line 394 in learn/sei-giga.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/sei-giga.mdx#L394

Use sentence case for headings: 'Developer Experience'.

Sei maintains full EVM compatibility while providing enhanced capabilities:

### Standard EVM Features

Check warning on line 398 in learn/sei-giga.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/sei-giga.mdx#L398

Use sentence case for headings: 'Standard EVM Features'.

- Complete support for Solidity and Vyper
- Standard JSON-RPC endpoints
- Compatible with existing tools (Hardhat, Foundry, Remix)
- Familiar development workflow

### Enhanced Capabilities

Check warning on line 405 in learn/sei-giga.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/sei-giga.mdx#L405

Use sentence case for headings: 'Enhanced Capabilities'.

- Sub-second transaction finality
- Predictable gas costs
- High throughput for complex applications
- Advanced storage access patterns

## Implementation Status

Check warning on line 412 in learn/sei-giga.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/sei-giga.mdx#L412

Use sentence case for headings: 'Implementation Status'.

**Current & Upcoming Features**

Expand Down Expand Up @@ -332,7 +441,7 @@
</Columns>
</Card>

## Learn More

Check warning on line 444 in learn/sei-giga.mdx

View check run for this annotation

Mintlify / Mintlify Validation (seilabs) - vale-spellcheck

learn/sei-giga.mdx#L444

Use sentence case for headings: 'Learn More'.

Explore the technical components that make Sei's performance possible:

Expand Down
Loading