URUOIdocs

Overview

URUOI lets you borrow against staked SOL and lets the staking yield pay the loan back. You deposit a liquid staking token (JitoSOL or mSOL), borrow uSOL against it, and every reward your stake earns is taken off your debt instead of piling up. Nothing is sold, no interest is charged, and a fall in the SOL price cannot liquidate you, because the program never looks at the SOL price at all.

The name is the Japanese word for moisture, the slow kind that soaks back into something dry. Here it is the yield, working its way back into a loan until the loan is gone.

The short version

You doThe program does
Deposit JitoSOL or mSOL into your positionValues it at its stake pool's own SOL rate, read from the pool's account
Borrow uSOL, up to the borrow limit (50% in the launch setup)Mints uSOL to you and records the same amount as debt, in lamports
WaitEach time the pool rate rises, the rise on your shares is swept from your position into the redemption buffer, and the same SOL amount comes off your debt
Withdraw at zero, or repay earlyReleases your LST once the debt allows it

Why a crash cannot liquidate you

On a lending market you borrow dollars against SOL. When SOL falls, your dollar debt stays the same while your collateral shrinks in dollars, and past a threshold a liquidator sells part of your stake at a discount.

In URUOI the collateral is valued in SOL (the stake pool's lamports per share) and the debt is uSOL, which is counted in SOL too. A SOL price move changes both sides by the same factor, so the ratio between them, your loan to value, does not move. The program reads no price oracle, so there is no number a crash could change.

The one thing that can push a position past its limit is the stake pool's own exchange rate falling, which only happens if the pool itself loses SOL: a bug, an exploit, or slashing if Solana ever adds it. Even then the only forced path is a par unwind: someone repays part of your debt with uSOL and takes the same SOL value of your LST. No penalty, no bonus, no auction. See Security and trust.

What uSOL is

uSOL is a Token-2022 token with 9 decimals, minted only by the protocol when someone borrows. One uSOL is meant to be one SOL: the yield swept from every position goes into a redemption buffer, and any uSOL holder can burn uSOL to take exactly that many lamports of LST from the buffers, at each pool's own rate. That redemption is what holds uSOL near one SOL. See Economics.

uSOL has no freeze authority, no transfer hook and no permanent delegate. Nobody can freeze or claw back a holder's uSOL.

How long it takes

The yield that pays your loan is the stake pool's own rate rise. Measured on mainnet at epoch 1050, JitoSOL's rate rose 0.01724% in one epoch, and an epoch lasted 115,505 seconds on average over epochs 1040 to 1050. That is about 4.8% a year.

Borrowed, as a share of your depositJitoSOL: epochs, daysmSOL: epochs, days
10%581 epochs, 777 days (2.1 years)569 epochs, 761 days
25%1,451 epochs, 1,940 days (5.3 years)1,422 epochs, 1,901 days
50% (the limit)2,901 epochs, 3,878 days (10.6 years)2,843 epochs, 3,801 days

Measured by the engine's tests on a local chain running the real stake pool and Marinade programs over mainnet account snapshots, advancing real epochs at today's measured yield and syncing every epoch (engine/sdk/measured/repayment-*.json). If staking yields rise the loan clears sooner; if they fall it clears later. A lower yield never adds to the debt: the debt only stops shrinking as fast.

What you give up

  • You can borrow less than on a lending market: half of your deposit at most, in the launch setup.
  • You borrow uSOL, not dollars. If you want dollars you swap uSOL, and from then on the dollar value of what you owe moves with SOL like your deposit does.
  • The yield on your deposit goes to your debt until the debt is gone. After that it is yours again.

Where to go next