Transparency
dUS100Local
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 2.70x−2.8% · $694.79Rebalance up to target (external session only)
- Margin ceiling 22.5% of notional−4.2% · $684.86Withdraw excess collateral to idle
- Band edge 3.30x+2.3% · $730.73Rebalance down to target (any hour)
- Margin floor 12.5% of notional+4.4% · $745.73Top up collateral from idle
- Hard delever 4.00x+6.6% · $761.74Emergency delever to target, market order
- Liquidation (est.)+13.4% · $810.61Phoenix liquidates the account; the stop and top-ups sit well before this
Computed from realised leverage 3.007x and venue equity at 17.4% of notional at mark $714.51, 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 dUS100
- NAV per token
- 0.997780 USDC
- Unrealised PnL
- −5.83 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
- $714.51
- Index
- none (no external print)
- Pool price
- no pool
- Premium to NAV
- —
- Realised vs target
- 3.007x / 3.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 6 s agostream ✓dMSTR:band ✓dMSTR:stop ✓dMSTR:tick ✓dNVDA:band ✓dNVDA:stop ✓dNVDA:tick ✗ 1dTSLA: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 ✗ 1dUS500: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 ✗ 1dTSLA: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 24 min ago (stale)
Alerts · 1 open
Raised by the keeper, resolved when the condition clears.
- warningTICK_FAILED · dUS10012 Sep 23:09 UTCdUS100: tick failed: phoenix /exchange/markets -> 429
- warningTICK_FAILED · dUS10012 Sep 22:36 UTC → resolved 5 min agodUS100: tick failed: phoenix /exchange/markets -> 429
- warningDEPTH_UNAVAILABLE · dUS10012 Sep 22:14 UTC → resolved 54 min agodUS100: order-book depth unreadable; expansion is refused and defensive slices use the fallback depth
- warningTICK_FAILED · dUS10012 Sep 22:08 UTC → resolved 37 min agodUS100: tick failed: fetch failed
- warningDEPTH_UNAVAILABLE · dUS10012 Sep 22:04 UTC → resolved 1.0 h agodUS100: 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:07 UTC | Crank | confirmed | crank: receipt 119s old, session impact | 3.01x → — | — | — | — | 4Ci1…YduF |
| 12 Sep 23:07 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:05 UTC | Crank | confirmed | crank: receipt 214s old, session impact | 3.01x → — | — | — | — | 2Ngz…Pr3B |
| 12 Sep 23:01 UTC | Crank | confirmed | attempt 1: Solana error #-32002; Decode this error by running `npx @solana/errors decode -- -32002 'X19jb2RlPS0zMjAwMiZsb2dzPSU1QlByb2dyYW0lMjBDb21wdXRlQnVkZ2V0MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExJTIwaW52b2tlJTIwJTVCMSU1RCUyQyUyMFByb2dyYW0lMjBDb21wdXRlQnVkZ2V0MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExJTIwc3VjY2VzcyUyQyUyMFByb2dyYW0lMjBDb21wdXRlQnVkZ2V0MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExJTIwaW52b2tlJTIwJTVCMSU1RCUyQyUyMFByb2dyYW0lMjBDb21wdXRlQnVkZ2V0MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExJTIwc3VjY2VzcyUyQyUyMFByb2dyYW0lMjBDSnhCUE44M2o3WXZIRHVMQ2FxOURkcnA5UUhxVkFBVTlUWFFHUFJCcEF0ViUyMGludm9rZSUyMCU1QjElNUQlMkMlMjBQcm9ncmFtJTIwbG9nJTNBJTIwSW5zdHJ1Y3Rpb24lM0ElMjBjcmFuayUyQyUyMFByb2dyYW0lMjBDSnhCUE44M2o3WXZIRHVMQ2FxOURkcnA5UUhxVkFBVTlUWFFHUFJCcEF0ViUyMGNvbnN1bWVkJTIwODIzMSUyMG9mJTIwMTM5OTcwMCUyMGNvbXB1dGUlMjB1bml0cyUyQyUyMFByb2dyYW0lMjBDSnhCUE44M2o3WXZIRHVMQ2FxOURkcnA5UUhxVkFBVTlUWFFHUFJCcEF0ViUyMGZhaWxlZCUzQSUyMGN1c3RvbSUyMHByb2dyYW0lMjBlcnJvciUzQSUyMDB4MTc3MyU1RCZhY2NvdW50cz1udWxsJnVuaXRzQ29uc3VtZWQ9ODUzMW4mbG9hZGVkQWNjb3VudHNEYXRhU2l6ZT1udWxsJnJldHVybkRhdGE9JTVCb2JqZWN0JTIwT2JqZWN0JTVEJmlubmVySW5zdHJ1Y3Rpb25zPW51bGwmcmVwbGFjZW1lbnRCbG9ja2hhc2g9bnVsbCZmZWU9bnVsbCZwcmVCYWxhbmNlcz1udWxsJnBvc3RCYWxhbmNlcz1udWxsJnByZVRva2VuQmFsYW5jZXM9bnVsbCZwb3N0VG9rZW5CYWxhbmNlcz1udWxsJmxvYWRlZEFkZHJlc3Nlcz1udWxs'` | 3.01x → — | — | — | — | 4snQ…oqSy |
| 12 Sep 23: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 23:00 UTC | Crank | confirmed | crank: receipt 157s old, session impact | 3.01x → — | — | — | — | 3aq7…MdpP |
| 12 Sep 22:57 UTC | Crank | confirmed | first crank for dUS100 | 3.01x → — | — | — | — | oXJW…Jqix |
| 12 Sep 22: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 | — | — | — | — | — |
| 12 Sep 22:35 UTC | Crank | confirmed | attempt 2: Cannot destructure property 'err' of 'data' as it is undefined. | 3.01x → — | — | — | — | 4zMc…Rmrz |
| 12 Sep 22:33 UTC | Crank | confirmed | crank: receipt 218s old, session impact | 3.01x → — | — | — | — | VsGh…wYaL |
| 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:29 UTC | Crank | confirmed | crank: receipt 142s old, session impact | 3.01x → — | — | — | — | 2cDp…44o2 |
| 12 Sep 22:27 UTC | Crank | confirmed | attempt 1: Solana error #-32002; Decode this error by running `npx @solana/errors decode -- -32002 'X19jb2RlPS0zMjAwMiZsb2dzPSU1QlByb2dyYW0lMjBDb21wdXRlQnVkZ2V0MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExJTIwaW52b2tlJTIwJTVCMSU1RCUyQyUyMFByb2dyYW0lMjBDb21wdXRlQnVkZ2V0MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExJTIwc3VjY2VzcyUyQyUyMFByb2dyYW0lMjBDb21wdXRlQnVkZ2V0MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExJTIwaW52b2tlJTIwJTVCMSU1RCUyQyUyMFByb2dyYW0lMjBDb21wdXRlQnVkZ2V0MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExJTIwc3VjY2VzcyUyQyUyMFByb2dyYW0lMjBDSnhCUE44M2o3WXZIRHVMQ2FxOURkcnA5UUhxVkFBVTlUWFFHUFJCcEF0ViUyMGludm9rZSUyMCU1QjElNUQlMkMlMjBQcm9ncmFtJTIwbG9nJTNBJTIwSW5zdHJ1Y3Rpb24lM0ElMjBjcmFuayUyQyUyMFByb2dyYW0lMjBDSnhCUE44M2o3WXZIRHVMQ2FxOURkcnA5UUhxVkFBVTlUWFFHUFJCcEF0ViUyMGNvbnN1bWVkJTIwODIzMSUyMG9mJTIwMTM5OTcwMCUyMGNvbXB1dGUlMjB1bml0cyUyQyUyMFByb2dyYW0lMjBDSnhCUE44M2o3WXZIRHVMQ2FxOURkcnA5UUhxVkFBVTlUWFFHUFJCcEF0ViUyMGZhaWxlZCUzQSUyMGN1c3RvbSUyMHByb2dyYW0lMjBlcnJvciUzQSUyMDB4MTc3MyU1RCZhY2NvdW50cz1udWxsJnVuaXRzQ29uc3VtZWQ9ODUzMW4mbG9hZGVkQWNjb3VudHNEYXRhU2l6ZT1udWxsJnJldHVybkRhdGE9JTVCb2JqZWN0JTIwT2JqZWN0JTVEJmlubmVySW5zdHJ1Y3Rpb25zPW51bGwmcmVwbGFjZW1lbnRCbG9ja2hhc2g9bnVsbCZmZWU9bnVsbCZwcmVCYWxhbmNlcz1udWxsJnBvc3RCYWxhbmNlcz1udWxsJnByZVRva2VuQmFsYW5jZXM9bnVsbCZwb3N0VG9rZW5CYWxhbmNlcz1udWxsJmxvYWRlZEFkZHJlc3Nlcz1udWxs'` | 3.01x → — | — | — | — | 3LBW…FU75 |
| 12 Sep 22:26 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:24 UTC | Crank | confirmed | crank: receipt 147s old, session impact | 3.01x → — | — | — | — | 5qDH…LyVP |
| 12 Sep 22:22 UTC | Crank | confirmed | crank: receipt 205s old, session impact | 3.01x → — | — | — | — | 5SSX…QBwY |
| 12 Sep 22:22 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:18 UTC | Crank | confirmed | crank: receipt 130s old, session impact | 0.00x → — | — | — | — | 3QUM…Nz1o |
| 12 Sep 22:18 UTC | Crank | skipped | leverage 0.00x < band_lo 2.70x but session is "impact"; D6 defers expansion to the next external session | — | — | — | — | — |
| 12 Sep 22:16 UTC | Crank | confirmed | crank: receipt 108s old, session impact | 0.00x → — | — | — | — | dc7P…V93b |
| 12 Sep 22:14 UTC | Crank | confirmed | crank: receipt 152s old, session impact | 0.00x → — | — | — | — | 2S4F…PrsP |
| 12 Sep 22:14 UTC | Crank | skipped | leverage 0.00x < band_lo 2.70x but session is "impact"; D6 defers expansion to the next external session | — | — | — | — | — |
| 12 Sep 22:12 UTC | Crank | confirmed | first crank for dUS100 | 0.00x → — | — | — | — | 4Cgx…Jy42 |
| 12 Sep 22:12 UTC | Crank | skipped | leverage 0.00x < band_lo 2.70x but session is "impact"; D6 defers expansion to the next external session | — | — | — | — | — |
| 12 Sep 22:07 UTC | Crank | confirmed | crank: receipt 138s old, session impact | 3.01x → — | — | — | — | 3rt1…7vMg |
| 12 Sep 22:05 UTC | Crank | confirmed | crank: receipt 128s old, session impact | 3.01x → — | — | — | — | 66dd…fBEW |
| 12 Sep 22:05 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:02 UTC | Crank | confirmed | crank: receipt 141s old, session impact | 3.01x → — | — | — | — | 6Z68…YQBs |
| 12 Sep 22:00 UTC | Crank | confirmed | crank: receipt 100s old, session impact | 3.01x → — | — | — | — | 5PNW…s2ER |
| 12 Sep 22:00 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:58 UTC | Crank | confirmed | crank: receipt 163s old, session impact | 3.01x → — | — | — | — | G56g…tjuE |
| 12 Sep 21:55 UTC | Crank | confirmed | first crank for dUS100 | 3.01x → — | — | — | — | BWE8…jfrz |
| 12 Sep 21:55 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 | — | — | — | — | — |