Skip to content

Sources behind this page

Every claim on this page resolves to these pinned revisions. Follow a path to read the exact source the statement was verified against.

universe-index-atomicals

Universe ARC-20 index and Marketplace v1 authority

Revision 670030e50071

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

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

SDKs

Raw

Generated read-only clients for TypeScript, Python, Go, and Rust, all derived from the same OpenAPI contracts.

Universe implementation Verified 2026-09-02 Metadata & Sources

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

Page ID
sdks
Normative authority
Universe implementation documentation
Networks
mainnet, regtest
Documentation version
2026.08
Audience
developer, integrator
Owner
bitcoin-universe-docs
Sources
Known limitations
  • Every client is read-only with an explicit base URL, typed errors, timeouts, and cancellation in the language idiom. No client signs, broadcasts, or stores keys.
  • The Go and Python toolchains are exercised in CI; the Rust client is compiled and checked locally with cargo.
Language Location Transport Notes
TypeScript packages/client fetch Generated types for every operation and response
Python clients/python urllib, no runtime dependencies Type hints, Ruff and mypy clean in CI
Go clients/go net/http with contexts gofmt and go vet clean in CI
Rust clients/rust reqwest with rustls cargo check and Clippy clean in CI

Each client requires an explicit base URL: none of them hides a default production origin. Retries are absent by default; a caller who wants retries for safe idempotent reads adds them explicitly.

The generated coverage manifest lists every read-only operation each client exposes. Regenerating is one command and must leave the working tree clean:

npm run sdk:generate
from atomicals_client.client import Client
client = Client("http://127.0.0.1:3043")
status = client.arc20_get_status()
print(status["coverage"], status["chainTip"])
let client = atomicals_client::Client::new("http://127.0.0.1:3043")?;
let status = client.arc20_get_status().await?;
println!("{} at {}", status["coverage"], status["chainTip"]);

Versioned archives and checksums for every SDK ship with each release so the packages stay installable without any external registry credential. See releases.