Emergency Withdrawal Executor
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 executes emergency withdrawal proposals, allowing authorized parties to withdraw funds from contracts during emergencies. It reads and displays withdrawal proposal details (target contract, amount, token address, recipient address, and proposer), withdrawal eligibility (whether the caller is authorized to execute), withdrawal status (pending, eligible, executed, or cancelled), executor balance, chain ID, withdrawal history (number of past withdrawals), and withdrawal threshold (minimum number of executors required). Beyond read-only access, the tool lets you execute the five key actions: execute an emergency withdrawal proposal, approve a withdrawal execution (if required), batch execute multiple withdrawal proposals in one transaction, claim withdrawal confirmation, and cancel a pending withdrawal.
HOW TO USE
Connect your wallet and select the network. Enter the withdrawal executor contract address, withdrawal ID, and type "WITHDRAW" in the confirmation field. Click "Load State" to fetch the recipient, token, amount, proposer, withdrawal status, eligibility, threshold, and withdrawal history. Review the withdrawal details and status. If you are eligible and have sufficient balance, click "Execute Withdrawal" to perform the withdrawal. If the contract requires explicit approval, click "Approve" first. To execute multiple withdrawals at once, click "Batch Execute." Click "Claim" to confirm a completed withdrawal, or "Cancel" to cancel a pending withdrawal. Each transaction shows confirmation and gas cost reporting.
TECHNICAL MECHANISM
The tool interacts with a withdrawal executor contract that manages emergency withdrawals. The executeWithdrawal() function executes a withdrawal proposal, transferring funds to the specified recipient. The contract validates that the caller is eligible and that the withdrawal is pending. The withdrawalStatus() function returns the current state (0 = pending, 1 = eligible, 2 = executed, 3 = cancelled). The withdrawalThreshold() function returns the minimum number of executors required. Batch execution uses executeBatch() with an array of withdrawal IDs. The tool fetches withdrawal history via withdrawalHistory().
WHAT IT CANNOT SEE
Cannot verify that the emergency withdrawal is justified or that the recipient address is correct. Relies entirely on the contract's verification and the destination chain's final state. Cannot detect if the withdrawal is being used maliciously, if the recipient is incorrect, or if the withdrawal is being performed by an unauthorized party.
PLEASE NOTE — EVM CHAINS ONLY
Supports Ethereum, Polygon, Optimism, Arbitrum, Base and similar EVM chains. The withdrawal executor must implement recipient(), token(), amount(), proposer(), withdrawalStatus(), withdrawalEligible(), withdrawalThreshold(), executeWithdrawal(), approveWithdrawal(), executeBatch(), claimWithdrawal(), cancelWithdrawal(), and withdrawalHistory(). The tool is read-write: it signs transactions for execution, approval, batch execution, claiming, and cancellation. Always verify the contract address and withdrawal ID before submitting. Executing requires explicit confirmation.