The product
The two safety checks
TORQUE reads one price, Chainlink's RHNVDA / USD on Robinhood Chain (0x379EC4f7C378F34a1B47E4F3cbeBCbAC3E8E9F15), and runs two checks on it before acting. They are internal checks of this leverage product: TORQUE does not publish a price for anyone else.
- Fresh price. The answer is positive, not from the future, and at most 12 hours old.
- Market agrees. The NVDA/USDG pool's own 30-minute time-weighted average is within 1.5% of Chainlink. It comes from Uniswap v3
observe(). If the pool cannot serve the window, the check fails closed.
Which actions need which check
| Action | Fresh price | Market agrees |
|---|---|---|
open | required | required |
deposit / mint / withdraw / redeem | required | required |
knockOut | required | required, unless the feed printed in the last 30 minutes |
close | not required | not required: it only succeeds if the vault is repaid in full |
withdraw / redeem with no open positions | not required | not required: NAV is exactly idle cash |
unwind (emergency) | feed must be dead for 7 days | uses the pool average itself |
Feed age is shown, not hidden
The feed is deviation-only: it prints on a move of about 0.5% (median move per update 0.53%, measured over 601 rounds) and has no weekday heartbeat. Quiet weekday gaps of 12–21 hours are normal. That is why the dashboard always shows how long ago Chainlink printed, next to the 12-hour limit.
| Maximum age | Weekday time shut | Weekend time shut |
|---|---|---|
| 6 h | 19.7% | 89.7% |
| 12 h | 7.1% | 78.2% (from about Sat 08:00 UTC) |
| 24 h | 2.3% | 55.1% |
Why both checks
The feed freezes from Friday about 20:00 UTC to Monday 00:00 UTC (52 hours; 78 hours over a holiday weekend). It prints when the price moves, not on a timer, so calm weekdays can go quiet too: in the 90 days to 2 October it was silent for over 12 hours on 14 weekdays (up to 21 hours), and check 1 paused opens on each, exactly as at a weekend (LP backtest). With age alone, TORQUE would stay open on a frozen Friday price while the token keeps trading in the pool. An LP could withdraw at a stale mark, a depositor could buy shares at one, and knock-outs would run against a price that no longer holds.
The pool check closes that window: as soon as the pool's 30-minute average moves more than 1.5% from the frozen print, opens, knock-outs and LP flows stop.
Why 30 minutes and 1.5%
From 122,163 real swaps (Fri 09-25 to Thu 10-01), the pool's 30-minute average against the feed, every 5 minutes:
| Period | p50 | p95 | p99 | max |
|---|---|---|---|---|
| Weekday, in session | 0.13% | 0.38% | 0.54% | 1.35% |
| Weekend, feed frozen (09-26/27) | 0.35% | 0.48% | 0.51% | 0.51% |
A 1.5% band refused nothing during normal trading in the sample. A 30-minute average is expensive to push: an attacker has to hold the price off-market for much of half an hour, against arbitrage, in a pool holding about $3.5M.
Why knock-outs trust a fresh print
A 30-minute average lags a fast move by design. In a sharp sell-off, Chainlink prints below the knock-out level while the average still sits above it. A strict rule would hold up exactly the knock-outs that protect LPs, and the invariant suite proves it: with the strict rule, badDebtNeedsGap fails. So a knock-out may proceed on a Chainlink print from the last 30 minutes even if the average disagrees. Every knock-out sale must still fill within 1% of Chainlink.
The weekend, in practice
Over a weekend TORQUE stops opening positions, taking deposits and running knock-outs until Monday's first fresh price. close keeps working, because it needs no price: it reverts with Underwater if the pool no longer covers the debt. With no open positions, LPs can always withdraw.