Reference
UR and CBOR primerHow a CBOR payload becomes Bytewords, frames and a QR code, and the CBOR tags BitTool Signer uses.Test vectorsEvery example on this site as JSON, generated by the BitTool Signer engine.Limits and errorsSize limits, rejected inputs, and what the user sees when a request is refused.CompatibilityWallets known to import BitTool Signer accounts and scan its signatures.
UR types at a glance
| UR type | Direction | Body | Page |
|---|---|---|---|
bytes | Signer → wallet | Byte string holding the canonical CBOR pairing map | Wallet level |
crypto-account | Signer → wallet | {1: fingerprint, 2: [descriptor]} | Coin level |
crypto-hdkey | Signer → wallet | HD key map | Coin level |
crypto-multi-accounts | Signer → wallet | {1: fingerprint, 2: [hdkey], 3: device, 5: version} | Coin level |
crypto-psbt, psbt | Both | Byte string holding the PSBT | Bitcoin |
eth-sign-request → eth-signature | Wallet → signer → wallet | Integer-keyed maps | EVM |
tron-sign-request → tron-signature | Wallet → signer → wallet | Integer-keyed maps | TRON |
sol-sign-request → sol-signature | Wallet → signer → wallet | Integer-keyed maps | Solana |
Standards
- BCR-2020-005: Uniform Resources and BCR-2020-006: UR type registry
- BCR-2020-007: HD keys, BCR-2020-010: output descriptors, BCR-2020-015: accounts
- Keystone UR registry (
eth-,sol-,tron-sign-requestand signatures), EIP-4527 - RFC 8949: CBOR (§4.2.1 deterministic encoding)
- BIP 32, BIP 39, BIP 44, BIP 48, BIP 84, BIP 86, BIP 174, BIP 370, SLIP-0010
- EIP-155, EIP-191, EIP-712, EIP-1559, EIP-2718
- BBQr, SeedQR