1. Architecture Overview
See How SuperEarn Works and Core components.2. Deployed Contract Addresses
Kaia Contracts
| Contract | Description | Address |
|---|---|---|
| SuperEarnRouter | Unified router for user deposits/withdrawals | 0x7437892A3e2E658038758dD7CA638334C0c2006C |
| CooldownVault | Manages withdrawal cooldown periods | 0x4E4654cE4Ca7ff0ba66a0A4a588A4bd55A6f9A33 |
| OriginVault | Cross-chain hub (ERC-7540‑like) that holds USDT earmarked for remote deployment | 0x3B37DB3AC2a58f2daBA1a7d66d023937d61Fc95b |
| StrategyOriginVault | Super Vault strategy that routes capital into OriginVault | 0x3a04592462e16B85a4F3999a0255171a135BD920 |
| OriginAdapter | Cross-chain adapter + bridge entry (Rhino + CCIP) | 0x8E53CdAa89381c203a074fB3388f65936358f200 |
| BridgeDeposit | Handles bridge deposit transactions | 0x80cf92840cd12365c8a292967c30cc4040008eac |
| OriginAgent | Cross-chain message/bridge agent for Kaia side | 0xd8acFF2E2B8B1Cf052aca4Ba331743F73C569E68 |
| OriginAccountant | Bridge accountant tracking assets in transit | 0x55CEd8F290256E165d3f50EDa0b60E261ec38f55 |
| PriceConverter | Asset price converter with Orakl oracle integration | 0xC090e88bDAA823B7C1dd8d9e24CbacB0f35f2675 |
| Registry | Vault and strategy registry | 0xea8e1872aDCE77eFBe5d6FE37b5C257Cc86eC786 |
| Super Vault | Aggregation vault on Kaia (EarnUSDT token; underlying = CooldownVault shares) | 0x2e4e573D86c70688cD97D76bc5DDc1Bb265bF5D6 |
| CrosschainKeeper | Manages crosschain asset lifecycle | 0x40FB0F9084828ADBc3dcd71840eA545BF243cD0F |
| LightKeeper | Performs strategy harvesting, CooldownVault repayment, and user claiming | 0x8c82B2feC291a43e41aA87669eaEf01F4efaA3B2 |
Ethereum Contracts
| Contract | Description | Address |
|---|---|---|
| SuperEarnRouter | Router used by RemoteVault/keepers for remote Super Vault flows | 0xd8acFF2E2B8B1Cf052aca4Ba331743F73C569E68 |
| BridgeDeposit | Handles bridge deposit transactions | 0xc8a0b9d1c394d052214d030a5ecb8641960802fe |
| RemoteVault | Vault that receives and manages cross-chain assets from Kaia | 0x8c82B2feC291a43e41aA87669eaEf01F4efaA3B2 |
| CooldownVault | Remote CooldownVault (USDC) backing the Ethereum Super Vault | 0x8E53CdAa89381c203a074fB3388f65936358f200 |
| Super Vault | Remote aggregation vault (underlying = Remote CooldownVault shares) | 0x9E3E70f4d09bcfe08F456C426EB90f7aA6F70dF2 |
| MorphoStrategy (Core) | Super Vault strategy targeting MetaMorpho Core | 0xe38e6Fa8E0A443e8E8d5Fb0EA30098861b054284 |
| MorphoStrategy (Frontier) | Super Vault strategy targeting MetaMorpho Frontier | 0x3a04592462e16B85a4F3999a0255171a135BD920 |
| MorphoStrategy (Prime) | Super Vault strategy targeting MetaMorpho Prime | 0x8D09EF609EfE8A35db51bC6F99573D33CDf1Feb6 |
| Adapter | Cross-chain adapter + bridge entry (Rhino + CCIP) | 0xC090e88bDAA823B7C1dd8d9e24CbacB0f35f2675 |
| Agent | Cross-chain message/bridge agent for Ethereum side | 0x4AFd6Ad5b924CD29513d1fb9b66728C4C5A1bd3e |
| Accountant | Bridge accountant tracking assets in transit | 0x40FB0F9084828ADBc3dcd71840eA545BF243cD0F |
| PriceConverter | Asset price converter with oracle integration | 0x57B71db8c039aD34b28c289272EFa09b5A870c20 |
| Registry | Vault and strategy registry | 0x0Becde49394d537B240c0272A7C5fEfC932691fe |
| UniversalSwapRouter | Unified DEX swap router | 0x519a0609762C3546b857d78F9B1A7D3d6731b324 |
| SwapQuoter | Swap price quotation provider | 0xc08a98433d66C7a903998fCe613C4ae47cf6190c |
| CrosschainKeeper | Manages crosschain asset lifecycle | 0x1D68a6CEFeD44101eD79a830e8a5ad5c0A52D8De |
| LightKeeper | Performs strategy harvesting, CooldownVault repayment, and user claiming | 0xd064f89A9A95EA86A706543449D0d97557fAF929 |
Integrator note: Treat addresses as constants in production, but keep them configurable for upgrades if needed.
3. Core Interfaces
This subsection lists only the parts of each interface that integrators typically need. Full ABIs are available from the protocol’s published JSON artifacts (ISuperEarnRouter, ICooldownVault, IVault) and standard OpenZeppelin ABIs.3.1 ISuperEarnRouter (SuperEarnRouter)
Purpose
Single entrypoint for deposits and redeems. Handles the full flow between USDT, CooldownVault, and Super Vault. All user/integrator writes must go through this router; CooldownVault deposits/redeems are restricted to protocol contracts. Claims are permissionless but typically executed by keepers.
Key events
amount– USDT amount (6 decimals).minSharesOut– minimal acceptable SuperVault shares (slippage protection).receiver– address that receives SuperVault shares (optional overload).
previewRedeemreturns the expected underlying after cooldown, given current share price.previewWithdrawreturns the Super Vault shares required for a target asset amount.redeemburns SuperVault shares and creates a CooldownVault redeem request; the ID is returned asrequestIdand also emitted inRedeemed.
address(0) if no endorsed vault exists.
Claim preview
error InsufficientShares(uint256 shortfall);– actual yShares <minSharesOut.error InsufficientAssets(uint256 shortfall);– redeem would return less thanminAssetsOut.error InvalidReceiver();– zero receiver or other invalid receiver condition.error InvalidPrice();– sanity check on share price failed.error Unauthorized();– caller blocked whenremoteVaultgating is enabled.
3.2 ICooldownVault
Purpose
A vault with cooldown‑based withdrawals and governance‑controlled risk parameters. It is the asset of the SuperVault and the place where redeem requests are tracked.
Core structs
asset(),totalAssets()(shares and assets are 1:1 inside CooldownVault)deposit,mint,withdraw,redeem(restricted to whitelisted protocol contracts)previewDeposit,previewMint,previewWithdraw,previewRedeem(all 1:1)
deposit / redeem directly. Claims are permissionless but are typically batched by protocol keepers.
Cooldown & redeem‑queue helpers
- Inspect cooldown status for a specific
requestId. - Enumerate unclaimed requests for monitoring or backfill.
- Track current liquidity via
assetBalance()/idleBalance().
claim(requestId, maxLossBps) function (name may vary slightly) that:
- Transfers underlying
assetsto the receiver (anyone can call as long asmaxLossBpsis within the configured threshold, otherwise only the receiver). - Applies a
maxLossBpsbound (basis points of tolerated loss vs expected assets). - Emits a
Claimedevent on success.
-
Two‑step governance transfer:
submitGovernanceTransfer(address newGovernance)acceptGovernanceTransfer()
-
Two‑step cooldown update:
submitCooldownPeriod(uint256 newCooldownPeriod)acceptCooldownPeriod()
-
Emergency & risk:
pause(),unpause()setMaxLossThresholdBps(uint256)andmaxLossThresholdBps()recover()– emergency asset recovery to governance
3.3 IVault (SuperVault / kSuperVault)
Purpose
Vault that wraps the CooldownVault shares. Users hold SuperVault shares as their EarnUSDT position.
Selected view functions
- Portfolio display: use
balanceOf(user)on the Super Vault and multiply bypricePerShare()(scaled by10 ** decimals()) to convert shares to underlying USDT notionals. - Price checks:
totalAssets(),totalSupply(), andpricePerShare()to compute share value.
setPerformanceFee, setDepositLimit, setEmergencyShutdown, strategies(...), etc.), but these are reserved for protocol governance and should not be called by integrators. They are useful for protocol‑level monitoring.
3.4 Strategies (IStrategyCooldownAware, StrategyERC7540, etc.)
Strategy interfaces define how CooldownVault interacts with external vaults (predeposit, redeem, claim, supply caps). They emit their own events (Preminted, PredepositDebtRepaid, AdjustPosition, …).
Integrators do not need to call strategies directly. They are relevant only if you’re running protocol‑level analytics or risk monitoring.
4. Events to Monitor
Events are the primary way to track user‑level and system‑level changes from off‑chain services, indexers, and alerting systems.4.1 SuperEarnRouter (ISuperEarnRouter)
Fromseprojectrouter-events.md:
-
Track deposits: listen to
Depositedand index bysender/receiver. -
Track redemption requests:
Redeemed.requestId→ later join with CooldownVault’s redeem queue andClaimedevents.yShares/underlyingAmountfor expected notional.
4.2 CooldownVault (ICooldownVault)
Fromcooldownvault-events.md:
Core user‑facing events:
-
User‑level tracking:
RedeemRequested+Claimedto build a full view of pending and completed withdrawals per user.
-
Risk / governance monitoring:
CooldownPeriodUpdated,MaxLossThresholdUpdated, andEmergency‑style events to detect parameter changes.
4.3 SuperVault (IVault)
Fromvault-events.md:
Vault‑level operations:
- User PnL / position tracking can be done directly from SuperVault share balances and price per share; you rarely need to decode strategy events.
- Advanced analytics may ingest these strategy events to understand how the vault is allocating capital and generating yield.
5. ABI & Integration Checklist
For an EarnUSDT integrator, the minimum on‑chain surface you typically need is:-
ABIs
ISuperEarnRouterIVault(SuperVault / kSuperVault)ICooldownVault- Standard
IERC20/IERC20Permit(USDT, SuperVault, CooldownVault share token)
-
Write functions you actually call
SuperEarnRouter.deposit(...)/depositWithPermit(...)SuperEarnRouter.redeem(...)- (Claims on CooldownVault are permissionless but typically run by protocol keepers to bundle redemptions.)
-
View functions you rely on
SuperEarnRouter.previewRedeem(...),previewDeposit(...)SuperEarnRouter.endorsedVault(USDT)IVault.balanceOf(user),IVault.pricePerShare()ICooldownVault.redeemRequests(requestId)andgetUnclaimedRedeemRequestIds(...)(for cooldown state)
-
Events you index
SuperEarnRouter.Deposited/RedeemedCooldownVault.RedeemRequested/Claimed/InstantRedemptionIVault.Deposit/Withdraw(optional, for deeper tracing)