Context
Part of #6965 — Dust Attack Protection and Donate Dust.
This issue covers the Donate Dust feature — allowing users to send all current Do Not Spend coins to a donation address, paying fees only from those coins. See also:
Goal
Give users an optional privacy-improvement action: donate all current Do Not Spend coins using a transaction that:
- uses only Do Not Spend UTXOs
- pays fees from those UTXOs only
- never adds normal spendable coins
- sends the remaining amount to the Keeper donation address
Donate Dust Entry Point
In Manage Coins, when the wallet has any current Do Not Spend coins, show a CTA:
Donate Dust
This CTA is contextual — only visible when eligible Do Not Spend coins exist. Do not show it on other screens.
Donate Dust Eligibility
All current Do Not Spend coins are eligible, including:
- Potential dust payment
- Linked to potential dust spend
- Manually marked Do Not Spend
User can cancel on the confirmation screen.
Transaction Rules
- Use only Do Not Spend UTXOs as inputs
- Pay fees from those UTXOs only — never add normal spendable coins
- Use minimum fee rate
- Send leftover amount after fees to the Keeper donation address:
bc1qyqequr0824nwf7snzvq5gqsr6xscn62e3ttm06
- If no valid transaction can be built using only eligible Do Not Spend coins, keep them marked Do Not Spend and show error
Donate Dust Confirmation Screen
Screen type: Confirmation modal / bottom sheet
Title: Donate Dust?
Body: This helps clear dust / Do Not Spend coins for better privacy. Keeper will use only Do Not Spend coins for this transaction. Fees will be paid from those coins only.
Warning: No spendable coins will be used.
Detail line (if useful in review): Any amount left after fees will be donated to support Keeper.
Buttons:
- Donate Dust — proceeds to existing transaction review/signing flow
- Cancel — returns to Manage Coins
Error State
If a valid transaction cannot be built using only the eligible Do Not Spend coins, show:
These coins are too small to donate on their own. Keeper will keep them marked Do Not Spend.
Keep those coins marked Do Not Spend.
Success State
After successful donation:
Dust donated
Transaction History
After donation completes, the transaction appears in normal transaction history. No special label is required for a successful donation transaction.
Acceptance Criteria
Copy Requirements
Use these exact labels:
- Donate Dust
- Donate Dust?
- This helps clear dust / Do Not Spend coins for better privacy. Keeper will use only Do Not Spend coins for this transaction. Fees will be paid from those coins only.
- No spendable coins will be used.
- Any amount left after fees will be donated to support Keeper.
- These coins are too small to donate on their own. Keeper will keep them marked Do Not Spend.
- Dust donated
Design Requirements
- Donate Dust is contextual inside Manage Coins only — do not add it elsewhere
- Reuse existing confirmation modal / bottom sheet component
- Reuse existing transaction review/signing flow
- No new assets required
- Use stacked buttons if horizontal layout does not fit small screens
Context
Part of #6965 — Dust Attack Protection and Donate Dust.
This issue covers the Donate Dust feature — allowing users to send all current Do Not Spend coins to a donation address, paying fees only from those coins. See also:
Goal
Give users an optional privacy-improvement action: donate all current Do Not Spend coins using a transaction that:
Donate Dust Entry Point
In Manage Coins, when the wallet has any current Do Not Spend coins, show a CTA:
Donate Dust
This CTA is contextual — only visible when eligible Do Not Spend coins exist. Do not show it on other screens.
Donate Dust Eligibility
All current Do Not Spend coins are eligible, including:
User can cancel on the confirmation screen.
Transaction Rules
bc1qyqequr0824nwf7snzvq5gqsr6xscn62e3ttm06Donate Dust Confirmation Screen
Screen type: Confirmation modal / bottom sheet
Title: Donate Dust?
Body: This helps clear dust / Do Not Spend coins for better privacy. Keeper will use only Do Not Spend coins for this transaction. Fees will be paid from those coins only.
Warning: No spendable coins will be used.
Detail line (if useful in review): Any amount left after fees will be donated to support Keeper.
Buttons:
Error State
If a valid transaction cannot be built using only the eligible Do Not Spend coins, show:
These coins are too small to donate on their own. Keeper will keep them marked Do Not Spend.
Keep those coins marked Do Not Spend.
Success State
After successful donation:
Dust donated
Transaction History
After donation completes, the transaction appears in normal transaction history. No special label is required for a successful donation transaction.
Acceptance Criteria
bc1qyqequr0824nwf7snzvq5gqsr6xscn62e3ttm06Copy Requirements
Use these exact labels:
Design Requirements