API
Build bots, terminals and Telegram bots on offchart: read the order book and rounds, follow every fill live, and place orders that the user's own wallet signs.
Base URL · v1
https://useoffchart.xyz/api/v1A key only raises your limits. It cannot move funds: every order is a transaction the user's wallet signs, checked exactly like on the site.
Without a key
30req / min
per IP address
With a key
300req / min
per key
Live stream
1connection
per key (or per IP without one)
Your API keys
free, for higher limits
Connect a wallet to create a key. Reading works without one, at the lower limit.
Live stream
the public SSE feed, right here
Connect to watch rounds settle once a minute and every swap as it lands.
Webhooks
we POST signed events to your server
Connect a wallet to add an endpoint. No polling and no open stream needed: events come to you.
Endpoints
JSON over HTTPS · GET and the stream are open to any site (CORS)
- GET/tokens/:mint/depthOpen orders by distance from the market: −1 %, −3 %, −5 %… buy and sell
- GET/tokens/:mint/stats24 h and 7 d volume, swaps, average discount, pool slippage avoided
- GET/rounds?limit=20Finished rounds: pairs and rings, volume, prices, tx signatures
- GET/rounds/:idOne round with every settled swap
- GET/streamLive SSE: round.settled every minute, fill on every swap
- GET/webhooksYour webhook endpoints (key required; POST to add, DELETE /webhooks/:id to remove)
- POST/orders/buildUnsigned transaction for an order (exact-amount approve + order)
- POST/orders/submitSend the transaction the user's wallet signed
- POST/orders/:id/cancel/buildUnsigned cancel transaction for the owner's order
Quick start
curl -s "https://useoffchart.xyz/api/v1/rounds?limit=5" \
-H "x-api-key: $OFFCHART_KEY"
curl -N "https://useoffchart.xyz/api/v1/stream" -H "x-api-key: $OFFCHART_KEY"