Skip to main content

Documentation Index

Fetch the complete documentation index at: https://cove-cash.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Cove routes payments through the Cloak ZK shielded pool so that the sender’s wallet and the recipient’s wallet are never linked on-chain. The flow has three stages: the sender deposits funds and receives a claim link, the sender shares that link with the recipient, and the recipient claims the funds using any supported Solana wallet. The Cloak relay submits the withdrawal transaction and covers the fee, so the recipient needs no SOL at all.
1

Deposit

You connect your Solana wallet and choose an amount of SOL, USDC, or USDT to send. Cove generates a ZK proof server-side and constructs an unsigned transaction that deposits your funds into the Cloak shielded pool. Your wallet signs the transaction, and once it confirms on-chain, Cove creates a shielded UTXO representing your deposit.
2

Generate the claim link

After the deposit confirms, Cove encodes the spending key and all cryptographic material into a single-use claim link. The link is a base64url-encoded blob appended to the claim URL. You copy the link and share it however you like — DM, email, or any other channel.
3

Claim

The recipient opens the link in their browser and connects any supported Solana wallet (Phantom, Solflare, or Backpack). Cove reconstructs the withdrawal proof from the data in the link and submits the transaction through the Cloak relay. The relay pays the transaction fee, so the recipient’s wallet balance is not required. Once confirmed, funds arrive in the recipient’s wallet.

Privacy model

The privacy guarantee comes from four interlocking mechanisms. ZK proof. Both the deposit and the withdrawal are validated by zero-knowledge proofs. The proof lets the Cloak program verify that a valid deposit exists and that the claimer holds the correct spending key — without revealing which deposit matches which withdrawal.
ZK proof generation happens on Cove’s servers, not in your browser. This keeps the computationally intensive proving step off your device and ensures a consistent experience across all browsers.
Shielded UTXO. When you deposit, Cove creates a shielded unspent transaction output (UTXO) inside the Cloak pool. The UTXO is identified by a commitment hash, not by your wallet address. No observer can tell from the on-chain state which wallet funded a given UTXO. Nullifier. When the recipient claims, the Cloak program records a nullifier — a one-time value derived from the spending key. The nullifier prevents the same claim link from being used twice without revealing anything about the sender or receiver.
The claim link encodes the owner private key and blinding factor directly. Anyone who has the link can claim the funds. Treat it like cash — share it only with the intended recipient through a channel you trust.
Cloak relay. The withdrawal is submitted by the Cloak relay, not by the recipient’s wallet. The relay pays the Solana transaction fee on behalf of the recipient. This means the recipient’s address never appears as a fee payer, and the recipient needs zero SOL in their wallet to claim.
Cove saves your deposit state (including the blinding factor) to localStorage before any network call. If the page crashes after a deposit confirms, you can recover the claim link from the dashboard.
Cove is built on the Cloak protocol, a ZK shielded pool for Solana. The Cloak program is deployed on Solana mainnet only.