Bitcoin is divided into eighth decimal places. These sub-units are called “satoshi” or simply “sats”. A Satoshi 0.00000001 BTC. Unfortunately it is impossible to read for small sat values. And over time, we all hope that Bitcoin will continue to appreciate to the point where small SAT-dominated transactions will become the norm. So I’m usually on the #SatsTheStandard team; Instead of 0.00001042 btc, we can display instead:
But to a large extent we have the opposite problem. Consider setting up a transaction for 615,395,023 SAT! At a glance, did I just type 61 BTC, 6.15 BTC or 0.61 BTC? I really don’t want to be off by a factor of ten here! If I slow down and concentrate a little and remember that 1 BTC is 100,000,000 SAT, carry the decimal place and … Ah, 6.15 BTC! But I find it frustrating to move so many values when even a little extra effort has to be spent. Not good.
If you have a whole coiner (i.e., you hold at least one full bitcoin) or nearby, you have the same readability problem when reviewing your total balance.
But all the bitcoin wallets I’ve seen make you decide on one value or another, no matter how inappropriate in certain cases.
BTC-Sats Hybrid The Rescue!
I offer a display compromise:
.156.15 | Rated 395,023
The first two digits after the decimal point still hold so much value that they should be on the BTC-denominated side. The remaining six digits of the SAT value will cover the general range of the day, the SAT-denominated amount that we will become accustomed to seeing in our future hyperbitcoininized lives.
No information is discarded. The larger BTC-denominated side will always use two decimal places as we are all already accustomed to our local Fiat currency. And on the SATs-denominated side, from a thousand SATs or a few hundred SATs to millions of SATs are apparently very simple.
Simple. Easy to read. Elegant, even.
That separator is the “vertical bar” character or “pipe” to the programmer-speaker. Look just above your return key. This is part of the standard ASCII character set. It is not external. It is already on your keyboard and on your phone. Your coldcard may already display this. And, like the mockup above, it can be colored for extra effect. Programmers will assume that the character in the pipe already has special meaning in the code, but it is not code, stupid!
Whether the ₿ sign should appear before or after the quantity is controversial, but I think it gives the best clarity to the front and it immediately implies what the upcoming numbers mean. If the font used does not display that symbol, we can return to “btc:”
6.15 BTC | Rated 395,023
If the SAT-denominated side is less than 100,000, there is no reason to display the leading zero:
.156.15 | 4,820 rate
.156.15 | 74 SAT
When the total amount is less than 10 million SAT, the BTC-denominated aspect can be completely eliminated:
Although critical stickers would definitely like to see the zero-out BTC-number aspect:
.000.00 | 4,820 rate
All is well.
If the space is at an absolute premium, “sats” can be omitted but the space before and after the pipe character should be saved (otherwise it is very difficult to separate it from one):
-6.15 | 395,023
There are at least 80 provocative countries that change their periods and commas. A Big Mac in Germany is 5.16 € (the amount between space and symbol is also annoying). Really, the eurozone? All right. I don’t like it but btc-sats hybrid displays can get the decimal separator accustomed to the way they look:
-6.15 | Rated 395,023
For all non-Michael Sailor transactions, we will see only one comma and one time in this display format. Thus locale-specific confusion will be quite limited. And if I’m being honest, I’m not crazy about how the left-right section given by the pipe letter is lifting so heavily; My eyes barely register that commas and periods are interchangeable.
And if they really need to move that symbol and add unnecessary space, OK:
6.15 ₿ | Rated 395,023
There it is, Europe.
The Japanese calculation system naturally lends itself to four-digit dividers. This is obviously a huge mess. But, if they so choose, they can group the SATs-denominated group with minimal confusion for the rest of the world:
.156.15 | Rate 39.5023
Consider data input
So when we type the amount of our transaction, the first six numbers can first fill the SAT-denominated side:
.00.06 | 153,950 rate
The last line that suddenly pushes BTC-denominated is our “Oh shh!” The moment if we typed our quantity incorrectly. It’s screaming: “Yeah, this amount -0.01 or more bitcoin-start paying attention too close!”
Or perhaps more, UI implementation can clearly distinguish two parties, such as a web form separating the day, month, and year of birth. So you can start typing the big bitcoin-organized aspect with confidence:
₿__ | __ Section
.156.15 | __ Section
And then the next number of entries automatically redirects to:
.156.15 | 3 rate
.156.15 | 39 SAT
.156.15 | 395 SAT
.156.15 | 3,950 rate
.156.15 | Rated 39,502
.156.15 | Rated 395,023
Now, of course, there were other suggestions. Bitcoin Magazine Recently published is “Satcommer Standard” which has added three-decimal grouping to Satside:
The comma of one million satosis here basically serves the same purpose as my pipe character. And Satcom has the advantage that people will have 99,999,999 Sats up to 1 bitcoin. But for my eyes too much has been gathered here. And math teachers will directly refuse to teach students to read such valuable values. This localization keeps Bagabu alive and well:
As a technology idiot that looks like an invalid IP address to me.
There are others The argument is in favor Satside uses only one space to separate the four numbers:
Or to use space instead of satcom commas:
As far as I’m concerned these methods are dead on arrival. It orphans and unanchors the majority of those numbers. Phone numbers (867-5309) have a reason to link to their groups.
Another method I support is to set a display threshold. Above, say, 0.01 BTC, show the amount in BTC terms. Below the threshold, show it as sats. And let the user set their own limits. I still don’t like to see all eight numbers after the decimal point on a pure btc-denominated display but this dynamic threshold-based approach still improves a btc-only or sats-only global setting.
Are we going to launch?
I contributed awesome code Specter desktop The Open Source Multisig Wallet Project, as well as the world’s coolest open source hardware wallet, SeedSigner. If there is enough enthusiasm, I will write PR (proposed change to the “pool request” -code) to include the BTC-SATS hybrid in each project as a display setting.
So what do you think? Are you on the #BtcSatsHybrid team?
Tweet your thoughts, mention hashtags and tag me Kithamukai.
This is a guest post by Keith Mukai. The opinions expressed are entirely their own and BTC, Inc. Bitcoin Magazine.