Connect ›
Cover: What you pay on a swap: the pool’s fee, the protocol fee, and gas — line by line

What you pay on a swap: the pool’s fee, the protocol fee, and gas — line by line

Three costs, each with a different recipient: the fee each pool charges and keeps, the protocol fee of 28 basis points (0.28%) that goes to the treasuries, and the gas the network charges to run the transaction.

BlazePhoenix Engineering · updated 2026-09-06 · data through 2026-10-11 · 4 min · written from the deployed bytecode

By Mitra (@Sigmacrit) — anonymous developer of the BlazePhoenix protocol. The code is the résumé.

Abstract in 15 languages · resumo · resumen · 摘要 · 要旨 · ملخص

English — Three costs, each with a different recipient: the fee each pool charges and keeps, the protocol fee of 28 basis points (0.28%) that goes to the treasuries, and the gas the network charges to run the transaction. A 1,000-unit worked example, where each fee attaches, and the list of things you do not pay.

Português — Três custos, cada um com um destinatário diferente: a fee que cada pool cobra e guarda, a fee de protocolo de 28 basis points (0.28%) que vai para as tesourarias, e o gás que a rede cobra para executar a transacção. Um exemplo resolvido de 1,000 unidades, onde cada fee se agarra, e a lista de coisas que não paga.

Español — Tres costes, cada uno con un destinatario distinto: la comisión que cada pool cobra y se queda, la comisión de protocolo de 28 basis points (0.28%) que va a las tesorerías, y el gas que la red cobra por ejecutar la transacción. Un ejemplo resuelto de 1,000 unidades, dónde se adhiere cada comisión, y la lista de cosas que no pagas.

Français — Trois coûts, chacun avec un destinataire différent : les frais que chaque pool prélève et conserve, les frais de protocole de 28 basis points (0.28%) qui vont aux trésoreries, et le gaz que le réseau facture pour exécuter la transaction. Un exemple chiffré à 1,000 unités, l’endroit où chaque frais s’attache, et la liste des choses que vous ne payez pas.

Deutsch — Drei Kosten, jede mit einem anderen Empfänger: die Gebühr, die jeder Pool erhebt und behält, die Protokollgebühr von 28 basis points (0.28%), die an die Treasuries geht, und das Gas, das das Netzwerk für die Ausführung der Transaktion berechnet. Ein durchgerechnetes Beispiel über 1,000 Einheiten, wo jede Gebühr ansetzt, und die Liste der Dinge, die Sie nicht zahlen.

Русский — Три расхода, у каждого свой получатель: комиссия, которую взимает и оставляет себе каждый пул, протокольная комиссия в 28 basis points (0.28%), уходящая в казначейства, и газ, который сеть берёт за выполнение транзакции. Разобранный пример на 1,000 единиц, места, где цепляется каждая комиссия, и список того, за что вы не платите.

Türkçe — Üç maliyet, her biri farklı bir alıcıya: her havuzun aldığı ve kendinde tuttuğu ücret, hazinelere giden 28 basis points (0.28%) tutarındaki protokol ücreti ve ağın işlemi yürütmek için aldığı gaz. 1,000 birimlik çözümlü bir örnek, her ücretin nereye tutunduğu ve ödemediğiniz şeylerin listesi.

العربية — ثلاث تكاليف، لكل منها متلقٍّ مختلف: الرسم الذي يأخذه كل حوض ويحتفظ به، ورسوم البروتوكول البالغة 28 basis points (0.28%) التي تذهب إلى الخزائن، والغاز الذي تتقاضاه الشبكة لتنفيذ المعاملة. مثال محلول على 1,000 وحدة، وأين يتعلق كل رسم، وقائمة الأشياء التي لا تدفعها.

हिन्दी — तीन लागतें, हर एक का अलग प्राप्तकर्ता: वह शुल्क जो हर पूल लेता है और अपने पास रखता है, 28 basis points (0.28%) का प्रोटोकॉल शुल्क जो कोषों में जाता है, और वह गैस जो नेटवर्क लेन-देन चलाने के लिए वसूलता है। 1,000 इकाइयों का एक हल किया हुआ उदाहरण, हर शुल्क कहाँ जुड़ता है, और उन चीज़ों की सूची जो आप नहीं चुकाते।

日本語 — 受け取り手の異なる三つの費用。各プールが徴収して自ら保持する手数料、トレジャリーへ入る 28 basis points (0.28%) のプロトコル手数料、そしてトランザクションを実行するためにネットワークが請求するガス。1,000 単位での計算例、各手数料が付く位置、そしてあなたが払わないものの一覧。

中文 — 三项成本,收款方各不相同:每个池子收取并自留的手续费、进入国库的 28 basis points (0.28%) 协议费,以及网络为执行交易而收取的 gas。一个 1,000 单位的算例、每项费用附着的位置,以及你不需要支付的东西的清单。

한국어 — 받는 쪽이 각각 다른 세 가지 비용. 각 풀이 받아서 스스로 갖는 수수료, 트레저리로 가는 28 basis points (0.28%)의 프로토콜 수수료, 그리고 트랜잭션을 실행하기 위해 네트워크가 받는 가스. 1,000 단위짜리 계산 예시, 각 수수료가 붙는 지점, 그리고 당신이 내지 않는 것들의 목록.

Bahasa Indonesia — Tiga biaya, masing-masing dengan penerima berbeda: biaya yang dipungut dan disimpan sendiri oleh tiap pool, biaya protokol sebesar 28 basis points (0.28%) yang masuk ke kas, dan gas yang ditagih jaringan untuk menjalankan transaksi. Contoh hitungan 1,000 unit, di mana tiap biaya menempel, dan daftar hal-hal yang tidak Anda bayar.

