Wallet
Practical guides for integrating BRC-100 wallet authentication, transactions, keys, encryption, signatures, permissions, and certificates.
Wallet guides cover the practical BRC-100 integration points your app will use after the first quickstart.

Use WalletClient from @bsv/sdk as the normal app entry point:
1import { WalletClient } from '@bsv/sdk'
2
3const wallet = new WalletClient('auto')
4await wallet.waitForAuthentication()Then choose the guide for the capability you need.
Production Checklist
- Test with more than one BRC-100 wallet path where possible.
- Request only the minimum capability needed for the current feature.
- Explain permissions in product UI before the wallet prompt appears.
- Treat identity keys as stable technical identifiers, not human-readable names.
- Never ask users to paste seed phrases, private keys, or recovery material into your app.
- Link to the wallet reference for method-level details.
In This Section
Transactions
Build approved BRC-100 payments to a recipient-supplied address, validate network and satoshis, handle AtomicBEEF and recover uncertain submissions.
Key Use
Request identity and derived public keys with BRC-100 WalletClient, preserve derivation context and keep private keys under wallet custody.
Encryption
Encrypting and decrypting data using the WalletClient
Signing
Sign and verify exact message bytes, finalize custom inputs at their real transaction index, and handle interrupted BRC-100 signing safely.
Permissions
Permission configuration and usage
Certificates
Certificate creation and utilization
Getting Started with AuthFetch
Learn to build without passwords, empowering users with control over their identities in your app.
