The vocabulary of these docs, in one place.
Attestation
An on-chain statement that some unspent note holds at least a threshold,
made with attest. Shows the threshold, a purpose and a holder ID; hides the
note, its amount and its owner. → Prove a balance
$ZKSVM
The protocol's token. One billion supply; part of the protocol's fees buys it back and burns it, and stakers earn a higher rate than the pool's base yield. → The $ZKSVM token
Asset id
What a note is made of: 0 for SOL, otherwise the token's mint reduced into the field. Private in every transfer.
Blinding
A random value inside every note. It makes two notes with the same amount and owner produce different commitments. For notes owned by an address or a condition, it also keys the nullifier.
Burner wallet
A throwaway keypair kept in the browser, offered on test clusters. No extension and nothing to approve.
Claim
Spending a note owned by a Solana address. Authorized by that address signing the transaction. → Claim a payment
Claim code
Text beginning zkclaim that carries a note's opening to a recipient who
cannot decrypt it. Identifies the note; cannot spend it.
Commitment
The hash of a note that goes on-chain: Poseidon3(asset, amount, Poseidon2(pk, blinding)). Reveals nothing about the note.
Holder ID (tag)
Poseidon2(spending key, scope). The pseudonym an attestation shows: stable
for one key under one scope, unlinkable across scopes.
jitoSOL
The token of Jito's stake pool. Backed by staked SOL and worth more of it each epoch; what an earning note is denominated in. → Earn while shielded
Leaf
A position in the pool's Merkle tree. Leaf 12 is the thirteenth commitment ever added. The leaf index is part of a note's nullifier.
Memo
The encrypted payload a returnable note carries in place of a ciphertext for its recipient. Readable only by the sender; it is how the right to take a payment back survives a wiped browser.
Note
A unit of shielded value: (asset, amount, owner pk, blinding). Never
published. Your balance is the sum of your unspent notes.
Nullifier
A value published when a note is spent, computable only by someone entitled to spend it and unlinkable to the commitment. Recorded as an account, so a second spend fails.
Opening
The contents of a note — what you would need to recompute its commitment.
Owner pk
The field element naming a note's owner. One of: Poseidon1(spending key),
Poseidon2(address), or for a returnable note Poseidon4(address, refund pk, not_before).
Pool
The program's single account holding the Merkle tree and recent roots, plus the vault account that holds the SOL.
Proving key / verifying key
The two halves of a circuit's setup. Wallets use the proving key to build proofs; the program has the verifying key compiled in.
Receipt
An off-chain proof that a commitment in the pool pays a given owner at least a given amount, for a stated purpose. → Receipts
Redeem / reclaim
The two ways out of a returnable note: the claimant's, at any time; the sender's, after the return date. Both produce the same nullifier, so only one can happen.
Relayer
A party that submits a pool transaction for someone else and is paid from inside the pool, so the user's wallet never appears as fee payer.
Returnable note
A note owned by a condition: a Solana address may collect it, or its sender may take it back after a date. → Payments that come back
Root
The Merkle root of the pool's tree. Proofs target a root; the program accepts any of the last 64, so that a proof survives other people's deposits landing first.
Scope
A field element chosen by whoever asks for an attestation — in the app, the hash of the wording. Binds the proof to its purpose.
Shield / unshield
Moving SOL into and out of the pool. The two public edges.
Shielded address
zks + base58(pk ‖ encPk): who owns a note, and the key to encrypt it to.
Safe to publish.
Spending key
The secret from which your shielded identity follows, derived from one wallet signature.
Trusted setup
The ceremony that produces a circuit's keys. Sound as long as at least one contributor was honest. → Circuits and ceremony