Ethereum L1 ERC-4626 Vault Share Batch Sender
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 the batch distribution of ERC-4626 vault shares (yield-bearing tokens) to multiple recipient addresses in a single atomic transaction on Ethereum L1. It connects to your wallet via BGWallet, reads the vault contract bytecode and verified source, fetches your current share balance and allowance, and constructs a batched transfer that sends shares to each address with specified amounts. The batch executes through the BotGentz sender contract, ensuring all recipients receive their shares simultaneously or the entire transaction reverts. This is ideal for yield farming distributions, vault share airdrops, DeFi treasury management, or any scenario requiring efficient multi-recipient transfers of tokenized vault positions that accrue value over time.
HOW TO USE
1. Connect your wallet using the "Connect" button (BGWallet integration).
2. Ensure you are on Ethereum Mainnet (chain ID 1) — the tool will prompt you to switch if needed.
3. Enter the ERC-4626 vault contract address.
4. Click "Load vault details" to automatically detect the vault's name, symbol, share decimals, and underlying asset symbol.
5. Paste your recipient list — one address and share amount per line, separated by space or comma.
6. Click "Parse & preview" to validate addresses and see a summary table.
7. Review the sender information: your address, share balance, required total (including network fee), current allowance, exchange rate (shares → underlying assets), and the batch sender contract details.
8. If allowance is insufficient, click "Approve" to authorize the sender contract to spend your vault shares.
9. Click "Send batch" to execute the atomic transfer. The progress bar will show transaction status.
TECHNICAL MECHANISM
The tool leverages the BotGentz multisender contract (BULKSEND registry) which implements a batched ERC-20 transfer function — compatible with ERC-4626 vault shares since the vault share token extends ERC-20. It dynamically fetches the current fee and owner address from the contract (never hardcoding stale values). The approval process grants exactly the required total amount — not an unlimited allowance — enhancing security. The contract uses the `sendERC20` method, taking arrays of recipient addresses and share amounts, processing each transfer in a loop, and ensuring all succeed before finalizing. The transaction includes the protocol fee as `msg.value`. The tool automatically detects the vault's share decimals (which may differ from the underlying asset's decimals), fetches the asset symbol for clear display, and calculates the current exchange rate using `convertToAssets` to show recipients the approximate underlying value of the shares being transferred. It validates total required funds against the sender's balance before submission, catching underfunding early.
WHAT IT CANNOT SEE
This tool cannot guarantee recipient addresses are valid beyond basic Ethereum address format validation (0x + 40 hex characters). It does not verify if recipients are contracts, if they can receive vault shares, or if they have been blacklisted by the vault contract (some vaults have blacklist functionality). The tool cannot recover from a failed batch — due to the atomic nature of the transaction, if any single transfer fails (e.g., blacklisted recipient, insufficient gas, contract revert), the entire batch reverts and no shares are sent to anyone. It cannot send to zero addresses or self, or exceed the block gas limit (which limits batch size). The tool does not simulate the transaction beforehand, so unexpected reverts may occur during execution. It relies entirely on the vault contract behaving as expected — any changes to the vault's logic (e.g., upgrades, pausing, blacklisting) could cause the batch to fail. The tool cannot predict future yield or vault performance — the share price fluctuates with the underlying asset, meaning the actual value transferred may differ from what recipients expect. It cannot verify if recipients are authorized to hold vault shares or if the vault has transfer restrictions. Share decimals may differ from asset decimals, affecting amount precision and user expectations.
PLEASE NOTE
This tool is designed exclusively for Ethereum L1 (mainnet). It reads the chain ID and uses the BULKSEND registry to locate the appropriate sender contract, but only chain IDs present in the registry are supported (including mainnet, optimism, arbitrum, polygon, and others). For Ethereum L1 ERC-4626 vault shares specifically, the registry address is 0xE0F4E170C434071b167ABA0e64DC3689536f2E07. The sender contract charges a fee in ETH (native gas token), which is displayed before signing. Always review the fee, contract address, owner, and exchange rate before approving or sending. This tool is provided as-is — verify all transactions carefully, especially when dealing with yield-bearing assets that have complex mechanics and fluctuating values.