Free · runs in your browser · no signup

See value turn private.

Zcash scripting and zero-knowledge can look like pure magic. ZKstacks makes them visible — step through real scripts on a visual stack machine and watch transparent funds shield into the Orchard pool.

100+ opcodes20+ scripts0 setupHalo 2 · no trusted setup

Opcodes. Shielded pools. SNARK proofs. Powerful — but invisible. So we made them move.

01 — EXECUTE

Watch every opcode fire.

Step through a real script and watch the stack mutate in real time — duplicate, hash, verify — until the funds unlock. The model finally clicks because you can see it.

<Sig> <PubKey> → OP_DUP → OP_HASH160 → OP_EQUALVERIFY → OP_CHECKSIG → TRUE

The ZKstacks stack machine animating Zcash opcodes pushing and popping values until a script resolves to TRUE

02 — Learn

One workspace, three panes.

Pick a script in the editor, step it on the stack visualizer, and read why each opcode satisfies Zcash consensus from the built-in mentor — then copy the real zcash-cli to run it for yourself.

t-address · public ledger

Transparent

  • Public amounts & addresses — anyone can audit the chain.
  • Works exactly like Bitcoin's UTXO ledger.
  • Unlocked with classic Script — signatures & hashes.
z-address · orchard pool

Shielded

  • Value sealed inside an encrypted note.
  • Nullifiers stop double-spends without revealing the note.
  • Validity proven by zk-SNARKs (Halo 2) — no trusted setup.
OP_DUPOP_HASH160OP_CHECKSIGOP_EQUALVERIFYOP_SWAPOP_ROTOP_CHECKMULTISIGOP_IFOP_TOALTSTACKGENERATE_SNARK_PROOFOP_SHA256CREATE_SHIELDED_OUTPUTOP_BOOLANDVERIFY_SNARK_PROOFOP_NUMEQUALPROVE_OWNERSHIP

Real depth

A real opcode playground.

From basic arithmetic to shielded SNARK operations — every opcode is colour-coded by category and executes live on the stack. 100+ supported, across 20+ ready-made scripts.

The "aha"

Watch a script unlock funds.

Standard P2PKH — the most common Zcash transparent spend — animated opcode by opcode until the stack resolves to TRUE.

Try the real thing

The sandbox, right here.

This is the actual ZKstacks stack machine — not a screenshot. Open the full app, or preview it inline, then pick a script and step the opcodes yourself.

zkstacks · /app — visual stack machine open full-screen ↗

Open the visual stack machine

Jump straight into the full ZKstacks app — editor, stack visualizer & mentor.

Open the stack machine → Free · runs locally · nothing leaves your browser

The 30-second film

From magic to muscle memory.

Script, stack, shield, ship — the whole idea in half a minute, sound on.

▶ Watch · 0:30
100+
Opcodes supported
20+
Ready-made scripts
0
Setup / install
Free
In your browser

FAQ

Good questions.

What is ZKstacks?
A free, browser-based educational sandbox. You step through real Zcash scripts on a visual stack machine, watch each opcode execute, and see transparent funds turn shielded inside the Orchard pool — making abstract zero-knowledge concepts visible and hands-on.
Do I need to install anything?
No. ZKstacks runs entirely in your browser with zero setup, and it's free, with 20+ ready-made scripts you can run instantly.
What's a stack machine and an opcode?
Zcash transparent spends are unlocked by a small script — opcodes like OP_DUP, OP_HASH160 and OP_CHECKSIG that push and pop values on a stack. The script must resolve to TRUE for coins to move. ZKstacks animates that stack so you can watch it happen.
Transparent vs shielded — what's the difference?
Transparent funds behave like Bitcoin's UTXO ledger — public amounts and addresses. Shielded funds are encrypted notes in the Orchard pool; nullifiers prevent double-spends without revealing the note, and validity is proven by zk-SNARKs (Halo 2) with no trusted setup.
Does it connect to a real node?
The sandbox simulates execution so it's safe to experiment. For every script it generates the real zcash-cli commands, so you can run the exact same logic on your own node when you're ready.

Stop guessing. Start seeing.

Watch Zcash work.

Free, in your browser, no signup. Open a script and step the stack in the next ten seconds.