Seismic Python SDK — web3.py extensions for the Seismic privacy-enabled EVM
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
from seismic_web3 import SEISMIC_TESTNET, PrivateKey
pk = PrivateKey(bytes.fromhex("YOUR_PRIVATE_KEY_HEX"))
# 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file seismic_web3-0.1.1.tar.gz.
File metadata
- Download URL: seismic_web3-0.1.1.tar.gz
- Upload date:
- Size: 249.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a2706398d60c7906b3d835c1f5847aebd1cc50ac819a199caabd29e4a843be79
|
|
| MD5 |
d86eec848116a3fd2b9363e707bee42d
|
|
| BLAKE2b-256 |
26f3cf53d534d557b5560837e60542382db82b275585fe50677d6293fd758698
|
File details
Details for the file seismic_web3-0.1.1-py3-none-any.whl.
File metadata
- Download URL: seismic_web3-0.1.1-py3-none-any.whl
- Upload date:
- Size: 56.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4bdfc5ca5d96e0fc808800528f842923b97320f733abebbde5b2b13b6fed93ef
|
|
| MD5 |
dbab6e58c6aae7234d30aab1a2eaf963
|
|
| BLAKE2b-256 |
8a63e90062f56f09ea60c1026dd4c15d5d55168455bc9cdb2baa5917d265a7dc
|