DEVELOPERS / READ API

Read API

Everything this site shows comes from an indexer we run: a Cloudflare Worker that reads Robinhood Chain and keeps the result in a database. The same endpoints our pages call are open to you — no key, no sign-up, CORS open to any origin. They are a convenience, not an authority: every number below can be re-derived from the contracts, and when the indexer is wrong or down, the chain is still right.

Base URL

https://damp-firefly-4dae.themaisonmau.workers.dev/api

All responses are JSON with ok: true on success and { "ok": false, "error": "..." } with a 4xx or 5xx status otherwise. Every endpoint is GET. Amounts are returned in the quote asset, not in dollars: prices in dollars are a presentation layer of this site, built from the rates in /api/stats.

Endpoints

GET /api/stats
Protocol totals, the last 30 days of volume and launches, top tokens and creators, and the USD rate of each quote asset under precios. This is the only place the dollar rates come from.
GET /api/launches
The launch list. ?limit= 1-200 (default 50), ?offset=, ?sort= newest | progress | volume. Each token carries its price, phase, progress, supply, pool reserves (pool_token_f, pool_quote_f) and its last 24 h (trades24h, volume24hQuote, change24hPct).
GET /api/coin/:token
One token: the same object as above plus holders, stats24h and reparto, the supply split described under Trust — liquidity, burned, creator, protocol and market, with the top-10 concentration measured on the market share alone.
GET /api/trades
The latest trades across every launch, newest first, with the token's symbol and pair already joined. ?limit= 1-60 (default 20).
GET /api/trades/:token
The trades of one token. ?limit= 1-200 (default 50). Curve trades and pool trades both appear; the curve field is null for the ones that happened in the Uniswap pool.
GET /api/candles/:token
OHLC candles. ?res= 1m | 5m | 15m | 1h, ?limit= 1-1000 (default 200). There is no daily resolution: build it by grouping hourly candles, which is what this site does.
GET /api/holders/:token
Holders by balance. ?limit= 1-500 (default 100), ?offset=. Read the tag field before drawing conclusions: an address may be the pool, the curve, the locker, the hook, the burn address or the creator. The largest "holder" of a graduated token is normally the pool, and calling that a whale is the most common mistake made about this data.
GET /api/wallet/:address
What one address holds across the launches we index, valued at each token's live price.

Limits, caching and what we promise

  • Rate limit. 300 requests per minute per IP. Over it you get 429 with a Retry-After header. The limit is generous on purpose and enforced approximately: it exists to stop scraping, not to police normal use.
  • Cache. Responses carry Cache-Control; most are good for 10-30 seconds at the edge. Honour it — polling faster gets you the same bytes and counts against your limit.
  • Freshness. The indexer runs every minute. /api/stats reports its cursor and the chain head so you can see how far behind it is.
  • Degraded mode. If our database is unavailable, most reads are served from a snapshot in object storage and the response carries X-AGI-Degradado with the timestamp of that snapshot. The live-trades endpoint is the exception: it fails rather than serve stale data, because a frozen "live" feed is worse than none.
  • Stability. We will add fields without warning and we will try not to remove or rename them. This is a best-effort promise from a small project, not an SLA: if you build something that matters on it, pin what you read and handle a field going missing.
  • No authority. If our numbers and the chain disagree, the chain is right. Nothing here should be the only source for a transaction you sign.
  • One gotcha. Cloudflare's bot protection sits in front of this Worker and rejects some default user agents with a 403 — Python's urllib is one of them. Send any user agent of your own and it goes through.

An example

curl 'https://damp-firefly-4dae.themaisonmau.workers.dev/api/launches?limit=5&sort=volume'

There is no write API. Launching a token, trading and claiming fees are transactions you sign against the contracts — see Launching a token, Trading on the curve and Claiming fees.