Testnet Draft

This document reflects the current testnet deployment status. Contract addresses, chain IDs, and fee parameters will be updated prior to public Horizen Mainnet release.


1. What Is ZENDEX?

ZENDEX (ZK-AMM and Orderbook) is a privacy-preserving hybrid dynamic decentralized exchange (DEX). It lets users trade cryptocurrency tokens, provide liquidity, and place limit orders without revealing their balances, trade amounts, or identity to anyone observing the blockchain.

Most existing DEXes (like Uniswap) record every transaction publicly. Anyone can see exactly who traded what, for how much, and when. ZENDEX solves this by wrapping every financial operation inside a Zero-Knowledge Proof (ZKP) which is a mathematical technique that proves "I did this correctly" without revealing any of the underlying private data.

Deployment Stages

Stage Network Chain ID Status
Current Horizen Testnet 2651420 Active Private Testnet

Fee split percentages and token parameters will be finalized and confirmed against contract implementation before public testnet. Numbers in this document are placeholder values from the current testnet deployment.


2. Core Problem ZENDEX Solves

Problem on public DEXes How ZENDEX solves it
Balances are visible on-chain Balances are hidden inside cryptographic commitments
Trade amounts are public Amounts are encoded in private ZK proofs
Wallet addresses can be tracked Deposits and withdrawals are cryptographically unlinkable
Limit orders reveal trading intent Orders are private until matched and executed
Gas costs from repeated proof generation One "inclusion proof" is reused across many operations

3. Key Technologies

UltraPlonk Proofs via Noir + Barretenberg as the core privacy engine. ZENDEX uses the UltraPlonk proving system, a modern ZK construction that produces compact proofs and supports fast on-chain verification. Proofs are generated using the Barretenberg library (from Aztec), and the circuits that define the rules are written in Noir, a domain-specific language for ZK programming. UltraPlonk does not require a per-circuit trusted setup, making it more flexible and trustless than older systems like Groth16.

Poseidon Hash: A hash function optimized for ZK circuits. ZENDEX uses it to "seal" private data (amounts, keys, blinding factors) into short, opaque commitments.

Merkle Tree: A data structure that efficiently stores all user commitments. It allows anyone to prove that a specific commitment exists in a large set without revealing what the others are.

UUPS Upgradeable Contracts: Smart contracts built with the ability to be upgraded without users needing to move their funds. (UUPS = Universal Upgradeable Proxy Standard, an OpenZeppelin pattern.)

EVM-Compatible Deployment: Currently on Horizen Testnet and going live on Horizen Mainnet post community testnet phase.