05 — Whisp docs

Earning ZEC (the Refinery)

How SOL fees become ZEC in your wallet.

ZEC on Solana

Rewards are paid in the OmniBridge ZEC token: an SPL token with 8 decimals and no freeze authority. It is a bridged claim on ZEC, not a shielded Zcash note. Many fake "ZEC" tokens exist. The mint is set once, when the program is initialized, and the crank refuses to run with any other: check zec_mint in Config against the published mint.

At resolve, ZEC is owed

The program never swaps. When a round resolves it fixes what is owed in ZEC using the posted rate (ZEC base units per SOL):

  • winners' ZEC = the losers' 5% fee × rate (with nobody on the winning square, it goes to the jackpot);
  • jackpot pool += the jackpot share of the fee × rate;
  • WHISP stakers' ZEC += the stakers' share of the fee × rate.

The matching SOL is earmarked in the vault for the Refinery.

The crank restocks

In batches, the crank takes the earmarked SOL out, swaps it for ZEC on Jupiter and deposits the ZEC into the vault. Lifetime SOL out and ZEC in are both on-chain, so anyone can check the fill rate it achieved.

Claiming

Claim ZEC to any token account. Withdraw in the wallet menu does it together with your SOL in one transaction. If the vault holds less than you are owed, you get what is there and the rest stays owed; after about a day without a restock, the owed ZEC can be taken in SOL at the last rate (Liveness).

The rate

The crank posts the SOL→ZEC rate, slightly below the market rate, and can move it at most 10% per post, one post per 150 slots; the admin can override.

Explain this page withClaudeChatGPTGrok