What a $50 on-chain payment costs today
Bitcoin mining fees are priced per virtual byte, not per dollar sent. On 2 September 2026, mempool.space recommended 3 sat/vB for next-block inclusion and 1 sat/vB for the hour-long and economy tiers [1]. Over the previous week the median rate of mined blocks sat between 1 and 3 sat/vB, with brief spikes to 6 sat/vB [2].
A simple native-segwit payment with one input and two outputs weighs about 141 virtual bytes, using the Bitcoin Optech size calculator [4]. At 3 sat/vB that is roughly 423 sats, and with bitcoin at $77,513 that comes to about $0.33 [3]. At the 1 sat/vB economy rate it drops to about 141 sats, or $0.11 [3].
That sounds cheap, and today it is. The trap in the Lightning vs on-chain comparison is that the on-chain cost does not scale with the amount. A $50 payment and a $5 payment carry the same 423 sats [4]. On the $5 payment that is over 6% of the value [3]. And this is a quiet week: rates are set by demand for block space, so the same payment can cost many times more when the mempool fills.
What the same $50 costs over Lightning
Lightning fees have two parts per hop: a flat base fee in millisatoshis, and a proportional rate in parts per million of the amount. 1ML's live statistics put the median base fee at about 0.48 sat and the median fee rate at 0.000149 sat per sat, which is 149 ppm [6]. Spark's May 2026 routing research reports a similar picture: a median base fee near 0.44 sat and a median rate around 143 ppm [7].
Fifty dollars is about 64,500 sats at the same bitcoin price [3]. At 149 ppm per hop, a typical three-hop route costs roughly 29 sats in proportional fees plus about 1.5 sats in base fees, or around 30 sats [6]. That is a little over 2 cents [3]. Spark's worked example lands in the same range: a three-hop payment of 100,000 sats typically costs about 26 sats to route [7].
Because Lightning pricing is proportional, the $5 payment gets cheaper too, at roughly 3 sats of routing [6]. That is the whole Lightning vs on-chain case in one line: on-chain cost is fixed per transaction, Lightning cost is a tiny slice of the amount. For small and especially tiny payments, the base chain cannot compete.
Finality: an hour of blocks or a few seconds
Cost is only half of the Lightning vs on-chain comparison. The other half is how long you wait before the money is really yours. On-chain, a transaction that pays a sufficient fee takes about 10 minutes on average to get its first confirmation [5]. The Bitcoin developer guide advises waiting for six confirmations before treating a payment as accepted, which is about an hour [5].
For a freelancer this matters. A client can broadcast a low-fee payment and it can sit unconfirmed for hours. Our help article on pending transactions exists because this is one of our most common support questions.
Lightning settles differently. A payment either completes across every hop or fails entirely, and the receiver learns which in seconds. There is no partial state to wait through and no block to hope for. In our production app, a Lightning invoice paid from another wallet shows as settled on the receiving phone before the sender has put theirs down. On finality, Lightning vs on-chain is the difference between an invoice being sent and an invoice being paid.
Where Lightning's cheapness comes from
Lightning is cheap because the base chain is not involved in each payment. Funds sit in channels, and each payment updates balances inside them. The chain is only touched when a channel opens or closes. That is also the hidden cost: someone has to put bitcoin into a channel before you can receive, and someone needs capacity in the right direction for your payment to route.
Public data shows how thin that liquidity is. 1ML lists about 5,944 public nodes and 19,957 channels, with total capacity of 2,644 BTC [6]. That is a small fraction of all bitcoin. Spark reports that well-configured implementations now succeed on 98.7% to 99.7% of attempts [7], which is good, but it is not the certainty of a broadcast transaction.
For an everyday user the practical question is who manages that liquidity. Older wallets asked you to open channels yourself and pay on-chain to do it. Custodial apps solved the problem by holding your bitcoin, which is not a solution at all. Our Lightning wallet guide covers that custody spectrum.
How Breez SDK Nodeless keeps it non-custodial
SpendTheBits runs Lightning through Breez SDK Nodeless, which Breez describes as a nodeless, non-custodial integration built on the Liquid Network and Lightning, where keys are only held by users [9]. There is no node to manage and no channel to fund. Your balance lives on Liquid, a Bitcoin sidechain, and payments move through submarine swaps performed by a swap provider called Boltz [9].
A Lightning send converts L-BTC into sats on Lightning through a submarine swap; a Lightning receive does the reverse [9]. Boltz publishes what each swap costs. On a send with no routing hint it takes 0.1% of the amount plus two small Liquid transactions of about 34 and 19 sats [8]. On a receive it takes 0.25% of the amount plus Liquid transactions of about 27 and 20 sats [8].
Put that against our $50 example. Sending 64,500 sats over Lightning from a Liquid-backed wallet costs about 65 sats in swap commission and about 53 sats in Liquid transactions, roughly 118 sats, or 9 cents [8]. Receiving $50 costs about 161 sats plus 47 sats, close to 16 cents [8]. When both sides are Liquid wallets and a Magic Routing Hint is present, the payment skips the swap: about 26 sats to send and nothing to receive [8]. That is still far below the on-chain figure, and it stays proportional as amounts shrink.
Two things follow. First, the swap layer is what makes Lightning usable without a node, and you should expect it to have a price. Second, moving between Lightning and a plain BTC address is itself a swap, with mining costs on the Bitcoin side that vary with the mempool [8]. SpendTheBits adds no margin of its own on the Lightning path; our pricing page lists which actions carry a small service fee, and a Lightning send is not one of them.
A decision rule for small payments
Here is the Lightning vs on-chain rule we would give a freelancer. For small payments, and any time the payment is one of many, use Lightning. Routing costs cents, the swap layer costs cents, and the money is settled before the call ends. Ask clients to pay your @handle, which doubles as a Lightning address, so they never need a fresh invoice. The receive guide walks through it.
Above a few hundred dollars, or when the payer only has an on-chain wallet, use the base chain. A fixed 423 sats is a rounding error on $500, and six confirmations is an acceptable wait for money that size [3][5]. The freelancer use case shows how both rails sit in one balance.
In SpendTheBits the Lightning vs on-chain choice sits in the same Send screen. When you send Bitcoin the app asks which rail you want and shows the cost of each before you sign, as described in how to send crypto. The keys for both rails come from the same seed on your device, so switching rails never means switching custody.
What the numbers do not tell you
Every figure above is a snapshot. The on-chain rate was 3 sat/vB on a quiet day in a quiet week; it has been far higher and will be again [2]. Lightning routing medians are stable, but the swap layer's price and Liquid's transaction costs are set by third parties and can change. Read the current cost in the app before you sign, not from an article.
The structural facts are the ones that last. On-chain cost is fixed per transaction and finality is measured in blocks. Lightning cost is proportional and finality is measured in seconds, with liquidity as the price of admission. For payments under $50, that balance favours Lightning by a wide margin, and we built a Liquid-backed non-custodial wallet so you can take it without handing anyone your keys.
Hold your own keys, keep the yield, skip the middleman.
SpendTheBits is a fully non-custodial wallet for 13 chains, free on iOS and Android.
