Kept
Documentation

Documentation

Everything about Kept on one page. Pick a section on the left and it scrolls into view; scrolling also moves the highlight, so you always know where you are.

Introduction #

Kept is an interface for borrowing USDG against Robinhood tokenized stocks on Robinhood Chain. You deposit stock as collateral, take a loan, and repay whenever you like to get the stock back.

Kept brings Morpho Blue — an immutable, open-source lending protocol — to Robinhood Chain, wrapped in an interface built for people who hold stock rather than for people who trade DeFi. Your loan is written directly into that protocol, which is why the position keeps working whether or not this website does. Our own contract does one job: bundle deposit and borrow into a single transaction, and collect the fee that funds KEPT.

The one-paragraph version

Deposit stock → borrow up to your LTV limit in USDG → repay any time, no deadline. You can lose collateral only if the price falls far enough to trigger liquidation, and even then only the amount needed to cover your debt plus the liquidator's bonus.

Getting started #

1. Add the network

Kept runs on Robinhood Chain (chain ID 4663). Clicking Connect wallet offers to add and switch to it automatically. To do it by hand:

FieldValue
Network nameRobinhood Chain
Chain ID4663
RPC URLhttps://rpc.mainnet.chain.robinhood.com
CurrencyETH
Explorerhttps://robinhoodchain.blockscout.com

2. Fund the wallet

You need two things: the stock tokens you want to borrow against, and a small amount of ETH for gas. A few cents is plenty — transactions on this chain are inexpensive.

3. Connect

Click Connect wallet. Kept never opens your wallet on page load, only when you act, so a refresh will not prompt you. Nothing is stored on our side; your address is used in the browser to read your balances.

Borrowing #

Pick a stock on the markets page and press Borrow. The dialog asks for two numbers.

Deposit

How much stock to lock as collateral. The tokens are transferred out of your wallet into the Morpho contract — expect your wallet balance to drop to zero. Morpho's ledger then records that collateral against your address, and only you (or someone you have authorised) can withdraw it. You can add more later without borrowing.

"Stays yours" means ownership, not location

Some write-ups claim the stock never leaves your wallet. That is not how Morpho works. The tokens move; the claim on them stays with your address. You can verify it yourself: the Morpho contract's balance of each stock token equals the sum of all collateral credited to users.

Borrow

How much USDG to take out. The slider is a percentage of your limit, not of your collateral. Your limit is the lower of:

  • your collateral value × the market's maximum LTV, and
  • the USDG lenders have actually supplied to that market.

Maximum LTV by tier

TierMax LTVTypical tickers
Blue chip62.5%NVDA, AAPL, GOOGL, MSFT, SPY
Standard38.5%smaller caps, higher-volatility names
Cash-like86%SGOV and similar

What happens on confirm

  1. Approve — lets the contract move exactly the stock you are depositing.
  2. Authorise — one time per wallet, lets our router act with you as the owner.
  3. Deposit & borrow — both legs in one transaction. The fee is deducted from the borrowed amount and the rest lands in your wallet.

Steps you have already completed are skipped automatically.

Repaying #

Go to My loans and press Repay. There is no deadline and no penalty. You pay back what you borrowed plus the interest it accrued; Kept takes no fee on the way out, so the only cost of holding the loan is that interest.

Why a 1% buffer is pulled

Interest accrues every second, including while your transaction sits in the mempool, so the exact payoff figure is a moving target. The contract therefore repays by shares — the only way to clear a debt to zero — and pulls about 1% more USDG than your current debt to cover the drift. Whatever is not used is returned to you in the same transaction.

Partial repayment

Repaying part of what you owe raises your health factor and lowers your liquidation price. You can also just add collateral, which has the same effect without spending USDG.

Interest and fees #

ChargeAmountWhenPaid to
Kept fee1.00% of the amount borrowedOnce, at borrowKept
InterestVariable APRPer second while borrowedUSDG lenders
RepaymentNo exit fee (the accrued interest is still owed)
GasA few cents in ETHPer transactionThe network

How the rate is set

Morpho's Adaptive Curve model moves the rate towards a target utilisation. When a market is heavily borrowed the rate climbs; when it is quiet the rate falls. We do not set it and we receive none of it.

Lenders moved into tokenized stock markets ahead of borrowers, which is why borrowing against stock is unusually cheap at the moment. The rate is variable and climbs as more of each pool is drawn, so read today's number as today's number.

Liquidation #

Liquidation is triggered by price, never by time

There is no deadline you can miss. The only thing that can end your position against your will is your collateral falling in value.

The mechanics

When your debt crosses the market's maximum LTV, your position becomes liquidatable. Anyone can then repay part of your debt and receive an equivalent amount of your collateral plus a bonus. It is automatic and permissionless.

A liquidator takes only what is needed to cover the repaid debt and the bonus. Everything else remains yours.

Health factor

