Skip to main content
The API serves 31 routes under https://api.kash.bot/v1. Every route except the four health and spec routes needs an API key with the scope shown. The rate-limit class says which budget a request draws from: read routes use a sliding window, write routes use a token bucket, and the two are counted separately. See Rate limits.

Markets & quotes

Market disputes

Trades

Portfolio & redemptions

Webhook management

Account & traces

Health & spec (no key)

Conventions shared by every endpoint

  • Single resources use a dual-key envelope. A response carries the resource under its own name and again under data, plus _meta: { "trade": {…}, "data": {…}, "_meta": { "requestId", "timestamp" } }. Write responses add _meta.idempotent where replays are possible.
  • Lists return { data: [...], pagination: { cursor, hasMore, limit }, _meta }. See Pagination.
  • Big numbers are decimal strings. USDC is 6 decimals (atomic-6), outcome tokens 18 decimals (wad-18). Trade amount is the exception: a human-readable USDC decimal such as "10.5".
  • Errors are RFC 7807 application/problem+json with a stable code. See Errors.
  • Every response carries X-Request-ID (your own value is echoed if you send one) and X-API-Version.

The live spec

The OpenAPI 3.1 spec at https://api.kash.bot/v1/openapi.json is generated from the API’s own validation schemas, and https://api.kash.bot/v1/docs renders it interactively. Use the spec to generate a client in another language or to import into Postman, Bruno or Insomnia. For TypeScript, use the official SDK.