Introduction
1. Executive Summary
King's Vault is a permissioned yield aggregator that provides whitelisted (KYC-verified) users with a simplified interface to deposit USDC and earn yield from curated DeFi protocols. The protocol is deployed across two networks:
- Ethereum Mainnet — the user-facing entry point hosting the KingsVault (ERC-4626 / ERC-7540) and KPortfolio contracts.
- HyperEVM (Hyperliquid L2) — the strategy-execution layer where capital is deployed into Hyperliquid's HLP liquidity pool via system-level contracts.
Unlike fully automated vaults, King's Vault employs a manual settlement model with active portfolio management. Capital is dispatched through a KPortfolio contract to whitelisted EarnPool adapters by an authorized Trader role. Net Asset Value (NAV) and Price Per Share (PPS) are updated periodically through an off-chain accounting workflow, not in real time.
2. Staged Roadmap
Stage 1 — Ethereum Lending
The foundational phase establishes the on-chain asset-management infrastructure on Ethereum Mainnet.
| Component | Description |
|---|---|
| KingsVault | ERC-4626 vault accepting USDC deposits, minting shares at the last-settled PPS. |
| KPortfolio | Portfolio contract holding and dispatching funds to whitelisted EarnPools. |
| EarnPool Adapters | Aave V3 and Morpho Steakhouse adapters for yield generation. |
| Settlement | Manual settle() / confirmSettlement() flow updating PPS and collecting performance fees. |
| Access Control | Role-based (RBAC) via OpenZeppelin AccessControl: VaultOwner, Trader, Accountant, PoolManager. |
Stage 2 — HyperEVM Cross-Chain
This phase transforms King's Vault into a cross-chain aggregator, bridging capital from Ethereum to Hyperliquid.
| Component | Description |
|---|---|
| ERC-7540 Async Redeem | Replaces synchronous withdrawal with a three-phase Request → Execute → Claim lifecycle to accommodate cross-chain latency (~20-30 min). |
| Chainlink CCIP | Secure cross-chain messaging and USDC transfer via Circle CCTP burn-and-mint. |
| HyperStrategy | HyperEVM-side contract that receives CCIP messages and interacts with HyperCore via CoreWriter and L1Read precompiles. |
| Cross-Chain Settlement | HyperEVM reads HLP vault equity via precompile 0x800, reports total assets back to Ethereum via CCIP for PPS update. |
3. Key Design Principles
-
Centralized Settlement (Non-Standard): PPS is determined by the last
settle()invocation, not real-time on-chain balances. This prevents flash-loan manipulation but requires frequent Accountant updates for fairness. -
Inflationary Fee Model: Performance fees are collected by minting new shares to the Manager address, mildly diluting existing holders rather than deducting from underlying assets.
-
Pass-Through Vault: The KingsVault contract does not hold significant idle funds. Capital flows through KPortfolio into EarnPools. Withdrawals draw from idle cash first, then trigger replenishment from pools.
-
Oracle-Free Valuation: The protocol does not rely on Chainlink price feeds for NAV calculation. Instead,
settle()queries underlying protocol balances (Aave/Morpho/HLP) as the source of truth. -
Hub-and-Spoke Architecture: Ethereum is the accounting and user-facing hub; HyperEVM is a strategy-execution spoke. All share accounting and PPS calculations happen on Ethereum.
4. Terminology
| Term | Definition |
|---|---|
| PPS | Price Per Share = totalAssets / totalSupply. Determines the USDC value of one vault share. |
| HWM | High Water Mark. The highest PPS recorded after settlement. Performance fees are only charged when PPS exceeds HWM. |
| EarnPool | An adapter contract that wraps an external yield protocol (e.g., Aave, Morpho, HLP) behind a standardized interface. |
| Settle | The act of recalculating totalAssets, updating PPS, and minting fee shares if a new high water mark is reached. |
| CCIP | Chainlink Cross-Chain Interoperability Protocol — handles message and token transfers between blockchains. |
| CCTP | Circle Cross-Chain Transfer Protocol — enables native USDC burn-and-mint across supported chains. |
| CoreWriter | Hyperliquid system contract (0x333...333) that sends actions from HyperEVM to HyperCore. |
| L1Read | HyperEVM precompile contracts (0x800+) that synchronously read HyperCore state (balances, vault equity, oracle prices). |
| HLP | Hyperliquid Liquidity Pool — the liquidity-provider vault on HyperCore. |
| Request ID | Unique identifier returned by requestRedeem() to track asynchronous withdrawal lifecycle. |