Ephemeral Dust
Key Takeaways
- Ephemeral dust maximizes usable channel balance. By using temporary zero-value outputs in commitment transactions, channels no longer need to reserve funds for on-chain fee bumping. Every satoshi in the channel becomes spendable.
- The dust output exists only momentarily. Ephemeral dust outputs are created in commitment transactions but must be spent in the same block. They never persist in the UTXO set, avoiding bloat while enabling fee flexibility.
- Enables dynamic fee management via CPFP. When a commitment transaction needs to be broadcast, the spending transaction adds fees through Child Pays for Parent (CPFP), allowing fee rates to match current mempool conditions rather than being locked at channel update time.
What Is Ephemeral Dust?
Ephemeral dust is a temporary zero-value or near-zero-value output included in Lightning Network commitment transactions. Unlike regular outputs that persist in the Bitcoin UTXO set, ephemeral dust outputs are designed to be spent immediately in the same block they are created, leaving no trace on the blockchain while serving a critical fee management function.
The term "dust" in Bitcoin refers to outputs so small that spending them would cost more in fees than they are worth. Bitcoin Core enforces a dust limit (currently 546 satoshis for standard outputs) to prevent UTXO bloat from uneconomical outputs. Ephemeral dust circumvents this concern by guaranteeing the output will be spent immediately, never cluttering the UTXO set.
This mechanism emerged from the need to solve a fundamental tension in Lightning: commitment transactions must be valid Bitcoin transactions with sufficient fees to confirm, but locking up satoshis for fees reduces the channel's usable capacity. Ephemeral dust provides an elegant solution that maximizes channel utility while maintaining on-chain viability.
Commitment Transaction Background
To understand ephemeral dust, you need to understand Lightning commitment transactions. A Lightning channel is essentially a 2-of-2 multisig address holding funds. Each party holds a commitment transaction that represents the current channel state and can be broadcast to close the channel unilaterally if needed.
These commitment transactions must be valid, broadcastable Bitcoin transactions. They require fees to be mined, and those fees must be accounted for when the transaction is created, not when it is broadcast. This creates a problem: fee rates fluctuate dramatically, but commitment transactions are signed in advance.
Originally, Lightning solved this by having the party who initiated the channel pay fees from their balance. This worked but had drawbacks:
- Fee estimation is difficult. A commitment transaction created today might be broadcast months later when fee conditions are entirely different.
- Balance constraints. The fee-paying party must always maintain enough balance to cover worst-case fees, reducing usable channel capacity.
- Stuck channels. If fees spike beyond what was reserved, commitment transactions might not confirm in reasonable time.
Anchor outputs were introduced to address fee flexibility, allowing fees to be added at broadcast time. Ephemeral dust represents the next evolution, eliminating even the small anchor reserve requirement.
How Ephemeral Dust Works
Ephemeral dust leverages a specific Bitcoin consensus behavior: transactions can include outputs below the dust limit if those outputs are spent in the same block. The sequence works as follows:
- Commitment transaction includes dust output. When creating a commitment transaction, an ephemeral dust output is added. This output has zero or minimal value and can be spent by anyone (or specifically by the channel parties).
- Commitment transaction has minimal fees. Because fees will be added separately, the commitment transaction itself can have very low or zero fees.
- Child transaction spends the dust. When broadcasting the commitment transaction, a child transaction is created that spends the ephemeral dust output. This child transaction includes enough fees to pay for both itself and the parent commitment transaction via CPFP (Child Pays for Parent).
- Both transactions confirm together. Miners include both the commitment transaction and its child in the same block, as the combined fee rate is attractive. The dust output exists only in that instant, spent before it ever enters the UTXO set.
The key insight is that the ephemeral dust output serves purely as a fee-bumping hook. It carries no value and conveys no balance information. It exists solely to provide a spendable output that enables CPFP fee bumping without requiring any balance reservation in the channel.
Benefits of Ephemeral Dust
Maximum Channel Utilization
Without ephemeral dust, channels must reserve funds for potential on-chain fees. This reserve (sometimes called "anchor reserve" or "fee reserve") is unavailable for payments. For small channels, this reserve represents a significant percentage of capacity.
Ephemeral dust eliminates this reserve requirement. Every satoshi in the channel becomes available for payments. A 100,000 satoshi channel that previously needed a 10,000 satoshi reserve now has the full 100,000 satoshis usable for routing and payments.
Dynamic Fee Adjustment
Fees are determined at broadcast time, not commitment time. If mempool conditions are calm, pay minimal fees. If there is congestion, pay higher fees. This matches fees to actual conditions rather than worst-case estimates made potentially months earlier.
No UTXO Set Bloat
Critics of earlier anchor proposals worried about creating additional persistent UTXOs. Ephemeral dust addresses this by never persisting. The output is spent in the same block it is created, maintaining the UTXO set size while providing fee flexibility.
Simplified Channel Management
Operators no longer need to carefully manage fee reserves or worry about channels becoming stuck due to insufficient fee allocation. The complexity of fee management moves from channel state to broadcast time, where it can be handled with current information.
Technical Implementation
Ephemeral dust implementation requires coordination between Bitcoin policy rules and Lightning protocol updates.
Bitcoin Policy Changes
Standard Bitcoin Core policy rejects transactions with dust outputs. For ephemeral dust to work, policy must allow dust outputs when they are spent in the same package of transactions. This is implemented through package relay enhancements that allow nodes to evaluate transaction packages rather than individual transactions.
The relevant policy change recognizes "ephemeral" outputs: dust outputs that are provably spent by another transaction in the same package. Since the output never enters the UTXO set, it does not contribute to UTXO bloat and can be permitted.
Lightning Protocol Updates
Lightning implementations need updates to create commitment transactions with ephemeral dust outputs and to properly construct the spending transactions when broadcasting. The BOLT specifications define how these outputs are structured and how channel parties coordinate their use.
Output Structure
An ephemeral dust output typically uses a simple script that allows anyone to spend it, or uses a specific key known to both channel parties. The output amount is zero or the minimum required to be non-dust when spent (depending on implementation). Example structure:
# Ephemeral dust output in commitment transaction
OP_TRUE # Anyone can spend (simplest form)
# Or with key constraint
<ephemeral_pubkey> OP_CHECKSIGThe spending transaction then creates inputs with appropriate fees based on current mempool conditions, referencing the ephemeral output as its source.
Relationship to Anchor Outputs
Ephemeral dust builds on the anchor outputs concept introduced in BOLT 3. Original anchor outputs added small (330 satoshi) outputs to commitment transactions that each party could spend to add fees via CPFP. This solved the fee flexibility problem but required:
- Each party to have access to additional UTXOs for fee bumping
- A small reserve in the channel for the anchor output values
- Two anchor outputs (one per party) in each commitment transaction
Ephemeral dust simplifies this by using a single zero-value output that either party can spend. No balance reserve is needed because the output has no value. The fee-bumping capability remains, but the overhead disappears.
You can think of ephemeral dust as "anchor outputs 2.0": same goal of fee flexibility, but with zero cost to channel capacity and cleaner implementation.
FAQ
Ephemeral dust requires both Bitcoin Core policy support (package relay with ephemeral output rules) and Lightning implementation updates. As of early 2026, major implementations including LND, Core Lightning, and Eclair are implementing or have implemented support. Check your specific implementation's release notes for current status.
Integrate Lightning the Easy Way
The simplest, cheapest, and fastest way to add Lightning payments to your app with the Spark SDK.
View SDK Docs →