# Asset contexts stream | API reference | Femtos

> Mark, oracle, mid, funding, open interest and 24 h volume of every HyperCore market, pushed as they change: one read per second for every subscriber. WebSocket channel hc.ctx on HyperCore: parameters, response fields and a live call per layer.

- Base URL: `https://api.femtos.xyz/v1` (REST) · `wss://api.femtos.xyz/v1/ws` (WebSocket) · MCP: `https://api.femtos.xyz/mcp`
- Auth: `Authorization: Bearer $FEMTOS_KEY`. Free key: https://dashboard.femtos.xyz/signup (browser), or with
  no browser: `GET https://femtos.xyz/accounts/agent/challenge`, solve its proof of work, then `POST https://femtos.xyz/accounts/agent/signup`
  (https://femtos.xyz/agents.md#agent-onboarding)
- Decimals are exact strings, times Unix milliseconds, addresses lowercase `0x`
- Whole API in one file: https://femtos.xyz/agents.md · OpenAPI: https://api.femtos.xyz/v1/openapi.json · Index: https://femtos.xyz/llms.txt
- Page with live calls: https://femtos.xyz/reference/ws/ctx

WebSocket: get a ticket (`POST https://api.femtos.xyz/v1/ws-ticket` with your key), connect to `wss://api.femtos.xyz/v1/ws?ticket=$TICKET`, send the frame below; the first message has `"snapshot": true`. Details: https://femtos.xyz/agents.md#websocket

## Asset contexts stream — WS `hc.ctx`

Mark, oracle, mid, funding, open interest and 24 h volume of every HyperCore market, pushed as they change: one read per second for every subscriber.

Layers: HyperCore. Not on Elysium or HyperEVM: the EVM layers trade on AMM pools, with no order book: pool detail and liquidity events cover a pool.
Page with live calls: https://femtos.xyz/reference/ws/ctx?layer=hypercore

| Param | In | Example or values | Meaning |
|---|---|---|---|
| `coin` | filter | `BTC` | HyperCore market (BTC, @107, xyz:TSLA) |
| `dex` | filter | `(empty)`, `main`, `spot`, `xyz` | main (the main perp dex), spot (the spot pairs), or a HIP-3 dex (xyz, flx…) |
| `every` | filter | (optional) | ms between frames (1000 default): the changes of the period, latest per market, in one frame (a list of every market needs no 1 s ticks) |
| `fields` | filter | (optional) | changed: a row carries coin, kind, dex and only the fields that changed since the previous frame (HcCtxChange; null: a field gone); default: whole rows |

```json
{"op":"subscribe","channel":"hc.ctx","filter":{"coin":"BTC"}}
```

| Field | Type | Meaning |
|---|---|---|
| `snapshot: true` | HcCtx[] | every market context at subscribe (perps of every dex, spot pairs) |
| `data` | HcCtx \| HcCtxChange[] | the contexts that changed since the previous read: main dex read every second, HIP-3 dexes every 5 s, spot every 10 s; whole rows, or with `fields: changed` their changed fields only: {coin, kind, dex, markPx, midPx, prevDayPx, dayNtlVlm, dayBaseVlm, oraclePx, funding, premium, openInterest, …} |
| `data[].markPx` | decimal | Mark price |
| `data[].funding` | decimal | Funding rate, hourly (perps) |
| `data[].openInterest` | decimal | Open interest, in the base (perps) |
| `data[].dayNtlVlm` | decimal | 24 h volume, in the quote (USDC for the main dex) |
| `data[].prevDayPx` | decimal | Price 24 h ago |

## Related (Market data)

- [Markets](https://femtos.xyz/reference/markets.md) `GET /v1/markets`: Every tradable perp, spot, HIP-3 and outcome market with 24 h stats. (Elysium, HyperCore, HyperEVM)
- [Markets stream](https://femtos.xyz/reference/ws/markets.md) `WS elysium.markets | hc.markets | hyperevm.markets`: The GET /v1/markets list of HyperCore (prices, 24 h volume and change), pushed on subscribe and when it changes. (Elysium, HyperCore, HyperEVM)
- [Token screener](https://femtos.xyz/reference/tokens-top.md) `GET /v1/tokens/top`: The tokens of HyperEVM, one row each over all their pools: trending, volume, gainers, losers, new, market cap, liquidity. (Elysium, HyperEVM)
- [Candles](https://femtos.xyz/reference/candles.md) `GET /v1/candles`: OHLCV of any HyperCore market down to 1 s, ascending, UTC-aligned. (Elysium, HyperCore, HyperEVM)
- [Forming candle](https://femtos.xyz/reference/ws/candles.md) `WS elysium.candles | hc.candles | hyperevm.candles`: The forming candle, pushed once per block where it changes. (Elysium, HyperCore, HyperEVM)
- [Token candles](https://femtos.xyz/reference/token-candles.md) `GET /v1/candles`: OHLCV of a token through its USDC market (a perp coin: the perp). (Elysium, HyperCore, HyperEVM)
- [Token candles stream](https://femtos.xyz/reference/ws/token-candles.md) `WS elysium.token.candles | hc.token.candles | hyperevm.token.candles`: A token's candles by name (its USDC market; a perp coin: the perp), the forming candle pushed once per block where it changes. (Elysium, HyperCore, HyperEVM)
- [Trades](https://femtos.xyz/reference/trades.md) `GET /v1/trades`: Latest fills of one market, newest first. (Elysium, HyperCore, HyperEVM)
- [Trades stream](https://femtos.xyz/reference/ws/trades.md) `WS elysium.trades | hc.trades | hyperevm.trades`: All trades of one market as they happen: raced between our node and Hyperliquid's public feed, first copy sent, the other dropped. (Elysium, HyperCore, HyperEVM)
- [Swap history stream](https://femtos.xyz/reference/ws/trades-history.md) `WS elysium.trades.history | hyperevm.trades.history`: The latest swaps of a token or pool on HyperEVM (GET /v1/trades with filters), pushed on subscribe, then each block with a new swap it shows. (Elysium, HyperEVM)
- [Order book](https://femtos.xyz/reference/book.md) `GET /v1/book`: L2 book of one market with order counts, from our node. (HyperCore)
- [Book stream](https://femtos.xyz/reference/ws/book.md) `WS hc.book`: Full-depth book, then the levels each block changes. (HyperCore)
- [Named wallets on the book](https://femtos.xyz/reference/ws/book-named.md) `WS hc.book.named`: Who sits on the book: the resting limit orders of the named wallets (funds, traders, KOLs), by level, live. (HyperCore)
- [Walls on the book](https://femtos.xyz/reference/ws/book-walls.md) `WS hc.book.walls`: Every large resting order on the book with its owner, live, and whether that owner's walls hold or are pulled when the price comes. (HyperCore)
- [Wall reliability](https://femtos.xyz/reference/walls.md) `GET /v1/hypercore/walls`: Which accounts' large resting orders hold when the price comes, and which are pulled. (HyperCore)
- [Walls held or pulled](https://femtos.xyz/reference/walls-events.md) `GET /v1/hypercore/walls/events`: One market's walls the price came to, one by one: held or pulled, when and whose. (HyperCore)
- [Best bid / offer](https://femtos.xyz/reference/ws/bbo.md) `WS hc.bbo`: Top of book of one market each block: raced between Hyperliquid's public feed and our node (newest block wins, our node corrects the same block). (HyperCore)
- [Order updates](https://femtos.xyz/reference/ws/orders.md) `WS hc.orders`: Every order status change, filterable by coin, user and status. One frame per block with all its matching events. (HyperCore)
- [Token prices](https://femtos.xyz/reference/prices.md) `GET /v1/prices`: USD price of up to 100 tokens in one call, each with its source and provenance. (Elysium, HyperCore, HyperEVM)
- [Price history](https://femtos.xyz/reference/price-history.md) `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=). (Elysium, HyperCore, HyperEVM)
- [HYPE price](https://femtos.xyz/reference/ws/prices.md) `WS prices.hype`: HYPE from HyperCore’s spot mid (each block), the Hyperliquid oracle and perp mark, and exchanges. (HyperCore)
- [Token prices stream](https://femtos.xyz/reference/ws/token-prices.md) `WS elysium.prices | hyperevm.prices`: USD prices of up to 100 HyperEVM tokens, as GET /v1/prices answers them, pushed in each block that changes one. (Elysium, HyperEVM)
- [Pool detail](https://femtos.xyz/reference/pool.md) `GET /v1/pools/{address}`: One pool: dex, fee, tokens, liquidity in USD, depth, 5m to 24h activity, top LPs. (Elysium, HyperEVM)
- [Pool stream](https://femtos.xyz/reference/ws/pool.md) `WS elysium.pool | hyperevm.pool`: One pool on HyperEVM (GET /v1/pools/{address}: price, liquidity and depth, 5m to 24h activity, LPs), pushed on subscribe, then in each block that touches it: swap, liquidity added or removed, balance moved. (Elysium, HyperEVM)
- [Liquidity events](https://femtos.xyz/reference/liquidity.md) `GET /v1/liquidity`: Liquidity added to and removed from one pool, newest first. (Elysium, HyperEVM)
- [Liquidity events stream](https://femtos.xyz/reference/ws/liquidity.md) `WS elysium.liquidity | hyperevm.liquidity`: Liquidity added to and removed from one pool on HyperEVM (GET /v1/liquidity), pushed on subscribe, then in each block that adds or removes some. (Elysium, HyperEVM)
- [Daily token volume](https://femtos.xyz/reference/volume.md) `GET /v1/volume`: USD swap volume of a token per UTC day, both sides of every priced swap. (Elysium, HyperEVM)

Every page: https://femtos.xyz/reference.md
