Volatility adjustment
Realized 30-day vol is pushed to the oracle hourly. If vol exceeds baseline, LTV is haircut by k_vol × excess. Floors per-asset at minVolAdj.
Marginal lets you borrow stablecoins against tokenized US equities on Robinhood Chain. Every position's loan-to-value is a live function of realized volatility and the earnings calendar — not a governance parameter that gets revisited six weeks after it should have. The formula below is the same one RiskEngine.sol evaluates every block. Hover any term.
LTV_base — per-asset ceiling. 60% on rNVDA.
f(σ) — sensitivity 1.5×; floor at 0.55.
g(t) — ramps down 7d pre-earnings.
h(TVL) — concentration guard.
Every dollar of risk on Marginal is priced by three composable functions. None of them require a governance vote to reprice — the numbers change as the market changes.
Realized 30-day vol is pushed to the oracle hourly. If vol exceeds baseline, LTV is haircut by k_vol × excess. Floors per-asset at minVolAdj.
LTV ramps down over the seven days before every scheduled print, holds a per-asset floor through the results window, then snaps back.
Prevents any single collateral position from consuming more of an asset's on-chain float than a governance-set cap. Below the cap, no adjustment.
Read from AssetRegistry.listedAssets() and reprised through getEffectiveRisk(). No client-side estimation.
| Asset | Last | 24h | Realized σ | Days → earn | Base LTV | Effective LTV | Liq. threshold |
|---|---|---|---|---|---|---|---|
r rSPY SPDR S&P 500 | $574.12 | +0.31% | 15.0% | 22d | 80.0% | 80.0% | 85.0% |
r rAAPL Apple | $231.44 | -0.42% | 28.0% | 41d | 70.0% | 66.8% − 3.1% vs base | 73.4% |
r rNVDA NVIDIA | $138.07 | -2.14% | 68.0% | 3d | 60.0% | 31.4% − 28.6% vs base | 53.7% |
r rTSLA Tesla | $402.60 | +1.87% | 72.0% | 12d | 55.0% | 36.3% − 18.7% vs base | 55.6% |
Pick a name, choose a size, move vol wherever you want, drag earnings toward today. The calculator runs the same math the smart contract runs — down to the bp — so what you see here is what the pool would enforce.
> RiskEngine.getEffectiveRisk("rNVDA")
ltv = 60.0% (base 60.0%)
liquidationThreshold = 68.0% (base 68.0%)
liquidationBonus = 8.0%
volAdjustment = 100.0%
earningsAdjustment = 100.0%
> RiskEngine.getUserAccountData("0xa1…c3f")
totalCollateralUsd = $13,807
availableBorrowsUsd = $8,284
liquidationBoundUsd = $9,389Marginal doesn't hide anything behind an off-chain API. Every step below is a direct call to a public contract you can read on Blockscout.
Bring any injected wallet. The site auto-adds Robinhood Chain (chain 4663) and self-registers your address in KYCRegistry with one on-chain call — 24 gwei-cents, no email, no form.
Deposit tokenized equities (rSPY, rAAPL, rNVDA, rTSLA) as collateral. You get a rebasing aToken receipt one-for-one. Interest accrues per block via the reserve index.
Draw USDC or USDR against your collateral. RiskEngine returns the current effective LTV — realized-vol adjusted, earnings-window aware — and the pool refuses anything that would push health factor below 1.0.
HF = collateral × liquidation-threshold / debt. Reprised every block from live oracle data. Ramp down 7 days before earnings, snap back the morning after — automatically.
Repay any USDC amount to reduce debt. Withdraw collateral once HF has room. Liquidators get a dynamic bonus that scales with realized volatility.
Marginal is not a black box. The eight contracts below are the only components with authority to move funds or price risk. Verify a build, simulate any call, and read the exact source that runs against your collateral.