Skip to main content
The Kash REST API is the programmatic interface to Kash prediction markets. It is built for developers, automated agents and market makers: anything that talks to Kash without a human in the loop.
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.
Building a bot? Use the official @kashdao/sdk TypeScript client (auth, retries, idempotency, typed errors and webhook verification built in) and follow Build a trading bot. To sign transactions yourself, see the Protocol SDK.

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

Production trades on Solana mainnet. Staging trades on Solana devnet and is the place to integrate before going live. Production keys start 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, an Idempotency-Key header, 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.