For the complete documentation index, see llms.txt. This page is also available as Markdown.

SeismicUnsignedProvider

Read-only Seismic provider for public operations without a wallet

Read-only provider for public operations. No wallet or signing capabilities.

Overview

SeismicUnsignedProvider<N: SeismicNetwork> is a lightweight provider for reading public data from Seismic nodes. It does not carry a wallet, cannot sign transactions, and cannot decrypt responses from seismic_call. Use it for:

  • Querying block data, balances, and transaction receipts

  • Fetching the TEE public key

  • Public (unencrypted) contract reads

  • WebSocket subscriptions

For full capabilities (shielded writes, signed reads, response decryption), use SeismicSignedProvider instead.

Construction

All unsigned providers are created via SeismicProviderBuilder — simply omit .wallet():

HTTP

use seismic_prelude::client::*;

let url = "https://testnet-1.seismictest.net/rpc".parse()?;
// connect_http is synchronous for unsigned providers (no .await needed)
let provider = SeismicProviderBuilder::new().connect_http(url);

let block_number = provider.get_block_number().await?;
println!("Block number: {block_number}");

WebSocket

connect_ws() is async because it establishes the WebSocket connection during construction. Use WebSocket transport when you need persistent connections or event subscriptions.

Local Development with sanvil

Use .foundry() to select the SeismicFoundry network type:

Methods

Via SeismicProviderExt

get_tee_pubkey()

Fetch the TEE public key from the node.

Unlike SeismicSignedProvider, the unsigned provider does not cache the TEE pubkey. Each call to get_tee_pubkey() makes a fresh RPC request to seismic_getTeePublicKey.

Via Standard Alloy Provider

All standard Alloy provider methods are available:

Filler Chain

The unsigned provider uses a minimal chain of standard Alloy fillers, shown in operational order:

Step
Filler
Purpose

1

NonceFiller + ChainIdFiller

Composed together; fetch and set the nonce and chain ID

2

GasFiller

Standard Alloy gas estimation via eth_estimateGas

The unsigned provider does not include SeismicElementsFiller or SeismicGasFiller since it cannot perform shielded operations. Only the signed provider includes the full Seismic filler pipeline.

Examples

Query Block Data

Check Account Balance

Fetch TEE Public Key

WebSocket Connection

Limitations

Limitation
Details

No shielded call builder

.seismic() and auto-encryption are compile-time restricted to signed providers

No transaction signing

Cannot send transactions — use SeismicSignedProvider

No shielded calls

SignedProviderExt methods (seismic_call, seismic_send, etc.) are not available

No TEE pubkey caching

Each get_tee_pubkey() call makes a fresh RPC request

Notes

  • The unsigned provider is ideal for monitoring, indexing, and read-only applications

  • All standard Alloy Provider methods work unchanged

  • Both HTTP and WebSocket transports are supported

See Also

Last updated