CRIUS Docs
API status Get API key
Concepts

Finality & reorgs

Finality levels on Robinhood Chain (latest, safe, finalized), how the Crius API marks them, and how chain reorganizations are handled in REST and WebSocket.

Updated 1 min read

Every event Crius returns (trades, transfers, liquidity changes) carries a finality:

Level When Typical delay
latest Included by the Robinhood Chain sequencer under a second
safe The batch containing it has been posted to Ethereum minutes
finalized Ethereum has finalized that batch about 15–20 minutes more

Every response’s meta reports the current safe_block and finalized_block, so you can tell the level of anything by its block.

Reorgs

Sequencer-ordered blocks are very rarely replaced, but it can happen. When it does:

  • REST responses simply reflect the new chain: replaced events disappear and new ones appear.
  • WebSocket clients receive a reorg message (common_ancestor, removed_blocks, depth), then every affected event again with "removed": true and the same id, then the replacement events. Undo what you did for removed events by id.

If your application can’t handle reversals (accounting, payouts), only act on safe data: filter by finality=safe where an endpoint supports it, or subscribe to the stream with "finality": "safe", which holds each event until its block is safe.

Get your free Crius API key

Every example on this page works with a free key: higher rate limits than the anonymous plan, holders, wallets and the WebSocket stream. No card needed.

  • Robinhood Chain (4663) only, from our own archive nodes
  • REST + WebSocket
  • Pay on-chain or by card