বাংলা — তিনটি খরচ, প্রত্যেকটির প্রাপক আলাদা: প্রতিটি পুল যে ফি নেয় ও নিজের কাছে রাখে, 28 basis points (0.28%) প্রোটোকল ফি যা কোষাগারে যায়, এবং লেনদেন চালানোর জন্য নেটওয়ার্ক যে গ্যাস নেয়। 1,000 এককের একটি কষে দেখানো উদাহরণ, প্রতিটি ফি কোথায় জুড়ে বসে, এবং আপনি যা যা দেন না তার তালিকা।

Filipino — Tatlong gastos, bawat isa ay may ibang tumatanggap: ang bayad na siningil at itinatago ng bawat pool, ang protocol fee na 28 basis points (0.28%) na napupunta sa mga treasury, at ang gas na siningil ng network para patakbuhin ang transaksyon. Isang halimbawang kinuwenta sa 1,000 yunit, kung saan dumidikit ang bawat bayad, at ang listahan ng mga bagay na hindi mo binabayaran.

What you gain from this page is the cost of a swap as three separate lines, each with a name, a rate and a recipient. Blurring them together is how a swap ends up feeling expensive without anyone being able to say why. Kept apart, each one is checkable.

Line one: the pool’s own fee

A pool is a contract holding two piles of tokens that anyone can trade against. Every pool charges a fee on trades, set by the pool, and that fee stays in the pool for the people who deposited the tokens — it is what pays them for taking the other side. The Router does not set this fee and does not receive it. For pools that publish their fee the Router reads it from the pool; for a V2-style pair, which exposes no fee function, the declared fee is bounded by a ceiling and used identically by the quote and the execution, so the two cannot disagree about it.

Line two: the protocol fee

The protocol fee is 28 basis points (0.28%) — a basis point is one hundredth of a percent — and it is a compile-time constant of the contract. Where it attaches follows one rule with two cases. On a route where some hop takes a bridge coin as input — a bridge coin is a widely held token such as WETH or USDC that routes pass through — the fee is charged once, on the input of the first such hop; on a direct route into a bridge coin it is charged on the output instead. On a route no bridge coin ever enters, each hop pays on its own measured input, which for an honest two-hop route comes to about 56 basis points; the suite tried charging such a route once and found that it let a route with a worthless first hop escape the fee, so the per-hop rule stands, and the code says why.

It lands in the treasuries. The tests measure it there: the fee is the change in the treasuries’ balances, not a number the Router reports about itself. And surplus — delivery above the attested quote — is fee-exempt, the Surplus Rule: the fee is charged on the promise, never on the extra.

Line three: gas

Gas is the fee the network charges for running your transaction; it goes to the chain, not to the protocol or the pools, and it is paid whether the swap settles or is refused. The quote itself costs you nothing on chain: it is a view call, a read that any node answers for free.

A 1,000-unit worked example

routeprotocol fee attaches tofee on 1,000 unitswhat continues
1,000 of a bridge coin into token A (one hop)the input of hop 0⌈28 bps × 1,000⌉ = 2.8 units997.2 units enter the pool, which takes its own fee from that
token A into a bridge coin, directthe gross output28 bps of the gross outputdelivered = gross − fee
token A → token C → token B, no bridge coineach hop’s measured input28 bps at hop 0 and 28 bps at hop 1about 56 bps in total

Source: SWAP-TESTS-REPORT-2026-09.md §3 (the route-shape table, fee = ⌈28 bps × input⌉ per event); ASSURANCE.md §4o (FEE-01, about 56 bps on an honest two-hop route)

The ceiling brackets mean the fee rounds up to the smallest unit, so a fee never rounds to zero on a tiny trade. On 1,000 units of an 18-decimal token, 2.8 units is the whole story; gas is the only other cost, and the pool’s fee is the pool’s.

What you do not pay

Do not trust this page — reproduce it

Every claim above is checkable against the chain. Start here:

forge test --match-path test/FeeSeals.t.sol  # the fee measured from the treasuries’ balance changes, on every route shape above
Cite this article

Licensed CC BY 4.0 — quote, translate and reuse freely, including commercially, with attribution and a link. Copy a ready-made citation:

BlazePhoenix (2026). What you pay on a swap: the pool’s fee, the protocol fee, and gas — line by line. BlazePhoenix Engineering. https://blazephoenix.xyz/learn/what-you-pay-on-a-swap
@misc{blazephoenix_what_you_pay_on_a_swap,
  title  = {What you pay on a swap: the pool’s fee, the protocol fee, and gas — line by line},
  author = {BlazePhoenix},
  year   = {2026},
  url    = {https://blazephoenix.xyz/learn/what-you-pay-on-a-swap},
  note   = {Accessed: reproduce the claim with the command above}
}

Writing an answer, a wiki entry or a paper? The claim above is reproducible against the chain before you quote it — which is the only sound basis for citing a technical source at all.

Contracts are verified on every chain we deploy to — addresses in the protocol manifest. Deeper formal treatment: the whitepaper (PDF).

Related engineering

Next in How a swap works · 2 / 5
Who is holding your tokens at each step of a swap ›A swap traced instant by instant: what the allowance permits, when your balance actually falls, which contract holds the tokens in between, what the floor check does at the end, and why a failed swap cannot leave you halfway through.8 min

Questions, a partnership or a bug to report? Contact us or email contact@blazephoenix.xyz