A CLI tool to collect and spend dust utxos from a bitcoin wallet
- Identify dust UTXOs by addresses that are below the min relay fee
- Spends UTXOs to empty OP_RETURN output
- Clone the repository:
git clone https://github.com/funyug/dustbuster
cd dustbuster
- Build the project:
cargo build --release
- The binary will be available at
target/release/dustbuster
dustbuster [OPTIONS] <COMMAND>
Commands:
list-dust List dust UTXOs
create-psbt Create an unsigned PSBT spending dust utxos to fees
help Print this message or the help of the given subcommand(s)
Options:
-r, --RPC_URL <RPC_URL> [default: 127.0.0.1:48332]
-a, --AUTH <AUTH> [default: user:password]
-w, --WALLET <WALLET>
-h, --help Print help
Example
dustbuster -a test:test -r 127.0.0.1:18443 list-dust --min-relay-fee=1
Total Dust UTXOs: 6
Do you want to print the dust UTXOs? (yes/no): yes
Txid: d942d2e4f4db52ee2b8bac2b6d59f2d9b5b70014ffe78626c326b5be1b8faf8c Vout: 0 Amount: 0.00000010 BTC
Txid: b5b7d4b03e2c2731222630174ef09f5167d066d1a64e68658fc42b59b719a5dd Vout: 0 Amount: 0.00000010 BTC
Txid: f40581cc41bb3dc94627b379d20471605ab0cb972d464dca58849fa80582bdea Vout: 1 Amount: 0.00000010 BTC
Txid: 30c4d0482df1ad82affd71ad8c24153f87173ed80efd6e034e93c371c1c8a5cd Vout: 1 Amount: 0.00000010 BTC
Txid: be2dc635d25ccc8c0809039003fc38dfdbb2e77c741aad65f7a2c5033c7773e9 Vout: 0 Amount: 0.00000010 BTC
Txid: ef75f32392b0636f5f660ad5ad46d714ab2f6f17b0b08cd858507a566b233507 Vout: 1 Amount: 0.00000010 BTC
dustbuster -a test:test -r 127.0.0.1:18443 create-psbt --min-relay-fee=1 --address=bcrt1q07gdzknry9yzwnmud53umwksx20lmnn4c4lheg
cHNidP8BAP1cAQIAAAAIVd1YWLOuE6yO93hGsEvP2hgEGgOmPKHY5tZxFmHpCi8AAAAAAP3///+rgcieK5L+s/IzaVDS15dhtD317YpjGWCCZ3F00INihwEAAAAA/f///2xMJ6VrD/xBs5ae/DrsLEyLe9ZNkOtpZyAQkjWHfIZJAAAAAAD9////hjxQWLUrOLlVnRomCitelOm8/CO6erNMXuSDvbXQhD8BAAAAAP3///+qFgmY
TA6ldo3JIqOzA4dghihDXlPjD3i0lngcscPsTgAAAAAA/f///y6RO956viLxme/0uR/vxrWfbbquaDw8mSi5Lo5OvFBdAAAAAAD9////REGiJaMjkXjmxZ5mpj0NbHHFou7Awj+GIcmziGqmL98AAAAAAP3///8+U+G96HSXZCGVmhDg30eZccEm2BZxL+jcH2W/+WPS+gAAAAAA/f///wEAAAAAAAAAAAFqAAAAAAAAAAAAAAAAAAA=
PSBT needs to be signed by bitcoin-cli
Example
bitcoin-cli walletprocesspsbt cHNidP8BAP1cAQIAAAAIVd1YWLOuE6yO93hGsEvP2hgEGgOmPKHY5tZxFmHpCi8AAAAAAP3///+rgcieK5L+s/IzaVDS15dhtD317YpjGWCCZ3F00INihwEAAAAA/f///2xMJ6VrD/xBs5ae/DrsLEyLe9ZNkOtpZyAQkjWHfIZJAAAAAAD9////hjxQWLUrOLlVnRomCitelOm8/CO6erNMXuSDvbXQhD8BAAAAAP3///+qFgmYTA6ldo3JIqOzA4dghihDXlPjD3i0lngcscPsTgAAAAAA/f///y6RO956viLxme/0uR/vxrWfbbquaDw8mSi5Lo5OvFBdAAAAAAD9////REGiJaMjkXjmxZ5mpj0NbHHFou7Awj+GIcmziGqmL98AAAAAAP3///8+U+G96HSXZCGVmhDg30eZccEm2BZxL+jcH2W/+WPS+gAAAAAA/f///wEAAAAAAAAAAAFqAAAAAAAAAAAAAAAAAAA=
{
"psbt": "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",
"complete": true,
"hex": "0200000000010855dd5858b3ae13ac8ef77846b04bcfda18041a03a63ca1d8e6d6711661e90a2f0000000000fdffffffab81c89e2b92feb3f2336950d2d79761b43df5ed8a63196082677174d08362870100000000fdffffff6c4c27a56b0ffc41b3969efc3aec2c4c8b7bd64d90eb696720109235877c86490000000000fdffffff863c5058b52b38b9559d1a260a2b5e94e9bcfc23ba7ab34c5ee483bdb5d0843f0100000000fdffffffaa1609984c0ea5768dc922a3b30387608628435e53e30f78b496781cb1c3ec4e0000000000fdffffff2e913bde7abe22f199eff4b91fefc6b59f6dbaae683c3c9928b92e8e4ebc505d0000000000fdffffff4441a225a3239178e6c59e66a63d0d6c71c5a2eec0c23f8621c9b3886aa62fdf0000000000fdffffff3e53e1bde874976421959a10e0df479971c126d816712fe8dc1f65bff963d2fa0000000000fdffffff010000000000000000016a0247304402201ddaa2cb1b7eeeeb952643b1521e96c952f6a39ba13f9693abfcfd5ec33009ac0220427166db6c1800be8cd838f4024625c7c406657b4b4461ed57acbb6f403ef93d01210218b56554b32f36948dcf8830bd1d5966ee470e458b3849678522e479b3d98add0247304402202a46832e07d7ef3eda88b7d49ea4d4863049db8baca01da566896c2a80993a83022050665a611a6427e1b1eb0d1e61a801b14f34c41c05c6ea552bac3f6fecd6294f01210218b56554b32f36948dcf8830bd1d5966ee470e458b3849678522e479b3d98add0247304402200b1b94639654c83a91beed6671be77c21b7e7be7e3f5fbd6d81e91b6d2e8aa6002203055018975b45e87c72d88100292b3539e1db6736c1b3a5e126c8c9399c7ade101210218b56554b32f36948dcf8830bd1d5966ee470e458b3849678522e479b3d98add0247304402200375d7277fa260d89c218c263a33ded288e1e6cfb2bd487505fcb9f4d0b22efd022026ba2bcfac645cee9cb7dd5c48c668d84491394629f3bfa6a88c54e829507a0701210218b56554b32f36948dcf8830bd1d5966ee470e458b3849678522e479b3d98add0247304402202b36134d1e8b983f8ec7b4085dec6031955c583a04c55a70f98c0bb8df560804022022ecb3f7432323df60c53695978167d1ce998366cb59d09e56c5af014059e62901210218b56554b32f36948dcf8830bd1d5966ee470e458b3849678522e479b3d98add024730440220340e6bfc4b375b738517b841e98150784132902a772ca9e2f8f70eabb040ab5f02200f9b4f6bff6fdb0a6bcdd0102c0f2179090384197667bcdd03c80bc831bd8bf301210218b56554b32f36948dcf8830bd1d5966ee470e458b3849678522e479b3d98add0247304402200c5da9d5fa5c43416e859ff8520255f1062e0f8386859bc1cd17858d51d589b4022072f1259b47bd3155b33cc04aa995891d6ddb283014b8f1bad35ad430cca98d2101210218b56554b32f36948dcf8830bd1d5966ee470e458b3849678522e479b3d98add0247304402206560d9859229307b4faaa1310076f5683e40b847d57af90db127941f52047bcc02204e33f68751e4a9b0cca8eda2d614c24f475f58c816551dfbe80d56b42be12b9101210218b56554b32f36948dcf8830bd1d5966ee470e458b3849678522e479b3d98add00000000"
}
Transactions created using this tool do not include any extra utxo to pay fees(for privacy protection) which will result in transactions getting rejected by the bitcoin nodes as transactions are below the minimum transaction relay fee rate. There are some services like ViaBTC accelerator(https://www.viabtc.com/tools/txaccelerator/), Mempool transaction acceleration(https://mempool.space/acceleration) etc. that allow paying fees by lightning or a separate transaction for such transactions. Please contact the service provider before using their services.