Earn vault
Supply once, be allocated across markets.
The earn vault is an ERC-4626 vault denominated in USDG. You deposit once; the vault holds positions in the markets it has been configured for, rather than you choosing one.
Shares
Deposit USDG, receive shares. The share count stays the same; what changes is how much USDG each share is worth as borrowers pay interest.
Standard ERC-4626 methods apply — deposit, mint, withdraw, redeem, and the preview*
functions for quoting.
Allocation
The vault has a list of markets, each with its own cap, plus a supply queue and a withdraw queue that set the order it fills and drains them.
| Per-market cap | The most the vault may allocate to one market |
| Supply queue | The order deposits are placed |
| Withdraw queue | The order withdrawals are drained |
All of these are owner-settable. The vault is not autonomous — someone decides which markets it is exposed to and in what order.
Withdrawals depend on liquidity
A withdrawal is only possible to the extent the underlying markets have idle liquidity. If the vault's positions are in markets at full utilisation, redemption waits for borrowers to repay — the same constraint as supplying to a market directly, inherited.
The vault holds idleAssets that have not been allocated, and those are available immediately.
Fee
A fee in basis points, taken on yield, sent to a fee recipient. Both are owner-settable.
Keyed by pool
One detail for integrators: the vault identifies a market by its LendingPool address, while
the interest rate model identifies the same market by its router. They are different addresses.
markets(pool) returns the market; markets(router) returns zeroes and does not revert.