Code resources
The libraries, services and reference implementations a BSV product is built from.
When a design decision depends on what the tooling can do, look here. This is a design guide, so the list is short.
Start from a working app

create-bsv-app is the BSV Association's starter kit. One command, npx create-bsv-app, or one prompt to an AI assistant gives you a website and a server with wallet sign-in already working. It is free and open source.
Use it to test a design against the real thing early: a connect button, a sign-in prompt and a signed request, running in a browser with a real wallet, before anyone writes the rest of the product.
The SDKs
The same library in three languages, maintained by the BSV Association. They build transactions, verify proofs, derive keys and talk to a wallet.
- TypeScript, with documentation. The one that runs in a browser.
- Go
- Python
Why a designer should care
The SDK decides what a screen can promise. Whether a payment can be verified on the device, whether a proof can be checked offline, and how quickly "Received" can honestly appear are all library questions before they are design questions.
Wallets and connection
- Wallet Toolbox implements the wallet side of the connection standard: permissions, key derivation, the output store. If you are building a wallet, start with Wallet Toolbox for the logic.
- SPV Wallet is a server-side wallet with handle support, for products that hold keys on behalf of a service rather than a person.
- Project Babbage publishes tooling and documentation for apps that connect to a user's wallet, including the browser side of the connection.
Broadcasting and infrastructure
- ARC is the transaction processor. It accepts a transaction and reports back what happened, which is what a "sent" state should be derived from.
- Overlay Services run application-specific indexes over the chain, for products that need to look up their own data rather than scan everything.
- Teranode is the node implementation. You will not build against it directly.
- WhatsOnChain is a block explorer, for linking to a transaction's public record.
Interface kits
The BSV Association publishes wallet interface components for React (@bsv/brc100-ui-react-components, Open BSV License). It is a wallet-side kit: the prompts a wallet shows when an app asks for something (protocol, basket, Pass, group and spending permissions), the lists a user reviews and revokes them from, amount display, recent actions and recovery. Use these components for the wallet's screens.
For the app side (the connect button, a pay-per-use meter, a receipt) we know of no kit. The nearest kits are built for other networks. See Design files for which parts are worth taking.
Recommendation
Building the app-side kit, even a small one, would be one of the more useful things anybody reading this could do. See Contribute.
Reading the standards
The BRCs repository holds every proposal this guide cites. These are the ones a product touches most, with the page that explains each for a designer:
| Proposal | What it specifies | Explained in |
|---|---|---|
| BRC-100 | How an app asks a wallet for anything | Connecting a wallet |
| BRC-29 | The recommended peer-to-peer payment flow | Payments |
| BRC-42, BRC-43 | Key derivation, and the invoice numbers that drive it | Payments |
| BRC-52 | Identity certificates, which this guide calls Passes | Signing in |
| BRC-62, BRC-74 | The transport format carrying a transaction and its proofs | Payments |
| BRC-75 | Recovery words | Manual backup |
| BRC-169 | Handles | Paying by handle |
Related
Written from: @bsv/brc100-ui-react-components 0.2.3, BRC-100, BRC-29, BRC-62.
Checklist
The rules on this page, in a form you can work through.
1 rules
