Over a decade since its inception, Bitcoin's acceptance as a currency remains limited. With timely narratives of Bitcoin as a Store of Value, the native currency of the internet is infrequently transacted in the way it was intended. Some Bitcoin proponents completely neglect Bitcoin's intended purpose of Peer-to-Peer Electronic Cash

People keep asking why we aren't accepting bitcoin for Bitcoin Pizza.

Order here: https://t.co/L6AkyRPgjr 🔥🔥 pic.twitter.com/aAJckWfjZX

— Pomp 🌪 (@APompliano) May 18, 2021

Here I discuss the state of Bitcoin being used as peer-to-peer electronic cash. Bitcoin donations are likely the most adopted form of peer-to-peer cash, but there are widespread problems with address reuse and custodial payment processors.

I look at some of the reasons behind Bitcoin's lack of adoption by retailers, the problems with custodians, and some payment processors currently available on the market.

Finally I explore some possible tech and incentive solutions for advancing no-KYC & non-custodial peer-to-peer Bitcoin payments. You can skip to these if you're short on time.

The Absolute State of P2P Cash

A significant majority of transactions on the Bitcoin network today are likely speculation related: deposits and withdrawals to exchanges. Whether it's customers withdrawing or traders arbitraging, these transactions are not exactly peer-to-peer.

Yes, all of Bitcoin is a peer-to-peer network in the computing sense; where networks of computers act as servers for one another in order to share data without a central server - nodes sharing the blockchain & mempool.

The phrase peer-to-peer has now become used in a far more literal sense - permissionless and uncensorable transactions between individuals. The peer-to-peer network is implicit when speaking about Bitcoin, so when speaking about "peer-to-peer" in terms of bitcoin payments we're often referencing using the definition of payments between friends/colleagues/family without a central intermediary.

There certainly are some people who are utilizing the Bitcoin network for peer-to-peer payments. Likely, a large percentage of transactions between individuals who take Bitcoin "seriously" would settle their payments in bitcoin. Perhaps a small population, but rapidly growing. And it's really hard to quantify how many of us are there? due to Bitcoin's pseudonymity.

Bitcoin has revolutionised counter-economics by introducing a means of value transfer that is unconstrained from the State. However for better or worse, most cash-like illicit activity online is now settled with Monero due to inherent privacy benefits of anonymous transactions. It will be interesting to see whether this changes as Bitcoin's privacy options are more available with layer-2s (e.g. trampoline routing on Lightning Network) or protocol upgrades. As well as an improved education and user-experience of existing privacy options such as coinjoins.

For peer-to-peer payments, Bitcoin's simplest use cases are:


Bitcoin is currently making the most of peer-to-peer cash in the form of donations. You will often see Bitcoin addresses, as well as other cryptocurrency addresses, pasted in social-media bios or within website footers. Donation address posting is particularly concentrated within cryptocurrency spaces, but you will also find these donation addresses elsewhere on the internet as a powerful way to raise money from supporters.

Address reuse has been a plague within Bitcoin for a while, sacrificing the privacy of you and your donors. By reusing addresses, anyone can just look up all your donors' transactions as well as how much money you have received and where you send it.

they should rename this chart to "user education failures resulting in address reuse" pic.twitter.com/YBe1Xa3DHq

— ODELL (@ODELL) July 6, 2021

The correct and more private way to use Bitcoin is to generate a brand new address for each payment. After you spend the coins you receive in that address, you should never use that address again. Only the person you are making the payment to knows this address. When addresses aren't easily attached to a website or identity, it makes it incredibly hard to identify which transactions are going to who and for what purpose. Whereas if you reuse addresses attached to a public identity, linking transactions to you becomes trivial.

In the past people have received unwarranted media attention for having been sent donations from ugly individuals; target was acquired by linking his reused donation addresses.

Having to create a whole new address each time we wish to receive a payment is so tedious, and requires automated software if we want a new address (or an invoice for lightning) for each payment. Furthermore this software has to be available 24/7, ready to provide an address upon demand.

Recently Lightning addresses have become increasingly popular, with the ability to receive bitcoin lightning payments at an email address like ln@try.satsale.org. These too require software to spit out invoices upon request.

This leads us to payment processors, read on:

Bitcoin Accepted Here - Custodians & KYC

Outside of the Bitcoin bubble, merchants that accept Bitcoin or other cryptocurrencies are few and far between. Nicole Jonker in 2019 conducted research titled "What drives bitcoin adoption by retailers?" to look into the acceptance and views merchants have towards bitcoin.

Jonker found that of 768 online retailers in the Netherlands, just 2% of them accept "crypto payments". Albeit this survey data was collected in 2016, and adoption has certainly increased since then. Since this survey was conducted, Telsa announced they would be accepting bitcoin payment for cars.

And we have seen a number of companies following in Tesla's footsteps. These announcements are great publicity and it doesn't seem to matter whether you actually follow through with implementing it. Despite being a bit outdated, I would think the perspectives from retailers are relatively unchanged:

