hackquest logo

tidex6

Private stablecoin and tokenized-asset payments with a chosen auditor. The sender hides a payment from everyone except the reader they pick — an accountant or a regulator — who can read it but never spend or freeze it. Groth16 proofs, Rust end to end. Live on Solana and Arc mainnet; verifier and both pools deployed on Stylus on Arbitrum Sepolia and Robinhood Chain.

Videos

Project image 1
Project image 2

Tech Stack

Solidity
Web3
Rust
Stylus
WebAssembly
Groth16
Anchor
ZK

Description

tidex6 is a privacy layer for payments that other applications plug into — a library and a set of contracts, not another wallet app.

What it does: a payment is hidden from everyone except the reader the sender chooses. A Groth16 proof breaks the link between sender and recipient; the amount lives inside a Poseidon commitment; an encrypted memo carries date, amount and purpose to one designated reader — an accountant, an auditor, a regulator. That reader can read but never spend or freeze. We call it audit without seizure.

Why Arbitrum and Robinhood Chain: tokenized equities and stablecoins moving between wallets are exactly the payments that need this — payroll in stock tokens, dividends, invoices — and a regulated venue needs disclosure to be possible, not impossible. Mixers hide from everyone; we hide from strangers and disclose on purpose.

What is deployed on Arbitrum today: the Groth16 verifier, Poseidon, the reader registry and both pools, written in Rust and compiled to WASM for Stylus — on Arbitrum Sepolia and on Robinhood Chain testnet, the same code on both. Reproducible Docker builds, and cargo stylus verify passes on every contract including the pool constructor. On Robinhood Chain the pool token is TSLA, so a private payment there is denominated in a tokenized equity rather than a stablecoin. Addresses are in the deployment details and in the repository.

What the buildathon added, 14-22 September: the hidden-amount pool on both chains, where any amount is sealed inside the commitment and a join-split circuit keeps the change private inside the pool; the in-browser prover for it; the relayer indexing both pools and submitting withdrawals so the recipient needs no gas of their own; and the fee moved onto the sender, shown in full before signing, with nothing taken at the exit.

What exists beyond Arbitrum: live on Solana mainnet since April 2026, current verifier immutable with its upgrade authority renounced; the same circuit now on six chains, Arc mainnet included; and two MCP servers, so an AI agent can pay through this rail without ever holding a spending key.

The honest caveat: the trusted setup is a public ceremony and it is still open, so the deployed verifying key is temporary and the pools carry no real money yet. Everything above is open source and checkable without trusting us.

Progress During Hackathon

Sept 2 — project registered. Starting point: privacy payments live on Solana mainnet; a Solidity verifier for the same Groth16 proofs already verifying on an EVM testnet; Stylus port and Robinhood Chain deployment scoped.

Sept 14 — hidden-amount pool shipped on both Arbitrum chains, in Stylus (Rust compiled to WASM) and in Solidity over the same circuits: Arbitrum Sepolia 0xe4c1f2bc121800b8e56ff11dced9a62d6ce3b383, Robinhood Chain testnet 0xf4029451b6988d32ed1a9de847bf3250e83a87fe. The pool was trimmed under the 24 KB Stylus limit by dropping what the circuit already guarantees, and the reproducible build was fixed so cargo stylus verify completes through the pool constructor. Browser side: deposits of any amount, sealed withdrawals, and forwarding inside the pool with a join-split circuit so change stays private. The relayer now indexes both pools.

Sept 15 — Solana devnet brought back with a test-token faucet on the Send page, so a judge can run a full private payment without spending anything. Confidential-token circuits started: twisted ElGamal on Baby Jubjub.

Sept 17 — confidential token for EVM: five verifier circuits plus the wrapper contract, sizes and gas measured against the 24 KB limit. In-browser prover 2.6.0 covers the hidden-amount pool.

Sept 18 — sixth chain: Arc, Circle's L1, on testnet and mainnet. The relayer serves it, and our own 1% fee is swept into the sealed pool as a note addressed to the treasury, so the service's revenue is as private as a user's payment.

Sept 21 — first full private payment on Arc mainnet, end to end: deposit, proof built in the browser, withdrawal, 43 seconds. The sender now pays the 1% on top on every chain and sees the exact total before signing, and the relayer takes nothing at the exit on a sealed note, so the recipient receives the full amount. The deposit index was made durable across restarts, and a transaction is refused outright if the wallet sits on a different chain than the page.

Sept 22 — public pages corrected to what is actually true about the fee and the permanent on-chain rent, including the cases where the economics do not work yet. Reported upstream (stylus-sdk-rs#455) that the SDK's ruint pin excludes the only versions carrying a security fix.

Fundraising Status

Self-funded. No outside money, no token, no round open and none planned for this quarter.

The revenue model is already in the product rather than in a slide: a 1% fee paid by the sender on top of the payment, shown in full before anything is signed, and collected as a sealed note like any other payment. On Arc, where gas is USDC, that fee already covers the service's own chain costs with nothing to convert.

What money would be for, when it makes sense to take it: an external audit of the circuits and the contracts, and the association-set work that comes after the trusted setup closes. Until the public ceremony finishes, the deployed verifying key is temporary and the pools hold no real money — raising against that would be premature.

Team Leader
PPetr Elagin
Project Link
Deploy Ecosystem
Arbitrum SepoliaArbitrum Sepolia
Sector
InfraRWAAI