Testnet-to-Mainnet Migration Batch Airdrop Tool (Any L2)
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 projects to batch airdrop mainnet tokens to testnet participants in a single transaction on any supported L2. Instead of sending tokens to each participant individually and paying gas for every transfer, it combines all airdrop distributions into one call to a shared batch-sender contract. The tool reads your token balance, allowance, and the current gas price before submitting the transaction. You specify the token contract address, the decimals, an optional migration name, and a list of participant addresses with per-participant airdrop amounts. The tool computes the total tokens to distribute, checks your balance, verifies you have sufficient allowance for the sender contract, and submits one transaction that rewards all participants atomically. If allowance is insufficient, the tool automatically requests approval before sending. This is a true push distribution — participants receive their mainnet tokens directly without any claim action required. The tool works on any supported L2 including Arbitrum, Optimism, Base, zkSync Era, Linea, Scroll, Polygon, and more, making it ideal for testnet-to-mainnet migration campaigns.
HOW TO USE
Connect your EVM wallet via the BotGentz wallet bridge. Select your preferred L2 mainnet from the network dropdown. Enter the mainnet token contract address and its decimals. Optionally enter a migration name for record-keeping. In the text area, list each testnet participant on a separate line with their address (the same address they will use on mainnet) and the airdrop amount to send, separated by a comma. Amounts should be in base units (not including decimals). Click "Review airdrop" to see your token balance, allowance, the sender contract fee, and the total amount being distributed. The tool will display a warning if your allowance is insufficient. If everything looks correct, click "Airdrop tokens" — your wallet will first ask you to approve the token spend if needed, then to confirm the batch transaction. Once confirmed, the tool shows progress and the final transaction hash with a link to the appropriate block explorer for that L2.
TECHNICAL MECHANISM
This tool uses the BotGentz shared bulk-sender contract registry, keyed by chain ID and ERC standard. It looks up `BULKSEND[String(chainId)].erc20` to get the sender contract address for the selected chain. The tool creates a contract instance using `BGWallet.getSigner()` connected to the current chain's provider. It calls `fee()` and `owner()` on the sender contract live — no values are cached. It also instantiates the token contract using the ERC-20 ABI and checks `balanceOf()`, `allowance()`, and `decimals()` for your wallet. The tool computes the total token amount from the participant list and verifies both your token balance and native balance (for the sender contract fee) are sufficient. If allowance is insufficient, it sends an approval transaction for the exact total amount (not unlimited) before the batch transfer. The batch transfer uses `batchSend20(address token, address[] recipients, uint256[] amounts)` on the sender contract, sending the contract fee as `msg.value` in native tokens. The sender contract then iterates the participant list and transfers tokens atomically within the same transaction using `transferFrom` from your wallet. After confirmation, it logs gas usage using `receipt.effectiveGasPrice`.
WHAT IT CANNOT SEE
This tool cannot verify testnet participation validity, activity metrics, or wallet ownership across chains. It cannot confirm that participants actually used the testnet or met the eligibility criteria. It cannot verify that the same wallet address on testnet is controlled by the same person on mainnet. It cannot confirm recipient wallet readiness or guarantee that participants can receive ERC-20 tokens. The tool does not validate that the token contract implements the ERC-20 standard or has the required `transferFrom` function. It cannot detect front-running or mempool congestion. It cannot provide a cross-chain receipt or rollback mechanism. It also cannot verify that the decimals value you entered matches the actual contract decimals — the tool warns but does not automatically correct discrepancies. Projects should always validate testnet participation data before airdropping mainnet tokens.
PLEASE NOTE
This tool is EVM-only. It works on any supported L2 where the BotGentz registry has an erc20 entry. It does not support Solana, Tron, Starknet, SUI, TON, Aptos, Bitcoin, Cosmos, or XRP. The tool requires the token contract to be deployed on the mainnet L2 and for the sender contract to have an erc20 entry in the registry. Always test with a small amount and a single participant before airdropping to all. The sender contract charges a fee in native tokens — ensure you have enough native balance to cover the fee. This is a push distribution — the sender pays all gas, participants receive tokens without any action. L2s offer significantly lower gas costs than Ethereum L1 — choose the chain that best suits your community's needs.