zkSVM

App

Litepaper

Documentation

Links

DocsUse the app

Troubleshooting

What each message means and what to do.

4 min read

What the app's messages mean, and what to do about them.

Getting in

You seeWhat it meansWhat to do
No Solana wallet was detected in this browser.No Wallet Standard wallet is installed or enabled.Install one, reload, or use a burner on a test cluster.
Cancelled in the wallet.The signature or transaction was rejected in the wallet popup.Try again and approve.
No pool on this clusterThe zkSVM program is not deployed on the cluster the app is using.Check the cluster chip in the top-left, and switch to a cluster where the pool is live.
The pool is not initializedThe program exists; its tree and vault do not yet.Press Initialize the pool. It is permissionless and happens once per deployment.

Syncing

You seeWhat it meansWhat to do
Reading the chain… for a long timeFirst sync on this device, or a busy pool. The app reads every note.Wait. Later visits resume from the cache.
A payment you expect is missingYour copy of the pool is a few seconds behind.Press Resync.
Balance shows 0 after switching clusterEach cluster and deployment has its own pool.Switch back, or shield on this one.

Sending and unshielding

MessageWhat it meansWhat to do
The most this can move is … SOL.A send spends two notes at most, an unshield one.Merge your notes, then retry.
One transfer spends at most two notes…Same limit, found while choosing notes.Send the suggested amount to your own shielded address first.
That is neither a shielded address nor a Solana address.The recipient did not parse.Paste it again; shielded addresses start with zks.
Unshielding pays a Solana address.You entered a zks… address on the Unshield tab.Use Send for shielded recipients.
That address is new: it must receive at least … SOL to exist.A new Solana account needs a minimum balance.Withdraw at least that much.
The pool moved on while the proof was being built. Try again.Many notes were added between building your proof and landing it.Press the button again.
The staking rate moved while this was in flight. Try again.Jito's rate changes once an epoch, and an earning shield names an exact amount.Press Shield again. Nothing was spent.
That note has already been spent.The same note was used by an earlier transaction — often a double click.Let the app resync; your balance is correct.

Claiming

MessageWhat to do
That is not a claim code.Copy the whole code, starting at zkclaim.
No note in the pool matches this code for your address.Connect the address that was paid. If the payment is very recent, Resync first.
That note is gone: it was claimed already, or it went back to its sender.Nothing to do — ask the sender if it was returnable.

Proving

MessageWhat to do
A proof speaks for one note, and your largest holds … SOL.Merge until one note covers the amount.
Say what this is for.Fill in For: the wording is part of the proof.
Made for something else.The proof is real, but was made under different wording. Ask for one with yours.
Not in this pool.The receipt refers to a note this pool does not hold. Check the cluster, then Resync.
The proof is about a different recipient than the receipt names.The receipt was altered. Do not rely on it.

Performance

  • The first proof is slow. Proving keys are downloaded once — 16 MB for sends, about 8 MB each for the others — and cached by the browser.
  • Proving takes a few seconds and a few hundred megabytes of memory. Desktop browsers handle it comfortably; older phones may struggle.
  • Keep the tab in front while a proof is building. Browsers slow down background tabs.

Still stuck? The FAQ covers the questions that are not error messages.