MoveMoney
Encrypted balances for people and the agents they run. Every transfer is proven on chain, and an agent's budget is enforced without anyone learning what it spent.

Private
is not
Enough
A private payment nobody can check is just a promise. Most confidential systems ask you to trust a server, a committee or a verifier you cannot see.
Cloak Network keeps the amounts encrypted and puts the whole check on chain. The pool contract holds ciphertexts, verifies every proof itself, and reverts anything that does not add up. There is nobody to ask and nobody to trust.
It works for people, and it works for software. An agent gets its own account, its own key and a budget the chain enforces on numbers it cannot read.
Hidden from everyone. Proven to everyone.
See it
Disappear
This is the encryption the pool uses, running in your tab. Change the amount. The ciphertext is redrawn with fresh randomness every two seconds; the chain would see only that.
Balances the chain cannot read
Every balance is a twisted ElGamal ciphertext. The contract adds and subtracts ciphertexts and never holds a number. Only your key turns it back into dollars, in your browser.C = b·G + r·Y D = r·G
Proofs checked on chain, by the chain
A transfer carries a sigma proof and two 32-bit range proofs: same amount on both sides, nothing negative, nothing left below zero. The contract verifies all of it with the BN254 precompiles. No operator, no off-chain verifier, no trusted setup.2,605,291 gas per transfer, measured
Agent budgets on encrypted amounts
An agent proves each payment fits under its per-request ceiling and that its encrypted running total stays under the daily cap. The limits are public. What the agent spends is not. One cent over and the transaction reverts.cap − b ≥ 0 daily − Σb ≥ 0
Routes nobody can link
A payment can be split over one-time accounts derived for the recipient. Each route lands on an address that has never appeared before, all routes settle in one transaction, and only the recipient can find them.Y′ = Y + H(k·Y)·G
View grants, one transfer at a time
Show an auditor one transfer without handing over your key. A grant opens a single ciphertext and carries a proof that the opening is honest, which anyone can check against the contract.T = sk·D C − T = b·G
x402, paid in ciphertext
A server answers 402 with a price and a Cloak account. The agent pays, retries, and the server decrypts its own side of the transfer to check it received the price to the cent.GET → 402 → pay → 200
A budget it
Cannot break
The ceiling and the daily cap live in the contract. The agent's spending lives in a ciphertext. Each payment proves the second stays under the first, and the proof is the only thing the chain accepts.
Four
Steps
No custodian holds your funds and no server holds your key. Everything below happens between your browser and one contract.
Make a key
A key pair is generated on your device. The public half is your account. A Schnorr proof binds it to the address that will control it.
Deposit USDG
A deposit is public, like any ERC-20 transfer. From that point on the amount lives inside a ciphertext and stops being readable.
Send unseen
Pick a handle, type an amount. Your browser builds the proof in a second or two and the pool settles it in one transaction.
Hand a budget to an agent
Open an agent account with a ceiling, a daily cap and a list of payees. It pays for itself from then on, and cannot go a cent past what you set.
$CLOAK
The token of Cloak Network, on Robinhood Chain. Only trust a contract address published here and on the project's own channels.
Stay
Unseen
Open the console, make a key, and send a transfer the chain can verify and nobody can read.