# KOL stream · API reference · Femtos

> Every fill, liquidation, EVM swap, transfer and bridge leg of a named wallet, live. WebSocket channel kol.activity on Elysium, HyperCore and HyperEVM: 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://femtos.xyz/account/new (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/kols

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

## KOL stream — WS `kol.activity`

- Elysium: Every Elysium swap, transfer and bridge leg of a named wallet, on each indexed block.
- HyperCore: Every fill, liquidation, EVM swap, transfer and bridge leg of a named wallet, live.
- HyperEVM: Every HyperEVM swap, transfer and bridge leg of a named wallet, on each indexed block.

Layers: Elysium, HyperCore, HyperEVM.
Page with live calls: https://femtos.xyz/reference/ws/kols?layer=<elysium|hypercore|hyperevm>

| Param | In | Example or values | Meaning |
|---|---|---|---|
| `layer` | filter | `elysium` (Elysium); `hyperevm` (HyperEVM) | hypercore \| hyperevm \| elysium (Elysium, HyperEVM) |
| `kind` | filter | `(empty)`, `swap`, `transfer`, `bridge` | trade \| liquidation \| swap \| transfer \| bridge (Elysium, HyperEVM) |
| `min_notional` | filter | `1000` | Minimum notional, USD (HyperCore) |

Elysium:

```json
{"op":"subscribe","channel":"kol.activity","filter":{"layer":"elysium"}}
```

HyperCore:

```json
{"op":"subscribe","channel":"kol.activity","filter":{"min_notional":"1000"}}
```

HyperEVM:

```json
{"op":"subscribe","channel":"kol.activity","filter":{"layer":"hyperevm"}}
```

| Field | Type | Meaning |
|---|---|---|
| `snapshot: true` | KolItem[] | last 50 moves of the named wallets seen, chronological |
| `data` | KolItem | one KolItem per move of a named wallet: HyperCore fills and liquidations as hl-flows sees them; HyperEVM / Elysium swaps and ERC-20 transfers on each block the indexer commits; bridge legs (core_evm, evm_elysium) on each state change: {layer, kind, t, wallet, entity, walletChain, coin, pair, base, quote, side, px, …} |

## Related (Named wallets)

- [Named wallets](https://femtos.xyz/reference/entities.md) `GET /v1/entities`: Every named entity, its X account, kinds, sources and wallets. (Elysium, HyperCore, HyperEVM)
- [One entity](https://femtos.xyz/reference/entity.md) `GET /v1/entities/{id}`: One named entity: its wallets on the three layers and 30 days of HyperCore trading. (Elysium, HyperCore, HyperEVM)
- [Entity proofs](https://femtos.xyz/reference/entity-graph.md) `GET /v1/entities/{id}/graph`: How each wallet of an entity was found: the path of links back to a public source and their proofs. (Elysium, HyperCore, HyperEVM)
- [KOL leaderboard](https://femtos.xyz/reference/kols.md) `GET /v1/kols/leaderboard`: KOLs, traders and funds ranked by their HyperCore PnL, volume and open positions. (Elysium, HyperCore, HyperEVM)
- [KOL moves](https://femtos.xyz/reference/kol-activity.md) `GET /v1/kols/activity`: The latest fills of the named wallets, newest first, with who traded. (Elysium, HyperCore, HyperEVM)

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