Overview
Solvium is a payment layer on Solana. You get one link. Anyone can pay it, and every payment lands on a fresh one-time address that only you can spend from, so your main wallet never shows up in the transfer.
Everything runs in your browser. There is no account and no server that holds keys. Four tools are live on Solana mainnet today:
- Stealth Links: create your link and QR code.
- Private Send: pay somebody else's Solvium link.
- Inbox and Sweeps: find payments sent to you and move them to your wallet.
- Selective Disclosure: view keys, CSV reports and an auditor mode.
Quickstart
- Connect a wallet. Open the app and connect Phantom, Solflare or Backpack.
- Unlock your inbox. Press Unlock inbox and sign the message. It is free and nothing is sent anywhere. Your keys are derived from that signature.
- Share your link. Copy the link or show the QR code. It looks like
your-site/pay/…. - Get paid, then sweep. When someone pays, open Inbox, press Scan, then Sweep to move the funds into your wallet.
Try it with a small amount first, like 0.002 SOL, and check that unlocking twice gives the same link.
Stealth links
Your link carries a public meta-address, which is two public keys. It does not contain your wallet address. Anyone can use the same link, and each payment is sent to a different one-time address derived from it.
You can post the link anywhere. Having the link lets people pay you, but it never lets them spend anything.
Sending a payment
- Open Send and paste a Solvium link. A
/pay/…link opens this tab with the link already filled in. - Enter an amount. Use the quick buttons or Max.
- Press Send privately and approve the transaction in your wallet.
The transaction contains three things: a transfer to the one-time address, a small memo that lets the recipient find the payment, and a read-only reference to the recipient's link so their inbox can list it.
Inbox and sweeps
Scan reads the latest transactions that reference your link, works out which one-time addresses belong to you, and lists each payment with its amount and status.
Sweep moves the funds from the one-time address into the wallet you connected. The network fee is paid from the funds being moved, so a swept payment arrives as the amount minus about 0.000005 SOL. Sweeping is signed in your browser with the derived key, so your wallet does not pop up.
Use Sweep all to clear every unswept payment in one go.
Selective disclosure
You choose who sees what.
- Period report. Pick a start and end date and download a CSV of what you received: date, transaction, one-time address and amount. Hand it to your accountant.
- View key. A string starting with
solviumvk1:that lets someone read every payment to your link. It can never spend. Share it only with people you trust, because it shows all incoming payments, past and future. - Auditor mode. Paste a view key on the Disclose tab to list that link's payments. No wallet needed.
How it works
Solvium uses dual-key stealth addresses on ed25519, the same curve Solana uses, so every one-time address is an ordinary Solana address.
- Your wallet signs a fixed message. From that signature the app derives a spend key and a view key. Their public halves make up your link.
- To pay you, the sender picks a random number and combines it with your public view key into a shared secret. From that secret and your public spend key they compute a fresh one-time address.
- The sender transfers to that address and publishes the random number's public half in the memo.
- You scan, recompute the same shared secret with your view key, find the address, and derive the private key that spends from it.
Nobody else can compute the link between your public key and the one-time addresses, so the payments cannot be tied to you by looking at the chain.
Keys and recovery
Nothing is stored. The same wallet account signing the same message always produces the same keys, so your link and any funds waiting on one-time addresses can be recovered by connecting that account again and pressing Unlock inbox.
That also means access follows your wallet. If you lose the wallet and its recovery phrase, you lose access to unswept payments. Before you receive real money, unlock twice and check that the link is identical.
Fees and limits
| Item | Value |
|---|---|
| Solvium fee | None |
| Network fee when sending | About 0.000005 SOL, plus any priority fee your wallet adds |
| Network fee when sweeping | About 0.000005 SOL, taken from the swept funds |
| Minimum send | 0.001 SOL |
| Maximum send | 10 SOL |
| Payments listed per scan | Latest 100 for a link |
Privacy model
Solvium is built to hide who received a payment. It is not built to hide everything.
Hidden
- Which wallet owns the link
- The tie between your wallet and each payment, until you sweep
- Nothing is pooled or mixed with other people's funds
Visible on-chain
- The sender and the amount
- When the payment happened
- That payments share a link, so anyone can count them, but not who owns it
- The sweep: moving funds to your wallet publicly connects that one-time address to that wallet
If you need a payment to stay separate from your main wallet, sweep it into a wallet you keep for that purpose. The code has not been independently audited yet, and the refund escrow is not live.
Wallets
Phantom, Solflare and Backpack browser extensions are supported. Phantom is the wallet we have tested end to end. On a phone, open Solvium inside your wallet's built-in browser.
Troubleshooting
My link changed after I reconnected
Keys come from the signature of one wallet account. Connect the same account you used before, press Unlock inbox again, and the link will match.
Scan shows nothing
The payment may still be confirming. Wait a few seconds and scan again. Only the latest 100 payments to a link are listed, and the sender must have used your current link.
Sweep says there is nothing to sweep
The one-time address holds less than the network fee, or it was already swept. Scan again to refresh the status.
My wallet shows an unknown recipient when I send
That is expected. The recipient is a brand-new one-time address, so no wallet has seen it before.
Send was rejected with a minimum or maximum message
Amounts must be between 0.001 and 10 SOL per send.
What is next
- Refund escrow: funds wait in escrow and either get claimed or return to the sender after a deadline.
- Confidential amounts: hide transfer values with Token-2022.
- Gasless sweeps: a relayer pays the network fee.
- SDK: a "Pay with Solvium" button for wallets and checkouts.
See the roadmap for the current status of each.