MINIMAL PROXY
UPGRADABLE PROXY
Minimal Proxy – Real Life Web3 Example
Scenario: Creating Wallets for Users (Like Argent or Gnosis Safe)
- Suppose you are building a DApp like Argent Wallet or Gnosis Safe, where every user gets their own smart contract wallet.
- Deploying one full wallet contract per user would cost a lot of gas.
What You Do?
- You deploy one main Wallet contract (contains all the logic).
- For every new user, you create a minimal proxy (like a lightweight wallet copy) that points to the main Wallet logic but has its own:
- Owner address
- Funds
- Transaction history
Result:
- You can onboard 10,000 users by deploying 10,000 tiny proxies (much cheaper).
- Each user feels like they have their own wallet contract, but under the hood, they all share one copy of logic code.
Upgradeable Proxy – Real Life Web3 Example
Scenario: A DeFi Protocol like Aave or Uniswap
- You launch a DeFi contract for users to deposit/borrow tokens.
- After 3 months, you find a bug or want to add a new feature (e.g., flash loans v2).
- If you redeploy a new contract, all user funds and data in the old contract will be stuck!