UUPS Proxy Upgrade 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
UUPS Proxy Upgrade Executor is a specialized developer tool that upgrades UUPS (Universal Upgradeable Proxy Standard) proxy contracts to new implementations. It reads the current implementation address directly from the EIP-1967 implementation storage slot (0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc) using eth_getStorageAt, ensuring accurate detection of the proxy's current implementation. The tool retrieves the proxy's bytecode via eth_getCode to verify it follows the UUPS pattern and confirms the proxy is properly deployed. It also reads chain state to determine the current block number and checks the connected wallet's balance to estimate gas availability. Once the proxy state is verified, the tool builds and signs upgrade transactions using the wallet as the upgrade executor (the proxy's owner or authorized caller), calling either upgradeTo for standard upgrades or upgradeToAndCall for upgrades that require an initialization call. All operations include gas estimation and optional calldata support for complex upgrade scenarios.
HOW TO USE
Connect your wallet to the target EVM chain. Enter the proxy contract address and the new implementation address. Optionally, check the "Include initialization call" box and provide calldata (hex-encoded) if the upgrade requires additional setup. Click "Read proxy state" to fetch and verify the current proxy configuration. The tool will display the current implementation and validate that the proxy follows the UUPS pattern. Review the upgrade details carefully. If all checks pass, click "Sign & execute upgrade" to submit the upgrade transaction. The tool will send the transaction, wait for confirmation, and update the review panel with the new implementation address upon completion. A confirmation message will display the transaction hash and block number.
TECHNICAL NOTE: UUPS STORAGE SLOT VERIFICATION AND TRANSACTION ROUTING
The tool reads the EIP-1967 implementation slot to determine the current implementation address. It then performs bytecode verification to confirm the proxy uses the UUPS pattern by checking for the absence of the admin slot (which distinguishes UUPS from transparent proxies) and validating that the proxy contains the standard UUPS upgrade functions. The tool dynamically detects which upgrade function the proxy exposes—upgradeTo or upgradeToAndCall—by checking the contract's ABI. If upgradeToAndCall is available and calldata is provided, the tool routes the transaction accordingly; otherwise, it falls back to upgradeTo. The tool also validates that the calldata is properly hex-encoded and prefixed with 0x. Gas estimation is performed before sending, and the tool provides real-time feedback during transaction submission and confirmation. After the upgrade is mined, the tool re-reads the implementation slot to confirm the update and displays the new implementation address.
WHAT IT CANNOT SEE
The tool cannot detect storage collisions between the current and new implementation, meaning upgrades that introduce storage conflicts or shift existing state variables will still execute. It cannot verify that the new implementation's storage layout is compatible with the proxy's existing state, which can lead to storage corruption or bricking the proxy. It cannot detect logic errors, reinitialization failures, or missing function selectors in the new implementation that would break the proxy's intended behavior. It cannot predict the full runtime impact of the upgrade, including how other contracts that depend on the proxy's ABI will interact with the new implementation. It cannot handle proxies that are not UUPS-compliant or that use non-standard storage patterns. The tool cannot perform upgrades on non-EVM chains and cannot verify the implementation's source code or security audits.
PLEASE NOTE
This tool is designed exclusively for EVM-compatible chains (Ethereum, Polygon, BSC, Arbitrum, Optimism, Avalanche C-Chain, etc.). It does not support non-EVM blockchains like Bitcoin, Solana, Cosmos, or Tron. The connected wallet must have upgrade authority over the UUPS proxy (typically the owner or a designated admin role). The upgrade transaction is irreversible; only a subsequent upgrade transaction can roll back changes. Always test upgrades on a testnet before executing on mainnet. Gas costs vary by network and the complexity of the upgrade calldata. The tool provides no warranty or guarantee of upgrade safety; users are responsible for verifying all implementation details before execution.