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

uAAPLLive

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 9 s ago
Leverage bandin band
Leverage 1.94xband 1.8–2.3x · hard delever 2.6x
1.94x
uAAPL realised leverage 1.94x; realised leverage = notional ÷ NAV; the keeper rebalances outside the band
1.80x2.00x2.30x2.60x
Venue equity / notionalbetween floor and ceiling
Margin 25.7% of notionalfloor 17.9% · target 25% · ceiling 32.1%
25.7%
uAAPL equity / notional 25.7%; 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
−21%
−14%
−7%
+7%
+14%
+21%
$251.14
$259.80
$282.87
$298.22
$359.73
$360.62
$329.45
If the price falls
  1. Margin floor 17.9% of notional−9.5% · $298.22
    Top up collateral from idle
  2. Band edge 2.30x−14.1% · $282.87
    Rebalance down to target (any hour)
  3. Hard delever 2.60x−21.1% · $259.80
    Emergency delever to target, market order
  4. Liquidation (est.)−23.8% · $251.14
    Phoenix liquidates the account; the stop and top-ups sit well before this
If the price rises
  1. Band edge 1.80x+9.2% · $359.73
    Rebalance up to target (external session only)
  2. Margin ceiling 32.1% of notional+9.5% · $360.62
    Withdraw excess collateral to idle

Computed from realised leverage 1.943x and venue equity at 25.7% of notional at mark $329.45, 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,996 USDC · 50.0%
Collateral at Phoenix (share of NAV)2,497 USDC · equity 25.7% of notional
Pending redemptionsnone
Cap used$4,996.19 of $250.0K
LP supply
5,000 uAAPL
Token price
0.999238 USDC
Unrealised PnL
−3.65 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
$329.45
Index
$329.45
Pool price
no pool
Premium to NAV
Realised vs target
1.943x / 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 7 s ago
    stream dAAPL:band dAAPL:stop dAAPL:tick dGOLD:band dGOLD:stop dGOLD:tick dMSTR:band dMSTR:stop dMSTR:tick dNVDA:band dNVDA:stop dNVDA:tick dSPCX:band dSPCX:stop dSPCX:tick uAAPL:band uAAPL:stop uAAPL:tick uGOLD:band uGOLD:stop uGOLD:tick uMSTR:band uMSTR:stop uMSTR:tick uNVDA:band uNVDA:stop uNVDA:tick uSPCX:band uSPCX:stop uSPCX:tick dAAPL:crank dAAPL:guard dGOLD:crank dGOLD:guard dMSTR:crank dMSTR:guard dNVDA:crank dNVDA:guard dSPCX:crank dSPCX:guard dUS100:band dUS100:stop dUS100:tick dUS500:band dUS500:stop dUS500:tick uAAPL:crank uAAPL:guard uGOLD:crank uGOLD:guard uMSTR:crank uMSTR:guard uNVDA:crank uNVDA:guard uSPCX:crank uSPCX:guard uUS100:band uUS100:stop uUS100:tick uUS500:band uUS500:stop uUS500:tick dAAPL:inflow dAAPL:margin dAAPL:redeem dGOLD:inflow dGOLD:margin dGOLD:redeem dMSTR:inflow dMSTR:margin dMSTR:redeem dNVDA:inflow dNVDA:margin dNVDA:redeem dSPCX:inflow dSPCX:margin dSPCX:redeem dUS100:crank dUS100:guard dUS500:crank dUS500:guard dWTIOIL:band dWTIOIL:stop dWTIOIL:tick uAAPL:inflow uAAPL:margin uAAPL:redeem uGOLD:inflow uGOLD:margin uGOLD:redeem uMSTR:inflow uMSTR:margin ✗ 3uMSTR:redeem uNVDA:inflow uNVDA:margin uNVDA:redeem uSPCX:inflow uSPCX:margin uSPCX:redeem uUS100:crank uUS100:guard uUS500:crank uUS500:guard uWTIOIL:band uWTIOIL:stop uWTIOIL:tick dAAPL:harvest ✗ 1dGOLD:harvest ✗ 1dMSTR:harvest ✗ 1dNVDA:harvest ✗ 1dSPCX:harvest dUS100:inflow dUS100:margin dUS100:redeem dUS500:inflow dUS500:margin dUS500:redeem dWTIOIL:crank dWTIOIL:guard uAAPL:harvest ✗ 1uGOLD:harvest ✗ 1uMSTR:harvest ✗ 1uNVDA:harvest uSPCX: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 uUS500:harvest uWTIOIL:inflow uWTIOIL:margin uWTIOIL:redeem dWTIOIL:harvest uWTIOIL:harvest ✗ 1

Alerts

Raised by the keeper, resolved when the condition clears.

  • warning
    CRANK_STALE · uAAPL15 Sep 15:44 UTC → resolved 8 min ago
    uAAPL: last crank 104s ago during an external session
  • warning
    CRANK_STALE · uAAPL15 Sep 15:37 UTC → resolved 10 min ago
    uAAPL: last crank 91s ago during an external session
  • warning
    CRANK_STALE · uAAPL15 Sep 15:35 UTC → resolved 17 min ago
    uAAPL: 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:52 UTCCrankconfirmedcrank: receipt 15s old, session external1.94x → —3yfh…7q3Q
