# Glossary

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

> Agents: search these docs with the `search_docs` tool on the MCP server at https://createbsvapp.vercel.app/mcp, or read everything at https://createbsvapp.vercel.app/llms-full.txt.

## Action {#action}

The name a [proof](#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 {#brc}

"BSV Request for Comments": BSV's open standards, published at [github.com/bitcoin-sv/BRCs](https://github.com/bitcoin-sv/BRCs).

## BRC-100 {#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 {#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](https://createbsvapp.vercel.app/docs/starters#complete-examples) ship with it.

## BRC-103 {#brc-103}

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

## BRC-42 / BRC-43 {#brc-42}

How wallets derive a fresh key per purpose from an identity key, a [protocol ID](#protocol-id), a key ID and a [counterparty](#counterparty).

## Basket {#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 {#capability}

A feature the CLI wires into your project: `wallet-connect`, `wallet-login` or `signed-requests`. See [Capabilities](https://createbsvapp.vercel.app/docs/capabilities).

## Complete example {#complete-example}

A starter that clones a maintained app from GitHub, as opposed to a [generated starter](#generated-starter).

## Counterparty {#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 {#generated-starter}

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

## Identity key {#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 {#manifest}

`bsv-scaffold.json`, the CLI's record of what it generated. See [bsv-scaffold.json](https://createbsvapp.vercel.app/docs/manifest).

## Micropayment {#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 {#nonce}

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

## Overlay {#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 {#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 {#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 {#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 {#satoshi}

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

## sCrypt {#scrypt}

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

## Server identity {#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 {#signed-request}

An API call that carries its own proof, bound to its action and exact body. No session needed. See [signed-requests](https://createbsvapp.vercel.app/docs/capabilities#signed-requests).

## Teratestnet {#teratestnet}

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

## Testnet {#testnet}

`--network test`, the default: a network with free, worthless coins for building and testing. Get some from the [BSV Faucet](https://bsvfaucet.com/).

## Wallet connect {#wallet-connect}

The `wallet-connect` [capability](#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](#relay). It gives your app the wallet and the user's [identity key](#identity-key).

## Wallet login {#wallet-login}

Passwordless login, the `wallet-login` capability: the wallet signs a one-time [proof](#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.
