🌌 Bitcoin Universe
The Basics
Bitcoin Universe is a deterministic, on-chain procedural art project that transforms Bitcoin block data into fully rendered 3D star systems. Every Bitcoin block — identified by its height — maps to exactly one unique cosmic world, generated from the block's cryptographic properties.
There is no randomness beyond what Bitcoin's proof-of-work already provides. The explorer is purely client-side, requires no wallet, no login, and no backend. It runs in any WebGL-capable browser.
When you enter a block height, the explorer fetches real on-chain data from the ordinals.com/r/blockinfo/{height} endpoint. From that data, a set of deterministic algorithms extract several "cosmic traits" — biome, atmosphere, civilization level, economy tier, stellar class, resource deposit, historical era, and special flags.
These traits are then fed into a Three.js 3D renderer that builds a live star system in your browser. The same block height always produces the identical result on any device.
No. Bitcoin Universe is a zero-install, client-side application. All you need is a modern browser with WebGL support — Chrome, Firefox, Edge, and Safari all work. No wallet, no extension, no backend connection required.
All block data is fetched live from the public ordinals.com endpoint:
GET https://ordinals.com/r/blockinfo/{height}
This endpoint is part of the Ordinals protocol and carries backward-compatibility guarantees within that protocol. No third-party indexer or custom server is involved. Results are cached client-side (up to 30 blocks, LRU eviction) to minimize redundant network requests.
Yes, completely. The explorer is free to use. Viewing and generating star systems costs nothing. The only on-chain cost would be if you choose to inscribe a namespace (like 840000.bitcoin) — that requires a standard Ordinals inscription transaction, which carries the usual Bitcoin transaction fee.
Traits & Rarity
Each Bitcoin block deterministically generates 9 cosmic traits:
- Surface Biome — derived from
hash[18:20](Ocean, Desert, Forest, Snowfield, Volcano) - Atmosphere — derived from
hash[2:4](Sunny, Rain, Storm, Snow) - Civilization Density — derived from
transaction_count(7 levels, Primordial → Ecumenopolis) - Economic Development — derived from
total_feein satoshis (7 tiers, Primordial → Omega) - Stellar Class — derived from leading zeros in
hash(7 classes, Common → Transcendent) - Resource Deposit — derived from
merkle_root[0:2](Stone, Iron, Gold, Crystal, Void Matter) - Historical Era — derived from
subsidy/ halving epoch - Temporal Modifier — derived from
timestamp(UTC hour + weekday) - Special Flags — boolean checks on height, hash, and timestamp (up to 14 flags)
The biome is derived from byte 9 of the block hash (characters 18–20): parseInt(hash[18:20], 16) % 5. This gives an index from 0–4 mapping to Ocean, Desert, Forest, Snowfield, or Volcano.
Modern Bitcoin hashes begin with 18+ leading zeros due to proof-of-work difficulty. Using the first byte would produce almost exclusively Ocean biomes. Byte 9 is safely past the typical zero prefix, ensuring fair distribution across all 5 biomes.
Ecumenopolis (Level 6) is the highest civilization tier, awarded to blocks with more than 8,000 transactions. It represents a planet-spanning city — an entire world turned into one continuous metropolis.
Visually it receives a thick bright red pulsing ring, 60 city-light particles, 30 urban glow sprites, a central core glow, +25% opacity boost, and 24 rotating satellite dots orbiting the system.
Economy is derived from total_fee in satoshis. There are 7 tiers:
- Tier 0 — Primordial: 0 sats (Genesis block only)
- Tier 1 — Agricultural: 1–10,000 sats
- Tier 2 — Mercantile: 10,001–1,000,000 sats
- Tier 3 — Industrial Empire: 1,000,001–50,000,000 sats
- Tier 4 — Post-Scarcity: 50M–100M sats — cyan orb, 80-particle spiral
- Tier 5 — Singularity: 100M–499M sats — crimson/gold dual orb, 120-particle spiral
- Tier 6 — Ω OMEGA: 500M+ sats (5+ BTC in fees) — gold supernova orb, 160 particles, 12 energy arcs
Tiers 4–6 layer on top of the stellar class visuals, so an Omega-economy Transcendent block stacks all enhancements from both dimensions simultaneously.
The temporal modifier reflects when a block was mined (UTC timestamp). There are 4 states:
- Void Midnight: hour 0, 1, or 23 AND it was a weekend
- Midnight: hour 0, 1, or 23 on a weekday
- Weekend Pulse: Saturday or Sunday, not near midnight
- Standard: all other timestamps
Stellar Classes
Stellar Class is derived by counting the number of leading zero characters in the block hash. Each additional leading zero is statistically 16× rarer than the previous class, since each hex character has 1-in-16 odds of being zero.
- Common — 0–8 leading zeros (baseline, most blocks)
- Uncommon — exactly 9 zeros
- Rare — exactly 10 zeros
- Epic — exactly 11 zeros
- Legendary — 12–20 zeros
- Mythic — 21–22 zeros
- Transcendent — 23+ zeros (ultra rare)
Bitcoin's current proof-of-work yields hashes with 18–19 leading zeros as the baseline difficulty target. Achieving 21–23+ zeros requires satisfying both the standard difficulty requirement AND an additional cosmic lottery on top of it.
Mythic (21–22 zeros) is statistically extraordinary but theoretically possible during a very lucky mining epoch. Transcendent (23+ zeros) has been confirmed in Bitcoin's with 13 of ~950,000 blocks.
As of 2025–2026, Bitcoin's proof-of-work difficulty requires hashes to begin with approximately 18–19 leading zeros. This means the vast majority of modern blocks fall in the Common class (0–8 by protocol definition, but practically landing in the 18-19 range). "Common" in this context means "the expected output of proof-of-work" — it is by far the most populated class.
The stellar class is determined by leading zeros beyond what proof-of-work mandates. A block with exactly the minimum required zeros is Common. Extra zeros above the difficulty target push a block into higher tiers.
Resource Deposits
The resource deposit is derived from the block's merkle_root — specifically, parseInt(merkle_root[0:2], 16), giving a byte value from 0–255. This is an independent entropy source from the block hash, ensuring resources are uncorrelated with biome, weather, and stellar class.
- Stone: 0x00–0x91 (~57.0% of blocks)
- Iron: 0x92–0xF3 (~38.3%)
- Gold: 0xF4–0xFB (~3.1%)
- Crystal: 0xFC–0xFE (~1.2%)
- Void Matter: 0xFF only (~0.4% — exactly 1-in-256)
Crystal (~1.2% of blocks): Renders a rotating wireframe octahedron in cyan, a prismatic counter-rotating ring, and 18 independently-twinkling sparkle particles. The trait card in the UI receives an animated border and glowing badge.
Void Matter (~0.4% of blocks): Renders a solid black event horizon sphere, a dark purple accretion disk spinning at 0.015 rad/frame, 40-particle inward spiral arms, and a dark outer halo. These are the rarest resource visuals in the system — appearing in roughly 1 in 256 blocks.
Special Flags
Special Flags are boolean properties that fire when a block meets specific on-chain criteria — mathematical properties of its height, hash patterns, or timestamp. Up to 14 flags can be active simultaneously on a single block.
- 🌅 Genesis Signal — Pattern
20090103in tx hashes (~0.003%) - 💥 Nova Event — Bitcoin halving block (every 210,000 blocks)
- ⚛️ Quantum Shift — Difficulty adjustment epoch (every ~2 weeks)
- 📅 Weekend Pulse — Mined on Saturday or Sunday (~28%)
- 🌙 Void Midnight — Near UTC midnight (~12.5%)
- ✨ Cosmic Signature — Hash contains
21e8(~0.05%) - 🔁 Cosmic Echo — Hash has 4+ repeated hex chars (~18%)
- 🪞 Symmetric Nebula — Full block height is a palindrome (≥3 digits)
- 🔢 Prime Alignment — Block height is prime (~13%)
- 📐 Harmonic Sequence — Block height is a Fibonacci number
- 🔥 Primordial Age — Block height below 1,000 (0.1%)
- 2️⃣ Binary Nexus — Block height is a power of two
- 3️⃣ Ternary Resonance — Block height is a power of three
- ! Exponential Crest — Block height is a factorial (n!)
A Nova Event fires at every Bitcoin halving block — block heights that are exact multiples of 210,000 (blocks 210000, 420000, 630000, 840000, etc.). These are some of the most significant moments in Bitcoin's monetary history, when the block subsidy is cut in half.
The flag is displayed prominently in the Special Flags panel. Combined with the Historical Era trait, halving blocks also receive an era label reflecting the specific epoch they inaugurate.
The Cosmic Signature fires when the block hash contains the hex substring 21e8. This pattern references Bitcoin's 21 million coin supply cap and is treated as a sacred pattern in Bitcoin culture — a self-referential signal hidden by proof-of-work randomness. It appears in roughly 0.05% of blocks (~1 in 2,000).
Genesis Signal ✦
The Genesis Signal is the rarest special flag in the entire system. It fires when the pattern 20090103 appears inside one of the block's transaction hashes. This date — January 3, 2009 — is the day Satoshi Nakamoto mined Bitcoin's Genesis Block (Block 0), embedding the famous Times headline.
Only 23 confirmed blocks carry this pattern out of ~950,000 mined, making it rarer than 0.003% — rarer than any stellar class or any other flag in the protocol.
As of May 2026, the 23 confirmed Genesis Signal blocks:
350315 · 351614 · 450967 · etc
You can verify any Genesis Signal block directly in your browser:
- Navigate to
ordinals.com/block/{height}— for example,ordinals.com/block/851335 - Open your browser's find bar (Menu → Find, or Ctrl+F / ⌘F)
- Type
20090103and press Enter - If the pattern is present in a transaction hash, your browser will highlight and jump to it — shown as "1/1" or higher in the search bar
This works because ordinals.com renders the full list of transaction IDs on block pages, and browser find is a simple text search.
When Genesis Signal is active, seven additional layers are rendered on top of the base star system:
- Blazing core orb — white-gold at 2.5× core radius
- Gold bloom — secondary warm glow at 4.5× core radius
- 3× sunrise rings — concentric tilted tori spinning independently
- Sacred icosahedron — gold wireframe with dual-axis rotation
- 16 dawn beams — radial light lines pulsing outward
- 24 orbit particles — golden dots in a warm orbital band
- Outer halo — diffuse gold at 8× core radius tinting the entire scene
All pre-existing nebula particles also receive a +0.30 opacity boost, and field particles scale ×1.5 and shift to #ffd700.
Namespace & Ownership
Each Bitcoin block corresponds to a parent namespace: <height>.bitcoin. For example, block 840000 maps to 840000.bitcoin. Child inscriptions can be nested under it following the Ordinals parent-child hierarchy.
The namespace inscription is the ownership claim — it is the on-chain proof that you have staked this block's identity. Without it, you have no binding connection to the world. Viewing and exploring requires no inscription, but owning a world requires holding its namespace.
Block existence rule: A namespace like 1500000.bitcoin cannot be inscribed until block 1,500,000 has actually been mined. The numeric part must be ≤ the current Bitcoin block height at the time of inscription. This follows the same convention used by Bitmap and is enforced by indexers – it prevents claiming future blocks that don't yet carry on‑chain entropy.
Indexers and marketplaces that support the .bitcoin namespace will only recognise inscriptions where the block height already exists on the Bitcoin blockchain. If you inscribe a future block height, it will be ignored – and you will waste the inscription fee.
Ownership of a namespace inscription (e.g. 840000.bitcoin) is determined solely by the Ordinals protocol's first-inscription-wins convention. Whoever inscribes the name first, and whose inscription is confirmed on Bitcoin, holds that namespace permanently.
Bitcoin Universe has no central server, no admin key, and no ability to adjudicate ownership disputes or reverse inscriptions. Once confirmed on Bitcoin, the outcome is immutable.
The existence of a rarity trait or namespace does not confer, imply, or guarantee any monetary value. Always conduct your own research before interacting with on-chain assets.
Ordinals Artifact & Inscription ✦
The canonical model uses two linked inscriptions — a parent namespace and a child image — forming an atomic, cryptographically-linked artifact on Bitcoin:
- Explore & Verify — Navigate to your block height and confirm its traits: stellar class, special flags, biome, resource
- Capture — Use the Export button for a clean 1200×1200 PNG with no UI chrome
- Inscribe the parent namespace — Inscribe
<height>.bitcoin(e.g.840000.bitcoin). This is the deed to your world. First confirmed inscription wins, permanently.
Block existence check: The numeric part of the namespace must be ≤ the block height in which the inscription is confirmed. Future blocks cannot be claimed — follow the Bitmap convention. - Inscribe the image as a child — Inscribe the PNG as a child inscription of
840000.bitcoin. The image is now cryptographically linked to the namespace — it lives under your ownership claim on-chain - Inscribe the metadata as a sibling child — Inscribe a JSON file as a second child of
840000.bitcoinalongside the image. This is the protocol signal that lets indexers and marketplaces identify your artifact without trusting any server
No mint button, no platform wallet, no smart contract. Use any standard Ordinals inscription tool: ord CLI, OrdinalsBot, Gamma.io, etc.
When the image is a child of 840000.bitcoin, it is permanently and provably linked to the ownership claim on-chain. Anyone can trace the child inscription back to its parent and verify who holds the namespace. A standalone image inscription has no such binding — two people could each inscribe the same screenshot and neither is provably the owner.
The parent-child link is what makes the artifact canonical. It's the difference between a picture and a deed-backed asset.
There are two distinct on-chain assets, and the owner decides independently what to do with each:
-
The parent —
840000.bitcoin— is the world's deed and namespace root. Selling/transferring this passes the identity of the world and the right to issue further child inscriptions under it. It's the most authoritative asset. - The child — the PNG image inscribed under the parent — is the visual artifact. It can be sold independently. The buyer gets the canonical image linked to that block's namespace, without necessarily owning the parent namespace itself.
An owner could keep the parent (holding the world's identity forever) while selling the child artifact to a collector. Or sell the parent and transfer everything. This creates two tiers of ownership with genuinely different value propositions.
Three checks, all doable by anyone:
- Visual — Load the same block height in the explorer. The deterministic renderer produces the exact same star system on any device, forever. If the inscribed image matches, it's authentic.
- On-chain lineage — Trace the child inscription's parent. If it leads to
<height>.bitcoinheld by a valid first-inscription, the provenance is clean. A fake child not under the canonical parent is immediately identifiable. - Protocol signal — Inspect the sibling JSON child. A canonical artifact carries
"p": "bitcoinuniverse"and"op": "artifact". Indexers and marketplaces filter on these fields to surface only verified artifacts — no backend required.
No trust in the inscriber, no trust in a marketplace, no trust in Bitcoin Universe required. Bitcoin's consensus is the source of truth.
- Format: PNG, 1200×1200 px minimum, square, no UI chrome
- Parent: must be inscribed as a child of
<height>.bitcoin - Block existence check – The
<height>in the parent namespace must already be part of the Bitcoin blockchain. Pre‑inscribing future blocks is not allowed. - Metadata (recommended): attach a sibling JSON child inscription — a self-describing protocol envelope that lets indexers and marketplaces identify and verify the artifact without trusting any platform:
{ "p": "bitcoinuniverse", "op": "artifact", "block": <height>, "type": "image", "traits": { ... } }Thepfield is the protocol identifier — indexers filter on this.opdeclares intent.blocklinks the inscription to its Bitcoin block. Together they make discovery and verification trustless.
PNG files range ~400KB–1.2MB depending on rarity class. Higher-rarity blocks have more particles and visual effects. Inscription fees scale with file size — factor this in, especially for large Legendary or Genesis Signal renders.
No. Bitcoin Universe operates no marketplace, holds no custody of any inscription, and has no admin key over any namespace or artifact. The project is a client-side explorer and an open community convention — nothing more.
Once confirmed on Bitcoin, inscriptions are permanent and outside the control of any party, including this project. Trade and transfer through standard Bitcoin and Ordinals tooling.
Technical
- Block input: Type any block height and press Enter or click Explore
- Prev / Next buttons: Navigate one block at a time
- Keyboard arrows ←→: Navigate blocks (when not typing in input)
- R key: Load a random block from curated ranges
- Mouse drag: Orbit the 3D star system
- Scroll wheel: Zoom in and out
- URL persistence: The current block is stored as
?block=height— shareable and bookmarkable
- Initial page load: ~150 KB
- Block data fetch: 50–200 ms (ordinals.com API)
- 3D scene build: under 100–500 ms depending on rarity class
- Frame rate: 60 fps on integrated graphics
- GPU memory: ~30–45 MB
Block data is cached client-side for up to 30 blocks (LRU eviction), so navigating recently-viewed blocks is instant.
Bitcoin Universe does not use Math.random(). It employs a seeded PRNG (Mulberry32) initialized from the block hash. A deterministic seed is derived from the hash string using a polynomial rolling hash, then fed into the Mulberry32 algorithm to produce a reproducible sequence of pseudo-random numbers.
This guarantees that the same block hash always generates the identical star system geometry — on any device, at any time, forever.
The 3D renderer uses Three.js r160 with OrbitControls and WebGL 2.0. The scene is composed of layered systems: background stars, inner nebula (particle count scales with civilization and rarity), a bright core, geodesic cages (Rare+), field particles, aura rings (Legendary+), and a resource deposit ring that appears on all classes.
Security & Trust
Every trait is derived by an open, deterministic formula from publicly verifiable on-chain data. All generation is client-side — you can inspect the source code in your browser's developer tools and verify every computation yourself.
The raw block data is fetched directly from ordinals.com/r/blockinfo and displayed in the Trait panel alongside each derivation. There is no intermediary server that could tamper with results. The verification link on each world takes you directly to the source data.
No. Bitcoin Universe has no backend server, no database, no user accounts, and no connection to any wallet. It is a fully client-side application. No private keys, no personal data, no cookies beyond local theme preferences. Nothing you do in the explorer is transmitted to any server controlled by this project.
No. A Bitcoin block's hash, merkle root, transaction count, fees, subsidy, and timestamp are all permanently sealed by proof-of-work the moment the block is mined. These fields can never be altered without invalidating the block and the entire chain that follows it.
Therefore, every block's cosmic traits are immutable by definition — anchored forever in the Bitcoin timechain. Every block is a universe. Its properties are eternal.