The first and only manually-guided fuzzing framework for Solana programs written in Rust, processing up to 12,000 tx/s.
Granted by the Solana Foundation, securing Kamino.
- Executes thousands of transactions per second to stress your program at Solana speed.
- Models state changes and flows that unit tests miss.
- Surfaces edge cases, overflows, and missing constraints early in development.
- Built and maintained by Ackee Blockchain Security , trusted auditors of Lido, Safe, and Axelar.
- Supported by the Solana Foundation.
- Manually-guided fuzzer – Define custom strategies to explore tricky code paths.
- Stateful fuzzing – Inputs are generated based on critical account state changes.
- Anchor-like macros – Write fuzz tests with familiar, clean syntax.
- TridentSVM client – Execution using Anza’s Solana SVM API.
- Property-based testing – Compare account states before and after execution.
- Flow-based sequence control – Combine multiple instructions into realistic transaction patterns.
- Regression testing – Compare fuzzing results between program versions.
Install via Cargo:
cargo install trident-cli
Write your first fuzz test:
#[init] fn start(&mut self) { // Build Initialize Transaction let mut tx = InitializeTransaction::build(&mut self.trident, &mut self.fuzz_accounts); // Execute Initialize Transaction self.trident .execute_transaction(&mut tx, Some("Initialize")); } #[flow] fn flow1(&mut self) { // Build MoveEast Transaction let mut tx = MoveEastTransaction::build(&mut self.trident, &mut self.fuzz_accounts); // Execute MoveEast Transaction self.trident.execute_transaction(&mut tx, Some("MoveEast")); } #[flow] fn flow2(&mut self) { // Build MoveSouth Transaction let mut tx = MoveSouthTransaction::build(&mut self.trident, &mut self.fuzz_accounts); // Execute MoveSouth Transaction self.trident.execute_transaction(&mut tx, Some("MoveSouth")); }
Run it:
trident fuzz run <fuzz_test>
For full examples and guides, see the documentation.
Latest release: 0.11.1
cargo install trident-cli
- Audit preparation – Run fuzz campaigns before submitting your code for review.
- Continuous security – Integrate Trident into CI for ongoing regression testing.
- Research & prototyping – Generate complex attack sequences programmatically.
Check out the following places for more Trident-related content:
- Follow on Twitter/X for updates
- Join the discussions on our Trident discord channel
| Solana Foundation | Marinade |
|---|---|
Thank you for your interest in contributing to Trident! Please see the CONTRIBUTING.md to learn how.
This project is licensed under the MIT license.