Bitcoin Layer 2 Fee Comparison: Lightning, Spark, Liquid
Compare transaction fees across Bitcoin Layer 2 networks for payments, swaps, and token transfers. Real cost data for Lightning, Spark, Liquid, Stacks, and RGB.
Bitcoin Layer 2 Fee Overview
Bitcoin Layer 2 networks reduce transaction costs by moving activity off the main chain, but each protocol takes a fundamentally different approach to fees. Lightning uses per-hop routing fees, Spark eliminates transfer fees entirely for internal payments, Liquid charges minimal flat-rate transaction fees, Stacks uses a gas model paid in STX, and RGB piggybacks on Bitcoin or Lightning with no protocol-level fee layer.
Published fee rates rarely tell the full story. Channel opening and closing costs on Lightning, peg-in wait times on Liquid, and gas variability on Stacks all add friction that simple comparisons miss. The tables below break down what you actually pay across different transfer sizes and operation types, including the hidden costs that accumulate over time.
Fee Comparison by Transfer Size
The following table shows the approximate cost of a simple payment on each Bitcoin L2 at three transfer sizes. These figures assume normal network conditions and exclude one-time setup costs like channel opens or peg-ins.
| Network | $10 Transfer | $100 Transfer | $1,000 Transfer | Fee Model |
|---|---|---|---|---|
| Spark | $0.00 | $0.00 | $0.00 | No fees (internal) |
| Lightning | <$0.01 | ~$0.05 | ~$0.50-$1.27 | Base fee + ppm per hop |
| Liquid | ~$0.003 | ~$0.003 | ~$0.003 | Flat per-tx (0.1 sat/vB min) |
| Stacks | <$0.01 | <$0.01 | <$0.01 | STX gas (post-Nakamoto) |
| RGB | Transport fee only | Transport fee only | Transport fee only | No protocol fee |
| Bitcoin L1 | $1-$5 | $1-$5 | $1-$5 | sat/vB fee market |
Spark-to-Spark transfers carry zero fees for both BTC and USDB payments. Lightning fees scale with payment size due to proportional routing fees. Liquid charges a flat per-transaction fee regardless of amount, making it proportionally cheaper for larger transfers. RGB inherits the fee model of its transport layer: Lightning routing fees for off-chain transfers, or Bitcoin L1 fees for on-chain commitments.
Lightning Network Fee Structure
Lightning fees consist of two components charged at each hop along a payment route: a base fee (fixed amount in millisatoshis) and a proportional fee rate (measured in parts per million, or ppm). The LND default configuration sets a base fee of 1 millisatoshi and a fee rate of 1 ppm, though node operators can set these to any value.
As of 2025, the median Lightning routing fee rate sits around 6.3 ppm (0.00063%). For a 100,000 sat payment routed through a single hop at 100 ppm with a 1,000 msat base fee, the total fee comes to about 11 sats. Multi-hop routes accumulate fees at each hop, and payments above roughly 4 million sats often require multi-path payments that split across several routes.
The real cost of Lightning extends well beyond routing fees. Opening a channel requires one on-chain Bitcoin transaction (averaging around $1.79 at 10 sat/vB in calm conditions), and closing a channel requires another. Node operators also face ongoing costs for channel rebalancing, Loop In/Out liquidity management, and inbound liquidity acquisition. For routing nodes, these operational costs often exceed the routing fees collected.
Spark Fee Structure
Spark takes a fundamentally different approach: transfers between Spark wallets are free, with no base fee, no proportional fee, and no gas cost. This applies to both BTC and USDB token transfers within the network.
Fees apply only when crossing network boundaries. Sending from Spark to Lightning costs 0.25% plus any Lightning routing fees along the path. Receiving from Lightning into Spark costs 0.15% (paid by the sender). Depositing from Bitcoin L1 into Spark requires only the standard on-chain mining fee. Withdrawals from Spark to L1 follow the formula: 250 × sats_per_vbyte + 750 (minimum 300 sats), which at 10 sat/vB comes to 3,250 sats (roughly $3.25 at $100k BTC).
Spark eliminates the channel management overhead that drives up Lightning's total cost of ownership. There are no channels to open or close, no liquidity to manage, and no rebalancing costs. For a deeper comparison between the two protocols, see our introduction to Spark and the Lightning vs Spark glossary entry.
Liquid Network Fee Structure
The Liquid Network uses a fee market similar to Bitcoin but with a minimum fee rate of 0.1 sat/vByte: one tenth of Bitcoin's minimum relay fee. A standard L-BTC transfer costs approximately 286 satoshis. Confidential transactions (which hide amounts using Pedersen commitments) historically cost around 250 sats, but the ELIP 200 upgrade in 2025 reduced confidential transaction fees by roughly 90%, bringing them down to approximately 25 sats.
The significant hidden cost on Liquid is the peg-in/peg-out process. Pegging in through a service like SideSwap incurs a 0.1% service fee plus the Liquid network fee, and requires 102 Bitcoin block confirmations (approximately 17 hours) before funds are available. Pegging out costs 0.1% plus the Bitcoin mainchain fee. Direct peg-outs are only available through Liquid federation members (currently 87 members as of Q1 2026).
Stacks Fee Structure
Stacks uses a gas-based fee model where transaction fees are paid in STX tokens. The Nakamoto upgrade in 2024 reduced block times from roughly 6 minutes to approximately 5 seconds, which dramatically decreased congestion and cut average gas consumption by about 96% (from ~6.65 gas units to ~0.25 units per transaction). Simple STX transfers now cost well under $0.01.
Smart contract interactions on Stacks cost more depending on computational complexity, similar to Ethereum's gas model. The sBTC bridge charges no protocol fee for wrapping or unwrapping: users pay only the Bitcoin mining fee for the peg-in transaction (capped at 80,000 sats) and peg-out transaction (~170 vBytes at the current fee rate).
RGB Fee Structure
RGB is a client-side validated protocol that does not have its own fee layer. State transitions are computed and validated by the parties involved, not by a network of miners or validators. The on-chain footprint is minimal: RGB commitments add only tens of bytes to a standard Bitcoin transaction, and thousands of RGB operations can be batched into a single on-chain commitment.
When RGB transfers happen over Lightning, the user pays standard Lightning routing fees. When committed on-chain, the user pays the Bitcoin L1 transaction fee (shared across all batched operations). Asset issuance on RGB requires zero blockchain commitment, meaning new tokens can be created with no on-chain cost. The tradeoff is that users must store and validate their own state data client-side.
Hidden Costs and Total Cost of Ownership
Fee rate comparisons alone can be misleading. The following table captures costs that published fee rates typically exclude.
| Cost Category | Lightning | Spark | Liquid | Stacks | RGB |
|---|---|---|---|---|---|
| Setup cost | Channel open ($1-$5+ on-chain) | None | Peg-in (0.1% + 17hr wait) | STX acquisition | None |
| Teardown cost | Channel close ($1-$5+ on-chain) | L1 withdrawal (min 300 sats) | Peg-out (0.1% + L1 fee) | sBTC unwrap (L1 fee) | On-chain settlement (L1 fee) |
| Liquidity management | Loop fees, rebalancing, LSP fees | None | None | None | None |
| Capital lockup | Channel capacity locked | None | L-BTC locked in federation | STX for gas | None |
| Failed payment cost | None (HTLCs refund) | None | N/A (settlement-based) | Gas consumed on revert | None |
| Infrastructure | Node hosting, watchtower | None (SSP-managed) | Node optional | None | Client storage |
For Lightning, the total cost of ownership for a routing node includes channel opening/closing fees, ongoing rebalancing, and the opportunity cost of locked capital. End users who rely on Lightning Service Providers absorb some of these costs indirectly through higher fees or JIT channel charges. Spark eliminates this entire cost category by removing the channel abstraction.
For Liquid, the 17-hour peg-in wait time is a significant hidden cost for time-sensitive use cases. While on-network transactions are cheap and fast (1-minute block times), the friction of moving funds in and out of the federation can outweigh the low per-transaction fees for users who don't keep a persistent Liquid balance.
Fee Comparison by Operation Type
Different operations carry different fee profiles across L2s.
| Operation | Lightning | Spark | Liquid | Stacks |
|---|---|---|---|---|
| Simple payment | <$0.01-$1.27 | Free | ~$0.003 | <$0.01 |
| Token/asset transfer | Taproot Assets (routing fees) | Free (USDB) | ~$0.003-$0.03 | <$0.01 (SIP-010) |
| Swap | Submarine swap fees | 0.15-0.25% (cross-network) | 0.2% (SideSwap taker fee) | DEX gas + slippage |
| Bridge in | Channel open ($1-$5+) | L1 mining fee only | 0.1% + 102 conf wait | sBTC: L1 mining fee |
| Bridge out | Channel close ($1-$5+) | 250 × sat/vB + 750 | 0.1% + L1 fee | sBTC: L1 mining fee |
For a broader comparison including Ethereum L2s and other chains, see our Layer 2 comparison tool and Bitcoin fee estimator.
Choosing by Use Case
High-frequency small payments (micropayments, tipping, streaming sats): Spark and Lightning both excel here. Spark's zero-fee model makes it ideal for sub-cent payments where even a fraction of a satoshi in routing fees matters. Lightning remains the most widely supported option with broad wallet and merchant adoption.
Stablecoin transfers: Spark is the only Bitcoin L2 with native stablecoin support through USDB. Liquid supports L-USDT (Tether on Liquid) with ~25 sat fees per confidential transaction. Stacks has sBTC but no native USD stablecoin with significant adoption.
Large value settlement: Liquid's flat fee structure (roughly $0.003 regardless of amount) makes it the cheapest option for large transfers. Lightning's proportional fees scale with amount, and payments above $4,000 often require multi-path splitting. Spark remains free at any size for internal transfers.
Privacy-sensitive transactions: Liquid offers confidential transactions that hide amounts by default. Lightning provides onion routing for payment privacy. RGB's client-side validation model keeps state entirely off-chain. For a detailed analysis, see our Bitcoin Layer 2 comparison research article.
Frequently Asked Questions
Which Bitcoin Layer 2 has the lowest fees?
For internal transfers, Spark has the lowest fees at zero cost for both BTC and USDB payments. For on-network transactions without considering setup costs, Liquid offers the next-lowest fees at approximately $0.003 per transaction regardless of amount. Lightning fees are typically under $0.01 for small payments but scale proportionally with transfer size.
How much does it cost to open a Lightning channel?
Opening a Lightning channel requires one on-chain Bitcoin transaction, which costs approximately $1 to $5 during normal fee conditions (at 10 sat/vB for a ~140 vByte transaction). During periods of high mempool congestion, this cost can spike to $10 or more. Closing a channel incurs a similar on-chain fee. These setup and teardown costs are often overlooked when comparing Lightning's routing fees to other L2 options.
Are Liquid Network peg-in fees worth it for small amounts?
Generally no. The 0.1% peg-in service fee through providers like SideSwap, combined with the 102-confirmation wait time (roughly 17 hours), makes Liquid peg-ins impractical for small, infrequent transfers. Liquid is most cost-effective for users who maintain a persistent balance and make multiple on-network transactions, where the ~$0.003 per-transaction cost amortizes the peg-in overhead.
Does Spark charge any fees at all?
Spark-to-Spark transfers (both BTC and USDB) are completely free. Fees apply only when bridging between networks: 0.25% for sending from Spark to Lightning, 0.15% for receiving from Lightning into Spark, and a formula-based fee for withdrawing to Bitcoin L1. L1 deposits into Spark require only the standard Bitcoin mining fee. See the Spark fee documentation for current rates.
How do Stacks transaction fees work after the Nakamoto upgrade?
The Nakamoto upgrade in 2024 reduced Stacks block times from roughly 6 minutes to approximately 5 seconds, which cut average gas consumption by about 96%. Simple STX transfers now cost well under $0.01. Fees are paid in STX tokens and vary based on network congestion and transaction complexity. Smart contract interactions cost more than simple transfers, similar to Ethereum's gas model.
What are the hidden costs of using Bitcoin Layer 2 networks?
The most significant hidden costs are on Lightning: channel opening/closing fees ($2 to $10+ round trip), liquidity management through Loop or rebalancing, and the opportunity cost of capital locked in channels. On Liquid, the 17-hour peg-in wait and 0.1% peg-in/peg-out fees add friction. On Stacks, users need to acquire STX tokens for gas. Spark and RGB have the fewest hidden costs: Spark requires no channel or liquidity management, and RGB adds no protocol-level overhead.
Can I send stablecoins on Bitcoin Layer 2 networks?
Yes, but support varies by network. Spark natively supports USDB with zero transfer fees. Liquid supports L-USDT (Tether) with standard Liquid transaction fees. Lightning is adding token support through Taproot Assets. Stacks has SIP-010 tokens but no widely adopted USD stablecoin. RGB supports fungible token issuance and transfer with no protocol fee. For more on stablecoins across Bitcoin L2s, see our stablecoins on Bitcoin research article.
This tool is for informational purposes only and does not constitute financial advice. Fee data is approximate and based on publicly available information as of mid-2026. Transaction fees on all networks fluctuate with network congestion, Bitcoin mempool conditions, and protocol updates. Always verify current fees through official documentation before making decisions.
Build with Spark
Integrate bitcoin, Lightning, and stablecoins into your app with a few lines of code.
Read the docs →
