Docs
Contents

Networks and addresses

The testnet beta

Zcashtestnet, NU7 active since height 4,465,026 (25 s blocks)
Solanadevnet
MagicBlock/SVM rolluphttps://devnet-as.magicblock.app (validator MAS1Dt9qreoRMQ14YQuhg8UTZMMzDdKhmkZMECCzk57)
Pageshttps://zol.cash/ (landing), /play.html (deposit, withdraw, the games), /coinflip.html, /updown.html, /auction.html, /two-player.html, /docs/ (these docs)
Gateway API (3 operators)https://zol.cash/op0, /op1, /op2 (reference)
House service (the games' counterparty)https://zol.cash/house

Everything runs on one host for the beta; the operators are meant to run on separate hosts and providers before mainnet.

Programs and accounts (Solana devnet)

WhatAddress
zol-ledger3qh6GRqjmVSeVctB6R7oYYsdG68oFyRDwnXGvKamib3Y
zol-coinflip (the games app: coin flip, Up/Down, auction)7G2o74qyLh477EuWUFdgumeB13kTCK1cuHgKoRqM1yUo
MagicBlock delegation programDELeGGvXpWV2fqJUhqcF5ZSYMS4JTLjteaAMARRSaeSh
MagicBlock magic program / contextMagic11111111111111111111111111111111111111 / MagicContext1111111111111111111111111111111
MagicBlock VRF programVrf1RNUjXmQGjmQrQLvJHs9SNkvDJEsRVFPkfSQUwGz
VRF queue (rollup)5hBR571xnXppuCPveTrctfTU7tJLSN94nq7kv7FRK5Tc
MagicBlock price oracle programPriCems5tHihc6UDXDjzjeawomAwBduWMGAi8ZUjppd
ZEC/USD feed (Pyth Lazer id 66)6XWQr2Y1XEpJrCdVbYGupnDeb3wkR4YXazVXdgn2Lwpg (live in the rollup only)

The ledger's pinned code hash is in the README; every operator refuses to sign if the deployed ledger differs.

Ledger settings on the testnet

SettingValue
Deposit amounts (denominations)0.01 TAZ (1,000,000 zat), 0.1 TAZ (10,000,000 zat)
Entry fee / exit fee0.3% / 0.3%
Network-fee allowance per payout20,000 zat
Smallest withdrawal (min_exit)50,000 zat
Seats per pot (max_seats)16
Pot open at most / session length1 hour / 1 minute to 2 hours
Refund grace after the session deadline3,900 s
App activation delay1 hour
Credit depth1 block early (within the operators' float; 3 before 2026-10-12), 60 blocks full; payouts final at 60

Read the live values from the ledger's Config account or GET /v1/apps/{app}.

Getting TAZ

Many testnet faucets still follow the pre-NU7 fork, and their TAZ never reaches the current chain. Valar's faucet is on the NU7 chain (/api/status reports chainHeight; 0.125 TAZ per IP per day). Check any faucet's height against your node's before using it.

MagicBlock in ZOL

What ZOL uses from MagicBlock, and what we learned getting it to work on devnet.

FeatureUsed forNotes
Delegationpots (by the ledger) and app state (by the app) move into the rollupName the validator explicitly; without it the delegation program picks a default and the account never appears in your rollup
VRFcoin-flip outcomesPin the oracle queue (ALLOWED_QUEUES) so a caller can't name a queue whose oracle they run. The oracle submits each answer more than once; later copies fail harmlessly
Price oracleZEC Up/DownThe feed account is updated only in the rollup; its Solana copy is stale. It is a Pyth PriceUpdateV2 body: verification level at byte 40, feed id 41..73, price (i64) at 73, publish time (i64) at 93. The publish time trails the rollup clock by about a second
Scheduled tasks (cranks)closing idle tables, ending auctionsA scheduled instruction may not include any signer account; sign with your program's PDAs inside it. The validator ran tasks about every 5 s even when 20 s was asked
Return actions (post-undelegate)paying a pot out the moment it is backAttach them to the account whose return matters (the ledger does this for pots via close_pot's action); separate accounts return in separate transactions

Gotchas: