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

dMSTRLive

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 12 s ago
Leverage bandin band
Leverage 1.93xband 1.8–2.3x · hard delever 2.6x
1.93x
dMSTR realised leverage 1.93x; realised leverage = notional ÷ NAV; the keeper rebalances outside the band
1.80x2.00x2.30x2.60x
Venue equity / notionalbetween floor and ceiling
Margin 26.1% of notionalfloor 17.9% · target 25% · ceiling 32.1%
26.1%
dMSTR equity / notional 26.1%; 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
−17%
−12%
−6%
+6%
+12%
+17%
$123.97
$126.86
$137.53
$138.91
$142.52
$155.97
$129.87
If the price falls
  1. Band edge 1.80x−2.3% · $126.86
    Rebalance up to target (external session only)
  2. Margin ceiling 32.1% of notional−4.5% · $123.97
    Withdraw excess collateral to idle
If the price rises
  1. Band edge 2.30x+5.9% · $137.53
    Rebalance down to target (any hour)
  2. Margin floor 17.9% of notional+7.0% · $138.91
    Top up collateral from idle
  3. Hard delever 2.60x+9.7% · $142.52
    Emergency delever to target, market order
  4. Liquidation (est.)+20.1% · $155.97
    Phoenix liquidates the account; the stop and top-ups sit well before this

Computed from realised leverage 1.925x and venue equity at 26.1% of notional at mark $129.87, 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 5.0% 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 5,030 USDC · 49.7%
Collateral at Phoenix (share of NAV)2,497 USDC · equity 26.1% of notional
Pending redemptionsnone
Cap used$5,030.15 of $250.0K
LP supply
5,000 dMSTR
Token price
1.006029 USDC
Unrealised PnL
30.71 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
$129.87
Index
$129.80
Pool price
no pool
Premium to NAV
Realised vs target
1.925x / 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 5 s ago
    stream dGOLD:band dGOLD:stop dGOLD:tick ✗ 1dMSTR:band dMSTR:stop dMSTR:tick uGOLD:band uGOLD:stop uGOLD:tick ✗ 1uMSTR:band uMSTR:stop uMSTR:tick dGOLD:crank dGOLD:guard dMSTR:crank ✗ 3dMSTR:guard dUS100:band dUS100:stop dUS100:tick dUS500:band dUS500:stop dUS500:tick uGOLD:crank uGOLD:guard uMSTR:crank ✗ 3uMSTR: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 ✗ 3dUS100:guard dUS500:crank ✗ 3dUS500:guard dWTIOIL:band dWTIOIL:stop dWTIOIL:tick uGOLD:inflow uGOLD:margin uGOLD:redeem uMSTR:inflow uMSTR:margin uMSTR:redeem uUS100:crank ✗ 3uUS100:guard uUS500:crank ✗ 3uUS500:guard uWTIOIL:band uWTIOIL:stop uWTIOIL:tick dGOLD:harvest dMSTR:harvest ✗ 1dUS100:inflow dUS100:margin dUS100:redeem dUS500:inflow dUS500:margin dUS500:redeem dWTIOIL:crank ✗ 3dWTIOIL:guard uGOLD:harvest uMSTR:harvest ✗ 1uUS100:inflow uUS100:margin uUS100:redeem uUS500:inflow uUS500:margin uUS500:redeem uWTIOIL:crank ✗ 3uWTIOIL: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 ✗ 1

Alerts · 2 open

Raised by the keeper, resolved when the condition clears.

  • warning
    CRANK_STALE · dMSTR15 Sep 14:59 UTC
    dMSTR: last crank never during an external session
  • warning
    TICK_FAILED · dMSTR15 Sep 14:42 UTC
    dMSTR: tick failed: fetch failed
  • warning
    CRANK_STALE · dMSTR15 Sep 14:13 UTC → resolved 27 min ago
    dMSTR: last crank 136s ago during an external session
  • warning
    CRANK_STALE · dMSTR15 Sep 14:04 UTC → resolved 58 min ago
    dMSTR: 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: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.92x → —
