Stuck Bitcoin payouts: how replace-by-fee gets them moving

When Bitcoin fees jump after a payout is sent, it can sit unconfirmed for hours. Replace-by-fee resends the same payment with a higher fee, without paying twice.

The Valtu team

Bitcoin fees are set by an auction for block space. A payout priced for a quiet moment can sit in the mempool for hours when demand spikes. Replace-by-fee (RBF) is the standard way out.

What replace-by-fee does

A Bitcoin transaction spends specific coins (inputs). RBF builds a new version of the same transaction, spending the same inputs to the same recipient for the same amount, with a higher fee taken from the change. Miners prefer the better-paying version, and because both spend the same coins, only one can ever confirm. The recipient can't be paid twice.

How Valtu uses it

  • Every Bitcoin payout is built so it can be replaced: it records its coins and which output is change.
  • If a payout is still unconfirmed 30 minutes after broadcast (roughly three blocks), Valtu re-prices it at a higher fee rate and broadcasts the replacement.
  • The replacement keeps the same coins and pays the same recipient the same amount; only the change, and so the fee, changes.
  • Your transfer keeps one id. Its record lists the replaced transaction hashes, and the webhook reports the hash that confirmed.

Coins in flight are never spent twice

While a payout is unconfirmed, its coins are reserved: the next payout waits for confirmed change rather than spending the same coins. This is what keeps rapid payouts from conflicting with each other.

When RBF can't help

If a transaction has no change output, there is nothing to raise the fee from, so it can't be bumped this way. Sizing payout wallets so payouts leave change avoids that.

More on Bitcoin in Valtu: Bitcoin network · BTC payments.

Keep reading

More from the blog

payouts · developers Sending crypto payouts at scale: batches, approvals and limits Paying hundreds of sellers or employees in USDT is mostly an operations problem: never paying twice, getting the right people to approve, and keeping a wallet's queue moving. developers · payouts Never pay twice: retry-safe payouts with externalId Timeouts happen. With one field, a retried payout returns the original instead of sending the money again. How idempotency works in the Valtu API, including batches. security · payouts How a payout gets signed: policy, approvals, enclave Every payout on Valtu takes the same path: your policies decide, your team approves with passkeys, and only then does the enclave sign. Here is each step.

Start with a test workspace today.

Same dashboard, same API, free test coins. Go live when your team is ready.