Bitcoin Transaction Fees and UTXO Management

-------------------------

- when bitcoin blocks are full, highest fee transactions are confirmed first

- pending transactions sit in node mempools awaiting confirmation: can conceptualize mempools as a line to enter a restaurant sorted by who is willing to pay the most

- your bitcoin wallet may show a single balance but the reality is that it is made of many different unspent transaction outputs (UTXOs)

- when you make a bitcoin transaction your wallet will select as many UTXOs as necessary to reach the amount of bitcoin you wish to send

- onchain transaction fees are calculated based on size in bytes not the amount of sats sent

- the more utxos required on the input side the higher the fee paid

- from a cost perspective you want to consolidate utxos, fewer utxos with larger amounts

- consolidation has privacy tradeoffs though: you link any UTXOs you consolidate as owned by the same person + larger UTXOs mean you will dox more of your stack to anyone you pay in the future

Therefore you want to reduce the number of UTXOs you have while being mindful of the privacy concerns.

Lightning Transaction fees are calculated differently: based on the amount in sats sent. Opening lightning channels when fees are low can enable you to save money in the future when fees rise. 🤙

https://werunbtc.com/utxos

Reply to this note

Please Login to reply.

Discussion

Sparrow wallet great software to visualize and manage your UTXOs!

Sparrow is the best and there is no second best.

based, me too!

And for mobile?

mobile there is no clear best, there are a bunch of good wallets with different tradeoffs

my favorite mobile on-chain wallet is samourai, but that is android only, without lightning support

other good options:

muun - extremely easy to use - https://werunbtc.com/muun

phoenix - great for lightning payments - https://werunbtc.com/phoenix

bluewallet - many features, easy to connect to your own node, can be used with multisig

breez - similar to phoenix, great for lightning, with a slick point of sale mode

zeus - the best way to use your own lightning node

blixt - great for lightning

nunchuk - nfc support so works well with tapsigners, easy multisig, iOS version is closed source

No one ever mentions blockstream green. If there were one hot wallet I’d recommend to a newbie hodler, it would be blockstream green.

Thanks for the lengty answer, I knew you liked a couple but stuff has been changing so rapidly lately, I needed an update. Your one of the best to ask imo.

I expect many Bitcoiners use GrapheneOS, and there are some eg Muun that cannot operate on Graphene due to requiring Google services. So for GrapheneOS users Samurai wallet is one of the only options, so far.

The features in samourai are enough to get an android phone, just to get the best mobile wallet ever made.

Samourai for onchain privacy enhanced usecase

https://docs.samourai.io/en/wallet

Blixt for a lovely mobile full node and LN wallet with almost all needed features... LNurl is in planning for receiving. Sending to LNurl and LN adress is fully supported..

https://blixtwallet.github.io/

https://darthcoin.substack.com/p/blixt-btc-ln-node-and-wallet

Soon! Or not so soon.

satsigner.com

It’s not even a close competition

💯

Sparrow is THE perfect ochain privacy tool... use it... love it... support it!

ThX to @craigraw for his awesome work 🍻💯🍻

https://sparrowwallet.com/donate/

Until I played with sparrow I had the misconception that when you send an amount out of one address you MUST send the entire amount and the change goes to a new address. The rule only applies to UTXOs, if you have an address with 10 UTXOs of various amounts, using sparrow you can send from a few of those UTXOs and the unspent stay where they were. While that's not really practical since that means you have reused the same address for receiving, it was cool to grasp the concept of UTXO vs address.

I disagree, there's a problem Sparrow doesn't solve, which is losing your privacy from consolidating UTXOs.

Wasabi Wallet solves the problem of consolidating inputs privately since your inputs can be consolidated within a coinjoin, preventing observers from using the common input ownership heuristic to trace that they belong to the same person.

You can do fake or real two-person coinjoins when spending from a post-mix wallet.

Would love a mobile Sparrow wallet. Is this in the works?

There was one for android a few month ago but it has disappeared for some reason.

True! I've setup Sparrow on a Linux Mint desktop a few days ago, airgapped Coldcard, connected to Raspberry node w. Personal Electrum Server. Easy to setup, zero problems. Best UTXO management and multiple accounts. Best wallet I've ever had, feels much safer now and I wouldn't want to go back. 🤙

◀◀◀

nice summary of onchain transaction knowledge!

I would add that having a large variety in UTXO sizes is preferred because you can select the UTXO that is just slightly larger than the transaction you are trying to make. Best of both worlds lowest fees and best privacy

I don't get the argument of "consolidate for cost"

You still have to pay, the only difference is whether you pay now or pay later. Assuming you can't time the market for fees, why is now preferable to later?

the thought is fees will rise over time with adoption, if you do not expect that to be the case then there is no cost savings consolidating preemptively

Would you consolidate 100k sats coinjoin outputs if you planned to hold them in cold storage for long time?

should be fine without consolidation, depends on how much you expect fees to rise by the time you spend

Yeah right. I'm curious to see what the fees will look like in a decade. I think txs < 100k sats will be very expensive.

If KYC-compliant Bitcoin from multiple addresses are consolidated onto a single address on the Lightning Network, is there still traceability when these coins are transferred back to a new address?

Why do bitcoin wallets even need to consolidate?

Could they just auto coin control?

Could a posted QR be used to generate QRs that can be used by the sender wallet to coin control to the receiver?

More fees, but better privacy?

Sparrow allows for UTXO control of mixed and unmixed.

Great summary on tx fees

#[0]

This is good quality content.

One thing I've always wondered about, and haven't found an answer in any coinjoin documentation, is mixing multiple utxo's from badbank. If all doxxic change are too small to mix separately, but their sum is mixable, does consolidating the small doxxic utxo's into a mix affect the privacy of the associated already mixed utxo's?

Ok - a couple of questions

1) Once you have stack consolidated, is it still multiple UTXO’s or does it literally consolidate in some way.

2) If UTXOs are being constantly split doesn’t this mean UTXO’s are necessarily getting smaller and smaller over time?

During consolidation, will adding a paper wallet as a middleman and creating a new private key on the hardware wallet improve privacy?