User Loses $102K in Bitcoin Fees Due to RBF Fee-Loop Bug

A Bitcoin user lost about 1.6 BTC (~$102,778) to network fees after an automated RBF script repeatedly increased fees. Learn what went wrong, how miners profited, and practical steps to prevent runaway transaction fees.

User Loses $102K in Bitcoin Fees Due to RBF Fee-Loop Bug
Reading time: 3 Minutes
Follow on Google

Bitcoin user accidentally pays 1.6 BTC in fees after RBF script loop

On August 12, a Bitcoin wallet owner lost approximately 1.6 BTC — about $102,778 — to network fees after a software error turned a Replace-by-Fee (RBF) attempt into an escalating fee loop. The transaction was confirmed in block 962,142 and on-chain analysis shows the single input of roughly 1.6 BTC was entirely consumed as miner fees; the transaction output carried no monetary value to the intended recipient.

What happened: RBF automation ran out of control

Replace-by-Fee (RBF) is a legitimate feature that lets users rebroadcast an unconfirmed transaction with a higher fee to speed up confirmation. In this case, an automated script repeatedly increased the fee—reportedly almost every second—instead of stopping at a preset cap. The continuous fee bumps eventually consumed the wallet balance, leaving nothing for the receiver and directing the full 1.6 BTC to miners.

Miner proceeds and network impact

Miner pool SpiderPool mined block 962,142 and captured the bulk of the block’s fees. Reports indicate about 1.82 BTC made up nearly 88% of that block’s total fees, a disproportionate slice driven primarily by this single failed transaction. The incident highlights how fee-automation gone wrong can produce outsize earnings for miners while devastating for users.

How to prevent runaway transaction fees

This case underlines the importance of controlling wallet automation and understanding Replace-by-Fee behavior. Wallet users and operators can adopt several straightforward defenses to reduce the risk of catastrophic fee losses:

1. Disable automatic RBF fee increases

Turn off automatic RBF or any automatic fee-bumping in your wallet settings. Requiring manual approval forces a human review before any additional fee is applied and prevents scripts from escalating costs unchecked.

2. Set a hard fee cap (sats/byte)

Most modern wallets allow you to set a maximum satoshis-per-byte value. A hard limit would have broken the loop within seconds by preventing the fee from increasing beyond an acceptable threshold.

3. Run test transactions before large or batch payments

Send a small test payment of a few thousand satoshis after updating wallet software or enabling automation. Especially for merchants and batch-payers, a quick test ensures bots or scripts behave properly before real funds are at risk.

Broader lessons for self-custody and automation

Beyond this single incident, the story reinforces an ongoing truth in self-custody security: automation introduces new attack surfaces. Even users who follow standard security hygiene can lose funds if automated scripts or third-party tools misbehave. Recent Coldcard wallet incidents and public comments from industry figures — including Changpeng Zhao — remind the community that no wallet is completely impervious.

Treat automation controls with the same care as your seed phrase. Unsupervised scripts can drain a wallet far faster than many external attackers. For anyone relying on Bitcoin wallets for large transfers or recurring payments, combining conservative automation settings, hard fee caps, and routine test transactions is now a best practice for safeguarding funds on the blockchain.

Elias Moreau

“I cover automotive innovation, electric vehicles, and the future of mobility — where technology meets sustainability.”

Leave a Comment

Comments (2)

Armin

is this even true? how can a wallet let RBF run every second until balance zero. did they forget a cap or was it a script bug? sounds wild, need more details

coinflux

holy smokes, 1.6 BTC gone to fees? that's brutal. automated RBF bumped every second?? Never trust scripts without limits poor guy, ouch