Cloak API

Your revenue share

Set feeBps and choose an eligible feeRecipientAddress. Cloak sends your share during the payout.

PropertyDetail
Ceiling50 bps, 0.50%. Per account. Exceeding it returns PARTNER_FEE_TOO_HIGH carrying the applicable maxBps, so you can clamp rather than guess.
BasisApplied to amountIn, the sender's debit, not to the delivered amount.
AssetPaid in the source token, not SOL. A USDC transfer pays your share in USDC.
TimingSent with the recipient payout. There is no separate claim step.
DestinationChosen per order from your registered wallets, so you can route revenue differently per integration or per sub-brand.
On refundNot 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

This helps the wallet receive token transfers. The Fees page shows earned and outstanding amounts.

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.