Demo on a mainnet fork: the real Upside program, the real Voltr and Phoenix programs, live Phoenix prices; only the USDC is test money. Nothing here is real money. What that means
upside

Transparency

dWTIOILLive

What backs the token, where the keeper’s lines are, and every action it has taken. Read straight from the keeper’s own records.

Last snapshot 6 s ago
Leverage bandin band
Leverage 1.98xband 1.8–2.3x · hard delever 2.6x
1.98x
dWTIOIL realised leverage 1.98x; realised leverage = notional ÷ NAV; the keeper rebalances outside the band
1.80x2.00x2.30x2.60x
Venue equity / notionalbetween floor and ceiling
Margin 24.9% of notionalfloor 17.9% · target 25% · ceiling 32.1%
24.9%
dWTIOIL equity / notional 24.9%; venue equity ÷ notional; top-up below the floor, withdraw above the ceiling, liquidation at the venue's maintenance
17.9%25%32.1%17.9%

Action ladder

At what underlying move does each keeper action fire, from the latest snapshot and this token's policy.

external index
−19%
−13%
−6%
+6%
+13%
+19%
$94.40
$96.65
$104.79
$105.77
$108.59
$121.66
$99.85
If the price falls
  1. Band edge 1.80x−3.2% · $96.65
    Rebalance up to target (external session only)
  2. Margin ceiling 32.1% of notional−5.5% · $94.40
    Withdraw excess collateral to idle
If the price rises
  1. Band edge 2.30x+5.0% · $104.79
    Rebalance down to target (any hour)
  2. Margin floor 17.9% of notional+5.9% · $105.77
    Top up collateral from idle
  3. Hard delever 2.60x+8.8% · $108.59
    Emergency delever to target, market order
  4. Liquidation (est.)+21.8% · $121.66
    Phoenix liquidates the account; the stop and top-ups sit well before this

Computed from realised leverage 1.977x and venue equity at 24.9% of notional at mark $99.85, holding everything else fixed. Margin distances follow this token's own policy: lower tiers post more collateral, so a 2x token has further to fall than a 3x one (D27). Liquidation is where equity reaches the 2.5% maintenance margin Phoenix requires on notional (registry value, Q13); the on-chain stop and the keeper's top-ups are designed to act well before it. Estimates for reading, not for trading.

Leverage over time

Realised leverage against the band, the target and the hard-delever line. Markers are keeper actions; hover for reason, before/after and fill.

Realised leverageBand 1.8x2.3xHard delever 2.6xRebalanceEmergency delever

Margin over time

Venue equity (collateral plus unrealised PnL) as a share of notional, against the floor, target and ceiling. Distances do not depend on leverage. Top-ups and withdrawals are the keeper's margin loop; the stop is refreshed after every rebalance.

Venue equity / notionalFloor 17.9% – ceiling 32.1%Top-upWithdraw excessStop set

Buffers and capacity

Idle USDC pays instant redemptions and Jupiter sells; collateral sits at Phoenix; the cap bounds TVL against Phoenix depth.

Idle USDC in vault2,500 of 4,938 USDC · 50.6%
Collateral at Phoenix (share of NAV)2,497 USDC · equity 24.9% of notional
Pending redemptionsnone
Cap used$4,937.87 of $250.0K
LP supply
5,000 dWTIOIL
Token price
0.987573 USDC
Unrealised PnL
−65.55 USDC
Funding (annualised)

Session

How the underlying is being priced right now.

external indexExternal index live

The underlying exchange is open. Phoenix marks track the external index, and the keeper cranks NAV every 20–30 s. Expansion and defensive rebalances both run.

Mark
$99.85
Index
$99.85
Pool price
no pool
Premium to NAV
Realised vs target
1.977x / 2.0x

Keeper liveness