15 Sep 14:59 UTCCrankfailedsimulation failed for crank: "InvalidProgramForExecution" :: 1.92x → —
15 Sep 14:59 UTCHarvest feefailedharvest_fee needs the Voltr protocol treasury address; wire it in once the vault is created (#13)1.92x → —
15 Sep 14:59 UTCCrankfailedsimulation failed for crank: "InvalidProgramForExecution" :: 1.92x → —
15 Sep 14:59 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 21s old, session external1.93x → —Rg8i…iMrZ
15 Sep 14:38 UTCCrankconfirmedcrank: receipt 18s old, session external1.94x → —2k1Q…RWN2
15 Sep 14:38 UTCCrankconfirmedcrank: receipt 19s old, session external1.94x → —5i1N…RDMN
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 17s old, session external1.94x → —hcNC…H534
15 Sep 14:37 UTCCrankconfirmedcrank: receipt 17s old, session external1.93x → —zFMT…TfRi
15 Sep 14:37 UTCCrankconfirmedcrank: receipt 16s old, session external1.94x → —2XeV…zvHL
15 Sep 14:36 UTCCrankconfirmedcrank: receipt 14s old, session external1.94x → —3tbW…Rjzd
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 15s old, session external1.94x → —2aEE…8tCJ
15 Sep 14:36 UTCCrankconfirmedcrank: receipt 14s old, session external1.95x → —2xjg…Hd88
15 Sep 14:36 UTCCrankconfirmedcrank: receipt 12s old, session external1.94x → —4j23…tFYa
15 Sep 14:35 UTCHarvest feefailedharvest_fee needs the Voltr protocol treasury address; wire it in once the vault is created (#13)1.94x → —
15 Sep 14:35 UTCCrankconfirmedfirst crank for dMSTR1.94x → —3S7S…pCw8
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:28 UTCCrankfailedfork reset1.94x → —3657…rYZK
15 Sep 14:28 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:25 UTCCrankskippedPrior vault transaction reconciled; read fresh state before replanning1.93x → —
15 Sep 14: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 14:21 UTCCrankconfirmedcrank: receipt 424s old, session external1.92x → —4hby…N4yR
15 Sep 14: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 14:13 UTCCrankconfirmedcrank: receipt 136s old, session external1.92x → —5aw9…oHfX
15 Sep 14:13 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:11 UTCCrankconfirmedcrank: receipt 46s old, session external1.92x → —3FQG…XWVi
15 Sep 14:10 UTCCrankconfirmedcrank: receipt 34s old, session external1.91x → —3jyT…kE5o
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 30s old, session external1.91x → —3mKW…y4uk
15 Sep 14:09 UTCCrankconfirmedcrank: receipt 26s old, session external1.91x → —N4js…cEQj
15 Sep 14: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 14:08 UTCCrankconfirmedcrank: receipt 25s old, session external1.91x → —3YCa…k6B4
15 Sep 14:08 UTCCrankconfirmedcrank: receipt 25s old, session external1.90x → —4Zyq…7Do8
15 Sep 14:07 UTCCrankconfirmedcrank: receipt 22s old, session external1.90x → —2Mpv…75p1
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 20s old, session external1.90x → —CSoZ…xA5t
15 Sep 14:06 UTCCrankconfirmedcrank: receipt 19s old, session external1.91x → —2GjZ…yxP1
15 Sep 14:06 UTCCrankconfirmedcrank: receipt 19s old, session external1.91x → —4CWZ…sW9y
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.91x → —628c…tikX
15 Sep 14:05 UTCCrankconfirmedcrank: receipt 17s old, session external1.90x → —38JU…7YhP
15 Sep 14:05 UTCCrankconfirmedcrank: receipt 15s old, session external1.91x → —HyTZ…Zxd9
15 Sep 14:05 UTCCrankconfirmedcrank: receipt 15s old, session external1.91x → —56Wh…96Gp
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 15s old, session external1.92x → —XJaj…YfEb
15 Sep 14:04 UTCCrankconfirmedcrank: receipt 14s old, session external1.93x → —pFyW…yXeU
15 Sep 14:04 UTCCrankconfirmedcrank: receipt 11s old, session external1.93x → —U2Yw…qrLv
15 Sep 14:04 UTCHarvest feefailedharvest_fee needs the Voltr protocol treasury address; wire it in once the vault is created (#13)1.93x → —
15 Sep 14:04 UTCCrankconfirmedfirst crank for dMSTR1.94x → —3r7K…3Dt2
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