> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.whalehunt.net/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.whalehunt.net/_mcp/server.

# Versions and generations

Filter changes, retained history and connection incarnations have independent identities.

| Field                               | Scope                              | Client handling                                             |
| ----------------------------------- | ---------------------------------- | ----------------------------------------------------------- |
| `version`, `hello.versions`         | Wire frames                        | Validate supported wire version                             |
| `schema`                            | Event schema                       | Select a supported event decoder                            |
| `rulesVersion`                      | Interpretation rules               | Save with the data; do not mix incompatible interpretations |
| `streamId`                          | Stream identity                    | Validate during recovery                                    |
| `historyGeneration`                 | Retained history                   | Do not treat another history as continuous                  |
| `generation`                        | Subscription filter binding        | Use the accepted generation in ACK; changes on rebind       |
| `filterHash`, `filterPolicyVersion` | Exact predicate and routing policy | Preserve the server binding                                 |
| `retention.policyVersion`           | Retention policy                   | Distinct from subscription generation                       |
| `assessmentRevision`                | Entity assessment                  | Update existing state rather than adding volume             |

## Unsupported values

Do not mutate your projection when you cannot interpret the protocol or a required payload. Preserve the last agreed checkpoint and safe diagnostics. Unknown optional fields can be tolerated where the applicable contract permits; unknown economic enums or stages need explicit unsupported handling. Client requests remain strict about unknown fields.

An unrecognized correction cannot be ACKed as though its effects were correctly applied. Never default an unknown side to buy or sell.

## Updating a client

Check message shapes, null versus absence, decimal values, corrections and resume of saved tokens. Do not replace the consumer identity to bypass incompatibility. Filter changes use [rebind](/polymarket/stream/rebind) or an agreed new start.

`onchain.lifecycle.v1` and wire version 1 do not establish indefinite compatibility with future versions. See [frames](/polymarket/reference/frames) and [events](/polymarket/reference/events).