Architecture
No backend, no database
Every operation runs in the browser. Tirai stores nothing. The only deployed program is the Cloak Shield Pool.
Tirai severs the on-chain link between a researcher's identity and the payment they receive using zero-knowledge proofs over the
Cloak Shield Pool. Observers see nothing. Auditors see what they need.
Built on
Why Tirai
Tirai is a thin client over the Cloak Shield Pool. There's nothing to host, nothing to deploy, and nothing in your way.
Architecture
Every operation runs in the browser. Tirai stores nothing. The only deployed program is the Cloak Shield Pool.
Cryptography
Zero-knowledge proofs and a Poseidon Merkle tree decouple deposits from withdrawals at the protocol layer.
Wallet UX
Researchers receive funds on a brand-new keypair with no prior history. KYC links are severed at the source.
Auditor
Auditors see the payment, the amount, the label — never the destination wallet. Enforced in code.
Custody
Tirai never holds keys or balances. Funds move directly between wallets and the Cloak pool.
How it works
01
Treasury wallet funds the bounty into the Cloak shield pool. A claim ticket is generated and shared off-chain.
02
Groth16 proofs and a Poseidon Merkle tree break the on-chain link between the depositor and the recipient.
03
Withdrawal lands on a fresh wallet with no prior history. The auditor sees the payment, not the destination.
Privacy boundaries
Boundary 1
Cloak's shield pool decouples the deposit from the withdrawal. An on-chain observer sees two unrelated transactions.
Boundary 2
Fresh-wallet mode delivers funds to an address with no prior history, severing the link to any KYC'd identity.
Boundary 3
The viewing key is cryptographically scoped to read payment facts only. It cannot trace the destination wallet.
FAQ
Ready to ship
Pick a flow and start exploring. No signup, no API key — every path runs entirely in your browser against the Cloak Shield Pool.