$ ./security

Security

What can take your bull, what can't, and what we did to keep the surface small.

# what cannot happen

# what we did to harden the program

  init_if_needed              REMOVED  (reinit attack surface)
  initialize signer            GATED to ProgramData.upgrade_authority
  bank PDA                     SINGLETON, one shot init
  transfer_checked             REQUIRED (decimals verified onchain)
  Token2022 InterfaceAccount  BOTH classic + Token2022 mints accepted
  cross wallet unwrap          TESTED (vault follows NFT)
  adversarial test suite       wrong NFT / wrong vault rejected
  verifiable build             solana-verify, deterministic .so

# test coverage

  rust unit tests    passing  (tier accounting, cap, reuse)
  anchor integration passing  (wrap, unwrap, cross wallet, adversarial, royalty)
  verifiable build   solana-verify  .so matches the public repo commit

# keys + wallets

  deployer wallet       signs anchor deploy + initialize. cold backed.
  upgrade authority     same as deployer. can patch program bugs, cannot touch user state.
  royalty treasury      a SEPARATE wallet. receives 5% secondary royalties. not the deployer.
  RPC key (Helius)      server side only in /api/rpc. never in the client bundle.

# operational

# things that can still break (named honestly)

Found something? Open a GitHub issue, or DM us on X. We respond to anything that touches user state inside 24h.