{"id":14172,"date":"2021-09-29T22:00:00","date_gmt":"2021-09-29T22:00:00","guid":{"rendered":"http:\/\/ci028e782160002755"},"modified":"2025-01-29T14:08:41","modified_gmt":"2025-01-29T14:08:41","slug":"bitcoin-vs-sats-denomination-why-both","status":"publish","type":"post","link":"https:\/\/bitcoinmagazine.com\/culture\/bitcoin-vs-sats-denomination-why-both","title":{"rendered":"Bitcoin Versus Sats Denomination: Why Not Both?"},"content":{"rendered":"<div id=\"bsf_rt_marker\"><\/div><p>Bitcoin is divisible down to the eighth decimal place. These subunits are called \u201csatoshis\u201d or just \u201csats.\u201d One satoshi is 0.00000001 btc. Unfortunately this is impossible to read for small sat values. And as time goes on, we all expect bitcoin to keep appreciating to the point where smaller sat-denominated transactions will become the norm. So I\u2019m generally on team #SatsTheStandard; instead of 0.00001042 btc, we can instead display:<\/p>\n<p>1,042 sats<\/p>\n<p>But for large amounts we have the opposite problem. Imagine setting up a transaction for 615,395,023 sats! At a quick glance, did I just type in 61 btc, 6.15 btc or 0.61 btc? I really don\u2019t want to be off by a factor of ten here! If I slow down and concentrate a bit and remember that 1 btc is 100,000,000 sats, carry the decimal place, and\u2026 ah, 6.15 btc! But even that little bit of extra effort is disconcerting to have to expend when I\u2019m moving this much value. No good.<\/p>\n<p>If you\u2019re a wholecoiner (i.e., you hold at least one full bitcoin in value) or close to it, you have the same readability problem when reviewing your total balance.<\/p>\n<p>But all bitcoin wallets I\u2019ve seen force you to decide on one denomination or the other, no matter how ill-suited either might be in certain cases. <\/p>\n<h2>Btc-Sats Hybrid To The Rescue!<\/h2>\n<figure><img decoding=\"async\" src=\"https:\/\/bitcoinmagazine.com\/wp-content\/uploads\/2025\/01\/46_image4.jpg\" title=\"\"><\/figure>\n<p>I propose a display compromise:<\/p>\n<p>\u20bf6.15 | 395,023 sats<\/p>\n<p>The first two digits after the decimal point still have so much value that they should stay on the btc-denominated side. The remaining six digits of sat value will cover the typical range of day-to-day, sat-denominated amounts that we\u2019ll get used to seeing in our future hyperbitcoinized lives.<\/p>\n<p>No information is thrown away. The large btc-denominated side would always use two decimal places like we\u2019re all already accustomed to with our local fiat currencies. And on the sats-denominated side, a hundred thousand sats is visually very easy to discern from a thousand sats or a few hundred sats.<\/p>\n<p>Simple. Easy to read. Elegant, even.<\/p>\n<figure><img decoding=\"async\" src=\"https:\/\/bitcoinmagazine.com\/wp-content\/uploads\/2025\/01\/131_image3.png\" title=\"\"><\/figure>\n<p>That divider is the \u201cvertical bar\u201d character or \u201cpipe\u201d in programmer-speak. Look just above your return key. It\u2019s part of the standard ASCII character set. It\u2019s not exotic. It\u2019s already on your keyboard and on your phone. Your Coldcard can already display it. And, as in the mockup above, it can be colored for added effect. Programmers will gripe that the pipe character already has special meaning in code, but this ain\u2019t code, nerds!<\/p>\n<figure><img decoding=\"async\" src=\"https:\/\/bitcoinmagazine.com\/wp-content\/uploads\/2025\/01\/250_image1.png\" title=\"\"><\/figure>\n<p>Whether the \u20bf symbol should come before or after the amount is debatable, but I think having it in front offers the best clarity and it immediately conveys what the upcoming numbers mean. If the font being used can\u2019t display the \u20bf symbol, we can fall back to \u201cbtc:\u201d<\/p>\n<p>6.15 btc | 395,023 sats<\/p>\n<p>If the sat-denominated side is less than 100,000, there\u2019s no reason to display leading zeros:<\/p>\n<p>\u20bf6.15 | 4,820 sats<\/p>\n<p>\u20bf6.15 | 74 sats<\/p>\n<p>When the total amount is less than 10 million sats, the btc-denominated side can be eliminated entirely:<\/p>\n<p>4,820 sats<\/p>\n<p>Though critical sticklers may prefer explicitly seeing the zeroed-out btc-denominated side:<\/p>\n<p>\u20bf0.00 | 4,820 sats<\/p>\n<p>All good.<\/p>\n<p>If space is at an absolute premium, the \u201csats\u201d can be dropped but the space should be preserved before and after the pipe character (otherwise it\u2019s too hard to distinguish it from a one):<\/p>\n<p>\u20bf6.15 | 395,023<\/p>\n<h2>Localization<\/h2>\n<p>There are <a href=\"https:\/\/en.wikipedia.org\/wiki\/Decimal_separator#Usage_worldwide\" target=\"_blank\" rel=\"noopener\">at least 80 infuriating countries<\/a> that swap their periods and commas. A Big Mac in Germany is 5,16 \u20ac (the space between the amount and the symbol is annoying, too). Really, Eurozone? Fine. I don\u2019t love it but the btc-sats hybrid display can accommodate decimal dividers the way they\u2019re used to seeing them:<\/p>\n<p>\u20bf6,15 | 395.023 sats<\/p>\n<p>For all non-Michael Saylor transactions, we\u2019ll only see one comma and one period in this display format. So the locale-specific confusion will be pretty limited. And if I\u2019m being honest, I\u2019m not even that mad about how this looks since the left-right division provided by the pipe character is doing so much heavy lifting; my eye barely registers that the comma and period are swapped. <\/p>\n<p>And if they really need to move the \u20bf symbol and add an unnecessary space, okay:<\/p>\n<p>6,15 \u20bf | 395.023 sats<\/p>\n<p>Have at it, Europe.<\/p>\n<p>The Japanese counting system naturally lends itself to four-digit separators. This is obviously <a href=\"https:\/\/japantoday.com\/category\/features\/lifestyle\/10-000-or-1-0000-japanese-schools-are-starting-to-move-commas-on-big-numbers-but-why\" target=\"_blank\" rel=\"noopener\">a huge mess<\/a>. But, if they so choose, they can group the sats-denominated side that way with minimal confusion for the rest of the world:<\/p>\n<p>\u20bf6.15 | 39,5023 sats<\/p>\n<h2>Data Input Considerations<\/h2>\n<p>So when we type in our transaction amount, the first six digits could first fill the sat-denominated side:<\/p>\n<p>6 sats<\/p>\n<p>61 sats<\/p>\n<p>615 sats<\/p>\n<p>6,153 sats<\/p>\n<p>61,539 sats<\/p>\n<p>615,395 sats<\/p>\n<p>\u20bf0.06 | 153,950 sats<\/p>\n<p>This last row that suddenly bumps out to the btc-denominated side is our \u201coh shit!\u201d moment if we\u2019ve mistyped our amount. It\u2019s screaming: \u201cYo, at this amount \u2014 0.01 or more of a bitcoin \u2014 start paying super-close attention!\u201d<\/p>\n<p>Or perhaps more likely, UI implementations can explicitly separate the two sides, like the way a web form isolates birth day, month and year. So you can confidently start typing the large bitcoin-denominated side:<\/p>\n<p>\u20bf__ | __ sats<\/p>\n<p>\u20bf6.15 | __ sats<\/p>\n<p>And then subsequent digit entries automatically jump to the other side:<\/p>\n<p>\u20bf6.15 | 3 sats<\/p>\n<p>\u20bf6.15 | 39 sats<\/p>\n<p>\u20bf6.15 | 395 sats<\/p>\n<p>\u20bf6.15 | 3,950 sats<\/p>\n<p>\u20bf6.15 | 39,502 sats<\/p>\n<p>\u20bf6.15 | 395,023 sats<\/p>\n<h2>Other Approaches<\/h2>\n<p>Now, of course, there have been other suggestions. <em>Bitcoin Magazine<\/em> recently published the \u201c<a href=\"https:\/\/bitcoinmagazine.com\/culture\/satcomma-standard-look-at-bitcoin-this\">Satcomma Standard<\/a>\u201d which adds three-decimal groupings on the sats side:<\/p>\n<p>\u20bf6.15,395,023<\/p>\n<p>The comma at a million satoshis here essentially serves the same purpose as my pipe character. And satcomma has the advantage of helping people see that 99,999,999 sats will round up to 1 bitcoin. But for my eyes there\u2019s just too much crammed together here. And math teachers will just straight up refuse to teach students to read denominated values this way. It also keeps the localization bugaboo alive and well:<\/p>\n<p>6,15.395.023 \u20bf<\/p>\n<p>As a tech nerd that looks to me like an invalid IP address.<\/p>\n<p>Others have <a href=\"https:\/\/twitter.com\/toro770\/status\/1428987258389123074\" target=\"_blank\" rel=\"noopener\">argued for<\/a> just using a space to separate the four digits on the sats side:<\/p>\n<p>\u20bf6.1539 5023<\/p>\n<p>Or to use spaces in lieu of the satcomma\u2019s commas:<\/p>\n<figure><img decoding=\"async\" src=\"https:\/\/bitcoinmagazine.com\/wp-content\/uploads\/2025\/01\/184_image2.png\" title=\"\"><\/figure>\n<p>These approaches are dead on arrival as far as I\u2019m concerned. It orphans and unanchors those digit groupings. There\u2019s a reason why phone numbers (<a href=\"https:\/\/www.youtube.com\/watch?v=6WTdTwcmxyo\" target=\"_blank\" rel=\"noopener\">867-5309<\/a>) link their groups.<\/p>\n<p>Another approach that I do support is just 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 threshold. I still don\u2019t like seeing all eight digits after the decimal point in a pure btc-denominated display but this dynamic threshold-based approach is still an improvement over a btc-only or sats-only global setting.<\/p>\n<h2>Are We Go For Launch?<\/h2>\n<p>I contribute code to the awesome <a href=\"https:\/\/twitter.com\/SpecterWallet\" target=\"_blank\" rel=\"noopener\">Specter Desktop<\/a> open source multisig wallet project as well as to the world\u2019s coolest little open-source hardware wallet, <a href=\"https:\/\/twitter.com\/SeedSigner\" target=\"_blank\" rel=\"noopener\">SeedSigner<\/a>. If there\u2019s enough enthusiasm, I\u2019ll write PRs (\u201cpull requests\u201d \u2014 proposed changes to the code) to each project to include the btc-sats hybrid as an optional display setting.<\/p>\n<p>So what do you think? Are you on team #BtcSatsHybrid?<\/p>\n<p>Tweet your thoughts, reference the hashtag and tag me <a href=\"https:\/\/twitter.com\/KeithMukai\" target=\"_blank\" rel=\"noopener\">@KeithMukai<\/a>.<\/p>\n<p><em>This is a guest post by Keith Mukai. Opinions expressed are entirely their own and do not necessarily reflect those of BTC, Inc. or <\/em>Bitcoin Magazine<em>.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Perhaps the best way to denominate bitcoin is a separation that displays both BTC and sats.<\/p>\n","protected":false},"author":3215,"featured_media":7233,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[33],"tags":[758],"class_list":{"0":"post-14172","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-culture","8":"tag-sats"},"author_data":{"id":3215,"name":"Keith Mukai","nicename":"keith-mukai","avatar_url":"https:\/\/bitcoinmagazine.com\/wp-content\/uploads\/2024\/12\/m_s7gsl0_400x400-96x96.jpg"},"featured_image_url":"https:\/\/bitcoinmagazine.com\/wp-content\/uploads\/2024\/11\/img_5735.jpg","_links":{"self":[{"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/posts\/14172","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/users\/3215"}],"replies":[{"embeddable":true,"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/comments?post=14172"}],"version-history":[{"count":0,"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/posts\/14172\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/media\/7233"}],"wp:attachment":[{"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/media?parent=14172"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/categories?post=14172"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/tags?post=14172"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}