Upgrade Timelock 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 scheduled upgrades from a timelock controller after the required delay has passed. It reads and displays scheduled upgrade details (new implementation address, calldata, proposer, and scheduled execution time), execution eligibility (whether the caller is authorized to execute), upgrade status (pending, scheduled, executed, or cancelled), executor balance, chain ID, execution history (number of past executions), and execution threshold (minimum number of executors required). Beyond read-only access, the tool lets you execute the five key actions: execute a scheduled upgrade from the timelock, approve an upgrade execution (if required), batch execute multiple scheduled upgrades in one transaction, claim execution confirmation, and cancel a pending execution.
HOW TO USE
Connect your wallet and select the network. Enter the timelock executor contract address, upgrade ID, and type "EXECUTE" in the confirmation field. Click "Load State" to fetch the new implementation, proposer, scheduled time, upgrade status, eligibility, threshold, and execution history. Review the upgrade details and scheduled time. If the timelock delay has passed and you are eligible, click "Execute Upgrade" to perform the upgrade. If the contract requires explicit approval, click "Approve" first. To execute multiple upgrades at once, click "Batch Execute." Click "Claim" to confirm a completed execution, or "Cancel" to cancel a pending execution. Each transaction shows confirmation and gas cost reporting.
TECHNICAL MECHANISM
The tool interacts with a timelock executor contract that manages upgrade execution. The executeUpgrade() function executes a scheduled upgrade, updating the protocol to the new implementation. The contract validates that the caller is eligible, that the scheduled time has passed, and that the upgrade is pending. The upgradeStatus() function returns the current state (0 = pending, 1 = scheduled, 2 = executed, 3 = cancelled). The executionThreshold() function returns the minimum number of executors required. Batch execution uses executeBatch() with an array of upgrade IDs. The tool fetches execution history via executionHistory().
WHAT IT CANNOT SEE
Cannot verify that the upgrade implementation is secure or that the execution is appropriate. Relies entirely on the timelock contract's verification and the destination chain's final state. Cannot detect if the implementation contains malicious code, if the upgrade will break the protocol, or if the execution is being performed by an unauthorized party.
PLEASE NOTE — EVM CHAINS ONLY
Supports Ethereum, Polygon, Optimism, Arbitrum, Base and similar EVM chains. The executor must implement newImplementation(), proposer(), scheduledTime(), upgradeStatus(), executionEligible(), executionThreshold(), executeUpgrade(), approveExecution(), executeBatch(), claimExecution(), cancelExecution(), and executionHistory(). The tool is read-write: it signs transactions for execution, approval, batch execution, claiming, and cancellation. Always verify the contract address and upgrade ID before submitting. Execution requires explicit confirmation.