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:
| Field | Value |
|---|---|
| Network name | Robinhood Chain |
| Chain ID | 4663 |
| RPC URL | https://rpc.mainnet.chain.robinhood.com |
| Currency | ETH |
| Explorer | https://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
| Tier | Max LTV | Typical tickers |
|---|---|---|
| Blue chip | 62.5% | NVDA, AAPL, GOOGL, MSFT, SPY |
| Standard | 38.5% | smaller caps, higher-volatility names |
| Cash-like | 86% | SGOV and similar |
What happens on confirm
- Approve — lets the contract move exactly the stock you are depositing.
- Authorise — one time per wallet, lets our router act with you as the owner.
- 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 #
| Charge | Amount | When | Paid to |
|---|---|---|---|
| Kept fee | 1.00% of the amount borrowed | Once, at borrow | Kept |
| Interest | Variable APR | Per second while borrowed | USDG lenders |
| Repayment | No exit fee (the accrued interest is still owed) | — | — |
| Gas | A few cents in ETH | Per transaction | The 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 #
| Contract | Address |
|---|---|
| Morpho Blue | 0x9D53d5E3bd5E8d4Cbfa6DB1ca238AEA02E651010 |
| Adaptive Curve IRM | 0x2BD3d5965B26B51814AC95127B2b80dD6CcC0fa1 |
| 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.
| Endpoint | Returns |
|---|---|
/api/markets.php | Every borrowable stock market, one per ticker |
/api/positions.php?address=0x… | A wallet's open positions |
/api/stats.php | Aggregate 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 #
| Term | Meaning |
|---|---|
| Collateral | The stock you lock up to secure a loan. Still yours throughout. |
| LTV | Loan to value — your debt as a share of your collateral's value. |
| Max LTV | The point at which a position becomes liquidatable. |
| Health factor | Safety summary. Above 1.00 is safe, 1.00 is the threshold. |
| Liquidation price | The stock price at which your position becomes liquidatable. |
| Safety buffer | How far the price can fall before that happens. |
| Utilisation | Share of supplied USDG that is currently borrowed. Drives the rate. |
| Oracle | The on-chain price feed a market reads. |
| Shares | Morpho's internal accounting unit for debt, which grows with interest. |
| USDG | The dollar-backed stablecoin you borrow. |
| Stock Token | A 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.