Skip to main content
A payment link is a Cloak URL with value inside it. You fund it once, share it anywhere — chat, email, an invoice — and whoever holds it claims the funds to their own wallet, privately. No address changes hands in either direction. Treat this link like cash — anyone who has it can claim the funds.

Sending a payment

You want to pay someone but don’t have (or don’t want to ask for) their Solana address. Create a link for the amount, send it over any channel you already share, and they claim it to whichever wallet they choose. If they’re new to Solana, the link is also the gentlest possible on-ramp: connect a wallet, press claim, done — no sign-up, no sign-in. Sending with a link: you shield funds into the pool, share the link off-chain, and whoever holds it claims from the pool — the two wallets never touch on-chain

Requesting a payment

Someone owes you money, and the usual move — pasting your wallet address into a chat — hands them your entire public diary. Ask for a Cloak payment link instead. The payer creates it without needing anything from you; you claim it to any wallet you choose. They never learn your address, and you never learn theirs. Requesting with a link: you ask off-chain, the payer funds a link and sends it back off-chain, and you claim from the pool — your address never reaches them

How it works

  1. Create. In the app, open Payment Links, pick a token (SOL, USDC, or USDT) and an amount, and choose the source — your private balance (most private) or straight from your wallet in one step. Cloak makes a shielded deposit and locks it to a fresh, single-use key.
  2. Share. The link carries its secret in the URL fragment — the part after #, which browsers never transmit to web servers. It cannot end up in server or CDN logs. It can, of course, end up with anyone you forward it to: the link is the money.
  3. Claim. The recipient opens the link, connects any Solana wallet, and presses Claim to My Wallet. The funds arrive as a private withdrawal from the pool — the claim is submitted for them, with no gas from their wallet on the standard path — and the link is spent. Opening it again shows “Already Claimed.”
On-chain, the payer’s wallet and the claimant’s wallet never touch: one shielded a deposit, the other received a withdrawal from the pool, and the link between the two stays hidden.

Fees

Creating a link is a shielded deposit — no protocol fee (your wallet pays network gas if you fund from the wallet). The standard fee for leaving the pool is charged once, at claim:
  • Funded from your private balance — the fee is added on top at creation, so the recipient receives exactly the amount on the link.
  • Funded straight from your wallet — the deposit is the exact amount, and the fee is deducted when the link is claimed.

What to know before you share one

  • Bearer instrument. Whoever holds the link can claim it — there is no recipient lock. Share it through a channel you trust, the way you would hand over cash.
  • Single-use. One link, one claim. For several people, create several links (or use Payroll for batch payouts to known addresses).
  • Not in your backup file. The secret lives in the link itself, so links are never part of your backup file. Until it’s claimed, your copy in the app’s Payment Links list is the only fallback — an unclaimed link lost from both places is gone.
  • You can take it back. Sent the wrong amount, or the recipient never claimed? Open your own link and claim it to your own wallet — a link is only spent when someone claims it.

Where next

Fees

The full who-pays table — including what a link claim costs.

Your private balance

UTXOs, the backup file — and why links live outside it.