Developers

A public, read-only API.

tyca exposes a small public HTTP API — the same one tyca.io itself calls. No API key, no signup: every endpoint below is an unauthenticated GET. All data is play money; nothing here moves real currency.

Base URL
https://tyca.io/api/v1

Stability: read-only, no write access documented or supported, and no stability guarantee yet — expect response shapes to grow new fields, not to break existing ones without notice. We’ll version before promising more.

Markets

GET /api/v1/marketsBrowse/filter markets (category, tag, status, kind, sort).
GET /api/v1/markets/moversBiggest price movers right now.
GET /api/v1/markets/{id}One market — options, prices, volume, resolution rule.
GET /api/v1/market-by-slug/{slug}Same as above, addressed by its URL slug.
GET /api/v1/markets/{id}/history?range=1h|1d|1w|allPer-option crowd-share-over-time series for the chart.
GET /api/v1/markets/{id}/tradesRecent trades on this market.
GET /api/v1/markets/{id}/tradingLive trading info — implied prices, liquidity depth.
GET /api/v1/markets/{id}/holdersTop holders / open positions on this market.
GET /api/v1/markets/{id}/relatedRelated markets.
GET /api/v1/markets/{id}/commentsComments on this market.

Live

GET /api/v1/trades/recentSite-wide live trade tape, newest first.
GET /api/v1/wins/weeklyBiggest wins across tyca this week.
GET /api/v1/live/boardComposed board: fixtures + their coin markets + prices, in one payload.
GET /api/v1/activitySite-wide recent activity feed.
GET /api/v1/live/pricesLive crypto and economic reference prices.
GET /api/v1/live/prices/{id}/historyHistorical data for a price reference.
GET /api/v1/streamServer-Sent Events. Events: hello (on connect), price, trade, score, settle, plus a periodic heartbeat comment.
GET /api/v1/dailyToday's daily call-of-the-day market.

Discovery

GET /api/v1/eventsList event hubs (markets grouped under one story).
GET /api/v1/events/{slug}One event hub and its markets.
GET /api/v1/tagsList discovery tags.
GET /api/v1/tags/{tag}/marketsMarkets carrying one tag.
GET /api/v1/search?q=Search markets and participants.

Standings

GET /api/v1/leaderboardGlobal portfolio-value leaderboard.
GET /api/v1/leaderboard/seasonCurrent-season leaderboard.

Trust

GET /api/v1/transparencyCoin-supply conservation + ledger tamper-evidence snapshot, recomputed every few minutes.
GET /api/v1/transparency/checkpoints?limit=Hash-chain checkpoint history, newest first (limit clamped 1–200, default 50).

Sports

GET /api/v1/sports/*World Cup 2026 matches, timelines, lineups, standings, brackets, scorers, leaderboard, live takes, player profiles — all public reads. Submitting a prediction requires an account.

Example: market history

The per-option share-over-time series behind a market’s chart:

$ curl 'https://tyca.io/api/v1/markets/3fa4c11e-2b77-4c9a-9c0a-8e2a6b6e0a10/history?range=1d'

{
  "data": {
    "options": [
      { "key": "yes", "label": "Yes" },
      { "key": "no",  "label": "No" }
    ],
    "points": [
      { "t": "2026-07-02T06:00:00Z", "shares": { "yes": 58, "no": 42 }, "volume": 180 },
      { "t": "2026-07-02T12:00:00Z", "shares": { "yes": 61, "no": 39 }, "volume": 240 },
      { "t": "2026-07-02T18:00:00Z", "shares": { "yes": 57, "no": 43 }, "volume": 95 }
    ]
  }
}

Points are abbreviated above — a real response is sampled to a bounded count.

Example: transparency snapshot

The same feed behind the Transparency page:

$ curl https://tyca.io/api/v1/transparency

{
  "data": {
    "coin_supply": 48250000,
    "status": "ok",
    "conserved": true,
    "drift": 0,
    "negative_balances": 0,
    "reconciled_at": "2026-07-02T23:58:04Z",
    "ledger_entries": 512340,
    "hash_prefix": "9f3a21",
    "checkpointed_at": "2026-07-02T23:58:04Z",
    "trading_halted": false,
    "traders": 1830,
    "trades": 41207,
    "coins_traded": 9812340,
    "volume_24h": 214500,
    "markets_open": 268,
    "markets_settled": 187
  }
}