Skip to main content

Seismic Python SDK — web3.py extensions for the Seismic network

Project description

seismic-web3

Python SDK for Seismic, built on web3.py. Requires Python 3.10+.

pip install seismic-web3

Client types

The SDK provides two client types:

  • Wallet client — you provide a private key. Gives you full capabilities: shielded reads/writes, signed calls, deposits.
  • Public client — no private key needed. Read-only access via transparent eth_call.

Quick start

import os
from seismic_web3 import SEISMIC_TESTNET, PrivateKey

pk = PrivateKey.from_hex_str(os.environ["PRIVATE_KEY"])

# Wallet client — full capabilities (requires private key)
w3 = SEISMIC_TESTNET.wallet_client(pk)

contract = w3.seismic.contract(address="0x...", abi=ABI)

# Shielded write — calldata is encrypted (TxSeismic type 0x4a)
tx_hash = contract.write.setNumber(42)
receipt = w3.eth.wait_for_transaction_receipt(tx_hash)

# Shielded read — signed, encrypted eth_call
result = contract.read.getNumber()
# Public client — read-only (no private key needed)
public = SEISMIC_TESTNET.public_client()

contract = public.seismic.contract(address="0x...", abi=ABI)
result = contract.tread.getNumber()

ShieldedContract (from the wallet client) exposes five namespaces:

Namespace What it does On-chain visibility
.write Encrypted transaction (TxSeismic type 0x4a) Calldata hidden
.read Encrypted signed eth_call Calldata + result hidden
.twrite Standard eth_sendTransaction Calldata visible
.tread Standard eth_call Calldata visible
.dwrite Debug write — returns plaintext + encrypted views Calldata hidden

Both sync and async clients are supported. See the full documentation for details.

Documentation

Full docs are hosted on GitBook: docs.seismic.systems/clients/python

Contributing

See DEVELOPMENT.md for local setup, running tests, and publishing.


This SDK was entirely vibecoded.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

seismic_web3-0.2.0.tar.gz (256.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

seismic_web3-0.2.0-py3-none-any.whl (59.5 kB view details)

Uploaded Python 3

File details

Details for the file seismic_web3-0.2.0.tar.gz.

File metadata

  • Download URL: seismic_web3-0.2.0.tar.gz
  • Upload date:
  • Size: 256.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.3

File hashes

Hashes for seismic_web3-0.2.0.tar.gz
Algorithm Hash digest
SHA256 e232d622361319792bb08006cefcff59fb129c682d834386b0dd5098a3b64e14
MD5 c7acc816da48787678de6eed6e2f1b0a
BLAKE2b-256 eca652ceae7dc2c527e0a29c565b9cd1262fda4046b88d1230fc23593992cb7e

See more details on using hashes here.

File details

Details for the file seismic_web3-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for seismic_web3-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 be3a078127a9a2ce7684934a4b7828aa0cad8ccc6866625c6ba6fa6000e8478d
MD5 60993b8a0c9f9f87aa7609461b10e943
BLAKE2b-256 3d6937aa8ba6fe791f34062b87f294b69d913b404e316819893a0035cb607b2b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page