What is ERC-4626? The tokenized vault standard explained
Concepts & Education
24 Sep 2026

What is ERC-4626? The tokenized vault standard explained

Ethan Luc
Written by Ethan Luc
ERC-4626
Vaults
Yield Vaults
Smart Contract Risk

ERC-4626 gives every yield vault on Ethereum the same interface for deposits, share pricing and withdrawals, so wallets, lending markets and dashboards can support any compliant vault through one integration.

ERC-4626 is Ethereum's standard for tokenized yield vaults. A vault that follows it takes deposits of one ERC-20 token, issues shares that are themselves ERC-20 tokens, and exposes a fixed set of functions for depositing, pricing shares and withdrawing. The proposal was created in December 2021 and is now final.

Before it existed, every protocol wrote its own vault interface, and every wallet or aggregator had to build a separate integration for each one. ERC-4626 replaced that with one shared design, and it now sits under many of the largest yield products on Ethereum.

How an ERC-4626 vault works

The depositor hands over an asset, such as USDC, and receives shares. The vault puts the asset to work, and as it earns, each share becomes redeemable for more of the asset. The standard defines four ways in and out, each with a matching preview and limit function:

Action

You specify

Preview function

Limit function

deposit

Assets to put in

previewDeposit

maxDeposit

mint

Shares to receive

previewMint

maxMint

withdraw

Assets to take out

previewWithdraw

maxWithdraw

redeem

Shares to hand back

previewRedeem

maxRedeem

Alongside those, asset() names the underlying token, totalAssets() reports what the vault holds, and convertToShares and convertToAssets give the exchange rate. Every deposit and withdrawal emits a standard event, so indexers can track flows across all vaults the same way (ethereum.org).

How shares are priced

Share price is total assets divided by total shares. If a vault holds 1,100 USDC against 1,000 shares, each share redeems for 1.1 USDC. The standard also sets rounding rules that always favour the vault: it rounds down when issuing shares or paying out assets, and up when working out what a user must supply. That stops anyone from draining value through repeated small rounding gains.

The spec treats totalAssets and the convert functions as estimates, and it warns that preview functions can be manipulated within a transaction, so they shouldn't be used as a price oracle by other protocols.

Who uses ERC-4626

  • Yearn V3: vaults and strategies are ERC-4626
  • Morpho: curated lending vaults follow the standard
  • Aave: static aTokens wrap Aave deposits as ERC-4626 vaults
  • Spark and Sky: sUSDS and other Spark Savings tokens follow the standard
  • Euler: its credit vaults are ERC-4626 vaults

Because they share an interface, a share token from one of these vaults can be listed as collateral, tracked in a portfolio app, or routed by an aggregator without custom code.

The inflation attack

The best-known ERC-4626 vulnerability targets empty or nearly empty vaults. An attacker deposits a tiny amount, then sends a large donation straight to the vault, pushing the share price so high that the next depositor's shares round down to zero. The attacker then redeems and takes the victim's deposit.

OpenZeppelin's implementation defends against it with virtual shares and a decimals offset, which make the attack cost more than it can earn. The other common defence is seeding a vault with an initial deposit at launch.

What the standard leaves out

  • Timing: ERC-4626 assumes deposits and withdrawals settle in the same transaction. The spec allows a vault to require a withdrawal request first, and a later standard, ERC-7540, formalises asynchronous requests.
  • Where assets are valued: the standard doesn't say how totalAssets is calculated, whether from onchain balances or from positions reported by an operator.
  • Fees and risk: fees must be reflected in previews, but there's no standard way to disclose them, or the strategies and risks behind a vault.

Two ERC-4626 vaults can therefore look identical to an integration and behave very differently. The interface says how to deposit and exit, and the vault's documentation says what happens to the funds in between.

How Upshift uses ERC-4626

Upshift's single-asset vaults implement the ERC-4626 interface, including deposit, mint, the preview functions and share conversion. Because deposits are deployed into strategies, exits run through a request and claim, processed daily, or an instant redemption for a fee, subject to available liquidity. That's the pre-request pattern the spec allows.

Upshift's multi-asset vaults extend the model to several deposit assets with one reference asset, so a vault can accept USDC, USDT and other stablecoins and redeem everything in USDC. On Solana, Upshift built a vault program on the same model, covered in our Solana vaults explainer.

Frequently asked questions

What is ERC-4626 in simple terms?
A shared rulebook for yield vaults on Ethereum. You deposit a token, get shares back, and redeem the shares later for your deposit plus whatever the vault earned.

Why does ERC-4626 matter?
It lets any wallet, lending market or dashboard support any compliant vault through one integration.

Is ERC-4626 safe?
The standard is an interface. Safety depends on each vault's code and strategy. The main known issue, the inflation attack, has standard defences.

What is the difference between ERC-4626 and ERC-7540?
ERC-4626 assumes instant deposits and withdrawals. ERC-7540 extends it with requests that settle later, for vaults whose assets can't be unwound in one transaction.

Can an ERC-4626 vault charge fees or queue withdrawals?
Yes. Fees must be included in the preview functions, and the spec allows vaults to require a withdrawal request before paying out.

Is there ERC-4626 on Solana?
Solana has no official equivalent. Upshift's Solana program follows the same deposit, share and redeem model.

Keep reading

Share this post: