Pular para o conteúdo

Fontes desta pagina

Cada afirmacao desta pagina aponta para revisoes fixadas. Abra o caminho para ler a fonte exata da verificacao.

universe-index-atomicals-nfts-and-realms

Universe Atomicals NFT, Realm, and Subrealm index

Revisao 1d9109c68d95

Abrir caminho fixado: architectureDocs

Materialized read model for plain NFTs, Realms, and Subrealms projected from Atomicals ElectrumX.

universe-index-atomicals

Universe ARC-20 index and Marketplace v1 authority

Revisao 670030e50071

Abrir caminho fixado: tokenExplorerDocs

Universe ARC-20 token explorer feed and the durable Marketplace v1 protocol authority.

Consistency and reorgs

Raw

Generations, checkpoints, invalidation, and rollback, and what a consumer must do about each.

Universe implementation Verified 2026-08-31 Metadata & Sources

Describes what a Bitcoin Universe service actually does today. It is not a statement about the protocol in general.

Page ID
develop/consistency-and-reorgs
Normative authority
Universe implementation documentation
Networks
mainnet
Documentation version
2026.08
Audience
developer, operator
Owner
bitcoin-universe-docs
Sources

Este conteúdo não está disponível em sua língua ainda.

A generation is an immutable snapshot of an index at one consistent chain position. Answers are served from the active generation, and the identifier is returned with every response.

Why immutability matters: a consumer that recorded a generation identifier can tell the difference between “the data changed” and “I am looking at a different snapshot”.

A checkpoint records the chain position a generation was built from, including block hashes. When the chain moves under the index, the checkpoint is what makes a correct rebuild possible.

The ARC-20 side rescans each changed tip under identical before and after Bitcoin and Atomicals tips. Missing unfinalised events produce explicit invalidations. Changes to finalised blocks, events, or ticker identity fail closed rather than being silently accepted. Historical headers outside the configured reorg window are reused from a durable journal.

The NFT and Realm side publishes a complete generation only when the declared source-row coverage is exact, and rejects a count shrink or an incomplete page. A generation spanning more than one provider tip is published explicitly as mixed and stale.

An operator can roll the active pointer back to an earlier generation. That is an operational action, not a consumer action, and it changes which snapshot readers see.

A consumer detects it by the generation identifier changing to one it has seen before.

  1. Read the generation identifier and indexed height with every answer.
  2. Store both alongside any cached result.
  3. Treat a generation change as a signal to re-read, not as noise.
  4. Never merge results from two different generations into one view.
  5. Do not act on a result computed inside the reorg window for a significant amount.
  6. Handle stale and mixedTip explicitly rather than rendering the numbers anyway.

A cursor refers to a position inside a generation. When the generation changes, the cursor is no longer valid for the new one. Restart the listing rather than continuing with a stale cursor. See pagination and cursors.

Confirmation and reorgs.