Docs · Fees

What it costs, line by line.

One table, every path. The rates below are read straight out of the app's fee configuration when this page is built, so they are the rates the app charges — not a copy of them. Network gas is always separate and always quoted by your own wallet.

The table#

One thing to know before reading it: on a same-chain EVM swap, SwapsPro quotes several venues and keeps the better output. Some of those venues carry a SwapsPro fee and some do not, so what you pay depends on which route wins. The app names the winning route and labels it includes swaps.pro fee or no swaps.pro fee before you sign.

PathSwapsPro takesCharged how
Same-chain EVM swap, 0x route0.30%An integrator fee stamped into the aggregator quote server-side, taken in the buy token. It is inside the number you review before signing.
Same-chain EVM swap, CoW route0.30% of volume, plus 25% of surplusDeclared in the order's appData document. The output you are shown is already net of it.
Same-chain EVM swap, LI.FI route0.30%An integrator fee on the LI.FI quote, deducted from the output before you see it.
Same-chain EVM swap, Pioneer or Robinhood routeNothingRoutes priced through Pioneer's own venues, and Uniswap v3 on Robinhood Chain, carry no SwapsPro fee at all. When one of them wins, the route line says so in those words.
Cross-chain swap, bridge route0.30%An integrator fee on LI.FI, collected by the bridge and paid to the same recipient. LI.FI also charges its own fixed 0.25% on top, so a bridge route costs roughly 0.55% all in. The number in this column is SwapsPro's share of it.
Cross-chain swap, THORChain-style0.30%An affiliate fee carried in the swap memo. SwapsPro keeps the total the route already priced and only splits it — the quote's minimum output stays valid.
Gasless limit order (CoW)0.30% of volume, plus 25% of surplusDeclared in the order's appData document. The surplus share only applies when the order fills better than your limit price, and volume + surplus together can never exceed 0.70% of the trade.
TWAP ladder (CoW)0.30% of volumeThe same declaration as a limit order, tagged as a TWAP, applied per part.
HIVE ⇄ HBD0.30%Two Hive transfers alongside the swap, charged on top of the sell amount — so you need a little balance beyond what you are selling.
HIVE / HBD → BTC (Magi)0.30%A referral declared inside the Hive operation. Magi takes it out of your output — the minimum-out is reduced by the referral before the operation is signed.
Batch Send0.0002 ETHA flat amount in native ETH, appended as the last call of the batch. Never taken out of the tokens you are moving, never scaled by how many there are, and not charged if nothing sends.
Batch Swap + Burn0.0002 ETH + whatever each swap's route carriesThe same flat batch fee, plus the ordinary same-chain swap fee inside each quote — which, per the rows above, depends on which venue priced it. Burns carry no fee of their own.
Deploying a Splits contractNothingThe review step pre-fills a suggested support amount you can zero in one click. It is optional and the deploy proceeds either way — it is not a fee.
Distributing a Splits contract1% default incentiveAn editable, removable parameter of the contract you deploy — paid to whoever triggers a distribution and pays its gas, which can be you. SwapsPro does not receive it by being SwapsPro.
Portfolio, the Danger Zone, cancelling an orderNothingFree. No fee path exists in the code.
HTTP API and SDKNothingNo key, no account, no metering beyond the published rate limit. The swap fee inside a quote is the same one an app user pays.
WidgetNothingEmbedding is free. Swaps made inside the frame carry the ordinary swap fee.

Gas is not in this table

Network gas is paid to the chain, never to SwapsPro, and it is quoted by your wallet at signing time. A gasless limit order genuinely costs no gas to place, fill or cancel off-chain — but a one-time ERC-20 approval of CoW's vault relayer does cost gas, and cancelling an order on-chain from a contract wallet does too.

Pro#

The first 100 Pro Pass holders pay no SwapsPro fee — not a discount, zero — on every path the waiver can reach. That is implemented and live in the code, but the pass contract is not deployed yet, so nobody holds one and the rates above currently apply to everyone.

The waiver does not reach the public SDK API (its fee is the price of the API, and its callers are integrators rather than the pass holder), a Hive-only session with no EVM wallet connected (there is no address to prove the pass with), or anything SwapsPro never receives — gas, bridge costs, CoW's own protocol fee. The path-by-path list, and the honest status of every other Pro benefit, is on Free and Pro.

What an integrator can and cannot change#

  • You cannot remove or redirect the SwapsPro fee. It is stamped server-side inside /api/sdk/v1/quote, before the response is built. There is no parameter for it.
  • You can add your own, up to 1%. partnerFeeBps is additive and capped at 100 basis points. On 0x same-chain routes it is collected in the swap; on every other route it is logged for off-chain settlement rather than charged. That distinction matters and it is spelled out on the SDK page.
  • Whether your fee is collected depends on the venue. 0x, CoW and LI.FI can carry a second fee; Pioneer's venues and Uniswap-on-Robinhood cannot. Every quote reports which happened in partnerFee instead of echoing your number back — see the API page.
  • A Pro Pass does not waive your fee. The waiver deliberately excludes this API, so a pass-holding end user changes nothing about what you are owed.
  • The widget has no fee controls at all. An embed charges exactly what swaps.pro charges.

Three things worth being blunt about#

  • The Hive fee is charged on top, not deducted. Selling 10 HIVE means 10 HIVE leaves for the swap and the fee leaves separately, so a wallet holding exactly 10 HIVE cannot complete the trade.
  • The surplus fee takes its cut on your best trades. When a limit order fills better than the price you set, SwapsPro takes 25% of that improvement — money you would otherwise have kept. You keep the other 75%, and the 0.70% volume ceiling bounds the charge no matter how large the surplus is. It is a real charge and it belongs in a fee table rather than in a footnote.
  • The /create support amount is not a fee. It is pre-filled at 0.001 ETH, shown as its own editable line, and one click sets it to zero. The deploy goes ahead identically either way, and the transaction it rides in goes straight to the audited 0xSplits factory.

Source#

Everything above lives in one file — src/app/lib/fees.ts — which every collection path reads from. This page imports that file directly rather than restating it, so the two cannot disagree.