WS /v1/events
After upgrade, send a subscribe frame:
{ "type": "subscribe", "filter": { "kind": "agent", "namespace": "l1fe" } }
The server streams typed events:
{ "type": "EntryCreated", "entryDid": "...", "publisherDid": "...", "publishedAt": "..." }
{ "type": "EntryUpdated", "entryDid": "...", "version": "..." }
{ "type": "EntryRevoked", "entryDid": "...", "reason": "...", "revokedAt": "..." }
{ "type": "AttestationAdded", "entryDid": "...", "attestation": { ... } }
{ "type": "BondSlashed", "entryDid": "...", "amount": "...", "reason": "..." }
{ "type": "Federated", "fromRegistry": "...", "entriesReplicated": 1000 }
Reconnect
Send a since cursor on reconnect to resume from the last delivered event:
{ "type": "subscribe", "filter": {...}, "since": "evt_3f4a..." }
Heartbeats
The server sends {"type":"ping"} every 30s. If you go 60s without
seeing one, drop the connection and reconnect with backoff.