---
name: bsv-amounts-and-copy
description: "Get BSV amounts, units, symbols and product vocabulary right in an interface: satoshis as the unit, formatting and grouping, local currency, what to call the network on screen, fees, and which words to avoid. Use when asked to 'format a BSV amount', 'show a balance', 'sats or BSV', 'what do we call it in the UI', 'review our copy', 'should this say BSV or bitcoin', or when writing any string a user will read in a BSV product."
---

> Start from [bitcoinsv-design](../bitcoinsv-design/SKILL.md). Shared states, labels, errors, amounts and fees: [shared patterns](../bitcoinsv-design/references/shared-patterns.md).

# Write BSV amounts, units and interface copy

**Scope:** Every amount and every word a user reads: units, formatting, network names, fees and vocabulary.

**Does NOT cover:**

- States, loading labels and errors, which are in the shared patterns: see [bitcoinsv-design](../bitcoinsv-design/SKILL.md)

**Cross-references:** [bsv-payments](../bsv-payments/SKILL.md), [bsv-micropayments](../bsv-micropayments/SKILL.md), [shared patterns](../bitcoinsv-design/references/shared-patterns.md).

Getting an amount wrong by a factor of a hundred million is a design bug more often than a code one. The vocabulary problem is quieter and just as expensive: on a screen where somebody is about to move money, "bitcoin" on its own does not tell them which network they are on.

## ALWAYS

- Use Bitcoin SV or BSV on screen: "Send BSV", "Your BSV balance", "Bitcoin SV address". Use one of the two consistently within a screen. _([costs trust](https://www.bitcoinsv.design/guide/rule/4e724b402c/))_
- Say when a converted figure is an estimate, and roughly how fresh the rate is. A price that silently drifts is worse than one labelled approximate. _([costs trust](https://www.bitcoinsv.design/guide/rule/ab0796fbfa/))_
- Keep one bitcoin unit per screen. Mixing "0.0001 BSV" and "10,000 sats" in one view asks the user to do arithmetic to compare two things you wrote. _([costs trust](https://www.bitcoinsv.design/guide/rule/19ba942704/))_
- Leave the fee off the review screen entirely for ordinary payments, and put it in the transaction details afterwards for anyone who looks. _([costs trust](https://www.bitcoinsv.design/guide/rule/8223d8056e/))_
- Validate as it is entered, and disable sending until it passes. _([costs trust](https://www.bitcoinsv.design/guide/rule/3453bd7d1f/))_
- Default to satoshis, not BSV, for the bitcoin figure. Everyday amounts are hundreds or thousands of satoshis, and the decimal form is unreadable at that scale. _([rule](https://www.bitcoinsv.design/guide/rule/7109c0692f/))_

## NEVER

- Show long decimal BSV amounts in a consumer interface. "0.00012500 BSV" asks the reader to count zeros, and they will get it wrong. _([costs money](https://www.bitcoinsv.design/guide/rule/5fe9c5b068/))_
- Shorten an address with an ellipsis where somebody is checking it. Middle elision is acceptable in a list row, never on a confirmation. _([costs money](https://www.bitcoinsv.design/guide/rule/0b9964e35a/))_
- Write "bitcoin" alone on a screen where somebody is about to move money. Used precisely it is an umbrella covering several chains, so it is the one word that cannot tell a user which network they are on. See Bitcoin. _([costs trust](https://www.bitcoinsv.design/guide/rule/ff7e7b18ab/))_
- Abbreviate amounts in a financial context. "12.5k sats" saves four characters and introduces a rounding question. _([costs trust](https://www.bitcoinsv.design/guide/rule/e8d6661969/))_
- Shorten a number with an ellipsis, ever. Reformat it or let it wrap. _([costs trust](https://www.bitcoinsv.design/guide/rule/28ab6b7ed7/))_
- Keep a fee picker because the design system already has one. It asks the user a question with no wrong answer, which teaches them that your questions are decorative. _([costs trust](https://www.bitcoinsv.design/guide/rule/5d31c5cfd7/))_

## Patterns

### 1. Format an amount

**When:** Every figure in the product.

**How:**

1. Default to satoshis. Everyday BSV amounts are hundreds or thousands of satoshis, and "0.00012500 BSV" asks the reader to count zeros.
2. Write "sats" or "satoshis" in words and group digits for the reader's locale: "12,500 sats". No satoshi glyph; none renders reliably.
3. One unit per screen. Show local currency beside or above, swappable in one tap, and say when a converted figure is an estimate and how fresh the rate is.
4. Use tabular numerals. Never abbreviate ("12.5k sats") and never shorten a number with an ellipsis.
5. Make sure the unit is text a screen reader will say: "twelve thousand five hundred satoshis".

_Source: [Amounts and units](https://www.bitcoinsv.design/guide/patterns/amounts-and-units/)_

### 2. Name the network

**When:** Any screen where somebody could be about to move money.

**How:**

1. Say Bitcoin SV or BSV, never "bitcoin" alone: "Send BSV", "Your BSV balance", "Bitcoin SV address". Pick one and keep it.
2. Label address fields **BSV address**. The unqualified word is the one that cannot tell the networks apart.
3. Call the connect button **Connect wallet**, not "BRC-100" or "authorise".

_Source: [Amounts and units](https://www.bitcoinsv.design/guide/patterns/amounts-and-units/)_

### 3. Leave the fee out

**When:** Review screens, receipts and activity.

**How:**

1. A fee is less than 1p and not a decision. Leave it off the review screen for ordinary payments and put it in the transaction details.
2. If it is shown, show it in local currency as a small line: "Fee: less than 1p". Never a fee picker, an estimate or a "high fees" warning.
3. Consider paying it on the user's behalf and never mentioning it.

_Source: [Send fees](https://www.bitcoinsv.design/guide/daily-spending-wallet/sending/send-fees/)_

## All the rules

`references/rules.md`: 50 rules from 5 pages, 11 of them costly, most costly first.
Every rule in the guide, most costly first: https://www.bitcoinsv.design/api/rules.json

## Implementation resources

- **[@bsv/sdk](https://bsv-blockchain.github.io/ts-sdk/)**: The TypeScript SDK: `WalletClient` for every BRC-100 call, `AuthFetch` for HTTP 402, transactions, scripts and BEEF. Source at github.com/bsv-blockchain/ts-sdk.
- **[Wallet Toolbox](https://github.com/bsv-blockchain/wallet-toolbox)**: The wallet side of the interface: storage, signing and `WalletPermissionsManager`. Start here if you are building a wallet rather than an app.
- **[BRCs](https://github.com/bsv-blockchain/BRCs)**: Every proposal the skills cite, by number.

---

_Generated from https://www.bitcoinsv.design/, Open BSV License Version 6. Rules are extracted from the guide's pages and cannot be out of date about what it says; the patterns may still need updating._
