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.2.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.2-py3-none-any.whl (59.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: seismic_web3-0.2.2.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.2.tar.gz
Algorithm Hash digest
SHA256 43e1e4767fea0a38335d5b4789eed744b14519a6e3359c7e9e530c9b058e53f9
MD5 03de253bfd813c9da32e26ce9ec00b59
BLAKE2b-256 9e06d57c312f0d04b7c3ee9932836282589a156dc059fcb16d67010a511de1bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for seismic_web3-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0bf39445209ae9de67d8657857cc010f20eb34f19e85d10f67a172993f0b14dd
MD5 53fd59bf70cd5328e03a434d30c52c2f
BLAKE2b-256 4c36bf9247f26e567a0bd4628cb54f297605a170ae7c8d25e3820c563ef11a2f

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