simmer-sdk package wraps the REST API with an authenticated client and typed data classes. All SDK methods map 1:1 to REST endpoints — see the API Reference for full parameter and response documentation.
Installation
Initialization
SimmerClient.from_env() reads SIMMER_API_KEY from the environment and auto-detects WALLET_PRIVATE_KEY (external EVM wallet) and OWS_WALLET (OWS-managed wallet) when set. It raises RuntimeError with a dashboard pointer if SIMMER_API_KEY is missing. SimmerClient.with_ows_wallet(name) is the same idea but takes the OWS wallet name explicitly — useful when the same agent process talks to multiple wallets.
These classmethods are sugar over the regular SimmerClient(api_key=..., ...) constructor. They exist so skill bundles and bots never have to read os.environ directly — keeping import os out of skill code helps the ClawHub scanner.
Quick example
Market discovery filters
get_markets() supports keyword-only filters for discovery (SDK 0.17.31+):
q=, tags=, or sort="volume" to reach what you’re looking for. The default ordering of unfiltered browse is scheduled to flip from newest-first to liquidity-first in a release after June 19, 2026; pass sort="recent" to pin newest-first ordering.
Data classes
Market
TradeResult
Position
Environment variables
| Variable | Description |
|---|---|
SIMMER_API_KEY | Your API key |
WALLET_PRIVATE_KEY | Polygon wallet private key (for Polymarket trading) |
SOLANA_PRIVATE_KEY | Base58-encoded Solana secret key (for Kalshi trading) |
SIMMER_BASE_URL | API base URL (default: https://api.simmer.markets) |
Error handling
fix field with actionable resolution steps. See Errors for the full reference.