MCPcopy Index your code
hub / github.com/chainwayxyz/citrea

github.com/chainwayxyz/citrea @v2.6.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.6.0 ↗ · + Follow
3,766 symbols 13,091 edges 490 files 1,057 documented · 28%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Citrea

The first rollup that enhances the capabilities of Bitcoin blockspace with zero-knowledge technology, now live on Bitcoin Mainnet! 🎉🍊🍋

What is 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.

Every transaction occurring on Citrea, is fully secured by zero-knowledge proofs and optimistically verified by Bitcoin via BitVM. The execution environment of Citrea is trustless with respect to Bitcoin and is accessible to all participants of the Bitcoin Network.

Citrea's vision is to build scalable infrastructure that advances Bitcoin into its next phase, the foundation for world's finance. Citrea represents Bitcoin Security at Scale with its execution shard that keeps the settlement and data availability on-chain, on-Bitcoin.

Audits

Citrea completed a private audit with Sigma Prime, find the audit report here: Sigma Prime Audit Report

Citrea also held a public bug bounty competition on Cantina, find the report here: Cantina Competition Report

To see all past audits, visit: Audits & Security

Bug Bounty

Citrea maintains active bug bounty programs. Before diving into the codebase, researchers should review the Auditor's Guide, then head to the Citrea Active Bug Bounties to see the currently available bug bounties.

FAQ

Question Answer
How do I set up the development environment? dev-setup.md
How do I run Citrea for testing and development? run-dev.md
Where can I read more about the architecture? Go to SUMMARY.md and navigate from there to the subject you want to read about, or refer to our official documentation.
How do I run a Citrea mainnet node? run-mainnet.md
How do I bridge to Citrea? Follow our guide on bridging to Citrea

Official Links

Acknowledgments

  • Sovereign SDK: Citrea is built on a forked version of the Sovereign SDK. We're deeply thankful to the development & support of Sovereign Labs through our journey.
  • Reth: We use Reth crates in various components in Citrea. We're grateful for their rapid development & contribution to the Rust-Ethereum ecosystem.

Extension points exported contracts — how you extend this code

Zkvm (Interface)
A Zk proof system capable of proving and verifying arbitrary Rust code Must support recursive proofs. [6 implementers]
crates/sovereign-sdk/rollup-interface/src/state_machine/zk/mod.rs
TestContract (Interface)
Trait for testing smart contracts. [21 implementers]
crates/evm/src/smart_contracts/mod.rs
ShortHeaderProofProvider (Interface)
Short Header Proof Provider This trait is used to get the short header proof by the l1 hash for full nodes and provers t [5 …
crates/short-header-proof-provider/src/lib.rs
FromEnv (Interface)
(no doc) [24 implementers]
crates/common/src/config/mod.rs
VerifyParsed (Interface)
To verify the signature of the inscription and get the hash of the body [3 implementers]
crates/bitcoin-da/src/helpers/parsers.rs
LedgerNodeRollback (Interface)
(no doc) [4 implementers]
crates/storage-ops/src/rollback/types.rs
InitialValueProvider (Interface)
(no doc) [2 implementers]
crates/light-client-prover/src/circuit/initial_values.rs
CitreaRollupBlueprint (Interface)
(no doc) [2 implementers]
bin/citrea/src/rollup/mod.rs

Core symbols most depended-on inside this repo

push
called by 273
crates/sovereign-sdk/module-system/sov-modules-api/src/containers/traits/vec.rs
path
called by 272
crates/sovereign-sdk/full-node/db/sov-schema-db/src/lib.rs
iter
called by 244
crates/sovereign-sdk/full-node/db/sov-schema-db/src/lib.rs
to_vec
called by 243
crates/light-client-prover/src/circuit/initial_values.rs
generate
called by 224
crates/sovereign-sdk/module-system/sov-keys/src/default_signature.rs
get
called by 202
crates/common/src/cache.rs
len
called by 195
crates/sovereign-sdk/adapters/mock-da/src/db_connector.rs
accessory_state
called by 163
crates/sovereign-sdk/module-system/sov-modules-core/src/storage/scratchpad.rs

Shape

Method 1,899
Function 1,125
Class 557
Enum 96
Interface 89

Languages

Rust99%
Python1%
TypeScript1%

Modules by API surface

crates/sequencer/src/db_provider/mod.rs94 symbols
crates/sovereign-sdk/full-node/db/sov-db/src/ledger_db/mod.rs82 symbols
bin/citrea/tests/common/client.rs77 symbols
crates/evm/src/query.rs54 symbols
crates/sovereign-sdk/module-system/sov-modules-core/src/storage/cache.rs53 symbols
crates/evm/src/evm/handler.rs48 symbols
crates/sovereign-sdk/module-system/sov-modules-core/src/storage/scratchpad.rs45 symbols
bin/citrea/tests/bitcoin/light_client_test.rs44 symbols
crates/sovereign-sdk/full-node/db/sov-schema-db/src/lib.rs42 symbols
crates/sovereign-sdk/adapters/mock-da/src/service.rs39 symbols
crates/common/src/config/mod.rs39 symbols
crates/bitcoin-da/src/service.rs39 symbols

For agents

$ claude mcp add citrea \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page