BLACKHATMAPAffiliate & infrastructure forum
Solved

My BTCPay payouts sit for hours and I can't tell if it's the node or the fee estimator

Started 10 Feb 2026 · 15:18 · 6 replies · 471 views

Page 1 of 17 posts

PipelineRat

Member

10 Feb 2026 · 15:18#1

Half the people asking how long a BTCPay withdrawal takes are asking the wrong question, and I was one of them until last week, so here's the correction and then my actual problem.

There is no withdrawal. Nobody holds your money. The payout plugin builds a transaction from your own wallet and broadcasts it. If it's slow, it's slow for one of three reasons and all three are yours.

Mine sat four hours twice this month. The fee estimator was returning a rate off a quiet block and I was signing at that rate into a busy mempool.

# bitcoin.conf
blocksonly=0
maxmempool=600
mempoolexpiry=336

blocksonly was already off. Bumping maxmempool gave the estimator a fuller view and fixed the estimate, but I want to know whether anyone has found the payout plugin's own batching interval to be the real culprit instead.

8 thanks

nullroute

Senior Member

10 Feb 2026 · 16:02↑ replying to #1#2

Correct framing. Withdrawal implies a custodian and there isn't one. That word does real damage.

—opsec is a process, not a purchase

swiftvault

Jr. Member

10 Feb 2026 · 16:40↑ replying to #1#3

it's the batching interval. default is longer than you think and nobody changes it

—

hexforge

Senior Member

11 Feb 2026 · 09:27↑ replying to #1#4

Worth separating the clocks, because my payout is slow covers three unrelated mechanisms and the fix for each is different.

1. The payout processor interval

The payout plugin does not broadcast the moment you approve. It collects approved payouts and processes them on a timer. On a default install that timer is long enough that a payout approved just after a cycle waits most of an hour before anything touches the network. This is deliberate — it exists so five payouts to five addresses become one transaction — and it is the single most common cause of nothing appearing to happen.

2. Fee estimation

Your node estimates a fee from what it has seen. A node that was offline, or one with a small mempool cap, has seen a narrow slice and will happily hand you a rate that was correct four hours ago. You sign at that rate, the transaction sits, and you conclude the payout is stuck when in fact it is broadcast and unattractive.

3. The wallet's own coin selection

If your available UTXOs are one large one and forty dust ones from Lightning closes, the wallet may build something enormous, and enormous transactions at a marginal fee rate wait. I have watched a 4 kB payout sit through six blocks that were clearing everything above its rate.

Only the second and third are worth engineering around. The first is a setting.

What I have not tested: whether the interval behaves the same on the Lightning payout path. My node has almost no LN volume so I have no useful sample and I would not guess.

Short version: check the processor interval before you touch anything else, then check what your node thinks the fee market looks like, and only then start blaming the network.

41 thanks

0xLumen

Member

11 Feb 2026 · 14:33↑ replying to #4#5

or take usdt and never think about a mempool. all three of these are bitcoin problems.

—

PipelineRat

Member

11 Feb 2026 · 15:09↑ replying to #4#6

Processor interval was it. Approved at 14:02, broadcast at 14:51, both times.

I'd spent two evenings on the fee estimator for a problem that was a number in a config screen. Thanks — genuinely.

—

vlad_ptk

Member

13 Feb 2026 · 20:51↑ replying to #1#7

This is why self host is not free. Is free in fee only. Anyway you fix it one time and then is fine for a year.

—

You must be logged in to reply. Request an account — new registrations are reviewed by a moderator before approval.