anza-xyz

    anza-xyz/pinocchio

    Create Solana programs with no external dependencies attached

    backend
    Rust
    Apache-2.0
    970 stars
    236 forks
    970 GitHub watchers
    Updated Oct 29, 2026
    View on GitHub

    Build with Backblaze B2

    SDKs, agent skills, IDE extensions, and reference pipelines from Backblaze Labs. All open source.

    Explore Backblaze Labs

    Loading star history...

    Where it stands

    Rank, growth pace and release cadence relative to everything GStars tracks.

    4 releases in the last 90 days, the latest today, with 46 contributors on GitHub.

    Gained 6% fewer stars in the last 90 days than in the 90 days before.

    Use Cases & Benefits

    • Create Solana on-chain programs in Rust without any external dependencies or reliance on the solana-program crate.
    • Eliminates dependency issues and reduces binary size and compute unit consumption by using zero-copy types and no_std environment.
    • Use for developing lightweight Solana programs optimized for minimal compute units and binary size.
    • Use for building Solana programs requiring fine-grained control over input parsing with lazy entrypoint macros.
    • Use for creating no-allocation Solana programs that panic on memory allocation attempts to ensure strict resource control.

    Should you depend on it?

    License terms, project hygiene and risks, from GitHub metadata and GStars' snapshots.

    License

    Apache 2.0

    Permissive: commercial use, modification and redistribution are allowed with attribution; includes an explicit patent grant from contributors.

    Community files

    • README: present

    Watch-outs

    No watch-outs from GStars' checks.

    General guidance from repository metadata, not legal advice. How we score

    From the README

    Create Solana programs with no dependencies attached.

    I've got no dependencies

    To hold me down

    To make me fret

    Or make me frown

    I had dependencies

    But now I'm free

    There are no dependencies on me

    Pinocchio is a zero-dependency library to create Solana programs in Rust. It takes advantage of the way SVM loaders serialize the program input parameters into a byte array that is then passed to the program's entrypoint to define zero-copy types to read the input. Since the communication between a program and SVM loader — either at the first time the program is called or when one program invokes the instructions of another program — is done via a byte array, a program can define its own types. This completely eliminates the dependency on the solana-program crate, which in turn mitigates dependency issues by having a crate specifically designed to create on-chain programs.

    As a result, Pinocchio can be used as a replacement for solana-program to write on-chain programs, which are optimized in terms of both compute units consumption and binary size.

    Excerpt from the anza-xyz/pinocchio README on GitHub (Apache-2.0 license). © its authors.Read the full README on GitHub

    Daily snapshots

    Stars gained per day, and how forks and open issues moved, from GStars' daily snapshots

    Forks

    236+9

    Open issues

    42+8

    Compared with peers in Backend

    Fastest-growing repositories GStars tracks in this cohort for the week of Nov 1, by 7-day star growth

    anza-xyz/pinocchio compared with Backend repositories by stars, 7-day star growth, health score and last release
    RepositoryStars+7dHealthLast release
    anthropics/skills187.8K+2.9K15—
    DuarteSantos8/openGym19.7K+2.4K602 days ago
    shiyu-coder/Kronos47.0K+2.3K16—
    NationalSecurityAgency/ghidra98.2K+2.3K6414 days ago
    microsoft/VibeVoice56.0K+1.1K29—
    anza-xyz/pinocchio970—34today
    Category median56.0K+2.3K29—

    Discover Repositories

    Search across tracked repositories by name or description