# Clients

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