> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fomoscan.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Thesis feed

> Trader theses pushed on /v2/ws as they arrive.

```
wss://api.fomoscan.sh/v2/ws
```

Connect and subscribe as described in the [overview](https://docs.fomoscan.sh/websockets/overview.md).
Each matching thesis arrives as one frame:

```json theme={null}
{
  "type": "thesis",
  "data": {
    "id": "…",
    "thesisHash": "…",
    "tokenAddress": "So11111111111111111111111111111111111111112",
    "tokenNetwork": "sol",
    "tokenSymbol": "COIN",
    "authorId": "00000000-0000-0000-0000-000000000000",
    "authorHandle": "tradername",
    "thesis": "Why I am in this token…",
    "authorTradeUsd": 1200,
    "fomoCreatedAt": 1790000000000
  }
}
```

`data` is the same object `GET /v2/thesis/token/{tokenAddress}` returns in
`items`: same `id`, same timestamps, nothing new to code against. The
[API reference](https://docs.fomoscan.sh/api-reference/introduction.md) lists every field.

A thesis is sent once per socket. Frames are not ordered by `fomoCreatedAt`, so
sort on your side if order matters.

## Snapshot, then stream

1. Read `GET /v2/thesis/token/{tokenAddress}` for the tokens you show.
2. Open the socket and subscribe to the same tokens.
3. Drop frames whose `thesisHash` (or `id` when it is `null`) you already hold.
4. After a drop, read the newest page again, then resubscribe.

The [trading terminal example](https://docs.fomoscan.sh/examples/trading-terminal.md) runs this loop end
to end.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.