Heartbeats, halted flag and per-loop status. Two keepers on different RPCs are the target.

  • keeper-stagingv0.1.0 · surfpool#0 · heartbeat 3 s ago
    stream dGOLD:band dGOLD:stop dGOLD:tick dMSTR:band dMSTR:stop dMSTR:tick uGOLD:band uGOLD:stop uGOLD:tick uMSTR:band uMSTR:stop uMSTR:tick dGOLD:crank dGOLD:guard dMSTR:crank dMSTR:guard dUS100:band dUS100:stop dUS100:tick dUS500:band dUS500:stop dUS500:tick uGOLD:crank uGOLD:guard uMSTR:crank uMSTR:guard uUS100:band uUS100:stop uUS100:tick uUS500:band uUS500:stop uUS500:tick dGOLD:inflow dGOLD:margin dGOLD:redeem dMSTR:inflow dMSTR:margin dMSTR:redeem dUS100:crank dUS100:guard dUS500:crank dUS500:guard dWTIOIL:band dWTIOIL:stop dWTIOIL:tick uGOLD:inflow uGOLD:margin uGOLD:redeem uMSTR:inflow uMSTR:margin uMSTR:redeem uUS100:crank uUS100:guard uUS500:crank uUS500:guard uWTIOIL:band uWTIOIL:stop uWTIOIL:tick dGOLD:harvest dMSTR:harvest dUS100:inflow dUS100:margin dUS100:redeem dUS500:inflow dUS500:margin dUS500:redeem dWTIOIL:crank dWTIOIL:guard uGOLD:harvest ✗ 1uMSTR:harvest ✗ 1uUS100:inflow uUS100:margin uUS100:redeem uUS500:inflow uUS500:margin uUS500:redeem uWTIOIL:crank uWTIOIL:guard dUS100:harvest ✗ 1dUS500:harvest ✗ 1dWTIOIL:inflow dWTIOIL:margin dWTIOIL:redeem uUS100:harvest ✗ 1uUS500:harvest ✗ 1uWTIOIL:inflow uWTIOIL:margin uWTIOIL:redeem dWTIOIL:harvest ✗ 1uWTIOIL:harvest

Alerts · 1 open

Raised by the keeper, resolved when the condition clears.

  • warning
    TICK_FAILED · dWTIOIL15 Sep 14:42 UTC
    dWTIOIL: tick failed: fetch failed
  • warning
    CRANK_STALE · dWTIOIL15 Sep 15:24 UTC → resolved 1 min ago
    dWTIOIL: last crank never during an external session
  • warning
    CRANK_STALE · dWTIOIL15 Sep 15:19 UTC → resolved 6 min ago
    dWTIOIL: last crank never during an external session
  • warning
    CRANK_STALE · dWTIOIL15 Sep 15:14 UTC → resolved 12 min ago
    dWTIOIL: last crank never during an external session
  • warning
    CRANK_STALE · dWTIOIL15 Sep 14:58 UTC → resolved 14 min ago
    dWTIOIL: last crank never during an external session
  • warning
    CRANK_STALE · dWTIOIL15 Sep 14:17 UTC → resolved 50 min ago
    dWTIOIL: last crank 306s ago during an external session
  • warning
    CRANK_STALE · dWTIOIL15 Sep 14:04 UTC → resolved 1.4 h ago
    dWTIOIL: last crank never during an external session

Event log

Every action planned, sent or observed for this token, newest first.

