Connect wallet (any EVM chain — funding can originate from any supported source chain)
Sign in with Ethereum (SIWE → JWT scoped to /user/* routes; backend derives a Kernel V3 Metavault counterfactual on Arbitrum One)
Read the Metavault Onboarding panel: copy the Smart Routing deposit address (cross-chain funding) or fall back to the direct Arbitrum One Metavault address
Send native + collateral so the Metavault meets setup_ready — the panel polls funding readiness every 6s and surfaces below-minimum / fee-consumed warnings
Once setup_ready is true, the Setup Account flow (sprint story 041-26b) installs the session key in one bundled UserOp (deploy + approve + register + plugin install)
After setup, use Cast / Close (sprint story 041-26c) — wired to the accepted-intent + outbox dispatch pipeline
Worker Status
spells-api
health/deep
health/emergency
1. Wallet Connect
No wallet detected. Install MetaMask or another EIP-1193 provider.
Connected Address:
Chain:
2. SIWE Sign-In
Connect wallet first
Session Active
AUTHENTICATED
Address:
Chain ID:
Expires:
GET /user/me
Not loaded
GET /user/accounts
Not loaded
GET /user/positions
Not loaded
Cross-Account Denial Proof
Proves that authentication is enforced and scoped data cannot be accessed without valid credentials.
Fund your Kernel V3 Metavault on Arbitrum One (chainId 42161). The primary path is the ZeroDev Smart Routing deposit address — send any supported source-chain token and the route bridges to your destination Metavault. The direct Arbitrum One Metavault address below is an explicit fallback when Smart Routing is unavailable or you want to skip bridging.
Fund your Kernel V3 Metavault on Arbitrum Sepolia (chainId 421614) by sending ETH and collateral directly to the address below. Smart Routing is not available on this chain.
Direct Arbitrum One Metavault address (fallback — send Arbitrum One ETH and collateral straight to the counterfactual):
—
Connected EOA: — ·
the SIWE EOA is the recovery owner, never the Metavault address.
Setup Funding Readiness
PENDING
—
—
Sepolia Demo Faucet
Smart Routing isn't supported on Arbitrum Sepolia, so use these helpers to fund the Metavault directly. The wallet must be on Arbitrum Sepolia (chainId 421614) before clicking.
Test USDC at 0x3253a335…9773 exposes a public mint() for demo purposes — not a real asset.
Setup Account — Session-Key Install
One-signature flow: POST /user/session-keys/intent assembles the bundled Kernel setup UserOp (deploy + collateral approves + MetavaultRegistry.register + lazy PermissionValidator install). The wallet signs the Kernel root validator's typed-data enable envelope exactly once; POST /user/session-keys/install persists the signature and starts the workflow; the UI polls GET /user/session-keys/:keyRef/install-status until active or install_failed.
NOT STARTED
Waiting for setup_ready…
Lifecycle stages
—
—
—
—
—
—
—
GMX Markets & Prices
GET /markets + GET /prices — curated launch markets and latest cached oracle prices (stale if > 2 min).
Not loaded
Cast Position
POST /user/cast/quote → review fee + ETH deficit → POST /user/cast. Manual path never uses PlatformETHRelay, so the metavault must hold enough ETH to cover the GMX execution fee before submit.
Polls GET /user/positions every 6s. Shows canonical lifecycle states (opening → pending_keeper → active → closing → pending_keeper_close → closed / liquidated) and native TP/SL order keys + config. Close uses POST /user/positions/:id/close/quote → /close.
Not loaded
Deep Health
Click "Check" above
Emergency Health
Click "Check" above
Execution Log
[--:--:--]Ready. Connect wallet and configure API URL above.