Arbitrum One
Ready to call this in production?
Free tier covers personal projects. Pay-as-you-go scales without a card.
Arbitrum One
Free tier covers personal projects. Pay-as-you-go scales without a card.
A chain reorganization on Arbitrum One is any event where the canonical sequence of blocks your node had accepted gets revised — a block you saw at a given height is replaced, so the transactions inside it are re-ordered, deferred, or dropped. Unlike a proof-of-work network where competing miners routinely orphan each other's blocks, Arbitrum One runs a single Nitro sequencer, so day-to-day deep reorgs are rare; the realistic causes are sequencer-side reordering before a batch is posted, node-level revisions while catching up, and the fact that L2 ordering is only economically locked in once the batch settles on Ethereum L1 and clears the challenge window. Reorgs are infrequent here, but when one does land it can leave your application crediting a balance, marking an order filled, or firing a webhook based on a transaction that no longer exists on the canonical chain — which is why backend and dApp code reading from https://arbitrum.therpc.io/YOUR_API_KEY must detect and recover from them rather than assume the latest block is permanent.
hash for a height you already recorded changes, when consecutive blocks fail the parentHash linkage check, or when eth_getTransactionReceipt for a transaction you tracked starts returning null. Comparing the finalized block tag against latest tells you which portion of the chain is still revisable.finalized tag rather than a raw confirmation count, since only L1-settled state is immune to a reorg on Arbitrum One.hash of each height you process and compare it on the next poll — a mismatch signals a reorg. In a subscription system, verify each incoming header's parentHash matches the hash of the block you last accepted; a break in that chain is your trigger.eth_getTransactionCount — if the nonce already advanced past the transaction, it (or a replacement) landed and you must not send again. Resend with the same nonce to replace-by-fee rather than creating a second, independent transaction.findCommonAncestor above), roll back every state change derived from blocks above that ancestor, then replay against the new canonical blocks so balances, order status, and emitted events match the chain again.newBlockHeaders WebSocket subscription for low-latency detection at the chain tip, where sub-second Arbitrum One blocks make polling wasteful; fall back to interval polling for backfilling, reconnection recovery, or environments where a persistent socket is impractical.