Frank Castle is a smart-contract security researcher specializing in Rust-based programs on Solana, Polkadot and CosmWasm. He founded Frank Castle Audits and publishes developer tools, audit material and explanations of program vulnerabilities.[1][2][3]
Start with The Seed Set Is Your Schema →
Links
Founder and CEO · Frank Castle Audits
Contributions
Security rules before a program is written
Safe Solana Builder organizes reference material for AI-assisted development by framework and risk level. It guides an agent toward matching security rules and test patterns, then asks for a project scaffold, tests and a checklist. The repository explicitly includes unfinished security-test bodies, so generated output is a starting point for further development and audit rather than a completed security review.[2]
Read an address as a data constraint
In The Seed Set Is Your Schema, Castle explains that the seeds of a Solana Program Derived Address determine how many accounts can exist and what they belong to. A voter account keyed only by election allows one account per election, rather than one per voter. Adding the voter identity changes that constraint, and every instruction accessing it must use the revised derivation.[3]
From findings to reusable practice
His portfolio connects audits with exploit exercises and developer education. The seed-design article draws on a Pashov Audit Group team engagement. Its practical habit is to state the uniqueness rule for every derived account before reading instruction logic.[1][3]
Tools, writing & talks
Writing, research & talks
Start here
The Seed Set Is Your Schemafrankcastle.xyzAn explanation of how account-address seeds encode cardinality and can break governance logic.
Read the first voter-account example and its corrected seed tuple. Familiarity with Rust structs and basic Solana accounts helps; the examples explain the data-model error directly.
Author[3]
Tools
- Safe Solana Builder
github.comFramework-specific references and development workflows for safer Solana programs.
Creator[1][2]Original source