Skip to content

Liquidity Provider Guide

This guide walks you through supplying SOL to Moono Protocol’s liquidity pool and earning interest from borrowers who launch tokens on pump.fun.

  • A Solana wallet (Phantom, Solflare, or any compatible wallet)
  • SOL you want to deposit as liquidity

When borrowers take loans to launch tokens, LP earnings come from two streams:

  1. Interest — paid by the borrower upfront on every loan; distributed to the ticks that funded the loan
  2. Liquidation surplus share — when a borrower’s loan is liquidated profitably (sale proceeds exceed the borrowed amount), a fixed share of the upside accrues to the same ticks that funded the loan

Your effective yield depends on:

  • Which tick you deposit into — higher ticks earn higher interest per hour
  • How often your liquidity is utilized — you only earn when your SOL is actively lent out
  • Loan durations — longer loans mean more interest per loan
  • How often loans get liquidated profitably — depends on which tokens borrowers launch and how they exit

Both streams accrue via the same cumulative-index model, so you don’t need to track them separately. See Economics for the full interest model and the current liquidation surplus split percentages.

If you haven’t already, create a User Profile (same for borrowers and LPs):

  • Connect your wallet to the Moono app
  • Click Register
  • Approve the transaction (registration fee + rent — exact amount in Economics)

The most important decision as an LP is which tick to deposit into. The protocol has 1,024 ticks (numbered 0–1,023), each with a different interest rate:

tick_hourly_rate_ppm = min(2048, 2 + tick_index × 2)
Tick RangeHourly RateTrade-off
0–50 (low)0.0002%–0.0102%Low rates, but your liquidity is borrowed first
50–250 (mid)0.0102%–0.0502%Balanced rate and utilization
250–500 (high)0.0502%–0.1002%Higher rates, but only used when lower ticks are depleted
500–1023 (max)0.1002%–0.2048%Highest rates, but rarely utilized unless demand is very high

In addition to the per-tick rate, every loan pays a shared interest surcharge that is distributed proportionally across all participating ticks. This significantly boosts the effective yield, especially for lower ticks. See Economics — Shared Interest for details.

  1. Select the tick you want to deposit into
  2. Enter the amount of SOL to deposit
  3. The form shows a mintedShares preview — exactly how many shares you’ll get at the current NAV
  4. Click Deposit and approve the transaction

Your SOL is transferred to the protocol’s quote vault, and you receive LP shares representing your position in that tick.

Share minting is NAV-aware — your shares are priced at the tick’s current Net Asset Value (NAV) per share, which includes accumulated interest and any liquidation losses or gains:

NAV_per_share = (tick_balance + tick_borrowed) / tick_total_shares
your_shares = deposit_amount / NAV_per_share

When a tick has no existing deposits, NAV is 1.0 (1 SOL = 1 share). When depositing into a tick that has earned interest, NAV > 1.0 — you’re buying in at the current value, including accumulated interest. You don’t dilute existing LPs and they don’t dilute you.

If a tick has suffered losses (a borrower’s token crashed below migration-reserve coverage), NAV can drop below 1.0. The pool is then “underwater”: 1 SOL deposit gets you more than 1 share, but each share is worth less than the SOL you paid for it.

Depositing into an underwater pool is a deliberate bet that future earnings will pull NAV back above your entry price. The app shows an explicit confirmation dialog in this case — read it carefully. If you confirm, you’re acknowledging that your initial share value is below the SOL you contributed.

This is by design: deposits never “rescue” past losses for existing LPs. New deposits and old positions share the same NAV from the moment of deposit forward.

Once deposited, your SOL may be:

  • Available — sitting in the tick, not currently lent out
  • Borrowed — actively lent to a borrower, earning interest

The pool page shows:

  • Your share count
  • Current value (NAV-priced) — the SOL your shares are worth right now, separate from the SOL you originally deposited
  • NAV row — current per-share value of the tick (≥ 1.0 if the tick is in profit, < 1.0 if underwater)
  • How much of your tick’s liquidity is currently borrowed
  • Accrued earnings claimable independently of withdrawal

