Architecture
User / Wallet
↓
Earn
Swap
Liquidity
Academy
↓
AuroveZapRouter
Ledger
↓
Vault
VeNftManager
RewardSink
→wrap
ID20 ERC20
Id20Gauge
→swap / LP
CL Pools
Position NFT
↓
Mezo Earn · veBTC / veMEZO
Call graph for a user deposit
- User approves BTC/MEZO or the veNFT to the Ledger.
- Ledger pulls the asset, creates or accepts a veNFT, and
safeTransferFroms it to the Vault. - Vault
onERC721Receivedcalls MezodepositManagedinto the variant manager. - Ledger mints ERC-1155 units to the receiver and hooks the RewardSink.
Optional wrap
User or zap safeTransferFroms ERC-1155 to the ID20. The wrapper mints ERC-20 and keeps the ERC-1155 as backing. Unwrap reverses that. The Id20Gauge tracks eligibility without taking custody of the ERC-20 except when harvested rewards are minted to the gauge.
Swap and LP
AuroveZapRouter holds user funds for the transaction, delegatecalls SwapAdapter or LiquidityAdapter, talks to CLSwapRouter / NonfungiblePositionManager, and refunds leftovers.
User-facing behaviour: Guides.
