Ir al contenido

Fuentes de esta pagina

Cada afirmacion de esta pagina apunta a revisiones fijadas. Abra la ruta para leer la fuente exacta de la verificacion.

universe-index-atomicals

Universe ARC-20 index and Marketplace v1 authority

Revision 670030e50071

Abrir ruta fijada: marketplaceDocs

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

universe-index-atomicals-nfts-and-realms

Universe Atomicals NFT, Realm, and Subrealm index

Revision 1d9109c68d95

Abrir ruta fijada: server

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

Idempotency and request IDs

Raw

Making a mutation safe to retry, and making a failure traceable afterwards.

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/idempotency-and-request-ids
Normative authority
Universe implementation documentation
Networks
mainnet
Documentation version
2026.08
Audience
developer, integrator
Owner
bitcoin-universe-docs
Sources

Esta página aún no está disponible en tu idioma.

Every response carries a request identifier. It is the field to log, and the field to quote in a support question.

Log it on success as well as on failure. A wrong result you cannot trace is much harder to explain than a failure you can.

Marketplace mutations require an Idempotency-Key. It makes a retry safe: the same key for the same request returns the same result rather than performing the action twice.

Rules:

  1. Generate one key per logical action, not per HTTP attempt.
  2. Reuse it for every retry of that action.
  3. Never reuse it for a different action.
  4. Store it with your own record of the action, so a retry after a restart uses the same key.
  5. Treat a conflict as a signal that the key was reused for different content, and inspect rather than retrying.

Keys are scoped per protocol lane. The four Marketplace authorities are isolated, so a key used in one lane does not collide with the same key in another.

Public mutations also carry a timestamp and a nonce inside the signed string, which makes replay of a captured request detectable. Idempotency and replay protection solve different problems:

Control Prevents
Idempotency key Your own retry performing the action twice
Timestamp and nonce Someone else replaying a captured request

You need both.

  1. Generate and persist an idempotency key.
  2. Send the request.
  3. On 429, 500, or 503, wait with exponential backoff and jitter, then retry with the same key.
  4. On 409, stop and inspect. Do not retry with a new key hoping it works.
  5. On success, record the result and the request identifier.
  6. Bound the number of attempts.

Authentication and errors.