Regarding the reasons given for crypto-acceptance:
* 42% of the retailers accept them to attract extra customers
* 23% because their customers ask for it
* 21% because they are interested in new technology (in it for the tech lol)
* 7% for the low transaction fees
None of the retailers indicate that privacy provided by crypto-payments to their customers plays a role.
Neither do they indicate that the mitigation of exchange rate risk or shorter transfer time to their account influence
their adoption decision.
(page 11)

Immediately we can see a pathway for increasing adoption. Customers vocalizing their desire to pay in bitcoin is a large motivation for merchants to accept it.

Within those companies who are accepting bitcoin payments, the payment processors they are adoping are not so great (to put it nicely). Sadly most are using custodial solutions such as Bitpay, Coinbase Commerce or OpenNode. In these arrangements the custodian accepts the bitcoin payment on your behalf, which you then later withdraw or sell (note that withdrawal can be automatic such as in the case of OpenNode).

Not only is there custodian risk while they hold your bitcoin (while you receive zero interest). But most importantly you also give up the privacy of you and your customers; to who knows how many 3rd parties? Most of these custodians require you to complete Know Your Customer (KYC) documents for merchants, and sometimes even for the customer also (Shitpay aka Bitpay). See this fantastic site on why you should avoid KYC bitcoin. The emerging presence of KYC is no surprise given retailers unfortunately have zero care for privacy as shown by the survey in the excerpt above.

Merchants gave the following reasons for why they do not accept bitcoin:

* 58% due to unfamiliarity with cryptocurrency
* 36% said lack of consumer demand
* 17% not feeling the need for acceptance
* 16% had a lack of trust in cryptocurrency
* 12% acceptance was not common in their industry
* 9% safety concerns (lightning?)
* 5% said because of the perceived complexity, which is surprisingly last

"Overall, both the answers given by accepting and non-accepting retailers
indicate that customers’ (expected) demand for crypto influences the acceptance decision."

Again we see that demand from customers plays a vital role in driving the acceptance of bitcoin payments.

Custodial payment processors are only great at one thing: making integration easy for businesses. With some custodians you can just sign up, send a lot of KYC documents, link an ecommerce plugin, and you're good to go. Allowing your store to accept bitcoin in under 5 minutes without any technical installation. With the company taking a small fee on each transaction you send through (usually 1-3%).

OpenNode is an increasingly popular solution, notably adopted by McDonalds and other venues in El Salvador. OpenNode too requires KYC documentation to deploy,

Many of these custodian setups are somewhat a waste of time, often converting BTC straight to fiat with comparatively high fees. These custodian payment processors directly work against many of bitcoin's values: trustlessness, peer to peer, privacy, and security.

Doing it right: Non-Custodial Payment Processors

The most widely used non-custodial Bitcoin payment processor is BTCPay Server. BTCPay has been fundamental software for bitcoin adoption with an inspiring community of developers and users. BTCPay comes with a complete wallet interface and is packed with features such as the ability to host multiple stores from a single server instance (great for spreading adoption).

Recently they have been doing some very cool things, such as their implementation of PayJoin. Payjoin is a two party coinjoin transaction that takes an input from each party, and sends them each an output of different value, rebalanced to make a payment in the process. Payjoin improves transaction privacy by breaking the common-input-ownership heuristic that assumes all inputs of a transaction belong to the same individual. Very few wallets have this feature, and BTCPay implementing it to enhance user privacy is powerful (+ enabled by default!).

However for me, the size of the BTCPay codebase is somewhat daunting at over 200k lines. Making it troubling to verify, customize and build upon. BTCPay also has some notoriety for being a little difficult to install (as admitted by their own documentation)

For a mobile solutions, there is also the Breez mobile app which has a point-of-sale with lightning support, by using the Neutrino bitcoin light client it retails self-custody.

SatSale & Future of Payment Processors

Until recently I was leaking transaction privacy, exclusively reusing donation addresses in website footers. I needed to add a proper donation payment processor to my website, but BTCPay was overkill for what I needed. Too difficult to achieve a "don't trust, verify" grade installation from source. I needed something I could easily install from source and run alongside my website.

At the start of this year (2021) I started a new lightweight non-custodial Bitcoin payment processor - SatSale. This project is free software under the MIT license.

