How Moor works

Moor lets you borrow USDG against tokenized stocks on Robinhood Chain without selling them. It is a website, not a protocol. Every loan is a position in a Morpho Blue market that already existed on the chain, and every trade goes through Uniswap's own router. Moor adds no contract, holds no keys and charges no fee. Your wallet signs every transaction, and you can check each one before you do.

How a loan works

Each stock Moor supports has a Morpho Blue market that lends USDG against it. The app uses the one with the most dollars free to lend. A loan takes up to three transactions:

  1. Approve Morpho to take the shares you are posting (skipped if already approved).
  2. Post collateral: supplyCollateral moves the shares into the market under your address. They stay yours, earn nothing and are never lent out.
  3. Borrow: borrow sends USDG to your wallet and records the debt against your position.

Interest accrues every second at the market's rate. Morpho's adaptive interest model sets that rate from how much of the market is lent out: it rises when a market is busy and falls when it is quiet. The app shows the rate at the chain's current time, compounded exactly as Morpho compounds it. To repay, repay takes USDG back. "Repay all" repays by shares rather than by amount, so the loan is cleared to the last unit and nothing is left behind. After that, withdrawCollateral returns your shares.

Health and liquidation

Every market has a maximum loan-to-value (LLTV); for all the markets Moor offers today it is 62.5%. Your borrow limit is the collateral's value at the market oracle's price, times the LLTV. Health is that limit divided by your debt:

health = collateral × oracle price × LLTV ÷ debt

At a health of 1.00 or below, anyone may liquidate the position: they repay part of your debt and receive the matching collateral plus an incentive, which at 62.5% LLTV is about 12.7%. The app shows your liquidation price, the stock price at which health reaches 1.00. By default its buttons keep you at or below 50% loan-to-value, which is 80% of the limit. A position there survives a fall of 20% in the stock before it can be liquidated.

When a price feed pauses

The four largest markets (SpaceX, Apple, NVIDIA and Alphabet) use a price oracle that refuses to answer once its feed is about a day old. Robinhood's stock feeds stop updating while markets are shut, so this can happen over a weekend or a holiday. While a feed is paused:

The app detects this and says so above the market. Every point above was checked on live chain state by moving the clock 20 days forward (see How it was tested).

Buying and selling

To borrow against a stock you have to hold it. The app's Buy & sell tab trades USDG for any of the 42 Robinhood stock tokens with a working Uniswap v3 pool. It quotes every fee tier with Uniswap's QuoterV2, picks the best, and sends one exactInputSingle through SwapRouter02 with a 0.5% minimum-output guard and a 20-minute deadline. If the price moves past the guard, the trade reverts and nothing is spent.

Robinhood stock tokens count raw units that never change, and publish a uiMultiplier that converts them to shares (for splits and similar events). The app shows shares and sends raw units, converting both ways exactly as the token does.

Contracts

Everything Moor touches, on Robinhood Chain (chain id 4663). None of it was deployed by Moor.

WhatAddress
Morpho Blue0x9D53d5E3bd5E8d4Cbfa6DB1ca238AEA02E651010
Uniswap v3 SwapRouter020xCaf681a66D020601342297493863E78C959E5cb2
Uniswap v3 QuoterV20x33e885eD0Ec9bF04EcfB19341582aADCb4c8A9E7
USDG (the dollar you borrow)0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168
SpaceX (SPCX) token0x4a0E65A3EcceC6dBe60AE065F2e7bb85Fae35eEa
SPCX market oracle0x872F9D8955B34e841227a92dE755cd63042Ab7A5
Apple (AAPL) token0xaF3D76f1834A1d425780943C99Ea8A608f8a93f9
AAPL market oracle0xD625d488D552775D2867194C618B945E5dDfE097
NVIDIA (NVDA) token0xd0601CE157Db5bdC3162BbaC2a2C8aF5320D9EEC
NVDA market oracle0xED29D310cfa91778A5850538DA28ed42234Cb78c
Alphabet (GOOGL) token0x2e0847E8910a9732eB3fb1bb4b70a580ADAD4FE3
GOOGL market oracle0x12Ec3474D1e321e0aAB065278B97FBC7eDa5F424
S&P 500 ETF (SPY) token0x117cc2133c37B721F49dE2A7a74833232B3B4C0C
SPY market oracle0xe8dAb19184f72b5a5a9d51A6C50A1b04b0669ce7
Tesla (TSLA) token0x322F0929c4625eD5bAd873c95208D54E1c003b2d
TSLA market oracle0xCa76875634e0b9759AA6610dC3092e92fcefE46E
Interest rate model (all markets)0x2BD3d5965B26B51814AC95127B2b80dD6CcC0fa1
SPCX market id0x9b4b47cdf7e295341c6c6cdfd3efb9805c4a5b3d580dba0c0c39d3a4232b297b
AAPL market id0xdeb4782d012d5fd3b24962538c2f6559049d70bda4dabd2e4212dacb96c28d45
NVDA market id0x8b16891f032a93b771347c9cb470a780e6699dd701553d3402aa3cdba6189c3e
GOOGL market id0x7fa81b10e5d21b2e4c571f862442bc11aff2ed14f02335868d0ff933fd40d0ba
SPY market id0x50bc39b5722fb5634c436d74c6787f3c125b879e7b73cf9e9ecc01bbb57b8e55
TSLA market id0xb41b34c5989420ad080e79363a9cfe3e23bec7459fcd2d88029250da370288df

How it was tested

Two suites run against live Robinhood Chain state, using eth_simulateV1 so that nothing is ever broadcast:

Risks

Moor is not a bank, broker or adviser, and nothing here is financial advice.