Citrea / Citrea
Citrea is the first rollup that enhances the capabilities of Bitcoin blockspace with zero-knowledge technology, making it possible to build everything on Bitcoin.
At its core, Citrea is a ZK-EVM rollup that leverages Bitcoin as both its data availability and settlement layer. It achieves this through Ordinals like inscription-envelopes for DA and BitVM for Groth16 zero-knowledge proofs’ verification.
This audit competition invites participants to review the Citrea codebase, which includes the rollup’s sequencer, full node, two distinct prover implementations, system contracts, and RISC Zero guest code. The goal is to ensure the security and robustness of the protocol as it moves toward mainnet readiness.
Prize distribution and scoring
-
Total Public Pool: $ 80,000
-
Dedicated researcher: $20,000
-
$5000 of the prize pot is reserved for Low Severity findings. These reports are judged based on quality and reviewers are then ranked from 1st to 5th for the purpose of prize allocation.
- 1st: $2.5k
- 2nd: $1.25k
- 3rd: $700
- 4th: $350
- 5th: $200
-
Scoring described in the competition scoring page.
-
Findings Severities described in detail on our docs page.
Documentation
-
For audit oriented documentation, see docs/ in the Citrea repo. https://github.com/chainwayxyz/citrea/tree/nightly/docs
-
A high level documentation is available at https://docs.citrea.xyz
Refer the Scope sections for all the files in scope. However, the code paths that are in the STF or in the ZK circuits have more likelihood to high severity vulnerabilities. These directories and files are:
- crates/bitcoin-da/src/helpers/parsers.rs
- crates/bitcoin-da/src/verifier.rs
- crates/bitcoin-da/src/helpers/merkle_tree.rs
- crates/citrea-stf/*
- crates/evm/* except where feature-gated with “native”
- crates/l2-block-rule-enforcer/*
- crates/light-client-prover/src/circuit/*
- crates/primitives/*
- crates/risc0/src/guest.rs
- crates/short-header-proof-provider/*
- crates/sovereign-sdk/full-node/db/*
- crates/sovereign-sdk/rollup-interface/*
- crates/sovereign-sdk/module-system/*
- guests/risc0/*
Scope
- Repository: https://github.com/chainwayxyz/citrea
- Commit:
738e68ee8321eb2e5d78e2f94dfe0b99b4957dd2
- Files: All rust and solidity files
- Dependencies, libraries & tests excluded except for below (these are in scope):
- crates/evm/src/evm/system_contracts/lib/bitcoin-spv/solidity/contracts/ValidateSPV.sol
- crates/evm/src/evm/system_contracts/lib/bitcoin-spv/solidity/contracts/BTCUtils.sol
- crates/evm/src/evm/system_contracts/lib/WitnessUtils.sol
- Dependencies, libraries & tests excluded except for below (these are in scope):
Build Instructions
- https://github.com/chainwayxyz/citrea/blob/nightly/docs/dev-setup.md
- https://github.com/chainwayxyz/citrea/blob/nightly/docs/run-dev.md
Out of scope
- Findings in tests or testing related files. (eg: crates/evm/src/smart_contracts)
- crates/sp1 is also out of scope as it’s not going to be used in production
- Any finding related to pruning is also out of scope as feature is not complete.
Basic POC test
POC is NOT mandatory, but it might be requested depending on the finding.
Contact Us
For any issues or concerns regarding this competition, please reach out to the Cantina core team through the Cantina Discord.
Summary
Status
LiveTotal reward:
$80,000
Findings submitted:
3
Start date:
18 Jul 2025 7:00pm (local time)
End date:
15 Aug 2025 7:00pm (local time)
KYC
Required to join