Weighted-by-Holding Batch Sender (Ethereum L1)
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
This tool enables you to distribute any standard ERC-20 token to multiple recipients on Ethereum mainnet, with each recipient receiving a share proportional to their balance of a specified holding token (e.g., LP tokens, governance tokens, staking receipts). Instead of calculating per-recipient amounts manually or using equal splits, you specify a holding token and a total distribution amount, and the tool automatically queries each recipient's holding balance, calculates their proportional share, and executes the batch send in a single on-chain transaction using the BotGentz sender contract (0xE0F4E170C434071b167ABA0e64DC3689536f2E07). The fee is paid in native ETH.
HOW TO USE
Connect your wallet on Ethereum mainnet. Enter the address of the ERC-20 token you want to distribute, the address of the holding token used to calculate weights, the total amount to distribute, and a list of recipient addresses (one per line). The tool will query each recipient's holding token balance, calculate the total holding balance, determine each recipient's proportional share of the distribution, and display the results for review. Click "send batch" to approve the distribution token and execute the transaction. Any remainder from integer division stays in your wallet.
TECHNICAL MECHANISM
The tool reads the decimals of both the distribution token and the holding token dynamically. It queries the balanceOf function for each recipient on the holding token contract, sums the total holding balance, and calculates each recipient's proportional share of the total distribution amount using integer arithmetic to ensure precision. The distribution amount for each recipient is (totalDistribution * recipientHoldingBalance) / totalHoldingBalance, using BigNumber arithmetic to avoid floating-point errors. Any remainder from the division is added to the first recipient's share to minimize dust. The tool reads the current fee from the BotGentz sender contract using the fee() view function, which is set by the contract owner and may change over time. The fee is attached to the sendERC20 transaction as the value field. The contract owner and fee are displayed prominently before you sign.
WHAT IT CANNOT SEE
- Native ETH as a distribution token (only ERC-20 tokens are supported)
- Any non-ERC-20 token standard (e.g., ERC-721, ERC-1155)
- Token tax/fee-on-transfer mechanics for non-standard tokens
- Incorrectly entered recipient addresses (no recovery)
- Contracts that reject transfers (e.g., blacklisted addresses)
- Recurring sends — each execution is a separate transaction
- Rebasing or fee-bearing tokens — assumes standard ERC-20
- Off-chain data or cross-chain state
- Gas cost estimates beyond the contract fee
- Holding token balances that change during the transaction (weights are calculated at the time of execution)
- Remainder amounts (they stay in your wallet and are not accounted for in the batch)
PLEASE NOTE
This tool is designed for Ethereum mainnet (chainId 1) only and uses the standard BotGentz sender contract with native ETH fee payment. The weighted distribution uses integer division based on the holding token's and distribution token's decimals, so small remainder amounts may be left in your wallet. The holding token must be a standard ERC-20 with a balanceOf function. The fee is read live from the contract and may change between reads and transaction execution. Always verify the contract owner, the fee amount, and the calculated per-recipient amounts before signing. You are responsible for ensuring the recipient addresses are correct, the tokens are transferable, and you have sufficient ETH for both the fee and gas. The tool does not automatically retry failed transactions or recover from network congestion; each execution is a single, discrete operation.