FLOAT
LIVE

API

A public, read-only API. No keys, per-IP rate limits, cached at the edge. Stable and boring on purpose, so other people can build on it.

Endpoint Returns
GET /markets Every index: level, TWAP, status, 24h and 30d change, open interest, cap usage, spread
GET /markets/{id} One index with constituents, weights and methodology
GET /markets/{id}/levels?since= Posted levels since a time
GET /quotes/{tuple}?since= Every raw venue quote for one item
GET /positions/{owner} A wallet's positions and receipts
GET /reserve Balance, target, floor, exposure by market, bad debt
GET /burns Every burn with its swap and burn transactions
GET /stats Protocol totals
GET /backtest/{id}?from=&to= A replay of any index over any window

Times are Unix milliseconds, UTC. Money is USD. Levels carry four decimals.

Recompute today's KNIFE level

  1. Fetch the index and its constituents.

    GET /markets/KNIFE
    

    Keep each item's tupleId, weight and compositeAtRebalance, and the methodology's rebalanceLevel.

  2. For each item, fetch its raw quotes from the last 30 minutes.

    GET /quotes/knife:507:418:FN?since=<now − 30 min>
    
  3. For each item, take the latest quote from each venue that is under 30 minutes old, and take the median of their priceUsd. Fewer than 3 means the item is stale.

  4. Compute the raw level:

    level = rebalanceLevel × Σ weight × (composite ÷ compositeAtRebalance)
    
  5. Average the raw level over the last 15 minutes. That is the posted TWAP, and it matches GET /markets/KNIFE to four decimals.