Transparency
dNVDALocal
What backs the token, where the keeper’s lines are, and every action it has taken. Read straight from the keeper’s own records.
Action ladder
At what underlying move does each keeper action fire, from the latest snapshot and this token's policy.
- Band edge 1.80x−3.6% · $210.62Rebalance up to target (external session only)
- Margin ceiling 32.1% of notional−5.4% · $206.66Withdraw excess collateral to idle
- Band edge 2.30x+4.5% · $228.36Rebalance down to target (any hour)
- Margin floor 17.9% of notional+6.0% · $231.57Top up collateral from idle
- Hard delever 2.60x+8.3% · $236.64Emergency delever to target, market order
- Liquidation (est.)+20.7% · $263.77Phoenix liquidates the account; the stop and top-ups sit well before this
Computed from realised leverage 2.001x and venue equity at 25.0% of notional at mark $218.46, 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 3.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.
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.
Buffers and capacity
Idle USDC pays instant redemptions and Jupiter sells; collateral sits at Phoenix; the cap bounds TVL against Phoenix depth.
- LP supply
- 5,000 dNVDA
- NAV per token
- 0.999656 USDC
- Unrealised PnL
- 1.79 USDC
- Funding (annualised)
- —
Session
How the underlying is being priced right now.
The underlying exchange is closed. Phoenix prices the market from its own order flow, bounded to 1/max-leverage from the last external print. NAV marks to that price. Only defensive rebalances run; NAV shows "internal pricing".
- Mark
- $218.46
- Index
- none (no external print)
- Pool price
- no pool
- Premium to NAV
- —
- Realised vs target
- 2.001x / 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 18 s agostream ✓dMSTR:band ✓dMSTR:stop ✓dMSTR:tick ✓dNVDA:band ✓dNVDA:stop ✓dNVDA:tick ✓dTSLA:band ✓dTSLA:stop ✓dTSLA:tick ✓uMSTR:band ✓uMSTR:stop ✓uMSTR:tick ✓uNVDA:band ✓uNVDA:stop ✓uNVDA:tick ✓uTSLA:band ✓uTSLA:stop ✓uTSLA:tick ✓dMSTR:crank ✓dMSTR:guard ✓dNVDA:crank ✓dNVDA:guard ✓dTSLA:crank ✓dTSLA:guard ✓dUS100:band ✓dUS100:stop ✓dUS100:tick ✓dUS500:band ✓dUS500:stop ✓dUS500:tick ✓uMSTR:crank ✓uMSTR:guard ✓uNVDA:crank ✓uNVDA:guard ✓uTSLA:crank ✓uTSLA:guard ✓uUS100:band ✓uUS100:stop ✓uUS100:tick ✓uUS500:band ✓uUS500:stop ✓uUS500:tick ✓dMSTR:inflow ✓dMSTR:margin ✓dMSTR:redeem ✓dNVDA:inflow ✓dNVDA:margin ✓dNVDA:redeem ✓dTSLA:inflow ✓dTSLA:margin ✓dTSLA:redeem ✓dUS100:crank ✓dUS100:guard ✓dUS500:crank ✓dUS500:guard ✓uMSTR:inflow ✓uMSTR:margin ✓uMSTR:redeem ✓uNVDA:inflow ✓uNVDA:margin ✓uNVDA:redeem ✓uTSLA:inflow ✓uTSLA:margin ✓uTSLA:redeem ✓uUS100:crank ✓uUS100:guard ✓uUS500:crank ✓uUS500:guard ✓dMSTR:harvest ✗ 1dNVDA:harvest ✓dTSLA:harvest ✗ 1dUS100:inflow ✓dUS100:margin ✓dUS100:redeem ✓dUS500:inflow ✓dUS500:margin ✓dUS500:redeem ✓uMSTR:harvest ✗ 1uNVDA:harvest ✗ 1uTSLA:harvest ✗ 1uUS100:inflow ✓uUS100:margin ✓uUS100:redeem ✓uUS500:inflow ✓uUS500:margin ✓uUS500:redeem ✓dUS100:harvest ✗ 1dUS500:harvest ✗ 1uUS100:harvest ✗ 1uUS500:harvest ✗ 1
- keeper-ahaltedv0.1.0 · test · heartbeat 47 min ago (stale)
Alerts
Raised by the keeper, resolved when the condition clears.
- warningDEPTH_UNAVAILABLE · dNVDA12 Sep 23:28 UTC → resolved 3 min agodNVDA: order-book depth unreadable; expansion is refused and defensive slices use the fallback depth
- warningTICK_FAILED · dNVDA12 Sep 23:23 UTC → resolved 7 min agodNVDA: tick failed: Hawkeye return data expected at least 8 bytes, got 0
- warningDEPTH_UNAVAILABLE · dNVDA12 Sep 23:12 UTC → resolved 17 min agodNVDA: order-book depth unreadable; expansion is refused and defensive slices use the fallback depth
- warningTICK_FAILED · dNVDA12 Sep 23:08 UTC → resolved 23 min agodNVDA: tick failed: Hawkeye return data expected at least 8 bytes, got 0
- warningDEPTH_UNAVAILABLE · dNVDA12 Sep 23:02 UTC → resolved 29 min agodNVDA: order-book depth unreadable; expansion is refused and defensive slices use the fallback depth
- warningDEPTH_UNAVAILABLE · dNVDA12 Sep 22:33 UTC → resolved 57 min agodNVDA: order-book depth unreadable; expansion is refused and defensive slices use the fallback depth
- warningDEPTH_UNAVAILABLE · dNVDA12 Sep 22:29 UTC → resolved 1.0 h agodNVDA: order-book depth unreadable; expansion is refused and defensive slices use the fallback depth
Event log
Every action planned, sent or observed for this token, newest first.
| Time | Kind | Status | Reason | Leverage | Amount | Fill / mark | Slip | Tx |
|---|---|---|---|---|---|---|---|---|
| 12 Sep 23:32 UTC | Crank | confirmed | crank: receipt 138s old, session impact | 2.00x → — | — | — | — | 67Hi…H7me |
| 12 Sep 23:32 UTC | Crank | skipped | the adaptor cannot place a conditional stop yet (#8); there is no keeper-independent backstop until it can, so keeper uptime is the only protection | — | — | — | — | — |
| 12 Sep 23:30 UTC | Crank | confirmed | crank: receipt 114s old, session impact | 2.00x → — | — | — | — | 3vuV…9eHB |
| 12 Sep 23:28 UTC | Crank | confirmed | crank: receipt 124s old, session impact | 2.00x → — | — | — | — | 3yM2…P9Eh |
| 12 Sep 23:28 UTC | Crank | skipped | the adaptor cannot place a conditional stop yet (#8); there is no keeper-independent backstop until it can, so keeper uptime is the only protection | — | — | — | — | — |
| 12 Sep 23:26 UTC | Crank | confirmed | first crank for dNVDA | 2.00x → — | — | — | — | 2VZt…i4wD |
| 12 Sep 23:23 UTC | Crank | confirmed | first crank for dNVDA | 2.00x → — | — | — | — | 4cbP…VjyM |
| 12 Sep 23:23 UTC | Crank | skipped | the adaptor cannot place a conditional stop yet (#8); there is no keeper-independent backstop until it can, so keeper uptime is the only protection | — | — | — | — | — |
| 12 Sep 23:19 UTC | Crank | confirmed | crank: receipt 212s old, session impact | 2.01x → — | — | — | — | Dfbv…96bk |
| 12 Sep 23:19 UTC | Crank | skipped | the adaptor cannot place a conditional stop yet (#8); there is no keeper-independent backstop until it can, so keeper uptime is the only protection | — | — | — | — | — |
| 12 Sep 23:16 UTC | Crank | confirmed | crank: receipt 189s old, session impact | 2.01x → — | — | — | — | 4fTJ…PyXz |
| 12 Sep 23:12 UTC | Crank | confirmed | attempt 1: Solana error #-32002; Decode this error by running `npx @solana/errors decode -- -32002 'X19jb2RlPS0zMjAwMiZsb2dzPSU1QlByb2dyYW0lMjBDb21wdXRlQnVkZ2V0MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExJTIwaW52b2tlJTIwJTVCMSU1RCUyQyUyMFByb2dyYW0lMjBDb21wdXRlQnVkZ2V0MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExJTIwc3VjY2VzcyUyQyUyMFByb2dyYW0lMjBDb21wdXRlQnVkZ2V0MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExJTIwaW52b2tlJTIwJTVCMSU1RCUyQyUyMFByb2dyYW0lMjBDb21wdXRlQnVkZ2V0MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExJTIwc3VjY2VzcyUyQyUyMFByb2dyYW0lMjBDSnhCUE44M2o3WXZIRHVMQ2FxOURkcnA5UUhxVkFBVTlUWFFHUFJCcEF0ViUyMGludm9rZSUyMCU1QjElNUQlMkMlMjBQcm9ncmFtJTIwbG9nJTNBJTIwSW5zdHJ1Y3Rpb24lM0ElMjBjcmFuayUyQyUyMFByb2dyYW0lMjBDSnhCUE44M2o3WXZIRHVMQ2FxOURkcnA5UUhxVkFBVTlUWFFHUFJCcEF0ViUyMGNvbnN1bWVkJTIwODIzMSUyMG9mJTIwMTM5OTcwMCUyMGNvbXB1dGUlMjB1bml0cyUyQyUyMFByb2dyYW0lMjBDSnhCUE44M2o3WXZIRHVMQ2FxOURkcnA5UUhxVkFBVTlUWFFHUFJCcEF0ViUyMGZhaWxlZCUzQSUyMGN1c3RvbSUyMHByb2dyYW0lMjBlcnJvciUzQSUyMDB4MTc3MyU1RCZhY2NvdW50cz1udWxsJnVuaXRzQ29uc3VtZWQ9ODUzMW4mbG9hZGVkQWNjb3VudHNEYXRhU2l6ZT1udWxsJnJldHVybkRhdGE9JTVCb2JqZWN0JTIwT2JqZWN0JTVEJmlubmVySW5zdHJ1Y3Rpb25zPW51bGwmcmVwbGFjZW1lbnRCbG9ja2hhc2g9bnVsbCZmZWU9bnVsbCZwcmVCYWxhbmNlcz1udWxsJnBvc3RCYWxhbmNlcz1udWxsJnByZVRva2VuQmFsYW5jZXM9bnVsbCZwb3N0VG9rZW5CYWxhbmNlcz1udWxsJmxvYWRlZEFkZHJlc3Nlcz1udWxs'` | 2.01x → — | — | — | — | 3Ysf…Vx16 |
| 12 Sep 23:12 UTC | Crank | skipped | the adaptor cannot place a conditional stop yet (#8); there is no keeper-independent backstop until it can, so keeper uptime is the only protection | — | — | — | — | — |
| 12 Sep 23:10 UTC | Crank | confirmed | crank: receipt 234s old, session impact | 2.00x → — | — | — | — | 3gQ4…1KFL |
| 12 Sep 23:08 UTC | Crank | confirmed | crank: receipt 116s old, session impact | 2.00x → — | — | — | — | 2jp1…H9pk |
| 12 Sep 23:08 UTC | Crank | skipped | the adaptor cannot place a conditional stop yet (#8); there is no keeper-independent backstop until it can, so keeper uptime is the only protection | — | — | — | — | — |
| 12 Sep 23:06 UTC | Crank | confirmed | crank: receipt 116s old, session impact | 2.00x → — | — | — | — | 4TSR…KR6U |
| 12 Sep 23:04 UTC | Crank | confirmed | crank: receipt 92s old, session impact | 2.00x → — | — | — | — | 2ukp…RixE |
| 12 Sep 23:04 UTC | Crank | skipped | the adaptor cannot place a conditional stop yet (#8); there is no keeper-independent backstop until it can, so keeper uptime is the only protection | — | — | — | — | — |
| 12 Sep 23:02 UTC | Crank | confirmed | crank: receipt 112s old, session impact | 2.00x → — | — | — | — | 5ZqS…fiUd |
| 12 Sep 23:00 UTC | Crank | confirmed | crank: receipt 110s old, session impact | 2.00x → — | — | — | — | 65kq…Qax7 |
| 12 Sep 22:58 UTC | Crank | confirmed | first crank for dNVDA | 2.00x → — | — | — | — | 5RqZ…hqro |
| 12 Sep 22:58 UTC | Crank | skipped | the adaptor cannot place a conditional stop yet (#8); there is no keeper-independent backstop until it can, so keeper uptime is the only protection | — | — | — | — | — |
| 12 Sep 22:36 UTC | Crank | confirmed | crank: receipt 143s old, session impact | 2.00x → — | — | — | — | 3zfG…gP4N |
| 12 Sep 22:33 UTC | Crank | confirmed | crank: receipt 120s old, session impact | 2.00x → — | — | — | — | 26NK…a64e |
| 12 Sep 22:33 UTC | Crank | skipped | the adaptor cannot place a conditional stop yet (#8); there is no keeper-independent backstop until it can, so keeper uptime is the only protection | — | — | — | — | — |
| 12 Sep 22:31 UTC | Crank | confirmed | crank: receipt 109s old, session impact | 2.00x → — | — | — | — | 4S8k…nenw |
| 12 Sep 22:29 UTC | Crank | confirmed | crank: receipt 107s old, session impact | 2.00x → — | — | — | — | 4Qqm…Vfgm |
| 12 Sep 22:28 UTC | Crank | confirmed | crank: receipt 146s old, session impact | 2.00x → — | — | — | — | 3qhn…xLXA |
| 12 Sep 22:28 UTC | Crank | skipped | the adaptor cannot place a conditional stop yet (#8); there is no keeper-independent backstop until it can, so keeper uptime is the only protection | — | — | — | — | — |
| 12 Sep 22:25 UTC | Crank | confirmed | crank: receipt 137s old, session impact | 2.00x → — | — | — | — | 391L…tbaq |
| 12 Sep 22:23 UTC | Crank | confirmed | crank: receipt 214s old, session impact | 2.00x → — | — | — | — | 5xAX…hPkt |
| 12 Sep 22:23 UTC | Crank | skipped | the adaptor cannot place a conditional stop yet (#8); there is no keeper-independent backstop until it can, so keeper uptime is the only protection | — | — | — | — | — |
| 12 Sep 22:19 UTC | Crank | confirmed | crank: receipt 109s old, session impact | 2.00x → — | — | — | — | 3g22…5fEZ |
| 12 Sep 22:17 UTC | Crank | confirmed | crank: receipt 143s old, session impact | 2.00x → — | — | — | — | 5q3M…yX3m |
| 12 Sep 22:17 UTC | Crank | skipped | the adaptor cannot place a conditional stop yet (#8); there is no keeper-independent backstop until it can, so keeper uptime is the only protection | — | — | — | — | — |
| 12 Sep 22:15 UTC | Crank | confirmed | crank: receipt 123s old, session impact | 2.00x → — | — | — | — | WMRs…GNid |
| 12 Sep 22:13 UTC | Crank | confirmed | first crank for dNVDA | 2.00x → — | — | — | — | 39y3…7kRZ |
| 12 Sep 22:13 UTC | Crank | skipped | the adaptor cannot place a conditional stop yet (#8); there is no keeper-independent backstop until it can, so keeper uptime is the only protection | — | — | — | — | — |
| 12 Sep 22:08 UTC | Crank | confirmed | crank: receipt 127s old, session impact | 2.01x → — | — | — | — | 31bs…Crhq |
| 12 Sep 22:06 UTC | Crank | confirmed | crank: receipt 140s old, session impact | 2.01x → — | — | — | — | 3nXo…HwTp |
| 12 Sep 22:06 UTC | Crank | skipped | the adaptor cannot place a conditional stop yet (#8); there is no keeper-independent backstop until it can, so keeper uptime is the only protection | — | — | — | — | — |
| 12 Sep 22:03 UTC | Crank | confirmed | crank: receipt 140s old, session impact | 2.01x → — | — | — | — | 286w…gDJx |
| 12 Sep 22:01 UTC | Crank | confirmed | crank: receipt 114s old, session impact | 2.01x → — | — | — | — | M3a9…HmxQ |
| 12 Sep 22:01 UTC | Crank | skipped | the adaptor cannot place a conditional stop yet (#8); there is no keeper-independent backstop until it can, so keeper uptime is the only protection | — | — | — | — | — |
| 12 Sep 21:59 UTC | Crank | confirmed | crank: receipt 138s old, session impact | 2.01x → — | — | — | — | 3dFB…FExB |
| 12 Sep 21:57 UTC | Crank | confirmed | first crank for dNVDA | 2.01x → — | — | — | — | 45yu…eiA3 |
| 12 Sep 21:57 UTC | Crank | skipped | the adaptor cannot place a conditional stop yet (#8); there is no keeper-independent backstop until it can, so keeper uptime is the only protection | — | — | — | — | — |