No stake required
Anyone can register. Entry is a single on-chain transaction. We intentionally avoid slashing — it creates a deanonymization incentive.
Cloak's privacy guarantees depend on independent operators forwarding shielded spend intents between users and the issuer. Running a relayer is a few minutes of setup, a few hundred MB of RAM, and predictable per-batch revenue. This page is the full operator playbook.
Anyone can register. Entry is a single on-chain transaction. We intentionally avoid slashing — it creates a deanonymization incentive.
Relayers earn a fixed percentage of spend volume. Fees are quoted in bps (default 4, i.e. 0.04%). Paid per-batch at settlement.
Rust client runs in ~180MB RAM. A small VPS ($5–10/mo) handles p50 load. GPU not required; Groth16 verification is sub-ms.
A single honest hop is sufficient for sender anonymity across a 3-hop path. Your presence directly improves the set.
The reference client is a single Rust binary. Dependencies: a Solana RPC endpoint, 1GB disk, a domain with TLS, and a keypair.
Create an Ed25519 keypair. Public key is your relayer ID forever — don't lose the secret.
$ cloak-relay keygen --out relayer.key▲ identity written · pubkey 0x7ab2…f102
Advertise your endpoint, supported hop indices, fee, TLS fingerprint. Host it at any static URL you control.
$ curl -sL $YOUR_HOST/stratum.json | jq{
"pubkey": "0x7ab2…f102",
"endpoint": "https://relay-03.example.net:8443",
"hops": [1, 2, 3],
"fee_bps": 4,
"tls_fp": "sha256/9f:4a:c3:e1:…",
"version": "2.1.4"
}Submit a self-attested registration transaction to the directory program. No stake. No slashing. Entry is permissionless.
$ cloak-relay register --key relayer.key --stratum https://your.host/stratum.json▲ tx 9f4a…af2 confirmed · slot 294,119,204 ▲ directory entry live · discoverable in ~30s
Pull the Rust binary, point it at the pool RPC, and start accepting batches. Logs default to journald.
$ cloak-relay serve --key relayer.key --rpc https://api.mainnet-beta.solana.com▲ listening on :8443 · TLS ok ▲ directory heartbeat 30s · first batch in 2m 18s
Built-in Prometheus exporter on :9090. Track batch throughput, drop rate, and revenue. Real-time dashboard ships with the repo.
$ curl -s localhost:9090/metrics | grep cloak_cloak_batches_forwarded_total 1284 cloak_spend_intents_processed_total 41208 cloak_revenue_lamports 8402190 cloak_dropped_batches_total 0
Assumes average spend intent of $150 USDC. Real numbers depend on pool volume and your path selection ranking.