TimeKindStatusReasonLeverageAmountFill / markSlipTx
15 Sep 15:25 UTCCranksentTransaction 3a8VF1udGjzTBCmaoP18iGsRqqFFkzhrZ4XwwGPKmQvAo4Xgz9jLGVT6hh5zCy6DHFBxnkzqzzcPNsyekbMAYcPy remains unresolved: Cannot destructure property 'err' of 'data' as it is undefined.1.98x → —3a8V…YcPy
15 Sep 15:25 UTCCrankconfirmedcrank: receipt 15s old, session external1.98x → —5ErZ…ua2X
15 Sep 15:25 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 15:25 UTCCrankconfirmedcrank: receipt 14s old, session external1.98x → —22ni…bN6C
15 Sep 15:25 UTCCrankconfirmedcrank: receipt 14s old, session external1.98x → —5nM2…CGHx
15 Sep 15:24 UTCCrankconfirmedcrank: receipt 13s old, session external1.98x → —5WdT…CExZ
15 Sep 15:24 UTCCrankconfirmedcrank: receipt 7s old, session external1.98x → —2Yna…4jKs
15 Sep 15:24 UTCCrankconfirmedfirst crank for dWTIOIL1.98x → —47Sb…Ngt1
15 Sep 15:24 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 15:23 UTCCrankconfirmedcrank: receipt 23s old, session external1.98x → —3Sbg…yXRU
15 Sep 15:23 UTCCrankconfirmedcrank: receipt 19s old, session external1.99x → —5HT8…Mo8e
15 Sep 15:22 UTCCrankconfirmedcrank: receipt 20s old, session external1.98x → —4QXV…hDaW
15 Sep 15:22 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 15:22 UTCCrankconfirmedcrank: receipt 18s old, session external1.98x → —H5q6…4eb1
15 Sep 15:22 UTCCrankconfirmedcrank: receipt 18s old, session external1.98x → —2n9r…x9hg
15 Sep 15:21 UTCCrankconfirmedcrank: receipt 15s old, session external1.98x → —44Km…MzGF
15 Sep 15:21 UTCCrankconfirmedcrank: receipt 14s old, session external1.98x → —sq3L…TD31
15 Sep 15:21 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 15:21 UTCCrankconfirmedcrank: receipt 15s old, session external1.98x → —vFAK…hFnp
15 Sep 15:21 UTCCrankconfirmedcrank: receipt 12s old, session external1.98x → —2LBd…ZFqc
15 Sep 15:20 UTCCrankconfirmedcrank: receipt 15s old, session external1.98x → —XyjX…vHM4
15 Sep 15:20 UTCCrankconfirmedcrank: receipt 14s old, session external1.98x → —29Gc…vwXL
15 Sep 15:20 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 15:20 UTCCrankconfirmedcrank: receipt 16s old, session external1.98x → —5Etz…6Afo
15 Sep 15:20 UTCCrankconfirmedcrank: receipt 13s old, session external1.98x → —skQC…4dfm
15 Sep 15:19 UTCCrankconfirmedfirst crank for dWTIOIL1.98x → —3Ukh…WSWg
15 Sep 15:19 UTCCrankconfirmedfirst crank for dWTIOIL1.98x → —2FQw…kB6Y
15 Sep 15:19 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 15:18 UTCCrankconfirmedcrank: receipt 21s old, session external1.99x → —64Fh…W9hk
15 Sep 15:18 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 15:18 UTCCrankconfirmedcrank: receipt 21s old, session external1.99x → —5LtP…GJGa
15 Sep 15:17 UTCCrankconfirmedcrank: receipt 20s old, session external1.99x → —2VhC…pDtU
15 Sep 15:17 UTCCrankconfirmedcrank: receipt 24s old, session external1.99x → —3Cvy…hVUp
15 Sep 15:17 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 15:17 UTCCrankconfirmedcrank: receipt 22s old, session external1.99x → —4xHP…aL1e
15 Sep 15:16 UTCCrankconfirmedcrank: receipt 23s old, session external1.99x → —4Fa8…cRZc
15 Sep 15:16 UTCCrankconfirmedcrank: receipt 22s old, session external1.99x → —2RqJ…KNeD
15 Sep 15:16 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 15:15 UTCCrankconfirmedcrank: receipt 20s old, session external1.99x → —5CtT…7te7
15 Sep 15:15 UTCCrankconfirmedcrank: receipt 20s old, session external1.99x → —4fuT…WguE
15 Sep 15:15 UTCCrankconfirmedcrank: receipt 20s old, session external1.99x → —5h3Z…CZrx
15 Sep 15:15 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 15:14 UTCCrankconfirmedcrank: receipt 17s old, session external1.99x → —4Yur…G3AB
15 Sep 15:14 UTCCrankconfirmedcrank: receipt 22s old, session external1.99x → —xJbW…UrBf
15 Sep 15:14 UTCCrankconfirmedfirst crank for dWTIOIL1.99x → —23sV…Qu58
15 Sep 15:14 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 15:13 UTCCrankconfirmedcrank: receipt 21s old, session external1.99x → —5241…kpVA
15 Sep 15:12 UTCCrankconfirmedcrank: receipt 16s old, session external1.99x → —8uNs…z3ad
15 Sep 15:12 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 15:12 UTCCrankconfirmedcrank: receipt 15s old, session external1.98x → —5pYL…2pAR
15 Sep 15:12 UTCCrankconfirmedcrank: receipt 15s old, session external1.98x → —VH3b…GLRR
15 Sep 15:11 UTCCrankconfirmedcrank: receipt 16s old, session external1.98x → —58KW…4hBM
15 Sep 15:11 UTCCrankconfirmedfirst crank for dWTIOIL1.97x → —MU5f…CnJ9
15 Sep 15:11 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 15:09 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 15:08 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 15:07 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 15:06 UTCCrankfailedsimulation failed for crank: "InvalidProgramForExecution" :: 1.97x → —
15 Sep 15:06 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 15:05 UTCCrankfailedsimulation failed for crank: "InvalidProgramForExecution" :: 1.97x → —
15 Sep 15:05 UTCCrankfailedsimulation failed for crank: "InvalidProgramForExecution" :: 1.97x → —
15 Sep 15:05 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 15:04 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 15:03 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 15:02 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 15:01 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 15:00 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 14:59 UTCCrankfailedsimulation failed for crank: "InvalidProgramForExecution" :: 1.97x → —
15 Sep 14:59 UTCCrankfailedsimulation failed for crank: "InvalidProgramForExecution" :: 1.97x → —
15 Sep 14:58 UTCCrankfailedsimulation failed for crank: "InvalidProgramForExecution" :: 1.97x → —
15 Sep 14:58 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 14:39 UTCCrankconfirmedcrank: receipt 20s old, session external1.96x → —2Jqt…Stms
15 Sep 14:39 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 14:38 UTCCrankconfirmedcrank: receipt 20s old, session external1.97x → —26RL…pyuh
15 Sep 14:38 UTCCrankconfirmedcrank: receipt 18s old, session external1.96x → —2AY8…XFYS
15 Sep 14:38 UTCCrankconfirmedcrank: receipt 19s old, session external1.96x → —uxew…ALvP
15 Sep 14:38 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 14:37 UTCCrankconfirmedcrank: receipt 16s old, session external1.97x → —5iJR…rBfG
15 Sep 14:37 UTCCrankconfirmedcrank: receipt 18s old, session external1.96x → —3ser…Nx9X
15 Sep 14:37 UTCCrankconfirmedcrank: receipt 14s old, session external1.96x → —2FYQ…F7Xv
15 Sep 14:36 UTCCrankconfirmedcrank: receipt 15s old, session external1.96x → —44Yx…zBxC
15 Sep 14:36 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 14:36 UTCCrankconfirmedcrank: receipt 13s old, session external1.96x → —2BY1…bnZV
15 Sep 14:36 UTCCrankconfirmedcrank: receipt 14s old, session external1.96x → —Jtha…edZv
15 Sep 14:35 UTCCrankconfirmedcrank: receipt 16s old, session external1.96x → —JE81…SfZN
15 Sep 14:35 UTCCrankconfirmedfirst crank for dWTIOIL1.95x → —4NyR…qVqV
15 Sep 14:35 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 14:27 UTCCrankskippedPrior vault transaction reconciled; read fresh state before replanning1.97x → —
15 Sep 14:27 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 14:24 UTCCrankconfirmedcrank: receipt 372s old, session external1.96x → —2uuD…aXqs
15 Sep 14:24 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 14:17 UTCCrankconfirmedcrank: receipt 306s old, session external1.96x → —BjYR…Utzi
15 Sep 14:17 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 14:12 UTCCrankconfirmedcrank: receipt 90s old, session external1.96x → —2iP6…nDZt
15 Sep 14:12 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 14:10 UTCCrankconfirmedcrank: receipt 35s old, session external1.95x → —3ChN…Sq61
15 Sep 14:10 UTCCrankconfirmedcrank: receipt 31s old, session external1.95x → —nrZg…Grk3
15 Sep 14:10 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 14:09 UTCCrankconfirmedcrank: receipt 28s old, session external1.95x → —2jVi…GuLy
15 Sep 14:08 UTCCrankconfirmedcrank: receipt 27s old, session external1.95x → —564t…mRBZ
15 Sep 14:08 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 14:08 UTCCrankconfirmedcrank: receipt 24s old, session external1.95x → —5rPd…NgR2
15 Sep 14:07 UTCCrankconfirmedcrank: receipt 22s old, session external1.95x → —4Pmd…bYZF
15 Sep 14:07 UTCCrankconfirmedcrank: receipt 23s old, session external1.96x → —56za…xqaM
15 Sep 14:07 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 14:07 UTCCrankconfirmedcrank: receipt 19s old, session external1.95x → —374C…fgHt
15 Sep 14:06 UTCCrankconfirmedcrank: receipt 19s old, session external1.95x → —Tkp5…h7cr
15 Sep 14:06 UTCCrankconfirmedcrank: receipt 18s old, session external1.95x → —2qAs…CKs8
15 Sep 14:06 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 14:06 UTCCrankconfirmedcrank: receipt 18s old, session external1.96x → —25Dj…uvDS
15 Sep 14:05 UTCCrankconfirmedcrank: receipt 17s old, session external1.96x → —2kki…cKRa
15 Sep 14:05 UTCCrankconfirmedcrank: receipt 16s old, session external1.95x → —4TrT…NoZm
15 Sep 14:05 UTCCrankconfirmedcrank: receipt 13s old, session external1.95x → —5QNC…mieL
15 Sep 14:05 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection
15 Sep 14:04 UTCCrankconfirmedcrank: receipt 14s old, session external1.95x → —47bX…n9eW
15 Sep 14:04 UTCCrankconfirmedcrank: receipt 14s old, session external1.95x → —3VQE…Jb63
15 Sep 14:04 UTCCrankconfirmedcrank: receipt 16s old, session external1.95x → —5vZN…wEqt
15 Sep 14:04 UTCCrankconfirmedfirst crank for dWTIOIL1.95x → —4ZeK…p3Vz
15 Sep 14:04 UTCCrankskippedstop placement is disabled for this deployment; there is no verified keeper-independent backstop until it can, so keeper uptime is the only protection