# Guides

These guides walk through the core interaction patterns in the Python SDK, from wallet setup to shielded transactions and private token operations.

## Available Guides

### [Shielded Write](https://docs.seismic.systems/clients/python/guides/shielded-write)

Send encrypted transactions with `TxSeismic`. Covers the encryption lifecycle, security parameters, the low-level API, and debug mode.

### [Signed Reads](https://docs.seismic.systems/clients/python/guides/signed-reads)

Execute encrypted `eth_call` reads that prove your identity via `msg.sender`. Covers when to use `.read` vs `.tread`, what gets encrypted, and the low-level API.

### [SRC20 Workflow](https://docs.seismic.systems/clients/python/guides/src20-workflow)

End-to-end token workflow: read metadata, check balances, approve, and transfer using the SRC20 standard.

### [Async Patterns](https://docs.seismic.systems/clients/python/guides/async-patterns)

Concurrent operations, resource cleanup, and async best practices.

## Before You Start

Both shielded writes and signed reads require a wallet client:

```python
import os
from seismic_web3 import PrivateKey, SEISMIC_TESTNET

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

# Sync
w3 = SEISMIC_TESTNET.wallet_client(pk)

# Async
w3 = await SEISMIC_TESTNET.async_wallet_client(pk)
```

To verify your connection:

```python
print(f"Chain ID: {w3.eth.chain_id}")
print(f"Block: {w3.eth.block_number}")
print(f"Address: {w3.eth.default_account}")
print(f"TEE public key: {w3.seismic.get_tee_public_key().to_0x_hex()}")
```

## See Also

* [Client Setup](https://docs.seismic.systems/clients/python/client) — Full client configuration reference
* [Contract Interaction](https://docs.seismic.systems/clients/python/contract) — Contract wrapper patterns
* [SRC20 Tokens](https://docs.seismic.systems/clients/python/src20) — Token standard documentation
* [API Reference](https://docs.seismic.systems/clients/python/api-reference) — Complete API documentation
