Thassa Developer Docs
Build on the social prediction platform
Thassa pairs a social feed with cent-priced binary prediction markets. Everything the app can do with markets, your code can do too — the app and the API share one user base, one order book, and one non-custodial signing model. These docs cover the protocol (contracts, settlement, fees) and the Kalshi-style trading API.
30-second quickstart
Market data requires no auth. List live markets against the dev backend (http://localhost:8080):
curl "http://localhost:8080/trade-api/v1/markets?status=OPEN&limit=3"Trading requires an API key minted in the app — start here.
Sections
Getting started
One account across app + API, minting keys, environments, envelopes, and idempotency.
Protocol
How markets settle: hub → PoA verifier → node → callback, the order book, fees, and gasless signing.
API reference
Every REST endpoint with curl, TypeScript, and Python examples, plus the WebSocket protocol.
Three things to know
- Non-custodial by construction. Orders are EIP-712 typed data funded by an EIP-3009 payment authorization; the authorization’s nonce is the order digest, so one signature commits to both. Thassa relays and pays gas — it never holds keys or funds.
- One-word states, everywhere. Markets are
PENDING·OPEN·MATCHED·SETTLING·SETTLED·VOID; orders areSIGNING·QUEUED·RESTING·PARTIAL·FILLED·CANCELED. The API returns these strings verbatim. - Settlement is public. Every market stores a structured settlement query onchain naming the exact sources that decide it — numeric data settles on one publicly named source, boolean news on a majority of a five-source panel.