Live on Bitcoin mainnet alpha

Your name.
Your keys. No registrars. No rent.

Sovereign handles native to Bitcoin.
Off-chain by default, on-chain when you need it.

beam-cli
connected to relay network
Sovereign handle
alice @bitcoin
Root
0xe3b0...985a 32B
Off-chain Trustless Permanent
Resolve a handle
Waiting
Enter a handle to resolve
e.g. alice@bitcoin, satoshi@bitcoin
For Developers

Resolve in a few lines of code

Integrate trustless name resolution into any app. Anchor to Bitcoin, resolve off-chain, verify locally.

let fabric = Fabric::new();
let zone = fabric.resolve("alice@bitcoin").await?;
JSON Result
[
  { "type": "txt", "key": "website", "value": ["https://example.com"] },
  { "type": "addr", "key": "nostr", "value": ["npub1abc...", "wss://relay.example.com"] }
]
Architecture

From auction to resolution

A three-stage pipeline anchored to Bitcoin's proof of work. Every step is permissionless, every proof is verifiable.

1
2
3
Stage 1

Permissionless auctions

Top-level spaces like @bitcoin are distributed through open auctions on Bitcoin. Up to 10 per day - bids are burned, no entity profits.

Burn mechanism
No entity profits from auctions. Fair distribution by design.
~1440 blocks
Each auction runs for roughly ten days. Highest bid at close wins.
Learn about auctions
Currently auctioning
@ bitcoin
47 blocks left
· 4 bids
bc1q...8wlh
0.52 BTC
Leading
2
bc1q...f3a9
0.38 BTC
Outbid
3
bc1q...2d7c
0.24 BTC
Outbid
Proceeds burned via OP_RETURN
10 spaces / day
Space acquired → Issue handles
2
3
0 handles
0 committed
0 batches
▶ Input Hopper
Commitment Engine
Root · 32 Bytes
awaiting input…
Stage 2

Batch handle issuance

Space owners issue handles in batches using subs. Millions of handles are organized into a Merkle tree and committed with a single 32-byte root hash - one transaction, unlimited names.

Merkle tree batching
Each committed batch proves names didn't exist in a prior batch with exclusion proofs off-chain.
Irrevocable certificates
Each handle gets a Merkle inclusion proof linking to an on-chain root - verifiable, uncensorable, permanent.
Certificate Verified
Handle alice@bitcoin
Owner bc1qxy2k...fjhx0wlh
Proof { proof bytes }
Anchored to Bitcoin PoW
Learn about subspaces
Handles issued → Relay & resolve
3
Stage 3

Off-chain relay network

Users publish records & certificates to Certrelay - an HTTP based browser-resolvable network. Apps resolve handles with zero on-chain footprint, verified against the Bitcoin-anchored state root.

Zero on-chain bytes
Resolution happens entirely off-chain. Records travel through certrelay, not the blockchain.
Trustless verification
Every response includes a Merkle proof. Verify locally against the Bitcoin state root.
View Certrelay on GitHub
Peers: 0
User
alice@btc
publish records
Certrelay
peer-to-peer relay
App
resolve()
verify proof
zero on-chain bytes
verified against Bitcoin state root
Resolution Log
resolve ("alice@bitcoin") ✓ verified
Trust Model

Trust vs. Verify

DNS requires you to trust a chain of authorities. Spaces requires you to

DNS / BIP-353 Chain of Trust
ICANN Root Keys Delegated

Root zone keys held by 7 keyholders

Registry Delegated

Authority delegated to Verisign, etc.

Registrar / User Centralized

Certificate signed by above chain

Any authority in the chain can revoke your name
Spaces Protocol Chain of Verification
Bitcoin PoW Decentralized

Consensus from proof of work

Verifiable

Verifiable with a Bitcoin node

Client Verification Trustless

Mathematically proven state

No authority can revoke what Bitcoin has confirmed
Open Source

Build on Spaces

Spaces Protocol is open source infrastructure. Contribute to the codebase, run a node, or integrate resolution into your app.