15 Sep 15:52 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:52 UTCCrankconfirmedcrank: receipt 14s old, session external1.94x → —5VCF…zznm
15 Sep 15:52 UTCCrankconfirmedcrank: receipt 14s old, session external1.94x → —4cPV…7Hfc
15 Sep 15:52 UTCCrankconfirmedcrank: receipt 13s old, session external1.94x → —2xbU…prq7
15 Sep 15:51 UTCCrankconfirmedcrank: receipt 73s old, session external1.94x → —3jFW…X7CP
15 Sep 15:51 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:51 UTCCrankskippedPrior vault transaction reconciled; read fresh state before replanning1.94x → —
15 Sep 15:50 UTCCrankconfirmedcrank: receipt 14s old, session external1.94x → —A8FJ…XeW9
15 Sep 15:50 UTCCrankconfirmedcrank: receipt 15s old, session external1.94x → —47Y4…bMQg
15 Sep 15:50 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:50 UTCCrankconfirmedcrank: receipt 14s old, session external1.94x → —5FUL…UQNu
15 Sep 15:50 UTCCrankconfirmedcrank: receipt 73s old, session external1.94x → —uF68…ditA
15 Sep 15:49 UTCCrankskippedPrior vault transaction reconciled; read fresh state before replanning1.94x → —
15 Sep 15:49 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:49 UTCCrankconfirmedcrank: receipt 14s old, session external1.94x → —3JSm…L8Zc
15 Sep 15:48 UTCCrankconfirmedcrank: receipt 75s old, session external1.94x → —4pqJ…cgEa
15 Sep 15:48 UTCCrankskippedPrior vault transaction reconciled; read fresh state before replanning1.94x → —
15 Sep 15:48 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:47 UTCCrankconfirmedcrank: receipt 15s old, session external1.94x → —CnJN…axsT
15 Sep 15:47 UTCCrankconfirmedcrank: receipt 15s old, session external1.94x → —sMix…q26d
15 Sep 15:47 UTCCrankconfirmedcrank: receipt 15s old, session external1.94x → —4WBC…Pbgm
15 Sep 15:47 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:47 UTCCrankconfirmedcrank: receipt 12s old, session external1.94x → —X59j…WdJk
15 Sep 15:46 UTCCrankconfirmedcrank: receipt 14s old, session external1.94x → —4CC4…mEyE
15 Sep 15:46 UTCCrankconfirmedcrank: receipt 75s old, session external1.94x → —3q61…SP5A
15 Sep 15:46 UTCCrankskippedPrior vault transaction reconciled; read fresh state before replanning1.94x → —
15 Sep 15:46 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:45 UTCCrankconfirmedcrank: receipt 14s old, session external1.94x → —3qLt…eR9Z
15 Sep 15:45 UTCCrankconfirmedcrank: receipt 13s old, session external1.94x → —62mV…vjhm
15 Sep 15:45 UTCCrankconfirmedcrank: receipt 14s old, session external1.94x → —4fLg…oTPi
15 Sep 15:44 UTCCrankconfirmedcrank: receipt 14s old, session external1.94x → —52Q6…yihe
15 Sep 15:44 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:44 UTCCrankconfirmedcrank: receipt 136s old, session external1.94x → —ya8q…BYzu
15 Sep 15:44 UTCCrankskippedPrior vault transaction reconciled; read fresh state before replanning1.94x → —
15 Sep 15:43 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:43 UTCCrankconfirmedcrank: receipt 75s old, session external1.94x → —5qyk…LqkG
15 Sep 15:43 UTCCrankskippedPrior vault transaction reconciled; read fresh state before replanning1.94x → —
15 Sep 15:42 UTCCrankconfirmedcrank: receipt 16s old, session external1.94x → —4yJp…Tbjf
15 Sep 15:42 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:42 UTCCrankconfirmedcrank: receipt 378s old, session external1.94x → —htdX…iXvg
15 Sep 15:41 UTCCrankskippedPrior vault transaction reconciled; read fresh state before replanning1.94x → —
15 Sep 15:41 UTCCrankconfirmedcrank: receipt 318s old, session external1.94x → —3MTH…MqtD
15 Sep 15:41 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:40 UTCCrankskippedPrior vault transaction reconciled; read fresh state before replanning1.94x → —
15 Sep 15:40 UTCCrankconfirmedcrank: receipt 256s old, session external1.94x → —2jYj…ndXg
15 Sep 15:40 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:39 UTCCrankskippedPrior vault transaction reconciled; read fresh state before replanning1.94x → —
15 Sep 15:39 UTCCrankconfirmedcrank: receipt 196s old, session external1.94x → —yGCP…JUCb
15 Sep 15: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 15:38 UTCCrankskippedPrior vault transaction reconciled; read fresh state before replanning1.94x → —
15 Sep 15:38 UTCCrankconfirmedcrank: receipt 136s old, session external1.94x → —uUeT…5v3Z
15 Sep 15: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 15:37 UTCCrankskippedPrior vault transaction reconciled; read fresh state before replanning1.94x → —
15 Sep 15:37 UTCCrankconfirmedcrank: receipt 78s old, session external1.94x → —hSvW…EC8G
15 Sep 15:36 UTCCrankskippedPrior vault transaction reconciled; read fresh state before replanning1.94x → —
15 Sep 15: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 15:36 UTCCrankconfirmedcrank: receipt 15s old, session external1.94x → —wMo5…cgy4
15 Sep 15:36 UTCCrankconfirmedcrank: receipt 13s old, session external1.94x → —EW1h…GkqG
15 Sep 15:35 UTCHarvest feefailedharvest_fee needs the Voltr protocol treasury address; wire it in once the vault is created (#13)1.94x → —
15 Sep 15:35 UTCCrankconfirmedfirst crank for uAAPL1.94x → —RSsN…JmG3
15 Sep 15: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