Skip to content
create-bsv-app

Glossary

The BSV and create-bsv-app terms these docs use, each in one or two plain sentences.

Action#

The name a proof is signed for, such as login or create-note. Client and server must use the same one, so a proof for one route can't be used on another.

BRC#

"BSV Request for Comments": BSV's open standards, published at github.com/bitcoin-sv/BRCs (opens in a new tab).

BRC-100#

The standard interface between apps and wallets. @bsv/sdk exposes it as WalletInterface. Any BRC-100 wallet works with a generated app.

BRC-102#

"The deployment-info.json Specification": one file, deployment-info.json, that tells local and cloud tools how to build, run and deploy a BSV app. The two BRC-102 complete examples ship with it.

BRC-103#

Mutual authentication between peers. @bsv/auth implements the single-message proof the capabilities use.

BRC-42 / BRC-43#

How wallets derive a fresh key per purpose from an identity key, a protocol ID, a key ID and a counterparty.

Basket#

A named group a wallet uses to track the outputs that belong to one app or purpose, so the app can list and spend just its own.

Capability#

A feature the CLI wires into your project: wallet-connect, wallet-login or signed-requests. See Capabilities.

Complete example#

A starter that clones a maintained app from GitHub, as opposed to a generated starter.

Counterparty#

The other identity a key is derived with. For proofs it's the server's identity key, which is why a proof made for one server fails on another. 'self' and 'anyone' are special values.

Generated starter#

custom, react, express or full-stack: a fresh app the CLI builds and wires, ready for capabilities.

Identity key#

A user's public key, 66 hex characters starting 02 or 03. Stable per wallet and unforgeable. Use it as the user ID.

Manifest#

bsv-scaffold.json, the CLI's record of what it generated. See bsv-scaffold.json.

Micropayment#

A payment of a few satoshis, small enough to charge per request, per item or per second. BSV's low fees are what make them practical.

Nonce#

A random value inside every proof. The server records it and refuses to accept it twice. That's replay protection.

Overlay#

An overlay network or service: an index that watches the chain for just the transactions one app cares about, grouped under a topic, and answers lookups about them.

Proof#

The signed message a wallet produces: { action, identityKey, expiresAt, nonce }, plus the body's bytes when there is one. Valid for 2 minutes and accepted once.

Protocol ID#

[securityLevel, 'name'], which namespaces the keys a wallet derives for your app. Level 0 never prompts, 1 prompts once per app, 2 once per app and counterparty.

Relay#

The server-side service (@bsv/wallet-relay) that pairs a phone wallet with the web app over a QR code and a WebSocket.

Satoshi#

The smallest unit of BSV: one hundred-millionth of a coin.

sCrypt#

A TypeScript framework for writing BSV smart contracts: scripts that lock coins until their conditions are met.

Server identity#

The server's own key pair, from SERVER_PRIVATE_KEY, published at GET /api/identity. It must stay stable in production.

Signed request#

An API call that carries its own proof, bound to its action and exact body. No session needed. See signed-requests.

Teratestnet#

--network ttn: a free test network for Teranode, BSV's newer node software.

Testnet#

--network test, the default: a network with free, worthless coins for building and testing. Get some from the BSV Faucet (opens in a new tab).

Wallet connect#

The wallet-connect capability, in every generated starter: a Connect wallet button that finds a desktop wallet directly, or pairs a phone by QR code through the relay. It gives your app the wallet and the user's identity key.

Wallet login#

Passwordless login, the wallet-login capability: the wallet signs a one-time proof for the action login, and the server verifies it and learns the user's identity key. No password, no email, and no coins move.