Elysium token price and OHLCV API

Token price API for Elysium, Kinetiq's Hyperliquid L2 (chain 99901): USD prices of up to 100 tokens a call, price history, OHLCV candles in USD and market cap, token overview and screener, pushed per block over WebSocket, and MCP tools.

Elysium is Kinetiq's Hyperliquid L2 (Arbitrum Orbit on HyperEVM, chain 99901). Femtos prices Elysium tokens in USD from their pool swaps: the price now, at a past time or per interval over a window, OHLCV candles of a token through its reference pool (its most liquid one) in USD and market cap, and prices pushed over WebSocket in each block that changes one.

Base URL https://api.femtos.xyz/v1, key in Authorization: Bearer; WebSocket wss://api.femtos.xyz/v1/ws; MCP https://api.femtos.xyz/mcp. Decimals are exact strings, times Unix ms.

Token prices

  • Token prices GET /v1/prices
    USD price of up to 100 tokens in one call, each with its source and provenance.
  • Price history GET /v1/prices/history
    USD closes per unit of up to 25 tokens over a window, or the price of 100 tokens at one time (at=).
  • Token overview GET /v1/tokens/{address}
    One token across all its pools: price, FDV, market cap, liquidity, windows, holders, top pools.
  • Token prices stream WS elysium.prices
    USD prices of up to 100 Elysium tokens, as GET /v1/prices answers them, pushed in each block that changes one.
curl -H "Authorization: Bearer $FEMTOS_KEY" "https://api.femtos.xyz/v1/prices?layer=elysium&tokens=<token>"
FieldTypeMeaning
prices[]object{token, symbol, priceUsd, source, t, block, tx, logIndex, pool, market, reason, spam, …}
asOfint | nullTime of height: the layer head the answer is cut at (EVM: indexed head; HyperCore: ingested head) (Unix ms)
heightint | nullHead block of the layer the answer is cut at

OHLCV candles

  • Token candles GET /v1/candles
    OHLCV of a token in USD through its reference pool, the most liquid one.
  • Candles GET /v1/candles
    OHLCV of one pool in pair price, USD and market cap, ascending, UTC-aligned.
  • Token candles stream WS elysium.token.candles
    A token's candles in USD (GET /v1/candles?token=: its reference pool, volume, buys and sells), pushed on subscribe, then each block where its reference pool trades.
  • Forming candle WS elysium.candles
    The forming candle, pushed once per block where it changes.
curl -H "Authorization: Bearer $FEMTOS_KEY" "https://api.femtos.xyz/v1/candles?layer=elysium&token=<token>&tf=1h&limit=48"
FieldTypeMeaning
referenceobjecttoken form, EVM: the reference pool (PoolRef) and its rule
unitusd | usdctoken form: what o/h/l/c are in
candles[]objectAscending: {t, o, h, l, c, v, vq, n, vUsd, mcUsd, usd, mcap, …}
candles[].odecimalOpen, in the quote (HyperCore: the market's quote token, USDC but on the USDH, USDT0 and USDE spot markets, usd with includeUsd; EVM pools: the quote token; token form: USD)
candles[].buysinttoken form (EVM): swaps buying the token
candles[].mcapobjectSame candle as market cap in USD {o,h,l,c}, over the circulating supply: burn addresses and bridges out (Elysium, HyperEVM). HyperCore spot markets, with includeUsd: the USD candle × the base token's circulating supply as Hyperliquid publishes it, read and stored each hour (supply.from: the first reading): a unit uses the last reading at or before its end; a unit older than the first reading uses that first one, or the supply read now when none is stored yet (the nearest known, supply.basis current), never an invented history. No market cap (no mcap, no supply) on a token whose whole genesis went to its bridge: a token created in full for a bridge that hands it out as deposits arrive (Unit's UBTC, UETH, USOL…) or created on its HyperEVM side (USDT0): what Hyperliquid publishes as its circulating supply is the bridge's reserve, not what circulates. Spot markets only: a perp or an outcome market has none: {o, h, l, c}

Timeframes (tf): 1s, 15s, 1m, 5m, 15m, 1h, 4h, 1d.

Screener and volume

  • Token screener GET /v1/tokens/top
    The tokens of Elysium, one row each over all their pools: trending, volume, gainers, losers, new, market cap, liquidity.
  • Token screener stream WS elysium.tokens.top
    The GET /v1/tokens/top answer of Elysium (one row per token with activity (a swap in 24 h, or a pool created in the last hour), over all its pools: price, 1 h / 24 h change, volume, liquidity, market cap, holders, trending score), or the rows of a watchlist (`addresses`), pushed on subscribe, then on each indexed block with a swap: the rows of the pools each indexed block traded made again at once (5 m / 1 h windows and traders, price, market cap, FDV, last trade, trend score), in the order of the last rebuild; the order and the other fields at each rebuild (at most every 60 s).
  • Pool screener GET /v1/pools/top
    The pools of Elysium, one row each: trending, volume, gainers, losers, new, market cap, liquidity.
  • Daily token volume GET /v1/volume
    USD swap volume of a token per UTC day, both sides of every priced swap.
  • Trades GET /v1/trades
    Latest swaps of one pool, newest first.
  • Trades stream WS elysium.trades
    The swaps of one pool, or of up to 100 pools (`pairs`), one message per pool and block that has some.

MCP

Agents call the same data as tools of the hosted MCP server:

ToolWhat it answersREST call
get_pricesUSD price of up to 100 tokens, each with its source (HL mid, HyperCore spot, pool swap)GET /v1/prices
get_price_historyUSD prices at a time (100 tokens) or per unit over a window (25 tokens)GET /v1/prices/history
get_candlesOHLCV of a coin, a pool, or a token through its reference pool; pools in USD and market cap tooGET /v1/candles
get_token_overviewA token across all its pools: price, FDV, mcap, liquidity, 5m to 24h windows, holders, top poolsGET /v1/tokens/{address}
list_top_tokensToken screener: one row per token, trending / volume / gainers / losers / new / mcap / liquidityGET /v1/tokens/top

More

Markdown: this page as Markdown. Every call: API reference, agents.md, OpenAPI.

Agent guide (agents.md)llms.txtOpenAPIMCP serverGet an API keyChangelog