sendtoaddress reports "insufficient fund", and getbalance returns 0 during a payout loop #9

Closed
opened 2022-06-16 22:41:14 +02:00 by roylee17 · 1 comment
roylee17 commented 2022-06-16 22:41:14 +02:00 (Migrated from github.com)

After successfully paying out a few addresses in a payout loop, the sendtoaddress returns insufficient fund and getbalance returns 0. However, when a new block is mined, getbalance returns normal amount, and sendtoaddress continue to work.

Note: This doesn't not block the integration with Yiimp, but still breaks the payout loop over multiple blocks.

After successfully paying out a few addresses in a payout loop, the `sendtoaddress` returns `insufficient fund` and `getbalance` returns `0`. However, when a new block is mined, `getbalance` returns normal amount, and `sendtoaddress` continue to work. Note: This doesn't not block the integration with Yiimp, but still breaks the payout loop over multiple blocks.
roylee17 commented 2022-08-08 22:35:36 +02:00 (Migrated from github.com)

The reason is a lack of UTXO liquidity.

The mass payout loop iterates through the receiving addresses and sequentially creates a single transaction for each receiver. This requires the wallet to have a sufficient number of UTXOs. Few large UTXOs won't help since each of them can be spent once, and the changes back to the wallet will have to wait until they are confirmed.

The number of UTXOs increases as every new block is mined for the wallet address of mining pools.

The wallet can also create raw transactions, or use something like sendmany to manually do the payout, or artificially break down large UTXOs into many smaller UTXOs to increase liquidity.

The reason is a lack of UTXO liquidity. The mass payout loop iterates through the receiving addresses and sequentially creates a single transaction for each receiver. This requires the wallet to have a sufficient number of UTXOs. Few large UTXOs won't help since each of them can be spent once, and the changes back to the wallet will have to wait until they are confirmed. The number of UTXOs increases as every new block is mined for the wallet address of mining pools. The wallet can also create raw transactions, or use something like `sendmany` to manually do the payout, or artificially break down large UTXOs into many smaller UTXOs to increase liquidity.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: LBRYCommunity/lbcwallet#9
No description provided.