Hopper docs
Start with program authoring, then go deeper on account layouts, policy modes, dynamic tails, migration paths, CLI inspection, client generation, profiling, and unsafe invariants.
All docs below are generated from repository sources and track the current release line.
First five minutes
Counter, vault, dynamic multisig, token transfer, and raw escape hatch in one short path.
Crypto capabilities
SHA-256, Keccak, BLAKE3, Ed25519/secp256k1 payload checks, and planned heavy crypto.
From Anchor
Map constraints, account wrappers, initialization, and IDL expectations into Hopper.
Client generation
Generate TS, Kotlin, Python, Go, C, and Rust readers from one Hopper manifest.
Start
First five minutes
The shortest path through account declarations, typed contexts, handlers, dynamic tails, and raw escape hatches.
Getting started serious
Install Hopper, scaffold a program, and ship a complete first workflow.
Why Hopper
The compact case for Hopper: segment borrows, policy modes, receipts, and scoped benchmark claims.
Writing programs
Layouts, contexts, policies, receipts, and the program structure Hopper expects.
Token-2022 guide
Zero-copy Token-2022 extension checks for transfer hooks, fees, CPI guard, and account state.
Tail lab example
Bounded dynamic fields, TailStr, TailBytes, init helpers, and account wrappers.
Styx ferry messaging
Forward-secret messaging and VSL ferry proof control plane using Hopper crypto, precompile checks, and verifier CPI paths.
Protocol-grade examples
Examples that combine policies, typed contexts, dynamic state, schemas, and operational tooling.
Model
The Hopper model
How Hopper loads, validates, mutates, records, migrates, and explains account state.
Architecture
The crate and runtime layers behind typed zero-copy state, schemas, receipts, and CLI inspection.
Hopper layers
A map of the framework, runtime, schema, SPL, CLI, and example layers.
Memory access
The safe, pod, raw, and cross-program access tiers and when each belongs in a handler.
Events over self-CPI
Anchor’s emit_cpi ergonomics on a 3-byte wire: authenticated event self-CPI, measured costs, and the runtime PDA trade-off, live on devnet.
Composite contexts
Nest one accounts context inside another with Anchor-style flattening, and write-sets, events, and touch maps that compose across the boundary.
Crypto capabilities
SHA-256, Keccak, BLAKE3, precompile checks, secp recovery, and the remaining heavy-crypto roadmap.
Native backend
The native account-view substrate, syscall boundary, and no_std runtime shape.
Native enhancements
Native backend capabilities that make Hopper programs inspectable without changing the wire format.
Migration
Lazy migration at bind
Declare the previous layout version on a field and every instruction becomes a migration crank, typed, in place, measured live on devnet.
Dynamic fields from Quasar
Bounded strings and vectors with Hopper layout fingerprints and migration-aware capacities.
Dynamic tails from Quasar
Final TailStr and TailBytes regions for deliberate remaining-byte account designs.
From Anchor
How to map account constraints, IDL expectations, and program structure into Hopper.
From Quasar
How Hopper handles zero-copy layout, dynamic tails, and framework-level tooling.
Hopper vs Quasar
Write like Quasar. Hopper verifies the bytes before it casts them.
Port Quasar in 20 minutes
A practical path for moving Quasar-shaped programs into Hopper contracts.
Operations
Self-describing transactions
Opt-in byte-range touch maps that let a confirmed transaction name the exact fields it wrote, decoded live from devnet signatures.
Manifests and tx tooling
program_manifest! one-liners, manifest generation from source, and the no-Node hopper tx send / tx explain loop.
Schema architecture
Program manifests, layout IDs, Codama projection, Anchor-shaped IDL, and compatibility diffs.
On-chain schema publication
How Hopper publishes and fetches manifest PDAs for versioned account layouts.
CLI reference
Schema export, account inspection, explain, manager, profiling, publish checks, and client generation.
Client generation
Generate TypeScript, Kotlin, Python, Go, C, and off-chain Rust clients from one Hopper manifest.
Hopper manager
Operator-facing manifest fetch, decode, identify, summary, invoke, receipt, and crank tools.
Profiling
Static SBF ELF analysis, folded-stack output, flamegraph export, and benchmark provenance.
CU costs
Compute-unit notes for validation, loading, receipts, events, and access tiers.
Benchmark policy
How Hopper reports same-provenance performance data without overclaiming.
Safety
Policy guarantees
Strict, sealed, and raw modes, plus what each access tier promises.
Proc macro policy
The public macro contract for account, context, program, instruction, and policy generation.
Unsafe invariants
The audit ledger for raw-pointer boundaries and safety contracts.
