Two surfaces, and when to use which:
api.kash.bot(this API) is for machines. Every request carries an API key, which gives you per-key rate limits, telemetry and spending caps. Trading, portfolio, disputes and webhooks live here.app.kash.bot/api(the Public Embed API) is for embedding: anonymous reads for showing markets in websites and apps. No trading.
What’s in v1
Markets & quotes
Browse markets, read one market, quote a buy or sell, read recent trades.
Trades
Place buy and sell orders, confirm high-value trades, read your trades.
Portfolio & redemptions
Your smart account and positions; claim settled positions back to USDC.
Market disputes
Dispute a proposed resolution during its dispute window.
Webhooks
Signed, retried, replayable trade lifecycle events at your endpoint.
Account usage
Per-key trade volume, latency, webhook success and auth failures.
Traces
The event timeline behind one trade, for debugging.
Base URLs
kash_live_; staging keys start kash_test_.
API versions
The URL is versioned (/v1/). Within v1, you pick a contract date with the X-Kash-Api-Version request header. Two dates are supported:
Sending no header is the same as sending
2026-08-19. Pin a date if you want your integration to stay on one contract. Any other value is refused with 410 API_VERSION_UNSUPPORTED, whose body lists the supported versions.
Responses carry X-API-Version, the contract date that served the request: your pinned value, or 2026-08-19 when you sent no header. Webhook deliveries always use 2026-08-19. When a version is scheduled for removal, responses also carry Sunset and Deprecation headers (RFC 8594).
Design principles
- Stripe-shaped wire protocol. RFC 7807 errors with a stable
code, anIdempotency-Keyheader, cursor pagination, a dual-key envelope on single resources ({ trade, data, _meta }) and HMAC-signed webhooks. - OpenAPI 3.1 is the contract. The live spec is at
/v1/openapi.json, rendered at/v1/docs. - Always-on auth. Every data route needs a key. There is no anonymous access to
api.kash.bot. - Decimal strings for big numbers. USDC amounts are atomic strings with 6 decimals and outcome-token amounts are WAD strings with 18 decimals, so nothing loses precision in JSON.
Next steps
Quickstart
Get a key, quote a market and place your first trade.
Authentication
X-API-Key, scopes, IP allowlists and request signing.Endpoint reference
All 31 routes with scopes and reference pages.
Need help?
Developer support
Send technical questions from the info button in the Kash web app → Feedback. Quote the
requestId from any error.Discord
Join the
#developers channel for real-time help.