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.idempotentwhere 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). Tradeamountis the exception: a human-readable USDC decimal such as"10.5". - Errors are RFC 7807
application/problem+jsonwith a stablecode. See Errors. - Every response carries
X-Request-ID(your own value is echoed if you send one) andX-API-Version.
The live spec
The OpenAPI 3.1 spec athttps://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.