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 full 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.
- A small, fixed set of states. 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, and news settles on a majority of a five-source panel.