flaskSanvil

Local development with Sanvil (Seismic Anvil)

Sanvil (Seismic Anvil) is a local development node for testing Seismic applications. It is Seismic's modified version of Foundry's Anvil, supporting the Seismic transaction type (0x4A) and TEE-related operations in a local environment.

Configuration

Property
Value

Chain ID

31337

RPC URL

http://127.0.0.1:8545

Network Type

SeismicFoundry

Transaction Types

Legacy, EIP-1559, Seismic (0x4A)

Installing Sanvil

Sanvil is part of the Seismic Foundry toolchain. Install it with:

# Clone the Seismic Foundry repository
git clone https://github.com/SeismicSystems/seismic-foundry.git
cd seismic-foundry

# Build sanvil
cargo build --release --bin sanvil

# The binary will be at target/release/sanvil

Alternatively, if you have seismicup installed:

Running Sanvil

Start a local Sanvil node:

By default, Sanvil:

  • Listens on 127.0.0.1:8545

  • Uses chain ID 31337

  • Pre-funds 10 test accounts with 10,000 ETH each

  • Provides instant block mining

Connecting

Signed Provider (Full Capabilities)

Unsigned Provider (Read-Only)

With Explicit Type Parameter

circle-info

Always use SeismicFoundry (not SeismicReth) when connecting to Sanvil. Sanvil uses Foundry-compatible transaction serialization that differs from production reth nodes.

Examples

Local Development Workflow

Testing with Multiple Accounts

Integration Test Setup

Well-Known Test Accounts

Sanvil (like Anvil) pre-funds the following accounts with 10,000 ETH each:

These keys are publicly known and must never be used on production networks.

Notes

  • Chain ID 31337 is the default Anvil/Foundry chain ID

  • Sanvil supports the same Seismic transaction type (0x4A) as production nodes

  • Blocks are mined instantly (no waiting for confirmation)

  • Use SeismicFoundry as the network type, not SeismicReth

  • No real value is at stake on the local network

  • Sanvil automatically handles TEE key generation for local encryption testing

See Also

Last updated