wss://rpc.sigil.ml/ws and use the JSON-RPC sigil_subscribe / sigil_unsubscribe methods.
Connection
Topics
| Topic | Payload |
|---|---|
newBlock | Block header, height, state root, transaction hashes. |
newTx | Mempool admission notice. Includes envelope hash and originator DID. |
consensus | MACA round state and Tower epoch locks. |
consensus.finalised | Per-block finalisation event. |
consensus.epoch_locked | Per-epoch Tower lock event. |
validators | Active set changes. |
dex | DEX pool updates filtered by pool id. |
nft | NFT mint, transfer, and burn events filtered by collection. |
mail | Mailbox delivery events filtered by recipient DID. |
vigils | Vigil delivery events filtered by subscription id. |
Filtered subscriptions
Most topics accept a filter parameter:Unsubscribing
Backpressure and limits
| Limit | Value |
|---|---|
| Subscriptions per connection | 100 |
| Concurrent connections per IP | 32 |
| Outbound queue per subscription | 1,024 events |
overflow notification and drops the subscription. Clients should handle the drop and re-subscribe.
Authenticated subscriptions
Identity-bound subscriptions (e.g. private mailbox event streams) are served on the/ws-private endpoint and require a JWT issued under authentication. See the private WebSocket runbook for the operator configuration.
Resilience
Subscriptions survive transient block production gaps but do not survive epoch boundaries in archive mode. Clients should treatconsensus.epoch_locked as a checkpoint to persist the last-seen height and resume from there after reconnect.