Cloak API
Your revenue share
Set feeBps and choose an eligible feeRecipientAddress. Cloak sends your share during the payout.
| Property | Detail |
|---|---|
| Ceiling | 50 bps, 0.50%. Per account. Exceeding it returns PARTNER_FEE_TOO_HIGH carrying the applicable maxBps, so you can clamp rather than guess. |
| Basis | Applied to amountIn, the sender's debit, not to the delivered amount. |
| Asset | Paid in the source token, not SOL. A USDC transfer pays your share in USDC. |
| Timing | Sent with the recipient payout. There is no separate claim step. |
| Destination | Chosen per order from your registered wallets, so you can route revenue differently per integration or per sub-brand. |
| On refund | Not earned. A refunded order pays you nothing. See Refunds. |
Two ways a fee wallet is rejected
FEE_RECIPIENT_NOT_REGISTERED means the address is valid but not on your account. Add it from the portal's Fees page or choose an existing wallet.
FEE_RECIPIENT_COOLING_OFF means it is registered but not eligible yet. Wait until the Fees page shows it as eligible.
A wallet that cannot receive is skipped, not fatal
If your fee wallet cannot accept a transfer, Cloak still pays the recipient and records your share as outstanding.
Keep a small SOL balance in every fee wallet
Reconciling
The portal's Fees page reports quoted, earned, and outstanding fees. For API-side reconciliation, use feeBreakdown.partnerFee from orders that reached SUCCESSFUL. A refunded order earns no partner fee.
