# Clients

- [Overview](https://docs.seismic.systems/clients/clients.md)
- [TypeScript](https://docs.seismic.systems/clients/typescript.md): TypeScript client libraries for Seismic
- [seismic-viem](https://docs.seismic.systems/clients/typescript/viem.md): TypeScript client library for Seismic, composing with viem to add shielded transactions, encrypted calldata, and signed reads.
- [Installation](https://docs.seismic.systems/clients/typescript/viem/installation.md): Install seismic-viem and configure viem peer dependency
- [Shielded Public Client](https://docs.seismic.systems/clients/typescript/viem/shielded-public-client.md): Read-only client with TEE key access and precompile support
- [Shielded Wallet Client](https://docs.seismic.systems/clients/typescript/viem/shielded-wallet-client.md): Full-featured client with encryption, shielded writes, and signed reads
- [Encryption](https://docs.seismic.systems/clients/typescript/viem/encryption.md): ECDH key exchange, AES-GCM calldata encryption, and the Seismic encryption pipeline
- [Contract Instance](https://docs.seismic.systems/clients/typescript/viem/contract-instance.md): Type-safe shielded contract instances with smart routing and read/write/sread/swrite/tread/twrite/dwrite namespaces
- [Signed Reads](https://docs.seismic.systems/clients/typescript/viem/signed-reads.md): Authenticated read calls that prove caller identity
- [Shielded Writes](https://docs.seismic.systems/clients/typescript/viem/shielded-writes.md): Send encrypted write transactions with shieldedWriteContract
- [Chains](https://docs.seismic.systems/clients/typescript/viem/chains.md): Pre-configured chain definitions for Seismic networks
- [Precompiles](https://docs.seismic.systems/clients/typescript/viem/precompiles.md): Seismic precompiled contracts for cryptographic operations
- [Deposit Contract](https://docs.seismic.systems/clients/typescript/viem/deposit-contract.md): Validator staking operations on the Seismic deposit contract
- [SRC20 Event Watching](https://docs.seismic.systems/clients/typescript/viem/src20.md): Watch and decrypt SRC20 token events
- [seismic-react](https://docs.seismic.systems/clients/typescript/react.md): React hooks and providers for Seismic, composing with wagmi to add shielded wallet management, encrypted transactions, and signed reads to React apps.
- [Installation](https://docs.seismic.systems/clients/typescript/react/installation.md): Install seismic-react and configure peer dependencies
- [Shielded Wallet Provider](https://docs.seismic.systems/clients/typescript/react/shielded-wallet-provider.md): React context provider for shielded wallet and public client
- [Hooks](https://docs.seismic.systems/clients/typescript/react/hooks.md): React hooks for shielded transactions and signed reads
- [useShieldedWallet](https://docs.seismic.systems/clients/typescript/react/hooks/useshieldedwallet.md): Access shielded public and wallet clients from context
- [useShieldedContract](https://docs.seismic.systems/clients/typescript/react/hooks/useshieldedcontract.md): Get a ShieldedContract instance for reads and writes
- [useShieldedRead](https://docs.seismic.systems/clients/typescript/react/hooks/useshieldedread.md): Execute authenticated read calls on shielded contracts
- [useShieldedWrite](https://docs.seismic.systems/clients/typescript/react/hooks/useshieldedwrite.md): Send encrypted write transactions to shielded contracts
- [Wallet Guides](https://docs.seismic.systems/clients/typescript/react/wallet-guides.md): Integrate Seismic with popular wallet connection libraries
- [RainbowKit](https://docs.seismic.systems/clients/typescript/react/wallet-guides/rainbowkit.md): Set up RainbowKit with Seismic for wallet connection
- [Privy](https://docs.seismic.systems/clients/typescript/react/wallet-guides/privy.md): Set up Privy with Seismic for email and social login
- [AppKit](https://docs.seismic.systems/clients/typescript/react/wallet-guides/appkit.md): Set up AppKit (WalletConnect) with Seismic
- [Chains](https://docs.seismic.systems/clients/typescript/react/chains.md): RainbowKit-compatible chain configurations for Seismic networks
- [Seismic Testnet](https://docs.seismic.systems/clients/typescript/react/chains/seismic-testnet.md): Seismic public testnet chain configuration
- [Sanvil](https://docs.seismic.systems/clients/typescript/react/chains/sanvil.md): Local development chain configurations
- [Create Seismic Devnet](https://docs.seismic.systems/clients/typescript/react/chains/create-seismic-devnet.md): Factory function for custom Seismic chain configurations
- [Examples](https://docs.seismic.systems/clients/typescript/react/examples.md): Complete runnable examples for Seismic React
- [Basic dApp](https://docs.seismic.systems/clients/typescript/react/examples/basic-dapp.md): Complete minimal dApp with shielded writes and signed reads
- [Python — seismic-web3](https://docs.seismic.systems/clients/python.md): Python SDK for Seismic, built on web3.py
- [Client](https://docs.seismic.systems/clients/python/client.md): Creating sync and async Seismic clients
- [create\_wallet\_client](https://docs.seismic.systems/clients/python/client/create-wallet-client.md): Create sync Web3 instance with full Seismic wallet capabilities
- [create\_async\_wallet\_client](https://docs.seismic.systems/clients/python/client/create-async-wallet-client.md): Create async Web3 instance with full Seismic wallet capabilities
- [create\_public\_client](https://docs.seismic.systems/clients/python/client/create-public-client.md): Create sync Web3 instance with public (read-only) Seismic access
- [create\_async\_public\_client](https://docs.seismic.systems/clients/python/client/create-async-public-client.md): Create async Web3 instance with public (read-only) Seismic access
- [EncryptionState](https://docs.seismic.systems/clients/python/client/encryption-state.md): Holds AES key and encryption keypair derived from ECDH
- [get\_encryption](https://docs.seismic.systems/clients/python/client/get-encryption.md): Derive encryption state from TEE public key using ECDH
- [Contract](https://docs.seismic.systems/clients/python/contract.md): Instantiating contracts and interacting through shielded and transparent namespaces
- [ShieldedContract](https://docs.seismic.systems/clients/python/contract/shielded-contract.md): Sync contract wrapper with shielded and transparent namespaces
- [AsyncShieldedContract](https://docs.seismic.systems/clients/python/contract/async-shielded-contract.md): Async contract wrapper with shielded and transparent namespaces
- [PublicContract](https://docs.seismic.systems/clients/python/contract/public-contract.md): Sync contract wrapper with transparent read-only access
- [AsyncPublicContract](https://docs.seismic.systems/clients/python/contract/async-public-contract.md): Async contract wrapper with transparent read-only access
- [Namespaces](https://docs.seismic.systems/clients/python/contract/namespaces.md): Contract interaction namespaces for shielded and transparent operations
- [.write](https://docs.seismic.systems/clients/python/contract/namespaces/write.md): Shielded write namespace for encrypted contract transactions
- [.read](https://docs.seismic.systems/clients/python/contract/namespaces/read.md): Signed read namespace for encrypted contract queries
- [.twrite](https://docs.seismic.systems/clients/python/contract/namespaces/twrite.md): Transparent write namespace for standard contract transactions
- [.tread](https://docs.seismic.systems/clients/python/contract/namespaces/tread.md): Transparent read namespace for standard contract calls
- [.dwrite](https://docs.seismic.systems/clients/python/contract/namespaces/dwrite.md): Debug write namespace for encrypted transactions with inspection
- [Chains](https://docs.seismic.systems/clients/python/chains.md): Network configurations and chain constants
- [ChainConfig](https://docs.seismic.systems/clients/python/chains/chain-config.md): Immutable network configuration dataclass
- [SEISMIC\_TESTNET](https://docs.seismic.systems/clients/python/chains/seismic-testnet.md): Pre-configured Seismic public testnet
- [SANVIL](https://docs.seismic.systems/clients/python/chains/sanvil.md): Pre-configured local development network
- [make\_seismic\_testnet](https://docs.seismic.systems/clients/python/chains/make-seismic-testnet.md): Factory function for testnet chain configs
- [SEISMIC\_TX\_TYPE](https://docs.seismic.systems/clients/python/chains/seismic-tx-type.md): Transaction type byte for Seismic transactions
- [Precompiles](https://docs.seismic.systems/clients/python/precompiles.md): Call Mercury EVM precompiles from Python
- [rng](https://docs.seismic.systems/clients/python/precompiles/rng.md): Generate random bytes on-chain
- [ecdh](https://docs.seismic.systems/clients/python/precompiles/ecdh.md): On-chain elliptic-curve Diffie-Hellman key exchange
- [aes\_gcm\_encrypt](https://docs.seismic.systems/clients/python/precompiles/aes-gcm-encrypt.md): On-chain AES-256-GCM encryption
- [aes\_gcm\_decrypt](https://docs.seismic.systems/clients/python/precompiles/aes-gcm-decrypt.md): On-chain AES-256-GCM decryption
- [hkdf](https://docs.seismic.systems/clients/python/precompiles/hkdf.md): On-chain HKDF-SHA256 key derivation
- [secp256k1\_sign](https://docs.seismic.systems/clients/python/precompiles/secp256k1-sign.md): On-chain secp256k1 ECDSA signing
- [API Reference](https://docs.seismic.systems/clients/python/api-reference.md): Core Python SDK types and EIP-712 helpers
- [Types](https://docs.seismic.systems/clients/python/api-reference/types.md): Core type definitions for the Python SDK
- [Bytes32](https://docs.seismic.systems/clients/python/api-reference/types/bytes32.md): Fixed-size 32-byte value type
- [PrivateKey](https://docs.seismic.systems/clients/python/api-reference/types/private-key.md): 32-byte secp256k1 private key
- [CompressedPublicKey](https://docs.seismic.systems/clients/python/api-reference/types/compressed-public-key.md): 33-byte compressed secp256k1 public key
- [EncryptionNonce](https://docs.seismic.systems/clients/python/api-reference/types/encryption-nonce.md): 12-byte AES-GCM encryption nonce
- [hex\_to\_bytes](https://docs.seismic.systems/clients/python/api-reference/types/hex-to-bytes.md): Convert a hex string to raw bytes
- [Transaction Types](https://docs.seismic.systems/clients/python/api-reference/transaction-types.md): Transaction type definitions for the Python SDK
- [Signature](https://docs.seismic.systems/clients/python/api-reference/transaction-types/signature.md): ECDSA signature components
- [SeismicElements](https://docs.seismic.systems/clients/python/api-reference/transaction-types/seismic-elements.md): Seismic-specific transaction fields
- [SeismicSecurityParams](https://docs.seismic.systems/clients/python/api-reference/transaction-types/seismic-security-params.md): Optional security parameters for shielded transactions
- [UnsignedSeismicTx](https://docs.seismic.systems/clients/python/api-reference/transaction-types/unsigned-seismic-tx.md): Complete unsigned Seismic transaction
- [TxSeismicMetadata](https://docs.seismic.systems/clients/python/api-reference/transaction-types/tx-seismic-metadata.md): Transaction metadata used for AAD context
- [LegacyFields](https://docs.seismic.systems/clients/python/api-reference/transaction-types/legacy-fields.md): Standard EVM transaction fields
- [PlaintextTx](https://docs.seismic.systems/clients/python/api-reference/transaction-types/plaintext-tx.md): Unencrypted transaction view for debugging
- [DebugWriteResult](https://docs.seismic.systems/clients/python/api-reference/transaction-types/debug-write-result.md): Result from debug shielded write
- [EIP-712](https://docs.seismic.systems/clients/python/api-reference/eip712.md): EIP-712 signing helpers for the Python SDK
- [sign\_seismic\_tx\_eip712](https://docs.seismic.systems/clients/python/api-reference/eip712/sign-seismic-tx-eip712.md): Sign and serialize TxSeismic using EIP-712 hashing
- [eip712\_signing\_hash](https://docs.seismic.systems/clients/python/api-reference/eip712/eip712-signing-hash.md): Compute final EIP-712 signing digest for TxSeismic
- [domain\_separator](https://docs.seismic.systems/clients/python/api-reference/eip712/domain-separator.md): Compute Seismic EIP-712 domain separator
- [struct\_hash](https://docs.seismic.systems/clients/python/api-reference/eip712/struct-hash.md): Compute TxSeismic EIP-712 struct hash
- [build\_seismic\_typed\_data](https://docs.seismic.systems/clients/python/api-reference/eip712/build-seismic-typed-data.md): Build eth\_signTypedData\_v4 payload for TxSeismic
- [Namespaces](https://docs.seismic.systems/clients/python/namespaces.md): The \`w3.seismic\` namespace classes
- [SeismicNamespace](https://docs.seismic.systems/clients/python/namespaces/seismic-namespace.md): Sync wallet Seismic namespace
- [AsyncSeismicNamespace](https://docs.seismic.systems/clients/python/namespaces/async-seismic-namespace.md): Async wallet Seismic namespace
- [SeismicPublicNamespace](https://docs.seismic.systems/clients/python/namespaces/seismic-public-namespace.md): Sync read-only Seismic namespace
- [AsyncSeismicPublicNamespace](https://docs.seismic.systems/clients/python/namespaces/async-seismic-public-namespace.md): Async read-only Seismic namespace
- [Methods](https://docs.seismic.systems/clients/python/namespaces/methods.md): Method-level reference for \`w3.seismic\`
- [send\_shielded\_transaction](https://docs.seismic.systems/clients/python/namespaces/methods/send-shielded-transaction.md): Send encrypted TxSeismic transaction
- [signed\_call](https://docs.seismic.systems/clients/python/namespaces/methods/signed-call.md): Execute signed encrypted eth\_call
- [debug\_send\_shielded\_transaction](https://docs.seismic.systems/clients/python/namespaces/methods/debug-send-shielded-transaction.md): Send shielded transaction and return debug artifacts
- [get\_tee\_public\_key](https://docs.seismic.systems/clients/python/namespaces/methods/get-tee-public-key.md): Fetch the node TEE compressed public key
- [get\_deposit\_root](https://docs.seismic.systems/clients/python/namespaces/methods/get-deposit-root.md): Read deposit Merkle root from deposit contract
- [get\_deposit\_count](https://docs.seismic.systems/clients/python/namespaces/methods/get-deposit-count.md): Read deposit count from deposit contract
- [deposit](https://docs.seismic.systems/clients/python/namespaces/methods/deposit.md): Submit a validator deposit transaction
- [SRC20](https://docs.seismic.systems/clients/python/src20.md): SRC20 token usage with shielded reads/writes
- [Event Watching](https://docs.seismic.systems/clients/python/src20/event-watching.md): Watch and decrypt SRC20 Transfer and Approval events
- [watch\_src20\_events](https://docs.seismic.systems/clients/python/src20/event-watching/watch-src20-events.md): Watch SRC20 events with automatic key fetching
- [SRC20EventWatcher](https://docs.seismic.systems/clients/python/src20/event-watching/src20-event-watcher.md): Synchronous SRC20 event watcher class
- [AsyncSRC20EventWatcher](https://docs.seismic.systems/clients/python/src20/event-watching/async-src20-event-watcher.md): Asynchronous SRC20 event watcher class
- [Intelligence Providers](https://docs.seismic.systems/clients/python/src20/intelligence-providers.md): Viewing key management and encrypted event decryption
- [register\_viewing\_key](https://docs.seismic.systems/clients/python/src20/intelligence-providers/register-viewing-key.md): Register a viewing key in the Directory contract
- [get\_viewing\_key](https://docs.seismic.systems/clients/python/src20/intelligence-providers/get-viewing-key.md): Fetch your viewing key from the Directory contract
- [check\_has\_key](https://docs.seismic.systems/clients/python/src20/intelligence-providers/check-has-key.md): Check if an address has a registered viewing key
- [watch\_src20\_events\_with\_key](https://docs.seismic.systems/clients/python/src20/intelligence-providers/watch-src20-events-with-key.md): Watch SRC20 events with an explicit viewing key
- [Types](https://docs.seismic.systems/clients/python/src20/types.md): Data types for SRC20 event watching
- [DecryptedTransferLog](https://docs.seismic.systems/clients/python/src20/types/decrypted-transfer-log.md): Decoded SRC20 Transfer event with decrypted amount
- [DecryptedApprovalLog](https://docs.seismic.systems/clients/python/src20/types/decrypted-approval-log.md): Decoded SRC20 Approval event with decrypted amount
- [ABIs](https://docs.seismic.systems/clients/python/abis.md): Built-in ABI constants and deposit helper functions
- [SRC20\_ABI](https://docs.seismic.systems/clients/python/abis/src20-abi.md): SRC20 token interface ABI constant
- [Deposit Contract](https://docs.seismic.systems/clients/python/abis/deposit-contract.md): Validator deposit contract ABI and address constants
- [Directory](https://docs.seismic.systems/clients/python/abis/directory.md): Directory contract ABI and address for viewing key management
- [compute\_deposit\_data\_root](https://docs.seismic.systems/clients/python/abis/compute-deposit-data-root.md): Compute SSZ-style deposit data root for validator deposits
- [make\_withdrawal\_credentials](https://docs.seismic.systems/clients/python/abis/make-withdrawal-credentials.md): Build 32-byte ETH1 withdrawal credentials from an address
- [Guides](https://docs.seismic.systems/clients/python/guides.md): Step-by-step guides for common workflows
- [Shielded Write](https://docs.seismic.systems/clients/python/guides/shielded-write.md): Encrypted transactions — lifecycle, security parameters, and the low-level API
- [Signed Reads](https://docs.seismic.systems/clients/python/guides/signed-reads.md): Encrypted eth\_call that proves your identity to the contract
- [SRC20 Workflow](https://docs.seismic.systems/clients/python/guides/src20-workflow.md): Read metadata, check balance, approve, and transfer with SRC20
- [Async Patterns](https://docs.seismic.systems/clients/python/guides/async-patterns.md): Concurrent operations and async best practices
- [Rust — seismic-alloy](https://docs.seismic.systems/clients/alloy.md): Rust SDK for Seismic, built on Alloy
- [Installation](https://docs.seismic.systems/clients/alloy/installation.md): Cargo setup, dependencies, and prerequisites for seismic-alloy
- [Provider](https://docs.seismic.systems/clients/alloy/provider.md): Signed and unsigned provider types for interacting with Seismic nodes
- [SeismicSignedProvider](https://docs.seismic.systems/clients/alloy/provider/seismic-signed-provider.md): Full-featured Seismic provider with wallet integration, encryption, and response decryption
- [SeismicUnsignedProvider](https://docs.seismic.systems/clients/alloy/provider/seismic-unsigned-provider.md): Read-only Seismic provider for public operations without a wallet
- [Encryption](https://docs.seismic.systems/clients/alloy/provider/encryption.md): TEE key exchange, ECDH shared secret derivation, and AES-GCM calldata encryption
- [Contract Interaction](https://docs.seismic.systems/clients/alloy/contract-interaction.md): Interacting with Seismic contracts using seismic-alloy
- [Shielded Calls](https://docs.seismic.systems/clients/alloy/contract-interaction/shielded-calls.md): Encrypted writes and signed reads using seismic-alloy
- [Transparent Calls](https://docs.seismic.systems/clients/alloy/contract-interaction/transparent-calls.md): Standard Ethereum calls without encryption
- [Transaction Types](https://docs.seismic.systems/clients/alloy/transaction-types.md): Seismic transaction types and data structures in seismic-alloy
- [TxSeismic](https://docs.seismic.systems/clients/alloy/transaction-types/tx-seismic.md): Core Seismic transaction type (0x4A)
- [TxSeismicElements](https://docs.seismic.systems/clients/alloy/transaction-types/tx-seismic-elements.md): Encryption metadata and security parameters for Seismic transactions
- [TxSeismicMetadata](https://docs.seismic.systems/clients/alloy/transaction-types/tx-seismic-metadata.md): Transaction metadata used for AAD in AEAD encryption
- [SeismicTxEnvelope](https://docs.seismic.systems/clients/alloy/transaction-types/seismic-tx-envelope.md): Signed transaction wrapper supporting all Ethereum and Seismic types
- [Network](https://docs.seismic.systems/clients/alloy/network.md): Network abstractions for Seismic chain interaction
- [SeismicNetwork Trait](https://docs.seismic.systems/clients/alloy/network/seismic-network-trait.md): Core trait defining Seismic network behavior
- [SeismicReth](https://docs.seismic.systems/clients/alloy/network/seismic-reth.md): Production network type for Seismic devnet, testnet, and mainnet
- [SeismicFoundry](https://docs.seismic.systems/clients/alloy/network/seismic-foundry.md): Development network type for Sanvil (Seismic Anvil) local testing
- [Wallet](https://docs.seismic.systems/clients/alloy/wallet.md): Seismic wallet for transaction signing
- [SeismicWallet](https://docs.seismic.systems/clients/alloy/wallet/seismic-wallet.md): Multi-signer wallet generic over SeismicNetwork
- [Fillers](https://docs.seismic.systems/clients/alloy/fillers.md): Transaction filler pipeline for Seismic-specific processing
- [SeismicElementsFiller](https://docs.seismic.systems/clients/alloy/fillers/seismic-elements-filler.md): Encryption elements generation and calldata encryption filler
- [SeismicGasFiller](https://docs.seismic.systems/clients/alloy/fillers/seismic-gas-filler.md): Gas estimation filler with deferred support for seismic transactions
- [Chains](https://docs.seismic.systems/clients/alloy/chains.md): Chain configurations for Seismic networks
- [Seismic Testnet](https://docs.seismic.systems/clients/alloy/chains/seismic-testnet.md): Seismic public testnet connection and configuration
- [Sanvil](https://docs.seismic.systems/clients/alloy/chains/sanvil.md): Local development with Sanvil (Seismic Anvil)
- [Precompiles](https://docs.seismic.systems/clients/alloy/precompiles.md): Call Mercury EVM precompiles from Rust
- [rng](https://docs.seismic.systems/clients/alloy/precompiles/rng.md): Generate random bytes on-chain
- [ecdh](https://docs.seismic.systems/clients/alloy/precompiles/ecdh.md): On-chain elliptic-curve Diffie-Hellman key exchange
- [aes\_gcm\_encrypt](https://docs.seismic.systems/clients/alloy/precompiles/aes-gcm-encrypt.md): On-chain AES-256-GCM encryption
- [aes\_gcm\_decrypt](https://docs.seismic.systems/clients/alloy/precompiles/aes-gcm-decrypt.md): On-chain AES-256-GCM decryption
- [hkdf](https://docs.seismic.systems/clients/alloy/precompiles/hkdf.md): On-chain HKDF-SHA256 key derivation
- [secp256k1\_sign](https://docs.seismic.systems/clients/alloy/precompiles/secp256k1-sign.md): On-chain secp256k1 ECDSA signing
- [SRC20](https://docs.seismic.systems/clients/alloy/src20.md): Privacy-preserving ERC20 tokens with shielded balances
- [Token Interaction](https://docs.seismic.systems/clients/alloy/src20/token-interaction.md): Reading and writing SRC20 token balances and allowances
- [Transfers](https://docs.seismic.systems/clients/alloy/src20/transfers.md): Shielded transfer patterns for SRC20 tokens
- [Event Decryption](https://docs.seismic.systems/clients/alloy/src20/event-decryption.md): Decrypting encrypted SRC20 Transfer and Approval events
- [Guides](https://docs.seismic.systems/clients/alloy/guides.md): Step-by-step guides for common workflows
- [Shielded Write](https://docs.seismic.systems/clients/alloy/guides/shielded-write.md): Encrypted transactions — lifecycle, security parameters, and the filler pipeline
- [Signed Reads](https://docs.seismic.systems/clients/alloy/guides/signed-reads.md): Encrypted eth\_call that proves your identity to the contract
- [Examples](https://docs.seismic.systems/clients/alloy/examples.md): Complete runnable examples
- [Basic Setup](https://docs.seismic.systems/clients/alloy/examples/basic-setup.md): Complete provider setup with connection verification
- [Shielded Write Complete](https://docs.seismic.systems/clients/alloy/examples/shielded-write-complete.md): Full shielded write lifecycle from deployment to receipt verification
- [Signed Read Pattern](https://docs.seismic.systems/clients/alloy/examples/signed-read-pattern.md): Authenticated read pattern with encrypted request and response
- [Contract Deployment](https://docs.seismic.systems/clients/alloy/examples/contract-deployment.md): Deploy and interact with a shielded contract


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.seismic.systems/clients.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
