Browser-first FROSTR signer built with React/Vite, @frostr/igloo-core, and @frostr/bifrost. Runs entirely in your tab; your share stays encrypted in localStorage.
- FROSTR splits an nsec into k-of-n shares and coordinates signing over Nostr relays via bifrost nodes.
- Igloo apps:
- igloo-desktop (generate/manage shares)
- frost2x (browser extension)
- igloo-server (always-on signer)
- igloo-web is the lightweight, no-install signer you can spin up in any browser.
@frostr/igloo-coreis the app-facing wrapper: it exposes credential/relay/peer helpers and a thin API for spinning up bifrost nodes so every Igloo app shares the same behavior. It saves app builders from wiring nostr-p2p/frost directly.@frostr/bifrostis the reference FROSTR node: it rides on cmdruid’s@cmdcode/nostr-p2p(nostr relay SDK) and@cmdcode/frost(threshold Schnorr lib); igloo-core layers on top instead of re-implementing those pieces.- The FROSTR protocol itself lives in
frostr-org/frostr; bifrost and all Igloo apps track that spec. - Handy links: protocol spec, transport, threshold lib.
- Guided onboarding validates
bfgroup/bfsharecreds before saving; relays are normalized and stored with an optional keyset name. - Encrypts group/share + relay list with password-protected AES-GCM; quick unlock flow on revisit.
- Start/stop the signer node with configurable relays; auto-publishes an echo to self, responds to
/echo/req, and shows decoded credential JSON on demand. - Peer list with allow/block policy per peer, ping + latency checks, status refresh; event log for
/sign,/ecdh,/ping, echo events (kept to 200 entries). - Clipboard helpers, relay add/remove, and a “Clear credentials” safety modal.
npm installnpm run devthen open http://localhost:5173npm run build→ production assets indist/;npm run previewto smoke-test the build.
- Generate a FROSTR keyset in Igloo Desktop or CLI and copy one
bfgroup+bfshare. - Paste credentials here, choose a password to encrypt the bundle, set relays (defaults:
wss://relay.primal.net,wss://relay.damus.io). - Start the signer and keep the tab open so peers can reach you over shared relays.
- Adjust peer policies or relays as needed; clear credentials when retiring this node.
- Everything runs client-side; no server required.
- Ensure at least one common relay with your other signers for successful rounds.