Cloak API

Cloak API

Add private Solana transfers to your product without sending users to another app or asking recipients to claim funds.

What You Can Build

Use Cloak anywhere a product needs to move tokens without directly linking the funding wallet to the recipient on-chain.

Wallet & Exchange Withdrawals

Let a user withdraw to a chosen Solana address without directly linking that destination to the wallet that funded the transfer.

Merchant Checkout

Let a customer pay a merchant's Solana address without creating a direct on-chain link between their wallets.

Payroll & Contractor Payments

Pay employees, contractors, creators, or affiliates without directly linking a treasury wallet to every recipient.

Configure the Transfer

Your flowUseResult
The sender chooses what to spendexact_inCloak calculates what the recipient receives.
The recipient must receive a fixed amountexact_outCloak calculates what the sender pays.
Your product earns a transfer feefeeBpsCloak pays the configured share to an eligible fee wallet.

API at a Glance

Base URLhttps://api.veilo.network/cloak/v1
AuthBearer key
FormatJSON
ChainSolana mainnet

How Cloak Works

A Cloak transfer uses separate deposit and payout transactions with a variable delay between them.

A

Your user signs

The deposit enters the pool

The API returns a transaction. Your app asks the user to sign and submit it.

·

Cloak processes the order

A variable delay

The delay helps separate the deposit from the payout on-chain.

B

Veilo signs and pays

The recipient is credited

Veilo sends tokens from the shared pool to the recipient's standard Solana address.

Keep SOL available for the deposit

Keep roughly 0.002 SOL available beyond the transfer amount. Account for this when calculating a user's maximum send amount.

What Cloak Guarantees

GuaranteeWhat it means for your integration
Your user signs onceNo redirect, second signature, or recipient action is required.
amountOut is net of every feeThe number you show is the number the recipient receives.
Limit errors include valid boundsYou can show the supported minimum or maximum instead of a generic error.
Final status is reliableStop polling when final is true.

Integration Requirements

Confirm these requirements before building the order flow.

RequirementDetail
v0 transaction signingYour wallet layer must sign and submit the versioned (v0) transaction returned by Cloak. See Signing the transaction.
SOL for the depositKeep about 0.002 SOL beyond the transfer amount for the deposit transaction.

Next Steps