Onyx
Private dollars, backed by Zcash.
The problem Onyx solves
What problem Onyx solves
The core problem is simple:
Zcash gives you strong privacy, but there is no credibly backed, stable “money layer” on top of it.
Right now ZEC looks scary to most normal people:
- “What even is Zcash?”
- “The price chart looks like a nuke.”
- “It is private, so it must be risky.”
- “I cannot park savings in something that can drop 40% in a month.”
They are not completely wrong. ZEC is volatile and “just hold ZEC” is not a great savings story. On the other side:
- Dollar stablecoins (USDC, USDT, etc.) live on fully transparent chains, so every balance and transfer is traceable.
- “Algo stables” often rely on circular, reflexive tokenomics that blow up under stress.
- There is no Zcash-native, private stablecoin that feels conservative and boring enough to be real money.
Onyx is designed to fill that gap.
Our approach: a $100 floor and explicit risk separation
Onyx introduces USDO, a ZEC-backed stablecoin that lives privately on Aztec.
The key design choice is a conservative ZEC floor price and a split between “safe” value and “risky” value.
- The protocol picks a conservative floor price for ZEC, for example
`P_f = $100 per ZEC`. - When ZEC trades above that (say `P_m = $350`), the protocol only treats the first $100 as stable collateral for USDO.
- The extra $250 of value is not assumed to be safe. It is pushed into:
- a surplus / bond token called xUSDO, and
- a buffer called the Volatility Absorption Pool (VAP).
So if ZEC is at $350 and you deposit 1 ZEC:
- You mint roughly 100 USDO (plus a small protocol-defined bonus).
- You receive xUSDO that represents the extra volatile value.
- Some of the surplus is routed to VAP and protocol fees.
If ZEC “nukes” down toward $100 or below:
- The system only promised the floor part.
USDO is still backed by at least $100 of ZEC per ZEC used at mint. - The pain is absorbed by xUSDO holders and protocol buffers, not by USDO holders.
- There is no magical algorithm pretending $350 is still “there” when it is not.
If ZEC rallies higher, xUSDO and a time-based redemption curve allow risk takers to share upside, while USDO stays pegged close to $1.
In other words, Onyx takes the “what if Zcash nukes?” question and bakes the answer directly into the math instead of hoping it never happens.
What people can actually use it for
-
ZEC holders who do not want to sell
Borrow USDO against ZEC at a conservative floor instead of dumping into a CEX. Keep long-term ZEC exposure but unlock stable liquidity. -
Privacy-focused users
Hold a dollar-like asset (USDO) that lives in Aztec’s private state, instead of fully transparent L1s where their entire financial history is on-chain. -
Builders in the privacy DeFi stack (Aztec dapps, Boreal projects, etc.)
Plug a native private stablecoin into lending, DEXs, payments and payroll without bolting on a centralized USDC bridge.
Onyx does not claim ZEC is risk-free or magically backed. It just makes the risk explicit and priced:
- USDO is backed at the conservative floor price.
- xUSDO and VAP take the “nuke or moon” volatility.

Challenges I ran into
Building Onyx came with several challenges because designing a private ZEC-backed stablecoin that actually works required solving real economic, cryptographic, and cross-chain problems. One of the biggest challenges was taking the simple idea of a $100 ZEC floor and turning it into a real mathematical model. The idea sounds easy: the first $100 of ZEC value is “safe collateral,” and anything above that is volatile surplus. But when you try to implement it, you quickly realize you need a three-zone pricing system so the protocol behaves correctly whether ZEC is pumping or nuking. That led to defining three regimes based on the market price P_m relative to the $100 floor P_f and the threshold price P_t. In Zone 1 (high confidence), USDO is minted using the floor price and the surplus becomes xUSDO. In Zone 2 (caution), USDO is discounted based on how close ZEC is to the floor, and surplus is taxed harder. In Zone 3 (emergency), the protocol ignores the floor entirely and uses the real market price with a haircut, while minting zero xUSDO. On top of this, we had to enforce a global solvency rule so total reserves multiplied by the floor always covers the entire USDO supply. Getting all of this mathematically consistent, conservative, and still reasonable for users took a lot of iteration.
Another challenge was dealing with the classic “Zcash nukes” and “ZEC isn’t backed by anything” concerns. Instead of pretending ZEC is safe, Onyx directly separates the stable and volatile parts of ZEC’s value. USDO holders only rely on the stable floor value, not the full spot price. All volatility above the floor is absorbed by xUSDO and the volatility absorption pool. This lets the system stay solvent even if ZEC drops from $350 down to $100 or lower without breaking the stablecoin. It also creates a clean narrative: the system only trusts the floor price and explicitly labels everything above it as risk.
Another big challenge was architecting the protocol inside Aztec’s private environment. Unlike Ethereum, Aztec does not expose balances publicly; everything is stored as private notes. Ownership checks, vault accounting, redemptions, and liquidations all require zk proofs instead of simple address checks. Only aggregated vault totals and supply numbers can be public. This required re-thinking every system component as a Noir circuit. Even designing how a user “owns” a vault position required planning for private note ownership proofs, private state transitions, and ensuring no user data leaks .
Tracks Applied (16)
Cross-Chain Privacy Solutions
Starknet
Self-Custody & Wallet Innovation
Starknet
General Bounty
Network School
Cross-Chain Privacy Solutions
Axelar Network
Private DeFi & Trading
Aztec
Private Payments & Transactions
Osmosis
Creative Privacy Applications
Fhenix
Cross-Chain Privacy Solutions
Helius
Private DeFi & Trading
Zcash Community Grants
Private DeFi & Trading
Unstoppable Wallet
Private DeFi & Trading
Noah by Plena Finance
Generic Bounty
Mintlify
Cross-Chain Privacy Solutions
NEAR Protocol
Private Payments & Transactions
NEAR Protocol
General Bounty
Project Tachyon
Private Payments & Transactions
Star Fun
Technologies used
Cheer Project
Cheering for a project means supporting a project you like with as little as 0.0025 ETH. Right now, you can Cheer using ETH on Arbitrum, Optimism and Base.
