price zkSNARK
Backed by NFTs the vault actually holds on Zcash. Buy with USDC, collect one hundred, redeem a whole piece.
100% of fees → NFT acquisition
Your position
No wallet connected.
Connect to buy keys, sell them, or redeem.
The market
Held in the vault
Sections
10,000 shielded identities on Zcash, read live from Zilkroad’s public market API — the same feed that prices every key.
Price & liquidity · Snapshot
| Piece | Ask | USD | vs floor |
|---|
Order flow
| Piece | Price | USD | Via | Ago |
|---|
Five zkSNARKs held at one shielded Zcash address. Piece numbers, acquisition prices and rarity ranks below; every figure is checkable against Zilkroad’s public record.
Holdings
Provenance
| Piece | Rank | Paid | USD now | Funded by | Status |
|---|
Verification
A Zcash viewing key reads an address without being able to spend from it, so the vault’s contents can be enumerated directly on-chain.
Every purchase and payout is a USDC transfer carrying its own key count, so balances are recomputed from chain state rather than stored.
You never need the token to buy keys. It exists for one reason: Pons pays its trading fees in ETH to the creator wallet, that ETH is converted to ZEC, and the ZEC buys zkSNARKs into the same vault your keys are backed by. Every trade makes every key worth more.
Fee deployment
| Piece | Paid | USD then | USD now | When |
|---|---|---|---|---|
| #361 | 1.00 ZEC | $1,502 | $1,480 | 5h ago |
| #3026 | 1.05 ZEC | $1,560 | $1,554 | 11h ago |
Why it matters to key holders
Every buy and sell on Pons pays a fee in ETH to the creator wallet.
Fees pool, convert to ZEC, and wait until they cover a floor piece.
The piece joins the vault with no new keys issued against it.
Same key count, more NFTs. Holders gain without paying again.
A key is one percent of one zkSNARK — priced off the live floor, paid in USDC, and backed by a piece the vault actually holds.
Supply
Supply can never exceed 100 keys per NFT held. The ceiling only rises when the vault buys another piece.
What a key gets you
A key is worth 1% of the floor. If the collection moves, your key moves with it, to the cent.
Collect 100 keys, give us a shielded Zcash address, and take delivery of an actual zkSNARK.
Sell any number of keys back for USDC at floor value, minus a 2% exit fee.
Backing these keys
Everything the product does, the rules it follows, and the parts that are not settled yet.
Pay USDC. A key costs 1% of the current Zilkroad floor. No token needed, ever.
Your USDC pools with everyone else's and buys real zkSNARKs. Every purchase is logged.
Token trading fees buy more pieces into the same vault, so keys back more over time.
Sell keys for USDC any time, or hold 100 and claim a whole NFT.
A key is always worth exactly 1% of one zkSNARK. The price is read from Zilkroad's floor at the moment you buy:
key price (USD) = floorZec × zecUsd ÷ 100
At the snapshot on this site — 0.9 ZEC floor, ZEC at $1,479.56 — that is $13.32. If the floor doubles, a key is worth double. If it halves, so does the key. Pricing reads a short rolling average rather than the instantaneous floor, so one cheap listing cannot be used to mint keys below their real backing.
Keys can never exceed 100 × the number of NFTs in the vault. Five pieces means a hard ceiling of 500 keys. The cap rises only when the vault buys another piece, and it is enforced in code — when availability hits zero, buying stops until the next acquisition. This is the rule that makes "100% backed" a fact rather than a slogan.
Key balances are held and settled by us against the vault, in USDC, to the wallet you connect.
Zilkroad exposes a public JSON API with no authentication:
GET /api/market/stats floorZec, supply, sales24h, volume24hZec GET /api/market/rate zecUsd (CoinGecko) + staleness flag GET /api/market/listings every ask, with piece number and image GET /api/market/sales recent fills; via = "ask" | "offer" GET /api/market/tokens trait table for all 10,000 pieces GET /api/art/{id} the artwork itself, as PNG
The responses carry no Access-Control-Allow-Origin header, so a browser on another domain cannot call them directly. A small server-side proxy that fetches, caches and re-serves with CORS enabled is required. Zilkroad sets cache-control: max-age=15, so a 15-second cache matches their own freshness. Note that limit is ignored on the listings endpoint — it returns all 1,605 rows every time.