Engineered to bring bank-grade privacy to decentralized finance. Unlike standard mixers, depositors can generate viewing keys to grant specific counterparties or auditors on-demand decryption access.

Institutions moving real size on-chain face a tradeoff they shouldn't have to accept. Every transaction on a public chain reveals position size, counterparty identity, and timing to anyone watching, including competitors, front-runners, and automated chain analytics. That visibility is precisely what keeps serious institutional volume off public blockchains in the first place. Existing privacy tools solve the wrong half of this problem. They hide a user's activity from everyone, including the people who legitimately need to see it: a counterparty confirming a trade, an auditor verifying a settlement, a compliance team checking a flow of funds. Total secrecy isn't what institutions want. Controlled, selective visibility is.
discrete is a confidential settlement layer built on Arbitrum. Deposits enter a zero-knowledge shielded pool, and withdrawals are proven, not revealed: a user can withdraw to a fresh address without any on-chain link back to their original deposit. What sets discrete apart from a standard mixer is what happens next. Each depositor can generate a scoped viewing key and share it with a specific counterparty or auditor, letting that party decrypt the exact details of a single transaction on demand, while everyone else still sees only an anonymous entry in the pool. Nothing is visible to the public by default. Everything is provable to whoever is supposed to see it.
To make that guarantee legible to a non-technical reviewer, discrete's pool dashboard reports privacy as plain-language odds rather than abstract cryptography. If the pool currently holds 4,096 deposits, the dashboard states plainly that any given transaction is one of 4,096 indistinguishable entries, harder to correctly trace than a royal flush. It's the same underlying k-anonymity math every shielded pool relies on, made readable to a compliance officer instead of only a cryptographer.
Shielded pool. Deposits are recorded as Poseidon commitments inside an incremental Merkle tree. Withdrawals use a Groth16 zero-knowledge proof to show the withdrawer holds a valid, unspent note without revealing which one, while a published nullifier hash prevents any note from being spent twice.
Selective disclosure. Each note can carry an encrypted memo, sealed with an ECDH-derived key tied to a recipient's viewing public key. Only the holder of the matching viewing private key can decrypt it. The scheme mirrors the approach used in stealth address standards like EIP-5564, applied here to transaction disclosure rather than address generation.
Optional compliance screening. An association set contract allows withdrawals to optionally prove membership in a screened set of deposits, giving institutions a way to require that counterparties draw only from vetted funds, without deanonymizing any individual depositor.
Odds Engine. A read-only dashboard component that translates live pool size into a plain-language probability statement, so the privacy guarantee is understandable at a glance rather than buried in circuit math.
A mixer optimizes for one thing: making a transaction untraceable to everyone, full stop. discrete optimizes for something institutions actually need: a transaction that's untraceable to the public and provable to a chosen party. The viewing key system, not the shielded pool itself, is the core contribution here. The shielded pool is table stakes; the selective disclosure layer on top of it is the product.
Built and demoed live on Arbitrum Sepolia during the Open House Buildathon (September 14 to October 4, 2026). The core deposit, withdraw, and selective disclosure flow runs end to end against deployed contracts on testnet.
Website: https://discrete-privacy.netlify.app/
Repository: https://github.com/AqilaTheBuilder/discrete
Solidity and circom for the on-chain and circuit layer, Groth16 proofs generated client-side via snarkjs, React and wagmi/viem for the frontend, and an optional Node.js relayer for gas-abstracted withdrawals. Deployed and tested on Arbitrum Sepolia.
Defined the confidential settlement concept and committed to the architectural decision that differentiates this from a standard mixer: a zero-knowledge shielded pool paired with counterparty and auditor selective disclosure, rather than total anonymity alone. Wrote the full technical specification covering the commitment and nullifier scheme, incremental Merkle tree, withdrawal circuit constraints, selective disclosure key scheme, and the Odds Engine anonymity-set readout. Chose to fork and adapt an established, previously audited shielded-pool reference implementation for the cryptographic core rather than write a new circuit from scratch, given the timeline.
Pre-seed and self-funded. No institutional capital raised. We are seeking non-dilutive grant funding and strategic ecosystem partners to complete an independent security audit, expand testnet coverage, and pursue a controlled pilot with a real institutional counterparty.