Live SatSale demo, try it^^ (if it isn't working so great, my current node is currently struggling with so many requests)

While the design may be a bit archaic, my objective at the moment for SatSale is to push the boundaries of what is possible with self-custody payment processors. I think we can make it possible for anyone to run SatSale, without the requirement of running a bitcoin and lightning full node, while retaining self-custody and privacy. This makes it possible for anyone with access to rudimentary hardware and internet to use bitcoin as peer-to-peer cash

Here's how:

  1. Instead of connecting to a Bitcoin node, SatSale could take an extended public key and generate addresses upon demand. Then, public blockexplorer APIs could be used over tor to verify and confirm payments. All the tools required for this are already available today. But what about Lightning, where fast micropayments are likely to make up the majority of retail payments?
  2. Instead of users running and maintaining a full Lightning network node, there are some alternatives:

Particularly for developing nations, expensive hardware requirements to run a Bitcoin node are a barrier to self-custody peer-to-peer payments. Likewise, so is renting a VPS to host a payment processor. If we want to bank the unbanked properly, then we must alleviate this necessity.

If we remove or reduce a payment processor's requirement for users to run full nodes, it could be possible for anyone with a 10 year old laptop & low bandwidth internet to run a self-custody bitcoin store. I like where Breez is going with the non-custodial mobile bitcoin point-of-sale, perhaps SatSale can take on the lightweight PC counterpart. BTCPay fills the enterprise solution niche with its comprehensive tools and support.

In the future there may be other clever ways of achieving low requirement payment processors. Technology like Lightning Offers, which is a reusable QR code that tells your lightning wallet to request a real invoice from the vendor. Though currently this requires you to be running a clightning node.

Perhaps in the future it will be possible to use tricks similar to offline lightning vending machines, in a non-custodial way.

BTW if Bitcoin's volatility is an issue for you, SatSale has a "weak hands mode" that automatically converts BTC to USDT by making a lightning payment to a no-account no-KYC swap provider. The USDT is received on the Liquid Bitcoin sidechain, retaining full self-custody and decent privacy.

Incentives for Adoption

I share what I think are the highest impact ways we can spread the beauty of peer-to-peer cash in a correct way.

Embrace No-KYC

An immediate step we can make for Bitcoin adoption is to reach every bitcoiner who happens to have some merchant or retail responsibilities, and enable them to start accepting bitcoin alongside their existing payment system. Likewise for those posting donation addresses. Financially reinforce those who have put the time in to establish a proper set-up, comment caution on those with risky practices.

For bitcoiners, the incentive is clear. Receiving bitcoin in exchange for goods or services is the best way to stack. Acquire non-kyc and highly private bitcoin. Non-kyc bitcoin, such as that purchased on Bisq or localbitcoins, tends to come at a premium that can range 5% - 20% depending on your country. You should be begging to be paid in sats if your customers are able.

5% Off Sats - The Standard

The nym Bitcoin Q+A rephrased the "no-KYC premium" in a fantastic way: you should not think of it as a premium you pay for privacy, but rather you are receiving a discount for giving up your privacy when buying KYC bitcoin (podcast). That the no-KYC price is the real BTC price, any cheaper and it is costing you in other ways.

Store Demo

For this very reason we decided to add a 5% off sats button to the SatSale point-of-sale checkout. This is something I aim to get other payment processors on-board with, particularly if the payment option sits alongside fiat payment methods - now disincentivised.

Even if you don't care much for no-KYC, this discount can come from other sources. Bitcoin payments, particularly via lightning, have low fees and no risk of chargeback or fraud. Traditional payment processors frequently change on the magnitude of 1-3%, and sidestepping this rent-seeking is in the interest of both merchant and customer.

work in progress

At our current stage of adoption, retail stores "feel no added value of crypto-payments compared to other payment methods". But they will look to start accepting Bitcoin for two primary reasons:

  1. If accepting Bitcoin brings in extra customers.
  2. If customers ask to pay in Bitcoin.

Possibly the most important avenue is to provide retailers with an economic incentive to accept bitcoin. Encouragement and adoption through vocalizing a desire to pay in bitcoin and by continuing to do business with those who accept it. Jonker's survey also showed that increasing a perceived compatibility score by 1 (on a 1-7 scale) increases the probability of a retailer "intending to adopt crypto payments" by 4.4%. Clearly user experience and education are highly important for adoption, with perceived compatibility and perceived ease of use also being found to be correlated with crypto-acceptance.

You don't need to ask every single retailer whether they accept Bitcoin (though you can, and it does help).

Instead, it is more effective to discuss with a merchant you're friendly with. Introduce them to the idea and guide their educational pathway into accepting Bitcoin properly. Incubate ideas of how it would work for them and the compatibility within their business, and help them get set up if you are able! Even if they do not wish to hold Bitcoin themselves, you could organise an arrangement for you to acquire this no-KYC bitcoin from them. Win-win.


If you sell anything, try a non-custodial payment processor (I recommend SatSale, BTCPay, Breez) and start stacking those no-KYC sats. Make a 5% discount for bitcoin payment known to your customers.

Vocalize your desire to pay with bitcoin, offer to guide them into doing it properly and help set them up if you're able.

If you still use donation addresses in your bios* or next time you need a point-of-sale register, I implore you to download SatSale, point it to your Bitcoin node, and try the tools. Send us your feedback. Share SatSale on twitter. Help bring us closer to peer-to-peer electronic cash..

*dont mind the occasional vanity address, like @wiz's: 1wizSAYSbuyXbt9d8JV8ytm5acqq2TorC. The Tor in the checksum is a nice touch. I'm still searching for a great one.. Thanks for reading.