Setting a referrer
referrers is a list of address and basis-point pairs on GetQuote and PreviewQuote.
fee_breakdown as referrer_fee, and amount_out is already net of it. Preview and quote agree, so the number you show the user is the number they get.
Referrer addresses must be valid for the chain the fee accrues on. An unusable list fails the quote with invalid referrer list.
Your basis points come out of the user’s output, not out of the operator spread. Setting a high value makes your route quote worse against competitors.
How it accrues
Accrual happens off chain, in the operator’s records. Each fulfilled order carries its referrer list in the stored order parameters, and the amount owed is computed from the deposit. Nothing is transferred per order — there is no per-swap payout transaction, which is what keeps the fee cheap to offer. Same-chain swaps participate too. Their fee is withheld from the swap output on chain and stays in the vault. Balances are grouped by referrer address, chain, and token. A partner earning on USDC across two chains has two balances, and each is claimed separately.Claiming
Claiming is self-served from the partner panel at , or programmatically throughPartnerApi. Both require a partner session; referral earnings are not publicly queryable.
1
List what is claimable
GetPartnerReferrals returns balances grouped by referrer, chain, and token, with the order count behind each.2
Claim a balance
ClaimPartnerReferrer takes a referrer, chain, and token. It marks the selected orders claimed, totals them, and returns a voucher.3
Redeem on chain
Send the voucher to the router. The response includes ready-to-send calldata.
Vouchers
A voucher is a signed instruction to pay an exact amount of one token to one referrer address. On EVM it is an EIP-712 payload — id, token, referrer, amount — signed by the operator’s voucher key and redeemed against the inventory vault. On Solana it is the same shape signed with ed25519 and verified through the instructions sysvar.BuildVoucherRedemption returns a prepared transaction for a given voucher and payer, which is the simpler path on Solana where the redemption needs an accompanying ed25519 instruction.
ListPartnerVouchers returns every voucher with its redemption status, kept current from on-chain VoucherRedeemed events. Use it to reconcile: a voucher that is issued but not redeemed is money sitting unclaimed, and it does not expire.
See Partner panel for the session flow behind these calls.