Professional cross-chain yield aggregation protocol built on ERC7540
MetaVault is a next-generation yield aggregation protocol that enables efficient cross-chain capital allocation through asynchronous deposits and withdrawals. Built on the ERC7540 standard, it provides a secure and modular architecture for managing assets across multiple blockchain networks.
MetaVault reimagines cross-chain yield aggregation by implementing:
- ERC7540-compliant asynchronous operations
- Modular proxy architecture for upgradeable components
- Sophisticated withdrawal queue management
- Cross-chain bridging and recovery mechanisms
- Multi-layered fee structure with high watermark
graph TD
subgraph User Operations
User[Users] --> |Deposit/Redeem|MetaVault
end
subgraph Core Protocol
MetaVault[MetaVault] --> |Modular Logic|Engine[ERC7540Engine]
MetaVault --> |Cross-chain Ops|Gateway[SuperformGateway]
MetaVault --> |Share Price|Oracles[Price Oracles]
end
subgraph Cross-Chain Infrastructure
Gateway --> |Recovery|SPR[SuperPositionsReceiver]
Gateway --> |Request Handling|ERC20R[ERC20Receiver Factory]
Gateway --> |Bridging|Bridges[Superform]
end
subgraph Yield Sources
MetaVault --> |Local|LocalVaults[Same-Chain Vaults]
MetaVault --> |Remote|RemoteVaults[Cross-Chain Vaults]
end
- Investment: Managers can allocate capital across chains
- Divestment: Strategic withdrawal of positions
- Asset Tracking: Comprehensive position monitoring
- Separate queues for local and cross-chain operations
- Priority-based liquidation strategy
- Optimized gas consumption
- Atomic deposit processing
- Immediate share minting
- Configurable lock-up periods
- Asynchronous redemption mechanism
- Three-tier liquidation strategy:
- Idle funds utilization
- Local vault liquidation
- Cross-chain position unwinding
- Request-specific accounting
contract MetaVault is MultiFacetProxy, Multicallable {
// Core vault functionality
// Asset management
// Fee calculations
}
contract SuperformGateway {
// Cross-chain operations
// Bridge integration
// Recovery mechanisms
}
- ERC7540Engine: Redemption processing logic
- ERC20Receiver: Request-specific balance tracking
- SuperPositionsReceiver: Cross-chain recovery
- Price Oracles: Share price verification
- Applied above high watermark
- Configurable rates
- Custom exemptions available
- Time-based calculation
- Asset-based pricing
- Flexible fee schedules
- Cross-chain price updates
- Network-specific rates
- Cost distribution model
- User deposits assets
- Shares minted and locked
- Assets added to idle pool
- Manager allocates capital
sequenceDiagram
participant User
participant MetaVault
participant Gateway
participant Receivers
User->>MetaVault: Request Withdrawal
MetaVault->>MetaVault: Check Idle Funds
alt Sufficient Idle Funds
MetaVault->>User: Immediate Transfer
else Insufficient Idle Funds
MetaVault->>MetaVault: Check Local Queue
alt Local Funds Available
MetaVault->>User: Local Transfer
else Need Cross-chain
MetaVault->>Gateway: Initiate Cross-chain
Gateway->>Receivers: Deploy Receiver
Receivers->>Gateway: Process Request
Gateway->>MetaVault: Complete Transfer
MetaVault->>User: Final Settlement
end
end
To install Foundry:
curl -L https://foundry.paradigm.xyz | bash
This will download foundryup. To start Foundry, run:
foundryup
To install Soldeer:
cargo install soldeer
git clone https://github.com/UnlockdFinance/metavault.git
soldeer install
forge build
# Set test environment
export FOUNDRY_PROFILE=fork
# Unit tests
forge t
This project is licensed under the MIT License - see the LICENSE.md file for details.