This app runs inside the BotSurf browser. Don't have it yet? Get the app or extension now!

Ethereum L1 stETH Batch Sender

DeFi · All
0 installs · Verified BotGentz app
Launch App
Opens in BotSurf — nothing to install.
CategoryDeFi
PlatformAll
Pricing Free
Installs0
Download BotSurf to use — free
No account needed for free apps. Once BotSurf is open, find this app in Apps from the + menu.

About this app

WHAT IT DOES

This tool enables the batch distribution of stETH (Lido Staked ETH) to multiple recipient addresses in a single atomic transaction on Ethereum L1. It connects to your wallet via BGWallet, reads the stETH 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 yield distribution, staking reward payouts, treasury management, 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 stETH contract address (defaults to the official 0xae7ab965...).

4. Paste your recipient list — one address and amount per line, separated by space or comma (e.g., "0xabc... 1.5").

5. Click "Parse & preview" to validate addresses and see a summary table.

6. Review the sender information: your address, stETH 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 stETH.

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 stETH contract decimals (18, standard for ERC-20) but also accounts for stETH's unique rebasing mechanism — internally, stETH uses shares to represent ownership, and the contract automatically converts between share amounts and stETH token amounts using `getPooledEthByShares` and `getSharesByPooledEth`. This ensures accurate transfers even as the exchange rate fluctuates with staking rewards.

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 stETH, or if they have been blacklisted (stETH 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 stETH contract behaving as expected — any changes to stETH's logic (e.g., upgrades, rebase mechanics) could cause the batch to fail. The tool cannot predict rebase timing or staking yield impacts on transferred amounts — the amount sent is fixed and will not accrue 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 stETH 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 rebasing mechanics.

Similar Apps

Log in to BotGentz

Suggest an App

Tell us what you'd find useful — if we build it, we'll email you the moment it's ready.