# Bridge movements stream | API reference | Femtos

> The GET /v1/bridges answer (movements newest first, 24 h stats), pushed on subscribe, then when a movement of the route changes state. WebSocket channel bridges.recent 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://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/bridges

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

## Bridge movements stream — WS `bridges.recent`

The GET /v1/bridges answer (movements newest first, 24 h stats), pushed on subscribe, then when a movement of the route changes state.

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

| Param | In | Example or values | Meaning |
|---|---|---|---|
| `route` | filter | `evm_elysium` (Elysium); `core_evm` (HyperCore, HyperEVM) | core_evm (HyperCore <> HyperEVM) or evm_elysium (HyperEVM <> Elysium) |
| `direction` | filter | (optional) | Direction (core_evm: evm_to_core, core_to_evm; evm_elysium: to_child, to_parent) |
| `token` | filter | (optional) | Token address (`hype` for native HYPE) |
| `limit` | filter | (optional) | Rows, newest first, default 100 (1..100) |

Elysium:

```json
{"op":"subscribe","channel":"bridges.recent","filter":{"route":"evm_elysium"}}
```

HyperCore, HyperEVM:

```json
{"op":"subscribe","channel":"bridges.recent","filter":{"route":"core_evm"}}
```

| Field | Type | Meaning |
|---|---|---|
| `snapshot: true` | object | the full GET /v1/bridges answer: the first frame, and any frame sent whole |
| `patch: true` | JsonPatch | with "patch": true on subscribe: the operations, in order, that turn the previous answer into this one |
| `billing` | medium | the snapshot a subscribe asks for counts as GET /v1/bridges (medium); every other frame by its bytes (1 credit per 48 KiB) |

## Related (Bridges & wallets)

- [Cross-layer wallet](https://femtos.xyz/reference/wallet.md) `GET /v1/wallet/{address}`: One address (or a named wallet's handle) on HyperCore, HyperEVM and Elysium, plus its latest events. (Elysium, HyperCore, HyperEVM)
- [Wallet stream](https://femtos.xyz/reference/ws/wallet.md) `WS wallet`: Every event of the three layers touching one address. (Elysium, HyperCore, HyperEVM)
- [Swaps by wallet](https://femtos.xyz/reference/wallet-trades.md) `GET /v1/trades`: Every swap a wallet sent (or a pool’s, a token’s), newest first, filterable by token, side, size and time. (Elysium, HyperEVM)
- [Transfers by wallet](https://femtos.xyz/reference/wallet-transfers.md) `GET /v1/transfers`: ERC-20 transfers sent and received by a wallet, newest first, filterable by token, direction, size and time. (Elysium, HyperEVM)
- [Ledger stream](https://femtos.xyz/reference/ws/ledger.md) `WS hc.ledger`: Deposits, withdrawals, transfers and other non-trade balance moves. (HyperCore)
- [Bridge movements](https://femtos.xyz/reference/bridge.md) `GET /v1/bridges`: Matched HyperCore ↔ HyperEVM transfers with 24 h stats. (Elysium, HyperCore, HyperEVM)
- [Bridge stream](https://femtos.xyz/reference/ws/bridge.md) `WS elysium.bridge | bridge.transfers`: Each HyperCore ↔ HyperEVM transfer, initiated then completed. (Elysium, HyperCore, HyperEVM)
- [Bridge coverage](https://femtos.xyz/reference/bridge-coverage.md) `GET /v1/bridges/coverage`: Every HyperCore ↔ HyperEVM leg since our data starts, paired with its other leg: matched share per direction and token, why the others are not, latency. (HyperCore, HyperEVM)

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