Nito Cash — Private Payments
The first shielded pool for ParyonUSD (PUSD) on Bitcoin Cash Chipnet — sender, receiver and amount are all masked. Live demo: nito.cash
Verified on-chain (chipnet)
Full lifecycle confirmed on the live Option B pool (covenant bitcoincash:prqnx4s2pqjwslu9v5lz4g6mz7v330mjksa5laj9ux, stand-in token category 8c73ff15…):
- Deploy + Shield · block 329722 — bd72f1f3… · 1,000,000 PUSD shielded
- Shielded → shielded transfer · block 329722 — b0a488db… · nothing public moves
- Unshield · block 329736 — e90b9a56… · 250,000 PUSD paid out publicly
- Three chained shielded transfers settled in ONE block (329764) — many private payments, one block
How it works
- Shield — deposit PUSD into a covenant pool; the deposit is public, the resulting note is not.
- Pay privately — every transfer is a single ~37 KB transaction carrying a Groth16 proof with exactly 2 public inputs [merkleRoot, actionHash] (~183k constraints); nullifiers + fresh commitments are private witnesses.
- Covenant-carried state — {merkleRoot, nullifierSet} rides in a CashToken NFT commitment; replay is stopped on-chain.
- Unshield — withdraw to a public address; the payout amount is visible again.
Under the hood
- Keys never leave the device — BIP39/BIP32 derivation + Schnorr signing locally (libauth).
- Sealed note store — AES-256-GCM via WebCrypto; only ciphertext persists.
- In-browser proving — snarkjs WASM Groth16; no proving server.
- No single point of trust — a quorum (2) of Fulcrum servers must agree on every response (default server: chipnet.bch.ninja).
- Trusted setup — phase 1 reuses the public Perpetual Powers of Tau (86 contributors); phase 2 is a disclosed 1-of-1 placeholder — a full MPC ceremony is mandatory before any mainnet value.