Someone paid your Solana address through zkSVM. The value is already in the pool, shielded, waiting for you. Claiming moves it into your own shielded balance.
What you need
- The wallet that owns the address they paid.
- The claim code the sender gave you. It starts with
zkclaim. - A little SOL for the network fee.
Steps
- Open the app, connect that wallet, and unlock (Connect and unlock).
- Open the Claim tab.
- Paste the claim code and press Claim.
- Approve the transaction.
The app finds the note in the pool, builds the proof, and the amount arrives in your Shielded balance as a note of your own. From there you can send it on privately or unshield it.
Why there is a code
Notes are encrypted so that only their owner can read them. A note sent to a
zks… address is encrypted to a key your shielded wallet holds, so it simply
shows up. A note sent to a plain Solana address would have to be decrypted
with that address's own key — an operation browser wallets do not offer.
The claim code fills the gap: it carries the note's details to you directly. It is not a secret worth stealing. The proof you build ties the note to your address, and the program checks that your address signed the transaction. A code without your signature collects nothing.
Notes that appear by themselves
If you use a wallet that holds its key directly — a burner, or a keypair in a script — the app can decrypt payments to your address without a code. They appear under Your notes marked Owned by your address, with a Claim button beside them. Returnable payments are the exception: they always arrive by code.
What the chain records
| Public | Hidden |
|---|---|
| That your address claimed something | What it claimed |
| How much | |
| Who sent it |
The sender can tell when you collected — nobody else can.
If it does not work
| Message | What to do |
|---|---|
| That is not a claim code. | Copy it again in full, from zkclaim to the last character. |
| No note in the pool matches this code for your address. | Check you connected the address the sender paid. If the payment is seconds old, press Resync and try again. |
| That note is gone… | It was collected already, or it was returnable and went back to its sender. |