← Firstprint

Public API

Version 1 · read-only · free

Everything public on Firstprint is also available as JSON: which tokens are coming up, every open market with its pool and outcomes, settled results, and the leaderboard. Use it for bots, dashboards, alerts or research.

Endpoints

GET/api/v1/upcoming

Tokens that aren’t trading yet. Their opening price will be the start price. Sorted by when predictions close, soonest first.

curl https://www.firstprint.fun/api/v1/upcoming

GET/api/v1/markets?status=open&limit=50

Markets, newest activity first.

curl "https://www.firstprint.fun/api/v1/markets?status=settled&limit=10"

GET/api/v1/markets/{id}

One market. Returns 404 if there is no such market.

GET/api/v1/leaderboard?period=week

Top players by profit. period is day, week, month or all. Each entry has rank, username, profit, wins and predictions.

GET/api/v1

A short index of the endpoints above.

A market

{
  "id": "m_abc123",
  "url": "https://www.firstprint.fun/app/#/market/m_abc123",
  "token": { "symbol": "ABC", "name": "Example Token", "logo": "https://…" },
  "type": "five_outcomes",
  "category": "listing",
  "status": "open",
  "upcoming": true,
  "exchanges": [{ "id": "binance", "name": "Binance", "pair": "ABC/USDT" }],
  "startPrice": null,
  "startPriceFrom": "opening_price",
  "predictionsClose": "2026-10-08T12:00:00.000Z",
  "resultAt": "2026-10-09T12:00:00.000Z",
  "feePercent": 2,
  "pool": 1500,
  "participants": 12,
  "outcomes": [
    { "outcome": "moon", "range": "+50% or better", "pool": 300, "share": 0.2, "payout": 4.9 },
    …
  ],
  "result": null
}
FieldMeaning
typeyes_no (above or below the start price) or five_outcomes (price ranges).
categorylisting for a new listing, live for a token that already trades.
statusopen, closed, settled or cancelled.
upcomingtrue while the token isn’t trading yet.
startPriceThe price outcomes are measured from, or null until it’s known.
startPriceFromset (already known), opening_price (the first trading price) or price_at_close (the price when predictions close).
poolPoints predicted on this market in total.
outcomes[].sharePart of the pool on this outcome, from 0 to 1: the crowd’s view.
outcomes[].payoutWhat 1 point on this outcome would return if it won, as the pool stands now (after the fee). null when nothing is on it yet.
resultOnce settled: winningOutcome, startPrice, finalPrice, and cancelledReason if it was cancelled.

Errors

Errors come back as JSON with a short code, for example {"error": "bad_status", "message": "…"}, and a 4xx status. Answers may be cached for up to 15 seconds, so checking every 15 to 30 seconds is plenty.

Fair use

Please keep to the limit, and link back to Firstprint if you show this data publicly. Version 1 won’t change in ways that break your code; new fields may be added. Questions or ideas: [email protected]