DEVNETYou are on Solana devnet. Funds are not real. Behavior matches mainnet.

Lending on Milky

Liquidity providers (LPs) on Milky deposit USDC into a pool, which the protocol then uses to fund borrowers' card-backed loans. As loans are repaid, interest flows back into the pool and accrues to LPs proportional to their share of the pool's net asset value (NAV).

If you've used a vault-based lending protocol like Aave or Morpho, the model is recognizable: a single pool, a unit of account (the "share"), a per-share NAV (the "price per share" or PPS), and variable yield driven by what the underlying loans actually do.

How yield is generated

There are two sources of return for LPs:

  • Interest on healthy loans. Every loan has a fixed term and a fixed rate. When a borrower repays principal + interest, the interest portion flows into the pool, increasing NAV and therefore PPS. LPs realize that yield when they later withdraw at the higher PPS.
  • Surplus from successful auctions. When a defaulted card sells at auction for more than the debt, the protocol takes a percentage of the surplus and the rest accrues to the pool. This is upside that augments the base yield in periods with healthy default-recovery dynamics.

There is also one downside source — shortfalls from bad auctions — where a card sells for less than the debt and the difference is absorbed by the pool. This is not a separate fee; it shows up directly as a lower PPS at withdrawal time.

How risk is contained

Milky uses several mechanisms to keep risk manageable for lenders. None of them eliminate risk, but they do bound it in predictable ways.

  • Allowlists per pool. Pool admins choose which collections (e.g. Pokémon TCG, MLB) the pool can accept. Cards outside the allowlist can't be used as collateral.
  • Per-card principal caps. A single loan is limited to a fixed dollar amount, so no one borrower can drain the pool.
  • Per-asset-type exposure caps. The pool tracks how much principal is outstanding against each canonical asset type, and refuses to draw new loans that would exceed that cap. This prevents a pool from becoming silently 80% concentrated in a single card type.
  • Utilization caps. The pool refuses to draw a new loan if doing so would push the pool above a configured utilization (typically 80%). This preserves a buffer of idle USDC for withdrawals.
  • Conservative default LTV (70%). The protocol allows up to 90%, but the production default is 70% — so a card needs to lose roughly a third of its value before the pool starts taking real losses on default.
  • Time-based default with grace. Loans default predictably after maturity plus the grace period, not during normal market volatility.

What you can expect

LPs should expect:

  • Variable yield. The "APR" displayed in the app is a forward-looking estimate based on current pool composition and term options; it is not a guaranteed rate.
  • Variable utilization. Some periods of full utilization (no idle capacity for new draws), some periods of thin demand. Utilization caps also create occasional draw rejections during high demand.
  • Fixed-term loan exposure. Most loans on Milky are short (7–90 days), but there is no liquidity guarantee inside a loan's term: drawn principal is locked until the borrower repays or defaults.
  • Auction-driven recovery on default. When a default does happen, your recovery happens through the auction, not through any private negotiation.