Both interest (paid by borrower at launch_0) and liquidation surplus (paid when a loan settles profitably) accrue to your tick at the moment of the event, via the same cumulative-index model. You earn on every loan that uses your tick — whether it later repays or liquidates — and you don’t need to keep the position open until the loan closes to keep your share.

Mechanically:

  1. Per-share index — each tick has a global cumulative index. When interest or surplus is credited, the index advances by amount / current_shares, locking in your share immediately. Your position snapshots the index on every state-mutating action (open / deposit / withdraw / claim) and the difference is moved into your unclaimed_interest.
  2. Share value (NAV) — interest sitting in your position also raises the tick’s NAV; it can be realized at withdrawal or close.

In practice, you don’t have to think about this — the app shows your claimable earnings directly. The key takeaway: you earn at the moment of borrow / liquidation, not at repayment.

You can claim accrued earnings at any time without touching your principal:

  1. Open the position on the pool page
  2. Click Claim Fees
  3. Approve the transaction

The same action claims both interest and liquidation surplus that have accrued to your shares. Your position keeps the same share count; only unclaimed_interest is transferred to your wallet. Useful if you want to compound earnings into a different tick, or realize gains while your principal keeps working.

Accrued earnings are also automatically paid out on Withdraw and Close Position.

You can deposit additional SOL into your existing position at any time:

  1. Navigate to your open position
  2. Enter the additional amount
  3. Approve the transaction

New shares are minted at the current share price, so your total share count increases.

When you want to withdraw some or all of your liquidity:

  1. Navigate to your position
  2. Enter the number of shares to redeem (or select max)
  3. Click Withdraw and approve the transaction

Your shares are burned, and you receive SOL at the current share price:

withdrawal_amount = your_shares × (tick_balance + tick_borrowed) / tick_total_shares

You can only withdraw SOL that is not currently lent out:

max_withdrawable = your_shares × tick_balance / (tick_balance + tick_borrowed)

If a large portion of your tick’s liquidity is currently borrowed, you may not be able to withdraw the full amount immediately. Wait for loans to be repaid or liquidated.

When you’ve withdrawn all your shares and want to clean up:

  1. Ensure your share balance is 0
  2. Click Close Position
  3. Approve the transaction

This reclaims the Solana rent from the position account.

If a borrower’s token crashes in price and the collateral + migration reserve don’t cover the full loan, the tick takes a loss. NAV drops; your shares may be worth less SOL than you deposited.

The migration reserve provides a buffer for moderate price declines, but extreme drops can still result in partial losses. The 3-way liquidation surplus split (LP / platform / borrower) gives LPs upside on profitable liquidations as compensation for taking this downside.

If you deposit into a tick whose NAV is already below 1.0, you’re buying losses that other LPs already incurred. Don’t ignore the underwater confirmation — only proceed if you expect future earnings (interest + surplus) to recover NAV above your entry.

If you deposit in a very high tick that is never utilized, your SOL earns nothing. Meanwhile, it’s locked in the protocol (though you can withdraw at any time since it’s not borrowed).

As with any DeFi protocol, there are inherent smart contract risks. While the protocol is designed with safety in mind, no smart contract is guaranteed to be bug-free.

Each quote vault has a per-vault paused flag, and there is also a protocol-wide pause. While paused, deposits, withdraws, claims, and new launches against that vault are blocked until the admin unpauses. Existing positions and accrued interest remain intact across a pause.

  • Diversify across ticks — consider splitting your deposit across several ticks for a balance of utilization and rate
  • Monitor utilization — if your tick is rarely borrowed, consider moving to a lower tick
  • Compound earnings — periodically withdraw and re-deposit to compound your interest earnings
  • Start with popular ticks — check which ticks are actively being borrowed to gauge demand