Transparency
uMSTRLocal
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.
- Margin floor 17.9% of notional−8.5% · $119.16Top up collateral from idle
- Band edge 2.30x−11.2% · $115.59Rebalance down to target (any hour)
- Hard delever 2.60x−18.5% · $106.16Emergency delever to target, market order
- Liquidation (est.)−22.1% · $101.38Phoenix liquidates the account; the stop and top-ups sit well before this
- Margin ceiling 32.1% of notional+10.7% · $144.07Withdraw excess collateral to idle
- Band edge 1.80x+12.9% · $146.99Rebalance up to target (external session only)
Computed from realised leverage 2.007x and venue equity at 24.9% of notional at mark $130.20, 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 uMSTR
- NAV per token
- 0.996140 USDC
- Unrealised PnL
- −10.56 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
- $130.20
- Index
- none (no external print)
- Pool price
- no pool
- Premium to NAV
- —
- Realised vs target
- 2.007x / 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 agostream ✓dMSTR:band ✓dMSTR:stop ✓dMSTR:tick ✓dNVDA:band ✓dNVDA:stop ✓dNVDA:tick ✓dTSLA:band ✓dTSLA:stop ✓dTSLA:tick ✗ 1uMSTR: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 ✗ 1uUS500: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 18 min ago (stale)
Alerts
Raised by the keeper, resolved when the condition clears.
- warningTICK_FAILED · uMSTR12 Sep 22:31 UTC → resolved 30 min agouMSTR: tick failed: phoenix /exchange/markets -> 429
- warningDEPTH_UNAVAILABLE · uMSTR12 Sep 22:28 UTC → resolved 34 min agouMSTR: order-book depth unreadable; expansion is refused and defensive slices use the fallback depth
- warningTICK_FAILED · uMSTR12 Sep 21:59 UTC → resolved 1.0 h agouMSTR: tick failed: phoenix /exchange/markets -> 429
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:02 UTC | Crank | confirmed | crank: receipt 103s old, session impact | 2.01x → — | — | — | — | 4BDU…QSQk |
| 12 Sep 23:01 UTC | Crank | confirmed | crank: receipt 100s old, session impact | 2.00x → — | — | — | — | 2jFB…ame4 |
| 12 Sep 22:59 UTC | Crank | confirmed | first crank for uMSTR | 2.01x → — | — | — | — | 1Gqo…8vgY |
| 12 Sep 22:59 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 | attempt 1: simulation failed for crank: {"InstructionError":["2",{"Custom":"6003"}]} :: Program ComputeBudget111111111111111111111111111111 invoke [1] | Program ComputeBudget111111111111111111111111111111 success | Program CJxBPN83j7YvHDuLCaq9Ddrp9QHqVAAU9TXQGPRBpAtV invoke [1] | Program log: Instruction: crank | Program CJxBPN83j7YvHDuLCaq9Ddrp9QHqVAAU9TXQGPRBpAtV consumed 8231 of 1399700 compute units | Program CJxBPN83j7YvHDuLCaq9Ddrp9QHqVAAU9TXQGPRBpAtV failed: custom program error: 0x1773 | 2.01x → — | — | — | — | 4jNP…3nF5 |
| 12 Sep 22:34 UTC | Crank | confirmed | crank: receipt 239s old, session impact | 2.00x → — | — | — | — | 3NVH…kggZ |
| 12 Sep 22:34 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:30 UTC | Crank | confirmed | crank: receipt 102s old, session impact | 2.00x → — | — | — | — | 4YPg…yksB |
| 12 Sep 22:28 UTC | Crank | confirmed | crank: receipt 156s old, session impact | 2.00x → — | — | — | — | 5fuk…mnfU |
| 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 136s old, session impact | 2.01x → — | — | — | — | 4eQW…F9nN |
| 12 Sep 22:23 UTC | Crank | confirmed | attempt 1: Solana error #-32002; Decode this error by running `npx @solana/errors decode -- -32002 'X19jb2RlPS0zMjAwMiZsb2dzPSU1QlByb2dyYW0lMjBDb21wdXRlQnVkZ2V0MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExJTIwaW52b2tlJTIwJTVCMSU1RCUyQyUyMFByb2dyYW0lMjBDb21wdXRlQnVkZ2V0MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExJTIwc3VjY2VzcyUyQyUyMFByb2dyYW0lMjBDb21wdXRlQnVkZ2V0MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExJTIwaW52b2tlJTIwJTVCMSU1RCUyQyUyMFByb2dyYW0lMjBDb21wdXRlQnVkZ2V0MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExJTIwc3VjY2VzcyUyQyUyMFByb2dyYW0lMjBDSnhCUE44M2o3WXZIRHVMQ2FxOURkcnA5UUhxVkFBVTlUWFFHUFJCcEF0ViUyMGludm9rZSUyMCU1QjElNUQlMkMlMjBQcm9ncmFtJTIwbG9nJTNBJTIwSW5zdHJ1Y3Rpb24lM0ElMjBjcmFuayUyQyUyMFByb2dyYW0lMjBDSnhCUE44M2o3WXZIRHVMQ2FxOURkcnA5UUhxVkFBVTlUWFFHUFJCcEF0ViUyMGNvbnN1bWVkJTIwODIzMSUyMG9mJTIwMTM5OTcwMCUyMGNvbXB1dGUlMjB1bml0cyUyQyUyMFByb2dyYW0lMjBDSnhCUE44M2o3WXZIRHVMQ2FxOURkcnA5UUhxVkFBVTlUWFFHUFJCcEF0ViUyMGZhaWxlZCUzQSUyMGN1c3RvbSUyMHByb2dyYW0lMjBlcnJvciUzQSUyMDB4MTc3MyU1RCZhY2NvdW50cz1udWxsJnVuaXRzQ29uc3VtZWQ9ODUzMW4mbG9hZGVkQWNjb3VudHNEYXRhU2l6ZT1udWxsJnJldHVybkRhdGE9JTVCb2JqZWN0JTIwT2JqZWN0JTVEJmlubmVySW5zdHJ1Y3Rpb25zPW51bGwmcmVwbGFjZW1lbnRCbG9ja2hhc2g9bnVsbCZmZWU9bnVsbCZwcmVCYWxhbmNlcz1udWxsJnBvc3RCYWxhbmNlcz1udWxsJnByZVRva2VuQmFsYW5jZXM9bnVsbCZwb3N0VG9rZW5CYWxhbmNlcz1udWxsJmxvYWRlZEFkZHJlc3Nlcz1udWxs'` | 2.00x → — | — | — | — | 5ziL…71jm |
| 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 98s old, session impact | 2.01x → — | — | — | — | 3J4f…xYvc |
| 12 Sep 22:18 UTC | Crank | confirmed | crank: receipt 154s old, session impact | 2.01x → — | — | — | — | 3uQa…tvDb |
| 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 108s old, session impact | 2.00x → — | — | — | — | 2AcU…iQJm |
| 12 Sep 22:13 UTC | Crank | confirmed | first crank for uMSTR | 2.00x → — | — | — | — | Ysvb…DHnC |
| 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.00x → — | — | — | — | 2cXV…sLX5 |
| 12 Sep 22:06 UTC | Crank | confirmed | crank: receipt 140s old, session impact | 2.00x → — | — | — | — | uiUo…mu9y |
| 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 138s old, session impact | 2.00x → — | — | — | — | 7Vwv…r8HM |
| 12 Sep 22:01 UTC | Crank | confirmed | crank: receipt 242s old, session impact | 2.00x → — | — | — | — | 5pjA…a7op |
| 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:57 UTC | Crank | confirmed | first crank for uMSTR | 2.00x → — | — | — | — | 2CZp…e7wp |
| 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 | — | — | — | — | — |