finds.dev← search

// the find

OpenZeppelin/openzeppelin-upgrades

★ 656 · TypeScript · MIT · updated Jun 2026

Plugins for Hardhat and Foundry to deploy and manage upgradeable contracts on Ethereum.

OpenZeppelin's Hardhat/Foundry plugins for deploying upgradeable contracts using UUPS, transparent proxy, and beacon patterns. Handles the grunt work of upgrade safety validation, storage layout compatibility checks, and proxy lifecycle management. Essential infrastructure if you're shipping upgradeable Solidity contracts and don't want to get the proxy math wrong yourself.

The storage layout compatibility checker is the real value here — it catches slot collisions and incompatible variable renames at deploy time rather than after you've bricked a production contract. The beacon proxy support lets you upgrade hundreds of proxy instances in a single transaction, which is the right pattern for factory-deployed contracts. Active maintenance from the OZ team with changeset-based versioning means the upgrade path for the plugin itself is handled. The CLI validator lets you check upgrade safety as part of CI without deploying anything.

The Hardhat plugin's `.openzeppelin` manifest files are a footgun in monorepos or multi-environment setups — the network-keyed JSON files get stale fast and merge conflicts in them are genuinely painful. Foundry support is in a separate repo (`openzeppelin-foundry-upgrades`), so if you use both toolchains you're tracking two release streams. The plugin doesn't help you reason about upgrade governance at all: it validates storage compatibility but has no opinion on who should be allowed to call `upgradeProxy` or how to structure a timelock, which is where most production upgrade incidents actually happen. ERC-7201 namespaced storage support is present but the docs for it are thinner than the legacy pattern docs.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →