Guide
Guide copied to clipboard
How should plural and singular amounts of satoshis be formatted?
Describe your content request
I'd like to request suggestions on how plural and singular sat amounts should be displayed to users.
Link to the page
https://bitcoin.design/guide/designing-products/units-and-symbols/
Why would you like to change the content?
This is a question I have for a wallet I'm writing. Displaying 0 sats, 1 sat, 2 sats, etc, is more correct, but more work.
I wanted to add that in a wallet i use, the singular is used, e.g., 100 sat, and it feels pretty natural, and it's less work for developers, so it could be a good default suggestion.
Good point, personally I'd like to see apps just use the bitcoin glyph for both displaying in sats and bitcoin denomination (0.000 000 000). I feel like this is where things will naturally evolve to over time.
Viewing as sats
₿ 1 ₿ 100 ₿ 1,000
Viewing as bitcoin
₿ 0.000 000 001 ₿ 0.000 000 100 ₿ 0.000 001 000
Something else we could consider is that the conventional English standard to show $ before and ¢ after. We could do something like below and show the glyph after when viewing a sats denomination and before when in bitcoin denomination.
Viewing as sats
1 ₿ 100 ₿ 1,000 ₿
Viewing as bitcoin
₿ 0.000 000 001 ₿ 0.000 000 100 ₿ 0.000 001 000
This would help make it a little more clear as using the same symbol for both could confuse people. We could also propose a sats symbol but I'm not a huge fan of that proposal.
Good question. From quick research on other currencies, plural usage seems to differ across countries. Some use the singular form also as the plural, others have custom plural forms (e.g. haléř/haléře for the Czech Koruna). I don't think we have a standard (using that term loosely) for sats, so we either just accept both sat and sats as valid (like cent and cents are OK, see Wikipedia), or find some rationale for one of the two. Not sure how you'd decide that though (ideally not just based on personal preference).
Searching around the internet briefly, I mostly see sats used for the plural (there are also memes like "stacking sats"). But use in language may differ from formatted numbers in a UI.
Dev effort should not be a deciding effort in something like this. If you hand-coded it, it would be value == 1 ? 'sat' : 'sats'. Not very complicated. The best way to go about this anyways is to use a library that formats currency values based on the currency and locale. Browsers, for example, include Intl.NumberFormat. You can try this out on the Units & Symbols page. This library allows for setting custom pluralization rules. Localization libraries also typically allow for these (see Vue I18n docs.
Do people who speak languages that don't mark the plural find it difficult to understand plural units, like sats, when they're only familiar with the singular, like sat?
ICYMI : https://medium.com/coinmonks/the-satcomma-standard-89f1e7c2aede
One way think about it: for the sake of consistency and simplicity, if one is using a glyph (₿) for bitcoin, you could also use one for satoshis (take your pick, there are a bunch of suggestions online). You could include a note during onboarding or one of the payments pages that 100,000,000 [icon] = 1 ₿.
Another way of thinking about it is using abbreviations BTC and SAT (essentially as icons) and be done with it. This maintains consistency and simplicity while adding clarity since you're not using a new glyph. This might also scale if you're supporting altcoins :/
Good point, personally I'd like to see apps just use the bitcoin glyph for both displaying in sats and bitcoin denomination (0.000 000 000). I feel like this is where things will naturally evolve to over time.
Viewing as sats
₿ 1 ₿ 100 ₿ 1,000
Viewing as bitcoin
₿ 0.000 000 001 ₿ 0.000 000 100 ₿ 0.000 001 000
Something else we could consider is that the conventional English standard to show $ before and ¢ after. We could do something like below and show the glyph after when viewing a sats denomination and before when in bitcoin denomination.
Viewing as sats
1 ₿ 100 ₿ 1,000 ₿
Viewing as bitcoin
₿ 0.000 000 001 ₿ 0.000 000 100 ₿ 0.000 001 000
This would help make it a little more clear as using the same symbol for both could confuse people. We could also propose a sats symbol but I'm not a huge fan of that proposal.
Personally, neither of these layouts feel intuitive to me. Saying this as someone who uses formatting like $10.97 or $0.75 on a daily basis, and maybe 75¢ incredibly rarely.
I use the dollar sign on the left as my country's standard, but if somebody mistakenly puts the dollar sign on the right, I don't find it to represent cents; my mind still reads it as dollars.
The idea of simply using whole numbers to represent sats and decimals to represent bitcoin is also not intuitive to me. It's like if $1 meant "one cent" and $1.00 meant "one dollar".
Maybe some folks will disagree; I'm just saying how this feels from my personal experience with money @Bosch-0.
Do people who speak languages that don't mark the plural find it difficult to understand plural units, like
sats, when they're only familiar with the singular, likesat?
Interesting @casey. Do you have some example languages? Are these languages that differentiate plurals differently in general, or specifically with regards to currency?
IMHO, we should not be recommending people choose one unit or the other. To me, 0 sats, 1 sat, x sats feels the most intuitive. Over time, maybe feel more accustomed to just saying sat.
I think it's important that a wallet developer do 2 things:
- Consider the audience, culture, language you are building the product for and how they think of pluralization.
- Be consistent within the app (e.g. if you decide it's always
satno matter what, then make sure it's alwayssateverywhere in your product.
I think it would be good to include something to that effect on the Units and Symbols page.
Here is my proposed text. Any thoughts on this? Looking to get feedback on my draft text before opening a PR.
Looks good. It took me a second to make sense of the image because of the repeat "Singular/Plural/Singular/Plural". Here's a stab at addressing this with a slightly different layout.

In English, zero, decimal, and fractional numbers all take the plural. So in contexts where "2 bitcoins" are plural, then "0 bitcoins" "0.5 bitcoins" should also be plural.
Interesting @casey. Do you have some example languages? Are these languages that differentiate plurals differently in general, or specifically with regards to currency?
Japanese, for example, doesn't mark plurals explicitly.
Good points, thanks @casey!
I opened PR #955 for this.