Overview

What Asphodel is

Asphodel is a USDC vault with two sides. Its contracts run on HyperEVM (chain id 999), next to Morpho's lending markets. You can deposit from Elysium or from HyperEVM: from Elysium, Relay moves your USDC to HyperEVM in a few seconds and the app deposits it for you.

  • Meadow (asUSDC) is the senior side. It is paid first and withdraws instantly, up to the liquidity the markets have.
  • Ascent (ajUSDC) is the junior side. It takes losses first, earns a fee from Meadow and needs seven days' notice to leave.
  • Ferry is the agent that moves the vault's USDC between whitelisted Morpho vaults, toward the best rate. The contract enforces its limits.

The split, in one picture

     your USDC on Elysium ──Relay, seconds──┐
     your USDC on HyperEVM ─────────────────┤
                                            │
                  ┌─────────────────────────┴───────────┐
                  │                                     │
          Meadow (senior)                       Ascent (junior)
          paid first                            first loss, $5,000 cap
                  │                                     │
                  └──────────── AsphodelCore ───────────┘
                         cap $430,000 in total
                                  │
                      Ferry: idle ⇄ Morpho USDC vaults
                      (≤20% per move, ≥1 hour apart)
                                  │
             Sunday 00:00 UTC settle: profit split pro rata,
             Meadow pays 15% of its profit to Ascent,
             losses hit Ascent first, then Meadow

Meadow

Meadow is an ERC-4626 vault. Your USDC goes straight to AsphodelCore, and you receive asUSDC shares.

  • Withdrawals: any time, to the liquidity available. The core pays from idle USDC first, then pulls from the Morpho vaults. If every market is fully borrowed, a large withdrawal waits until liquidity returns.
  • Earnings: Meadow's pro-rata share of the markets' yield, minus 15% of that profit paid to Ascent.
  • Losses: Meadow only takes a loss after Ascent's whole balance is used up.
  • Share price: it changes only at the weekly settle. Between settles, yield builds up in the markets and is booked on Sunday.

Ascent

Ascent is the first-loss side. It earns its own share of the yield plus Meadow's fee, and it absorbs losses before Meadow does. It is capped at $5,000 while the contracts are unaudited.

Leaving Ascent

  1. Call requestRedeem(shares). Your shares are locked in the vault.
  2. Wait 7 days. The shares still take Ascent's gains and losses.
  3. Call claim(id, receiver). You are paid at the price on claim day.

You can cancel a pending exit at any time with cancelRedeem(id) and get your shares back. Direct ERC-4626 withdraw and redeem are disabled on Ascent.

Agents

Ferry (live)

Once an hour Ferry reads the whitelisted Morpho USDC vaults on HyperEVM and moves USDC toward the best rate, if the gain is worth the gas. The bot only decides when; the contract decides what is allowed:

  • Only whitelisted markets, and only USDC markets can be whitelisted.
  • At most 20% of the vault's total value per move.
  • At least 1 hour between moves.
  • No moves while the vault is paused.

Ferry's key holds FERRY_ROLE only. It cannot withdraw to any address. Ferry also calls the weekly settle(), which anyone may call.

Warden and Lyre (coming soon)

Warden will run one capped USDC/HYPE liquidity position. Lyre will capture hedged funding on Hyperliquid perps. Neither is deployed.

Elysium & bridge

Elysium is the Hyperliquid L2 (chain id 99901), with HYPE for gas. Asphodel's vaults stay on HyperEVM, where Morpho's markets are. The app bridges for you through Relay:

  • Deposit from Elysium: Relay moves your Elysium USDC to your own address on HyperEVM, adds about $0.20 of HYPE there for gas, and the app then deposits it. You see the amount that arrives and Relay's fee before you sign.
  • Withdraw to Elysium: choose "Receive on Elysium". The app withdraws on HyperEVM, then sends the USDC to your Elysium wallet through Relay.
DirectionTypical Relay feeTime
Elysium → HyperEVM (deposit)about 1.2–1.4%seconds
HyperEVM → Elysium (withdraw)about 0.1%seconds

Fees come from Relay's live quote and change with liquidity. If you already hold USDC on HyperEVM, deposit from there and pay no bridge fee. Elysium USDC (0xb47c4C8F73F009CC0C0d3f92B388d13E293F0B65) is the official bridged copy of HyperEVM USDC.

Fees and $ASPH

  • No management fee and no protocol fee.
  • Meadow pays 15% of its weekly profit to Ascent. This is the price of Ascent's first-loss cover.
  • Relay charges its own bridge fee when you move between Elysium and HyperEVM.

$ASPH

