Vaulkyrie separates user interaction, cryptographic ceremonies, and on-chain state transitions. The browser extension owns the user session and approval flow. The relay server only coordinates ceremony messages and optional server cosigner participation. The Rust workspace owns protocol layouts, instruction builders, CLI tooling, and the Solana program state machine.Documentation Index
Fetch the complete documentation index at: https://docs.vaulkyrie.xyz/llms.txt
Use this file to discover all available pages before exploring further.
Runtime layers
Browser extension path
The extension has four major runtimes:src/injected/index.ts: injects the browser wallet provider into pages.src/content/index.ts: bridges page messages into the extension.src/background/index.ts: handles persistent background actions, internal RPC, signing, secret access, and session state.src/App.tsxplussrc/components/: renders the wallet UI and approval screens.
src/components/extension/ApprovalCenter.tsx, src/extension/messages.ts, src/extension/approvalStorage.ts, and signing helpers in src/services/frost/signTransaction.ts.
Ceremony path
Threshold ceremonies use one of two relay adapters:| Relay | Source | Use |
|---|---|---|
| BroadcastChannel | src/services/relay/channelRelay.ts | Same-origin browser tabs, local testing, and demo flows. |
| WebSocket | src/services/relay/websocketRelay.ts and relay-server/src/server.ts | Cross-device ceremonies and server cosigner sessions. |
src/services/frost/dkgOrchestrator.tssrc/services/frost/signingOrchestrator.tssrc/services/frost/frostService.tscrates/vaulkyrie-frost-wasm/src/lib.rs
Relay server path
The relay server exposes:- WebSocket session creation, join, participant assignment, and room message forwarding in
relay-server/src/server.ts. - Session auth tokens and invite validation in
src/services/relay/sessionInvite.tsand server join handling. - Server cosigner registration and signing in
relay-server/src/cosigner.ts. - Encrypted server-local state in
relay-server/src/secureStorage.ts. - PQC wallet sponsorship helpers in
relay-server/src/pqcSponsor.ts.
On-chain path
The Rust workspace defines the on-chain protocol:- Account state:
programs/vaulkyrie-core/src/state.rs - Instruction parsing:
programs/vaulkyrie-core/src/instruction.rs - Transition validation:
programs/vaulkyrie-core/src/transition.rs - Processor handlers:
programs/vaulkyrie-core/src/processor.rs - PDA derivation and verification:
programs/vaulkyrie-core/src/pda.rs - Shared constants and message builders:
crates/vaulkyrie-protocol/src/lib.rs
crates/vaulkyrie-sdk/src/instruction.rs, crates/vaulkyrie-sdk/src/accounts.rs, and crates/vaulkyrie-sdk/src/pda.rs.