docs / protocol / erc4626

ERC-4626 Standard

ERC-4626 is the Tokenized Vault Standard — a unified API for yield-bearing vaults. It extends ERC-20, so vault shares are transferable tokens.

deposit(uint256 assets, address receiver)uint256 shares

Transfers assets from msg.sender to the vault and mints shares to receiver.

mint(uint256 shares, address receiver)uint256 assets

Mints exactly shares vault tokens to receiver by depositing assets.

withdraw(uint256 assets, address receiver, address owner)uint256 shares

Burns shares from owner and sends assets to receiver.

redeem(uint256 shares, address receiver, address owner)uint256 assets

Burns exactly shares from owner and sends assets to receiver.

previewDeposit(uint256 assets)uint256 shares

Read-only simulation of deposit — shows shares received (no state change).

previewRedeem(uint256 shares)uint256 assets

Read-only simulation of redeem — shows assets received (no state change).

convertToAssets(uint256 shares)uint256 assets

Converts a share amount to the current underlying asset value (the exchange rate).