Ethereum L1 rETH 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 rETH (Rocket Pool Staked ETH) to multiple recipient addresses in a single atomic transaction on Ethereum L1. It connects to your wallet via BGWallet, reads the rETH contract bytecode and verified source, fetches your current balance and allowance, and constructs a batched transfer that sends tokens to each address with specified amounts. The batch executes through the BotGentz sender contract, ensuring all recipients receive their tokens simultaneously or the entire transaction reverts. This is ideal for staking reward distribution, treasury management, portfolio rebalancing, or any scenario requiring efficient multi-recipient transfers of staked ETH.
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 rETH contract address (defaults to the official 0xae78736C...).
4. Paste your recipient list — one address and amount per line, separated by space or comma (e.g., "0xabc... 1.25").
5. Click "Parse & preview" to validate addresses and see a summary table.
6. Review the sender information: your address, rETH balance, required total (including network fee), current allowance, and the batch sender contract details.
7. If allowance is insufficient, click "Approve" to authorize the sender contract to spend your rETH.
8. 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. 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, which takes an array of recipient addresses and corresponding amounts, processes them in a loop, and ensures all transfers succeed before finalizing. The transaction includes the protocol fee as `msg.value`. The tool reads the rETH contract decimals (18, standard for ERC-20) but crucially accounts for rETH's unique exchange rate mechanism — rETH represents staked ETH and its value relative to ETH changes over time as staking rewards accrue. The contract provides `getExchangeRate()`, `convertToAssets()`, and `convertToShares()` functions to handle the conversion between token amounts and underlying ETH value, ensuring accurate transfers regardless of current exchange rate fluctuations.
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 rETH, or if they have been blacklisted (rETH has no blacklist, but other tokens might). The tool cannot recover from a failed batch — due to the atomic nature of the transaction, if any single transfer fails (e.g., insufficient gas, contract revert), the entire batch reverts and no tokens are sent to anyone. It cannot send to zero addresses, to the sender's own address, 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 rETH contract behaving as expected — any changes to rETH's logic (e.g., upgrades, oracle updates, exchange rate changes) could cause the batch to fail. The tool cannot predict future staking yield or oracle updates that will affect rETH's exchange rate — the amount sent is fixed and will not accrue additional yield after transfer.
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 rETH 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, and owner before approving or sending. This tool is provided as-is — verify all transactions carefully, especially when dealing with staked assets that have dynamic exchange rates.