Getting started
Architecture
Cowl is a set of contracts and services on Robinhood Chain that let you hold and trade tokenized stocks with your book shielded from the public ledger — while keeping the ability to disclose, on your terms.
The big picture
you ── web app / CLI
│ ZK proof, built on your machine
▼
Gasless Relayer ──────────► ZK Shielded Pool ──► On-chain Verifier
(pays gas) │
├── Trade Adapter ──► Uniswap V3 ──┐
│ (spend · fill · re-shield) │
│ ◄──────────────────────────────┘
view key ──► auditor ├── Fee Collector ──► burn / treasury
unshield ──► stealth addr └── notes: commitments + nullifiers
Robinhood Chain · Arbitrum L2 · settles in USDGBoth clients are thin. They hold your keys, build a proof, and hand it to a relayer — every rule that matters is enforced by the contract and the verifier, not by the software you happen to be running.
Components
| Component | Role |
|---|---|
| Shielded pool | Holds private notes; deposits, private trades, and withdrawals settle here. |
| Verifier & circuits | Checks the zero-knowledge proof for every state change on-chain. |
| Relayer network | Pays gas and broadcasts your shielded transactions so no wallet points back at you. |
| Trade adapter | Spends shielded notes, fills against public liquidity, and re-shields the result — one atomic transaction, or it never happened. |
| View keys | Read-only credentials you generate and hand out yourself, so you can prove what you hold without anything going public. |
| Fee collector | Routes protocol fees to buyback & burn and the treasury. |
Data model
- Notes. Value in the pool is held as private notes, not account balances.
- Commitments. The chain stores a commitment to each note — never the amount, asset, or owner.
- Nullifiers. Spending a note publishes a nullifier that prevents double-spends without revealing which note was spent.
- Two in, two out. A spend reads two notes and writes two, which is why a single operation is capped at your two largest notes rather than your balance. Merging raises the ceiling — see the shielded pool.
Trust boundaries
- Your keys stay on your device. No service can move your funds.
- A relayer can drop a transaction, but never read amounts or deanonymize you.
- Disclosure is opt-in and scoped — there is no switch that makes an account public.
Where the pieces live
Contracts and circuits are open source under the Cowl-Protocol org. See the security model for the guarantees each component makes.