API Reference#
REST API and WebSocket documentation for the Seesaw indexer.
Trust model. The REST/WebSocket API is a convenience layer: it serves an off-chain database populated by the indexer from on-chain events. It is read-path infrastructure only — it never holds funds and cannot sign transactions — but its responses are only as fresh and as honest as the indexer that produced them (
GET /api/v1/statusreports freshness). Integrators who do not want to trust the indexer should use the Trustless SDK, which resolves and validates every account directly from any Solana RPC node, with no indexer in the trust path.
Section Map#
| Page | Scope |
|---|---|
| rest-api.md | API conventions (base URL, path prefixes, response envelope, headers, rate limits, data types, pagination) and authenticated endpoints (auth flow, /orders, /positions, /stats, /achievements) |
| endpoints.md | Catalog of public read endpoints, including the exchange-style terminal facade, markets, order book, trades, fee config, referrals, creators, and indexer status |
| asyncapi.yaml | Machine-readable contract for the implemented /ws stream channels |
| ccxt-read-adapter.md | Read-only CCXT-shaped adapter over the exchange facade for third-party terminals and bots |
| websockets.md | Streaming channels (market:*, orderbook:*, positions:*) — connection, subscription, auth, limits |
| trustless-stream-consumer-recipes.md | User-owned Solana stream recipes for Triton One, Helius, QuickNode, Yellowstone, LaserStream, and vanilla Solana WebSockets |
Base URL: https://api.seesaw.markets
Partner Access Policy#
During Solana beta, partner access uses the same public API surface as the web and mobile clients. Seesaw does not offer API keys, quota tiers, or outbound partner webhooks for fills, resolutions, or account events. Wallet-scoped reads and writes use signed Solana wallet authentication; public market data remains available without authentication subject to the documented rate limits.
WebSocket is the only hosted push channel for partners. The failed_webhooks
database table and /webhook/helius route are internal inbound Helius ingestion
infrastructure, not a partner webhook subscription product. Partners should use
canonical /api/v1 REST polling for snapshots and the /ws WebSocket endpoint
for live updates.
Quick Orientation#
The examples below show the two most common first requests. For full parameter and response details, follow the links above.
# Fetch the current market (no auth required)
curl https://api.seesaw.markets/api/v1/markets/current
# Fetch the top of book
curl https://api.seesaw.markets/api/v1/orderbook/top
// Subscribe to live market updates over WebSocket
const ws = new WebSocket('wss://api.seesaw.markets/ws');
ws.onopen = () => {
ws.send(
JSON.stringify({
type: 'subscribe',
channel: 'market:7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU',
})
);
};
ws.onmessage = (event) => {
const data = JSON.parse(event.data);
console.log('Update:', data);
};
See Also#
- Endpoints — public REST read endpoints
- Exchange Facade — terminal-friendly symbols and read-only market data
- CCXT Read Adapter — CCXT-shaped read adapter over the exchange facade
- Full REST Reference — authentication and authenticated endpoints
- WebSockets — real-time updates
- Trustless Stream Consumer Recipes — user-owned stream integration patterns
- SDK Guide — trust-based client SDKs that consume this API
- Trustless SDK — integrate without trusting the indexer