A bulk send usually fails for one of five reasons: the token allowance is too low, the balance is short, the token does not behave like a standard ERC-20, the wallet is on the wrong network, or the transaction was replaced or dropped. A batch is all or nothing, so a reverted batch pays nobody and can be sent again.
Causes and fixes
| Cause | What to check | What to do |
|---|---|---|
| Allowance too low | The approval was for less than the batch total, or it was spent by an earlier batch. | Approve again for the total, then resend the batch. |
| Balance short | The wallet holds less than the batch total, or no gas token for fees. | Top up the token or the native gas token, then resend. |
| Unsupported token | Fee-on-transfer and rebasing tokens change the amount in transit, so the totals do not add up. | These tokens are rejected. Use a standard token. |
| USDT on Ethereum | The Disperse contract does not handle tokens with missing return values. | Blocked in the interface. Send USDT another way. |
| Wrong network | The wallet is on a different chain than the one selected. | Switch the wallet to the selected network and resend. |
| Replaced or dropped transaction | You sped up or cancelled in the wallet, or the transaction never got mined. | Check the history. A batch counts as confirmed only after a success receipt. Resend the batches that are not confirmed. |
Before you resend
- Open the history and check which batches are confirmed. Do not resend a confirmed batch.
- Look up the transaction hash on the chain's block explorer to see whether it succeeded, failed or is still pending.
- Fix the cause from the table.
- Resend only the batches that are not confirmed. PayVectro can resume at the next unconfirmed batch.
- Export the CSV with transaction hashes when you are done.
FAQ
If a batch reverts, did anyone get paid?
No. A batch is all or nothing, so a reverted batch pays nobody in that batch.
Can I just send the whole list again?
Not safely. Check the history first and resend only the batches that are not confirmed, or a recipient can be paid twice.
Why does it say confirmed only sometimes?
History shows confirmed only after a success receipt from the chain, not when the wallet shows a pending transaction.
Does a failed send cost anything?
A reverted transaction still uses gas. PayVectro currently charges no fee.
PayVectro sends through the public Disperse contract on 9 mainnet networks and its own contract on Sepolia testnet. You sign every transaction from your own wallet.
Originally published at payvectro.com/guides/bulk-send-failed-reverted.
Top comments (0)