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.

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.
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
| route | protocol fee attaches to | fee on 1,000 units | what continues |
|---|---|---|---|
| 1,000 of a bridge coin into token A (one hop) | the input of hop 0 | ⌈28 bps × 1,000⌉ = 2.8 units | 997.2 units enter the pool, which takes its own fee from that |
| token A into a bridge coin, direct | the gross output | 28 bps of the gross output | delivered = gross − fee |
| token A → token C → token B, no bridge coin | each hop’s measured input | 28 bps at hop 0 and 28 bps at hop 1 | about 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
- No subscription and no account. There is nothing to sign up for; the contract answers anyone.
- No fee on the quote. The preview is a free read.
- No fee on surplus. Delivery above the attested quote is yours in full.
- No hidden second fee. The Router keeps a ledger of the fee it charged inside each transaction and refuses to settle a swap that paid nothing or, on an anchored route, paid twice — RouterE(15) and RouterE(16). The count is asserted by the contract, not only by the tests.
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 aboveCite 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
- Gas fees, explained: what you actually pay for and how L2s made it cheap ›
- Three prices, one trade: the label, the quote and the fill ›
- Who is on the other side of your trade, and what they are paid ›
- The two fee regimes: anchored and exhaustion, measured from outside the Router ›
- The surplus doctrine: when execution beats the quote, the user keeps the difference ›
- How to read your swap receipt: delivered, quoted, floor, route, link, stamp ›
Questions, a partnership or a bug to report? Contact us or email contact@blazephoenix.xyz