Turnstoneturnstone

Documentation

How Turnstone is put together.

Turnstone combines a stock lending market with a USDG credit market so a single deposit does two productive jobs. This is the architecture behind that.

The model

A stockholder deposits an eligible Robinhood Stock Token into its isolated Turnstone vault and receives a yield-bearing receipt token. That receipt is a claim on the vault, not a fixed quantity of stock: its exchange rate rises as stock-borrow interest is returned.

AAPL → tAAPL
NVDA → tNVDA
TSLA → tTSLA
HOOD → tHOOD
MSFT → tMSFT

The receipt is then accepted as collateral for a separate USDG credit line. The collateral does not leave the lending market when it is pledged, so it keeps accruing while the credit line is open.

Deposit stock
      ↓
Earn stock-borrow yield
      ↓
Use the yielding position as collateral
      ↓
Borrow USDG
      ↓
Keep accruing while the position is healthy

Where the yield comes from

Professional desks borrow tokenized stock for market making, hedging, settlement inventory, arbitrage, short exposure and liquidity operations. They post approved collateral and pay a variable rate for access.

That interest is split 85% to stock suppliers, 10% to the safety reserve and 5% to the protocol. USDG borrow interest is split 80% / 15% / 5% on the same pattern.

There is no emission, no subsidy and no guaranteed rate. When borrow demand for a stock falls, so does its supply APY.

The arithmetic

The vault exchange rate is simply the vault's backing:

exchangeRate =
totalUnderlyingStockInVault
÷
totalReceiptTokenSupply

Borrowing power and health follow from it:

BorrowCapacity =
CollateralValue × CollateralFactor

HealthFactor =
CollateralValue × LiquidationThreshold
÷
DebtValue

LiquidationPrice =
DebtValue
÷
(UnderlyingClaim × LiquidationThreshold)

The interface calls the health factor the health buffer. Both refer to the same number; the exact value is shown in every position's risk detail.

Net carry is a spread between two rates:

Net carry =
Stock supply APY − USDG borrow APR

It can be negative, and Turnstone shows it that way when it is. Note that the two rates are denominated differently — yield accrues in stock, debt is owed in USDG — so a positive spread does not guarantee that yield covers interest in dollar terms.

The interest-rate model

Each market prices stock borrowing on a two-slope kinked curve. Below the optimal utilization of 80% the rate rises gently; above it, steeply — which pulls liquidity back into the market before withdrawals become impossible.

u ≤ optimal:
  rate = base + (u / optimal) × slope1

u > optimal:
  rate = base + slope1
       + ((u − optimal) / (1 − optimal)) × slope2

Supply APY is the borrow rate scaled by utilization, net of the reserve factor.

Yield routing

Every position carries a yield route. Accumulate keeps all stock-denominated yield inside the position and compounds the underlying claim. Offset debt routes yield accrued above the originally deposited stock amount toward reducing USDG debt.

Yield-directed repayment is not a self-repaying loan. Only the surplus above principal is eligible, principal is not protected, and liquidation remains possible.

Risk isolation

Every stock market is isolated with its own vault, oracle feed, caps and parameters. Risk controls include per-asset supply and borrow caps, conservative collateral factors, liquidation thresholds, oracle freshness checks with a 15m heartbeat, a maximum price deviation of 2%, emergency pause, a reserve factor, utilization ceilings, a 50% close factor, explicit bad-debt accounting and a 48-hour governance delay.

A receipt token cannot be redeposited into its own vault, and the same receipt cannot be looped as collateral against itself. Leverage is bounded by construction. See the full risk framework.

Protocol components

TurnstoneRegistry

Canonical list of supported stock markets and the addresses of every vault, market and controller.

StockVaultFactory

Deploys an isolated vault per eligible stock token, with its own parameters and caps.

StockVault

ERC-4626-style vault holding the underlying stock token and minting the tSTOCK receipt.

StockBorrowMarket

Lends vault inventory to approved stock borrowers against posted collateral at a variable rate.

CreditController

Accepts tSTOCK as collateral, sizes borrowing power and tracks USDG debt per account.

USDGLiquidityPool

Holds the USDG that credit lines draw against, and pays its suppliers from borrow interest.

CollateralManager

Values collateral, enforces caps and computes health for every open position.

OracleRouter

Resolves reference prices, checks freshness and rejects readings that deviate beyond tolerance.

InterestRateModel

Two-slope kinked curve mapping utilization to the variable borrow rate.

LiquidationEngine

Unwinds positions below the liquidation threshold, bounded by the close factor.

YieldRouter

Applies the account's yield route, converting eligible accrued stock into debt repayment.

ReserveController

Accrues the safety reserve from interest and absorbs bad debt before suppliers are touched.

EligibilityRegistry

Records which accounts may interact with which markets under issuer and jurisdiction rules.

Network

Turnstone runs on Robinhood Chain.

Network      Robinhood Chain
Chain ID     4663 (0x1237)
Currency     ETH
RPC          https://rpc.mainnet.chain.robinhood.com
Explorer     https://robinhoodchain.blockscout.com

Wallet connection, network detection and chain switching are live against this network. Turnstone never requests a seed phrase or private key, and every request is approved in your own wallet.

Supported markets

UnderlyingReceiptCollateral factorTier
NVDA Stock TokentNVDA65%Core
AAPL Stock TokentAAPL70%Core
TSLA Stock TokentTSLA55%Elevated
HOOD Stock TokentHOOD55%Elevated
MSFT Stock TokentMSFT70%Core
AMZN Stock TokentAMZN65%Core
META Stock TokentMETA65%Core
GOOGL Stock TokentGOOGL70%Core