Bitcoin Bites #2
Great design in bitcoin, one detail at a time.
Welcome back to Bitcoin Bites. We’re collecting real examples of Bitcoin products doing design really well. Not theory, not hot takes.
Just: here’s what they built, here’s why it works, and here’s what you can learn from it.
Let’s jump in to this second edition.
Designing for doubt
River shows a sequence of three warnings when you send a large amount of bitcoin. Each one targets a different scam vector: pressure tactics, destination verification, and too-good-to-be-true offers.
💡 Behind the bite
Scams exploit different psychological triggers. Urgency, greed, and confusion to name a few. River doesn’t try to catch them all with one generic warning. They slow you down three times, each targeting a specific threat pattern. Yes, it adds taps. Yes, it breaks the “don’t make me think” rule. But bitcoin is irreversible, so making you think is the feature not the bug.
Hiding the plumbing
Bitkit splits your balance into “Savings” and “Spending” instead of on-chain and Lightning. When you move funds to your spending balance for the first time, they don’t explain channel liquidity or inbound capacity. They just show two fees, do the math, and tell you what you’ll actually receive.
💡 Behind the bite
Self-custodial Lightning is hard to explain: You have to spend money to receive money, channels need liquidity, etc…Bitkit doesn’t try to teach you any of this. They give you the outcome: “You will receive ₿561.” The complexity is still there, they just stopped making it your problem.
Context in the timeline
Primal is a Nostr client where you can “zap” posts—basically a like with bitcoin attached. Frequent zappers senders and receivers end up with transaction lists full of tiny amounts. Primal shows the original post beneath each zap so you remember what you reacted to.
💡 Behind the bite
When every transaction is a micropayment, your history becomes noise fast. Most wallets would just list the amounts, maybe add a timestamp, some fee details and call it done. In the zaps case, the useful information isn’t the metadata, it’s the content the zap relates to. Primal knows this and they put the post right there in your transaction details.
That’s it for this second edition of Bitcoin Bites, thanks for reading. If you see something worth highlighting, send it to erikcativo@pm.me. Let’s shine a light on the teams getting things right.