The Asphodel token launches on Elysium. Its address will be published here and on the Vaults page at launch. Until then, anything claiming to be $ASPH is not.

Risks

  • Not audited. The contracts are tested, including fork tests against live Morpho, but have no external audit. Deposits are capped for this reason.
  • Market risk. Morpho vaults can lose money if a borrower's collateral fails to cover a loan. Ascent takes such losses first, then Meadow.
  • Liquidity. Instant withdrawals depend on idle USDC and what the markets can return. A fully borrowed market delays withdrawals.
  • Bridge. Deposits from Elysium rely on Relay's solvers. A failed bridge is refunded on the origin chain by Relay.
  • Admin powers. The admin can pause deposits and Ferry, change caps and Meadow's fee (at most 50%), add or remove markets, and pull everything back to idle. Withdrawals, exits, claims and settles keep working while paused. Adding a market is the most sensitive power: only USDC ERC-4626 vaults pass the check, but you are trusting the admin to whitelist sound ones.
  • No promised yield. APYs on the site are live readings from Morpho or labelled estimates.

Contracts

All on HyperEVM, chain id 999. Explorer: hyperevmscan.io. Public RPC: https://rpc.hyperliquid.xyz/evm.

ContractAddress
AsphodelCore0x49083bEa9E8512be69F18568413fFa5D5B77c7eb
MeadowVault (asUSDC)0x0a15dCd7486e4FB71D38ee4Be6E930f2C53D220E
AscentVault (ajUSDC)0xabB4Df297e56dFC3D5627f9397d9b2B2abb644B9
Admin and guardian0x8A54eAb0bdEEd4D0eC1F8A48f9B2cB008EB1363d
Ferry (FERRY_ROLE only)0x7596A3AFBa660b16d71E6f00eF517D1D8D1787EC
USDC (HyperEVM)0xb88339CB7199b77E23DB6E890353E22632Ba630f

Whitelisted markets

Morpho vaultAddress
Felix USDC (Frontier)0x808F72b6Ff632fba005C88b49C2a76AB01CAB545
Felix USDC0x8A862fD6c12f9ad34C9c2ff45AB2b6712e8CEa27
Gauntlet USDC0x08C00F8279dFF5B0CB5a04d349E7d79708Ceadf3
Gauntlet USDC0x9FA2074E43ef6F6dB4a1bB5eeB72e4bc8558bFDe

Reading state yourself

export RPC=https://rpc.hyperliquid.xyz/evm
export CORE=0x49083bEa9E8512be69F18568413fFa5D5B77c7eb
cast call $CORE "seniorAssets()(uint256)" --rpc-url $RPC   # Meadow, USDC 6 decimals
cast call $CORE "juniorAssets()(uint256)" --rpc-url $RPC   # Ascent
cast call $CORE "totalValue()(uint256)"   --rpc-url $RPC   # everything, incl. unsettled yield
cast call $CORE "markets()(address[])"     --rpc-url $RPC
cast call $CORE "totalCap()(uint256)"      --rpc-url $RPC   # 430000000000
cast call $CORE "juniorCap()(uint256)"     --rpc-url $RPC   # 5000000000
cast call $CORE "seniorFeeBps()(uint256)"  --rpc-url $RPC   # 1500
cast call $CORE "nextSettle()(uint256)"    --rpc-url $RPC
cast call $CORE "hasRole(bytes32,address)(bool)" $(cast keccak FERRY_ROLE) 0x7596A3AFBa660b16d71E6f00eF517D1D8D1787EC --rpc-url $RPC

Schedule

  • Every hour: Ferry checks the markets and may move up to 20% of the vault.
  • Every Sunday, 00:00 UTC: settle. Profit or loss since the last settle is booked to Meadow and Ascent.
  • Seven days after an Ascent exit request: the exit can be claimed.

FAQ

Do I need HYPE?

Yes, a little for gas on the network you sign from. Coming from Elysium, Relay also drops about $0.20 of HYPE on HyperEVM so the deposit can go through.

Who holds my USDC?

AsphodelCore on HyperEVM, and the Morpho vaults it deposits into. Ferry can only move USDC between those markets and idle. No key can send it anywhere else.

Why are the vaults on HyperEVM and not on Elysium?

Morpho's USDC markets are on HyperEVM. Keeping the vaults next to them avoids bridge risk on every move. Elysium is the front door: the app bridges for you.

What if Ferry's key is stolen?

The thief could move funds between whitelisted markets within the same 20% and 1-hour limits, but not out. The admin pauses the vault and replaces the key.

Can the admin take my funds?

Not directly: there is no admin withdraw. The admin could whitelist a bad market, which is why market changes are published and why a multisig admin is the plan.