Earn 5.32% APY staking with Solana Compass + help grow Solana's ecosystem

Stake natively or with our LST compassSOL to earn a market leading APY

Anchor v2.0.0-rc.1 Ships: Programs 90%+ Smaller, Built-In Coverage-Guided Fuzzing

Solana ๐Ÿงญ Compass By Solana ๐Ÿงญ Compass

Anchor v2.0.0-rc.1 delivers programs up to 94% smaller, built on Pinocchio with a trait-based architecture and native coverage-guided fuzzing from Crucible.

Anchor v2.0.0-rc.1 Ships: Programs 90%+ Smaller, Built-In Coverage-Guided Fuzzing
A brass printing press transforms tangled code patterns on aged parchment into clean digital circuit traces, with an Anchor logo coin and Solana logo coin on the foreground desk.

Anchor v2.0.0-rc.1 released on August 13, delivering the first release candidate of the rewritten Solana program development framework. Robert Chen, who leads the project at OtterSec, announced the milestone on X: programs built with v2 are over 90% smaller in deployed binary size and consume a fraction of the compute units required by Anchor v1 equivalents.

Keep up to date with the Solana eco
Follow us on Google News

The release brings together three long-running development threads: a low-level architecture rewrite built on the Pinocchio program library, a native coverage-guided fuzzer shipping directly through the Anchor CLI, and two pre-RC security audits. The roadmap for these changes was outlined at Breakpoint 2025, where the team identified Pinocchio integration and native fuzzing as the central targets for the next major version.

What Changed: Trait-Based Architecture on Pinocchio

Anchor v1's heavy macro system generated boilerplate that translated directly into binary bloat and compute overhead. The v2 rewrite replaces those macros with an extensible trait system and swaps the standard Solana program crate for Pinocchio, a minimal no-std library that uses static account scoping.

The effect is measurable. Per the official v2 documentation, programs compile to binaries that are up to 94% smaller than their v1 equivalents, and execute using 2.8 to 50.4 times fewer compute units across benchmarked programs. That range reflects variation across program types: simpler programs see the lower end of the CU reduction; those with more account-heavy logic see larger gains.

Binary size reduction
up to 94%
Compute unit reduction
2.8โ€“50.4x
Security audits
2

The account model changed structurally. Fixed-size data uses Account<T>, which defaults to zero-copy deserialization. Variable-length data, including structs that contain Vec, String, or enum variants, uses BorshAccount<T>. That split removes the ambiguity developers encountered in v1 when choosing account types. The Pubkey type is renamed to Address, and handlers shift from Context<T> to &mut Context<T>.

Pinocchio's static memory model eliminates the <'info> lifetime annotations that v1 imposed on every account struct, a change that simplifies code auditing and removes a category of lifetime-related errors entirely.

Crucible Fuzzing Built Into anchor fuzz

The RC ships Crucible natively inside the Anchor CLI, available via anchor fuzz init, anchor fuzz run, and related subcommands. Crucible is a coverage-guided invariant fuzzing framework developed by Asymmetric Research and first released in May 2026. As part of v2, any Anchor project can use it without separate installation or toolchain configuration.

The framework uses a LibAFL and LiteSVM backend that tracks sBPF edge coverage through register-level tracing, without requiring instrumentation changes to the program being tested. Developers write invariant tests against typed instruction bindings auto-generated from Anchor IDL files. When the fuzzer finds a state that violates an invariant, a minimization step narrows the crashing sequence to its shortest reproducing form.

Asymmetric Research has benchmarked Crucible at 130,000 executions per second in stateful mode on a 12-core system, where the fuzzer maintains a pool of live program states indexed by coverage and draws from that pool rather than re-executing full instruction chains from scratch.

Chen wrote in the announcement that many clients have already used Crucible in production engagements, and that the built-in integration is intended to make coverage-guided fuzzing a default part of the development workflow.

Two Security Audits Before the RC

OtterSec's security team conducted two security audits before the release candidate designation was applied. Chen named auditors @clubby789 and @TrixterTheTux in the announcement. Conducting security reviews at the release candidate stage, before a final version, is more common for infrastructure tooling than for application-layer programs.

RC Status and Installation

Anchor v2.0.0-rc.1 is a pre-release milestone. Anchor v1.1.x remains the production-recommended path. The RC is installable from the anchor-next branch of the otter-sec/anchor repository:

cargo install --git https://github.com/otter-sec/anchor.git \
  --branch anchor-next anchor-cli --locked --force

Program dependencies reference the same branch directly in Cargo.toml. The v2 crate has not yet been published to crates.io. Documentation and a migration guide from v1 are available at v2.anchor-lang.com.

Solana ๐Ÿงญ Compass
Solana ๐Ÿงญ Compass
@SolanaCompass

Solana Compass is an independent Solana analytics and staking platform, operating a validator on Solana mainnet since September 2021. Its network statistics and...


Comments

Please login to leave a comment.


Solana tokens

Solana Token Markets

Explore all tokens โ†’