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.
Metadata
Release files for seismic-web3 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| seismic_web3-0.3.0.tar.gz | 261.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| seismic_web3-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 321.8 kB
Release files / seismic_web3-0.3.0.tar.gz
| Download URL | seismic_web3-0.3.0.tar.gz |
|---|---|
| Size | 261.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b4128505b14c5b0a9b152122e28a0ed0b705aa444a30a27a6d9402714a834ef8
|
|
BLAKE2b-256 checksum How to use checksums |
c231efc2ee0977c3e5e5ff0f4f596033554119bbea9c3814cf5b9db32c616957
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.3
|
Release files / seismic_web3-0.3.0-py3-none-any.whl
| Download URL | seismic_web3-0.3.0-py3-none-any.whl |
|---|---|
| Size | 60.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1119161773f5dd14bef30fdf9f2f8377d36a0162356b545dc03492e683626443
|
|
BLAKE2b-256 checksum How to use checksums |
91615120a5b524ce565cd2c7c4ad1005397504b564880a30fd4244a0ed8c9aa0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.3
|