Resolve any .btc, .sats, .unisat, .x, .xbt, or .sat name to Bitcoin addresses, cross-chain records, Ordinal avatars, and more. BNRP is the open protocol spec that makes it work — built on Bitcoin, no vendor lock-in.
Paste any Ordinals inscription ID to preview it as a BNRP avatar. This is what wallets and apps will display when a name sets an ord: avatar record.
A .btc, .sats, .unisat, .x, .xbt, or .sat name is an Ordinals inscription. Ownership is determined by who holds the UTXO — verifiable on any Bitcoin node. No registry contract, no trusted database.
The name owner inscribes a routing record linking their name to Bitcoin addresses, cross-chain addresses (ETH, SOL, Base, Arbitrum), an Ordinal avatar, and web content.
A self-transfer makes a name the wallet's primary identity. Any app can reverse-resolve a raw Bitcoin address to a human-readable name — with mandatory anti-spoofing verification.
Any party can run a BNRP-compliant resolver. No vendor lock-in. Wallets, explorers, and dApps query the standard REST API — same interface regardless of who runs the indexer.
Full architecture, all JSON schemas, security model, roadmap, and migration path from BtcName.
BNRP-IP-01Unicode NFC, case folding, label validation, reserved names, IDN/homoglyph rules.
BNRP-IP-02On-chain record format: Bitcoin addresses, SLIP-44 cross-chain schema, avatar, content, bitmap fields.
BNRP-IP-03Solution B (self-transfer) as canonical default. Solution A (explicit inscription) as extended option.
BNRP-IP-04Bidirectional anti-spoofing: reverse lookup only succeeds when forward resolution confirms the address.
BNRP-IP-05ord:, ipfs:, ipns:, https: — with Ordinals ownership verification and fallback chain.
8-endpoint open API any resolver must implement. Full TypeScript SDK interface included.
CommunityBNRP is an open standard. Propose changes, run a resolver, or co-author the next BNRP-IP.
Live improvement proposals extending the core resolve schema. Each is a deployed spec with an open API endpoint and a demo page.
Set a Lightning Address on your .btc name. Resolves as a standard LNURL-pay (LUD-16) endpoint. On-chain taproot fallback when no Lightning node is set.
BNRP-IP-10PSBT-challenge authentication for .btc names. Wallet signs a nonce. Server verifies ownership on-chain. No passwords, no OAuth, no ETH dependency.
BNRP-IP-11agent.company.btc convention. Agent subnames carry a pubkey, capability declarations, payment address, and instructions. Machine-to-machine identity on Bitcoin.
Extended cross-protocol identity schema. One inscription sets BTC address, Lightning, Nostr pubkey, DID, Farcaster, Telegram, and more.
BNRP-IP-13Delegate namespace control to an operator. Root owner authorizes an address to issue *.name.btc at scale. inherit: false by default — clean slate on name sale.
BNRP is a REST API standard. Any wallet, app, or explorer can add .btc name resolution in under 10 minutes. No key, no login, no SDK required to start.
One GET request returns addresses, profile, avatar, Lightning, and agent fields.
GET https://api.bnrp.name/v1/resolve/{name}
Turn any Bitcoin address into a .btc name with anti-spoofing verification built in.
GET https://api.bnrp.name/v1/reverse/{address}
Any name with a Lightning Address set returns a valid LNURL-pay payRequest.
GET https://api.bnrp.name/.well-known/lnurlp/{name}
{
"name": "satoshi.btc",
"owner": "bc1p...",
"inscription_id": "a8b2c1...i0",
"addresses": {
"btc_taproot": "bc1p...",
"btc_segwit": null,
"eth": null,
"sol": null,
"spark": null,
"agent_address": null,
"lnurlp": "satoshi@getalby.com", // BNRP-IP-09
"nostr_pubkey": "npub1...", // BNRP-IP-12
"did": "did:btc:satoshi.btc" // BNRP-IP-12
},
"profile": {
"display": "Satoshi",
"description": "Bitcoin pioneer",
"avatar": "ord:a8b2c1...i0",
"url": "https://satoshi.org",
"com.twitter": "satoshi",
"com.github": "satoshi",
"com.nostr": "npub1...", // BNRP-IP-12
"com.farcaster": "satoshi", // BNRP-IP-12
"agent_instructions": null,
"payment_policy": null
},
"via": "bnrp-inscription",
"resolved_at": "2026-05-16T21:00:00.000Z"
}
Fill in your details below, copy the generated JSON, and inscribe it to your wallet via UniSat. The latest inscription always wins — update any field anytime by re-inscribing.
{}
After inscribing, paste your new inscription ID below to verify and generate your ID card.
Enter any BTC name (trump.btc) or paste a routing inscription ID to generate the identity card.
BNRP is a free, open, CC0 protocol. If it's useful to you, consider sending some sats to help fund continued development.
bc1pjzc23jskte953dgep9m7gma7vd63s7gs5a6zlr7galcrllqgqr6qz7h2jc
Native SegWit / Taproot (bc1p). Verify the address independently before sending. This is the only official donation address for BNRP.