# WebSocket

WebSocket is for realtime streams. Use it for new blocks, logs, and mempool signals (if supported).

### Subscriptions

* New blocks
* Logs / events
* Pending tx (if supported)

### Tips

* Reconnect with backoff
* Use block numbers for dedupe

### Recommended pattern

1. Subscribe over WS.
2. Confirm over JSON-RPC.
3. Persist the last processed block.
4. Backfill gaps on reconnect.

### Next steps

<table data-view="cards"><thead><tr><th>Related</th><th data-card-target data-type="content-ref">Link</th></tr></thead><tbody><tr><td>RPC methods reference</td><td><a href="json-rpc">json-rpc</a></td></tr><tr><td>Indexing patterns</td><td><a href="../build/indexing-and-events">indexing-and-events</a></td></tr></tbody></table>
