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.3.0.tar.gz (261.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.3.0-py3-none-any.whl (60.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for seismic_web3-0.3.0.tar.gz
Algorithm Hash digest
SHA256 b4128505b14c5b0a9b152122e28a0ed0b705aa444a30a27a6d9402714a834ef8
MD5 9b5a306962649dd2e58ba2624c39e922
BLAKE2b-256 c231efc2ee0977c3e5e5ff0f4f596033554119bbea9c3814cf5b9db32c616957

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for seismic_web3-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1119161773f5dd14bef30fdf9f2f8377d36a0162356b545dc03492e683626443
MD5 2633ed49b61d5f6aa1c867f55b664a4e
BLAKE2b-256 91615120a5b524ce565cd2c7c4ad1005397504b564880a30fd4244a0ed8c9aa0

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