Skip to main content
Fees are priced and frozen onto a payment when it is created, then taken from the verified destination amount in one deduction at settlement. Settlement deducts and never adds; a send is priced the other way, with the components added on top of the delivered amount.

The deduction runs in a fixed order

1

The destination amount is verified

Nothing is calculated from a quote, from what the payer said they sent, or from a provider reporting success.
2

Both components are calculated from that verified amount

The platform fee and your partner fee, against the same figure.
3

The recipient is credited the net, and the combined fee goes to the collector

One deduction, two components, moved together.
4

Network costs stay outside

Gas, unavoidable source-network costs, a payout rail’s own fee and any cost quoted on a selected funding method are not part of the basis-point calculation and never appear inside it.
That order makes the arithmetic reproducible: a payment’s gross, its two fee amounts and its net reconcile without you recomputing anything. It is the same on every supported settlement chain.

merchantNetAmountAtomic is what the destination receives

Amounts are atomic integer strings. Do not rebuild them in floating point, and do not assume six decimals for every asset.
Reconcile against the frozen snapshot on the payment, not against your current rates. Your rates can change; an in-flight payment’s cannot, and a rate change must never rewrite a settled receipt.

Deposits carry their own fee basis

Value arriving at a reusable deposit address is priced on the deposit, and basis says whether the number in front of you is final.
Never present an estimated net as guaranteed. networkAmountAtomic is reported beside the two commercial components rather than folded into them, so a deposit’s network cost stays visible and separable.

The fee is its own transaction row

Fee movement is a separate operation, not a subtraction hidden inside the settlement transfer, so a customer statement can itemise it.
Because it is separate, it can fail on its own. The payment then keeps its truthful financial status and reports fee_payout_failed or fee_payout_requires_intervention on operationalReasonCode.

Next: Settlement transactions

Find the settlement row and tie it back to its payment.