# Stops stream · HyperCore API · Femtos

> Every trigger order event: placed, triggered, canceled, and the order a trigger placed.

- 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/accounts/ (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/hypercore/ws-stops

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

## Stops stream — WS `hc.stops`

Every trigger order event: placed, triggered, canceled, and the order a trigger placed.

| Param | In | Example or values | Meaning |
|---|---|---|---|
| `coin` | filter | `BTC` | HyperCore market (BTC, @107, xyz:TSLA) |
| `user` | filter | (optional) | Account: 0x address or a named wallet's handle |
| `status` | filter | `(empty)`, `open`, `triggered`, `filled`, `canceled` | Status: open, triggered, canceled, filled… |
| `kind` | filter | `(empty)`, `stop`, `take_profit` | stop \| take_profit |

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

| Field | Type | Meaning |
|---|---|---|
| `snapshot: true` | HcStopEvent[] | last 50 trigger-order events |
| `data` | HcStopEvent | every status of a stop-loss / take-profit order (placed, triggered, canceled, rejected) and of the order its trigger places (filled, canceled: triggered true): the hc.orders fields + is_position_tpsl, kind, exec (market \| limit), triggered: {coin, side, px, sz, orig_sz, status, order_type, tif, oid, user, block, time, …} |
| `data.kind` | stop \| take_profit | Stop-loss or take-profit (from the order type) |
| `data.exec` | market \| limit | What the trigger places: a market or a limit order |
| `data.triggered` | boolean | true: the order a trigger placed (filled, canceled) |

## Related (Stops & take-profits)

- [Stop map](https://femtos.xyz/hypercore/stops.md): Open stop-loss and take-profit orders of one coin, bucketed by trigger price around the mark.
- [Triggered stops](https://femtos.xyz/hypercore/stops-triggered.md): Stop-loss and take-profit orders that fired, newest first, with the fill they got.
- [Wallet stops](https://femtos.xyz/hypercore/wallet-stops.md): One wallet's open trigger orders, or with history=1 every status event of them.

All HyperCore endpoints: https://femtos.xyz/hypercore.md