Health above 1.00 is safe; 1.00 is the threshold. It is shown on every position on the loans page, with a bar that turns amber then red as you approach.

Staying out of trouble

  • Borrow well below your limit. Half the maximum is a sane default.
  • Keep spare USDG so you can repay quickly if the price moves.
  • Add headroom before weekends and earnings dates.
  • Prefer broad ETFs to single tickers where you can.
  • Remember interest grows your debt even when the price is flat.

Prices and oracles #

Every market reads a Chainlink price feed for its stock. The feed returns the price of one token, and Morpho compares that against your debt to decide whether you are healthy.

Market hours

Stock feeds update on US market hours, 24/5. The tokens themselves trade continuously. So across a weekend the reference price stands still while the market moves on, and a gap can appear at the Monday open. This is the single most underestimated risk here.

Corporate actions

Splits and dividends are applied through an on-chain multiplier on the token (uiMultiplier(), defined by ERC-8056) rather than by rebasing balances. The Chainlink feed already includes this adjustment, so integrators must not apply it a second time — doing so would make a 4-for-1 split look like a 75% crash.

While a corporate action is being processed the feed reports as paused and borrowing in that market is temporarily unavailable.

Contracts #

ContractAddress
Morpho Blue0x9D53d5E3bd5E8d4Cbfa6DB1ca238AEA02E651010
Adaptive Curve IRM0x2BD3d5965B26B51814AC95127B2b80dD6CcC0fa1
USDG (6 decimals)0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168

The full list, including our own router and fee wallet, is on the transparency page, which also reads the router's live settings straight from the chain so you can check them rather than take our word.

What our router does

KeptRouter turns deposit-then-borrow into a single signature and collects the fee. It is small on purpose — less code is less attack surface — and three properties matter:

  • Every Morpho call is made with onBehalf = msg.sender, so the router never owns a position.
  • It holds no funds between transactions.
  • The owner can change the fee — capped at 2% in code — and its recipient, and can sweep tokens sent to the router by mistake (rescue). That is the entire admin surface; none of it reaches a position.

A third-party audit is the next step, and the report will be published on the transparency page when it lands. Until then the contract ships with a reproducible adversarial test suite you can run yourself.

For developers #

Kept exposes read-only JSON endpoints. They are unauthenticated, cached for 60 seconds, and safe to poll at a sane rate.

EndpointReturns
/api/markets.phpEvery borrowable stock market, one per ticker
/api/positions.php?address=0x…A wallet's open positions
/api/stats.phpAggregate market statistics

The maths

All of it mirrors Morpho's own accounting. Use integers, never floats:

maxBorrow        = collateral * price / 1e36 * lltv / 1e18
liquidationPrice = borrow * 1e36 * 1e18 / (collateral * lltv)
debtFromShares   = shares * (totalBorrowAssets + 1) / (totalBorrowShares + 1e6)

The oracle price is scaled by 1e36 + loanDecimals - collateralDecimals, which is 1e24 here: stock tokens carry 18 decimals and USDG carries 6.

Finding markets

Nothing is hardcoded. We list every Morpho market on chain 4663 whose collateral token is named … • Robinhood Token with USDG as the loan asset, then keep the deepest market per ticker. New stock tokens appear automatically.

Security #

Custody

Kept is non-custodial. Your deposited tokens sit in the Morpho contract — not in your wallet, and not with us — with Morpho's ledger crediting them to your address. We hold no keys over them and there is no admin function that can touch a position.

If this site goes away

Nothing happens to your loan. Morpho is immutable and independent, so you can repay and withdraw by calling it directly with any tool you like.

Staying safe

  • Check the URL every single time. Phishing clones of DeFi frontends are routine.
  • We will never DM you first, and never ask for a seed phrase or private key.
  • There is no KEPT token yet — anything claiming to be one is fraudulent.
  • Read what your wallet shows you before signing. Approvals are specific and revocable.

Reporting a vulnerability

Email hello@kept.markets with details. Please give us a reasonable window to fix an issue before disclosing it publicly.

Glossary #

TermMeaning
CollateralThe stock you lock up to secure a loan. Still yours throughout.
LTVLoan to value — your debt as a share of your collateral's value.
Max LTVThe point at which a position becomes liquidatable.
Health factorSafety summary. Above 1.00 is safe, 1.00 is the threshold.
Liquidation priceThe stock price at which your position becomes liquidatable.
Safety bufferHow far the price can fall before that happens.
UtilisationShare of supplied USDG that is currently borrowed. Drives the rate.
OracleThe on-chain price feed a market reads.
SharesMorpho's internal accounting unit for debt, which grows with interest.
USDGThe dollar-backed stablecoin you borrow.
Stock TokenA Robinhood-issued token tracking an equity. A debt security, not a share.

Want to go deeper?

The FAQ answers the questions that come up most, and the risk disclosure covers the edge cases in detail. We reply fast: hello@kept.markets or @kept_rh.