Frontends
Web wizard
oceanln-web is the Svelte onboarding wizard that drives oceanln-httpd from a browser: create or import a recovery phrase → back up → confirm → create wallet → BIP-322 sign →
copy the three artifacts.
What it includes
- The onboarding wizard — recovery phrase, backup, wallet creation (description → BOLT12 offer), signing, and copy-out of the address, offer, and signature.
- A profile — one-to-many payout addresses linked to offers, with re-reveal of the phrase.
- A live payout dashboard that reads the public OCEAN API (
https://api.ocean.xyz/v1, browser-direct via CORS) keyed by your payout address(es): real hashrate, unpaid balance, and the on-chain payouts table. - An MCP panel describing a local stdio server (
oceanln mcp serve) — nothing hosted or exposed.
It's a static SPA, bundled unchanged by the Tauri desktop shell. The transport is chosen at runtime —
HTTP (src/lib/api.ts) in the browser, native IPC (src/lib/tauri.ts) in the
desktop app.
Run it in development
Run both the server and the Vite dev server with the dev script:
scripts/dev.sh # builds + runs oceanln-httpd, then `npm run dev` in oceanln-web
# open http://localhost:5173 Or manually:
oceanln-httpd --seed-file ./seed --token <tok> --allow-origin http://localhost:5173 &
cd oceanln-web && npm install
VITE_OCEANLN_BASE=http://127.0.0.1:7762 VITE_OCEANLN_TOKEN=<tok> npm run dev The wizard reaches the server cross-origin, so the server's --allow-origin must include
the Vite origin (http://localhost:5173). The bearer token is injected via VITE_OCEANLN_TOKEN, or pasted into the in-app settings panel.
The phrase-generation and signing steps work offline; the wallet/offer steps need oceanln-httpd to reach a Lexe node. npm run build emits static assets. To ship
it as a native window instead, see the desktop app.