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 healthyWhere 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.
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)) × slope2Supply 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.
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
| Underlying | Receipt | Collateral factor | Tier |
|---|---|---|---|
| NVDA Stock Token | tNVDA | 65% | Core |
| AAPL Stock Token | tAAPL | 70% | Core |
| TSLA Stock Token | tTSLA | 55% | Elevated |
| HOOD Stock Token | tHOOD | 55% | Elevated |
| MSFT Stock Token | tMSFT | 70% | Core |
| AMZN Stock Token | tAMZN | 65% | Core |
| META Stock Token | tMETA | 65% | Core |
| GOOGL Stock Token | tGOOGL | 70% | Core |