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

Yield, utilization & risks

Yield on Milky is variable — there is no fixed APR for LPs, only a realized return determined by the loans the pool has actually written and how those loans actually resolve. This page describes the levers behind the headline number.

What drives yield

Realized yield for an LP is the rate of change of PPS over time, and PPS is driven by NAV. The mechanical levers are:

  • Pool utilization. A pool with $0 outstanding earns no interest. A pool at 100% utilization is fully productive but has no headroom for new loans. The protocol caps utilization (typically 80%) to preserve a withdrawal buffer.
  • Term composition. Shorter loans roll over more often and can capture rate changes faster; longer loans lock in a rate but stay productive through low-demand stretches.
  • Default rate. Loans that repay in full deliver their stated interest; loans that default deliver a recovery via auction, which can be more or less than the original payoff.
  • Auction surplus / shortfall. A successful Dutch auction often clears above the reserve (full payoff). The protocol takes a percentage of the surplus; the rest accrues to the pool, augmenting LP returns. Shortfalls flow the other way and reduce PPS.
  • Origination fees. A small slice of every loan's interest is taken at draw time; today this revenue accrues to the pool/protocol pair and contributes to NAV growth.

Headline APR estimates shown in the app are forward-looking projections based on current pool composition and term options. They are not promised rates and should not be assumed to hold for any specific time window.

Utilization caps

Each pool has a utilization_cap_bps (default 80%, ceiling 95%). The protocol refuses to draw a new loan if doing so would push the post-draw utilization above the cap. This serves two purposes:

  • It preserves an idle buffer that lets LPs withdraw without waiting for loan repayments.
  • It protects PPS from over-concentration in a single drawdown event, since shortfalls would otherwise eat through a thinner buffer.

When utilization is at the cap, new draws are rejected even if the pool has nominal available principal. The economic mechanism is intentional: high demand for a pool's liquidity translates into "no new draws" rather than into ever-deeper utilization.

Loss scenarios

These are the ways an LP can lose money on a Milky pool:

Auction shortfall

A defaulted card sells for less than the debt (principal + fixed interest). The pool absorbs the difference, NAV drops, and PPS drops accordingly. Multiple shortfalls in quick succession can drag PPS materially.

This is most likely when:

  • The card's market price has fallen sharply since the loan was opened (recall the loan rate is fixed; the protocol does not reprice mid-loan).
  • The auction launches into a thin order book (fewer bidders means a lower clearing price).

Smart-contract or oracle failure

If the on-chain program has a bug, or the oracle signs an incorrect price that leads to over-collateralized lending, NAV could be impacted. The protocol uses extensive on-chain validation to mitigate this, but it cannot be eliminated entirely. See risks for the full write-up.

Operational disruption

Milky relies on off-chain components (the oracle, keeper bots that trigger auctions, the indexer feeding the front end). If those go down, borrowers may not be able to open new loans and keepers may not start auctions promptly. NAV is not directly affected, but the pool's earning capacity and timely default resolution are.

Regulatory or jurisdictional change

A change in the regulatory environment for tokenized real-world assets could affect the protocol's ability to operate certain pools or accept certain kinds of collateral. This is hard to quantify but is part of the honest picture for any LP.

Loss mitigations the protocol provides

  • Conservative LTVs (default 70%, ceiling 90%) leave a buffer between the loan and the card's market price.
  • Per-asset-type exposure caps prevent the pool from quietly concentrating in one card type.
  • Per-card principal caps cap the size of any single bad outcome.
  • Auction-driven recovery means defaults resolve at a market-clearing price, not at a discretionary haircut.
  • Pause functionality lets the protocol globally halt new loan creation in an emergency without freezing existing loans or LP withdrawals.

Practical guidance

If you're considering becoming an LP on Milky:

  • Treat the displayed APR as an estimate and look at recent realized PPS changes to ground your expectations.
  • Understand which pool you're depositing into — different pools accept different collections and operate at different LTVs and term mixes.
  • Match your liquidity needs to the pool's term composition. A pool full of 90-day loans will have a slow withdrawal queue if utilization spikes.
  • Read risks end to end. There is no asterisk-free version of the failure modes.