Logo
Learn
  • Explore Course
Build
  • Explore Buildathon
  • Project Archive
Hack
Hack Coming Soon
  • Explore IRL Hackhouse
  • How to Qualify
  • Past Events

DARX - ZK Dark Pool

Private Trading, Powered by Zero-Knowledge Proofs. Trade any token in size with zero price impact with crypto's first decentralized crossing network. Live today on Arbitrum Ecosystem.

Videos

Description

DARX — ZK Dark Pool

Private trading powered by zero-knowledge proofs.

Trade at midpoint prices with encrypted order data. Orders are matched off-chain and settled on-chain via a Groth16 ZK proof; only you and the relayer see your order details (relayer privacy).

Pitch Deck: https://www.figma.com/deck/qRseTVpXI21ktYUdjy1p0E/Darx---ZK-Dark-Pool?node-id=1-42&viewport=-5281%2C-71%2C0.61&t=Zn8gNwExGIKEyP8x-1&scaling=min-zoom&content-scaling=fixed&page-id=0%3A1

Website: https://darxcrypto.vercel.app/

Features

- Private order book — Side, size, price, value, and filled amount are AES-256-GCM encrypted in the database.

- ZK-settled trades — Matched trades are proven in-circuit (midpoint tolerance) and settled on Arbitrum Sepolia with a single settleTrade call.

- Midpoint pricing — BBO feeds from Binance (with CoinGecko fallback); trades clear at the midpoint.

- Modern stack — Next.js 16, React 19, Wagmi, RainbowKit, Supabase, Circom, snarkjs, Foundry.

---

How it works

┌─────────────┐ submit order ┌─────────────┐ match / encrypt ┌──────────────┐

│ Frontend │ ───────────────────► │ Backend │ ──────────────────────► │ Supabase │

│ (Next.js) │ │ (Express) │ │ (orders) │

└──────┬──────┘ └──────┬───────┘ └──────────────┘

│ │

│ if matched: │ fullProve (snarkjs in-process)

│ approve + settleTrade() │ → proof + publicInputs

▼ ▼

┌─────────────┐ ┌─────────────┐

│ DarkPool │ ◄── verify proof ──── │ Groth16 │

│ (Arbitrum │ + transfer │ Verifier │

│ Sepolia) │ │ (Solidity) │

└─────────────┘ └─────────────┘

1. User connects wallet, enters amount (token or USDC), submits BUY/SELL.

2. Backend stores the order (encrypted), tries to match with an open opposite order.

3. Matched: Backend generates a ZK proof with snarkjs.groth16.fullProve; frontend approves tokens and calls DarkPool.settleTrade(proof, buyer, seller, ...); backend marks both orders filled.

4. Unmatched: Order stays open; when a counterparty matches later, they run settlement and the first user’s UI can poll until filled.

---

Tech stack

Layer | Technologies

  1. Frontend | Next.js 16, React 19, Wagmi, RainbowKit, Tailwind, Shadcn UI, TanStack Query & Table

  2. Backend | Node.js, Express, Supabase, snarkjs (in-process proof)

  3. Contracts| Solidity 0.8, Foundry, OpenZeppelin

  4. ZK | Circom, Groth16 (snarkjs), Verifier.sol

  5. Chain | Arbitrum Sepolia

Progress During Hackathon

<p><span>During the hackathon, we built DARX from a working concept into a live end-to-end prototype for private crypto trade execution. We implemented a full flow where users connect wallets, submit orders, get matched off-chain, generate a Groth16 proof, and settle on-chain via a DarkPool smart contract on Arbitrum Sepolia. We also integrated real-time pricing with fallback mechanisms, built a complete trade interface, and shipped an advanced orders page with filtering, sorting, and pagination.</span></p><p><span>On the backend side, we added encrypted order storage (relayer privacy model), improved order lifecycle handling, and stabilized matching/settlement behavior across edge cases. On the frontend, we improved UX significantly with balance-aware controls, dynamic button states, wallet-connect flow, better alerts, and flexible amount input modes (token or USDC). By the end of the hackathon, DARX had a functional architecture spanning frontend, backend, ZK proving pipeline, and smart contracts—demonstrating a practical path from private off-chain intent to verifiable on-chain settlement.</span></p>

Tech Stack

NextWeb3SolidityCircom Groth16SnarkJSExpress JSSupabase

Fundraising Status

<p>solo developer project.</p>

Team Leader
ZZaky Irsyad Rais
GitHub Link
github

GitHub

https://github.com/Darx-Crypto-Dark-Pool
Product Category
DeFi