Skip to main content
The on-chain program is implemented under programs/vaulkyrie-core/src/. This page describes the existing code and avoids proposing instruction layout changes.

Account model

Instruction groups

The instruction parser is in programs/vaulkyrie-core/src/instruction.rs. The Rust SDK builder names map directly to these instruction groups.

State transitions

programs/vaulkyrie-core/src/transition.rs holds pure transition logic. The processor handlers in processor.rs deserialize instruction data, verify PDAs and signers, then call transition helpers. Spend orchestration is separate from vault status:

PDA seeds

The PDA helpers are mirrored in programs/vaulkyrie-core/src/pda.rs, crates/vaulkyrie-sdk/src/pda.rs, and src/sdk/pda.ts.

Why staged proofs exist

Authority rotation proofs can exceed a comfortable single-instruction payload. The program has an AuthorityProofState plus chunk-writing instructions so the client can stage proof bytes, bind them to a statement digest and commitment, then complete rotation from staged data. This is reflected in:
  • InitAuthorityProof
  • WriteAuthorityProofChunk
  • RotateAuthorityStaged
  • AUTHORITY_PROOF_CHUNK_MAX_BYTES in crates/vaulkyrie-protocol/src/lib.rs