Sprint 045 — Arbitrum One onboarding: SIWE → Smart Routing funding → setup readiness → cast / close
Sprint 045 Onboarding Flow
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
After funding readiness, use Cast / Close — 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
GET /user/session-keys
Not loaded
GET /user/triggers
Not loaded
GET /user/intents
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.
Session-Key Install
DO-native Kernel setup over /user/metavault/connect. The WebSocket uses the HttpOnly SIWE cookie; the wallet only signs the typed-data envelope returned by the MetavaultDO.
DISCONNECTED
pending_signature
submitted
active
failed
Latest install state
No snapshot yet
Typed-data envelope / setup UserOp
Waiting for need_signature
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
MetavaultDO Portfolio State
Reads the DO-backed portfolio, trigger, and intent views through the authenticated API proxy.
Deep Health
Click "Check" above
Emergency Health
Click "Check" above
Execution Log
[--:--:--]Ready. Connect wallet and configure API URL above.