
How big is too big? Sizing a trade against the depth of a pool
One line of arithmetic turns pool depth into the exact cost of your order size, gives you the size that keeps impact under 1%, and shows where the rule stops being true — with the two-quote measurement that replaces it.
BlazePhoenix Engineering · updated 2026-08-13 · 8 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 — For a constant-product pool the fraction of value lost to impact is exactly d/(x+d) — your order against the pool's reserve of the token you pay with, and nothing else: about 1% of the reserve costs about 1%, ten percent costs about 9%, half the reserve costs a third of your money. Inverting it gives d = x·t/(1−t), the largest size that fits a target impact — and the reserve that matters is that one pool's, never the protocol's TVL.
Português — Numa pool de produto constante, a fração de valor perdida para o impacto é exatamente d/(x+d) — a tua ordem contra a reserva da pool no token com que pagas, e nada mais: cerca de 1% da reserva custa cerca de 1%, dez por cento custa cerca de 9%, metade da reserva custa um terço do teu dinheiro. Invertida, dá d = x·t/(1−t), o maior tamanho que cabe num impacto-alvo — e a reserva que conta é a daquela pool, nunca o TVL do protocolo.
Español — En una pool de producto constante, la fracción de valor perdida por impacto es exactamente d/(x+d) — tu orden contra la reserva de la pool del token con el que pagas, y nada más: cerca del 1% de la reserva cuesta cerca del 1%, el diez por ciento cuesta cerca del 9%, la mitad de la reserva cuesta un tercio de tu dinero. Invertida da d = x·t/(1−t), el mayor tamaño que cabe en un impacto objetivo — y la reserva que importa es la de esa pool, nunca el TVL del protocolo.
Français — Pour une pool à produit constant, la fraction de valeur perdue en impact est exactement d/(x+d) — votre ordre contre la réserve de la pool dans le token que vous payez, et rien d'autre : environ 1 % de la réserve coûte environ 1 %, dix pour cent coûtent environ 9 %, la moitié de la réserve coûte un tiers de votre argent. L'inverser donne d = x·t/(1−t), la plus grande taille qui tient dans un impact cible — et la réserve qui compte est celle de cette pool, jamais la TVL du protocole.
Deutsch — Für einen Constant-Product-Pool ist der an Impact verlorene Wertanteil exakt d/(x+d) — deine Order gegen die Reserve des Pools im Token, mit dem du zahlst, und sonst nichts: rund 1 % der Reserve kostet rund 1 %, zehn Prozent kosten rund 9 %, die halbe Reserve kostet ein Drittel deines Geldes. Invertiert ergibt sich d = x·t/(1−t), die größte Größe für einen Ziel-Impact — und die maßgebliche Reserve ist die dieses einen Pools, nie die TVL des Protokolls.
Русский — Для пула постоянного произведения доля стоимости, потерянная на влиянии, — ровно d/(x+d): ваш ордер против резерва пула в токене, которым платите, и ничего больше. Около 1% резерва стоит около 1%, десять процентов — около 9%, половина резерва — треть ваших денег. Обратив формулу, получаем d = x·t/(1−t) — наибольший размер под целевое влияние; и значим резерв именно этого пула, а не TVL протокола.
Türkçe — Sabit-çarpım havuzunda etkiye kaybedilen değer oranı tam olarak d/(x+d)'dir — emrin, ödediğin tokendeki havuz rezervine karşı, başka hiçbir şey değil: rezervin yaklaşık %1'i yaklaşık %1'e, yüzde onu yaklaşık %9'a, yarısı paranın üçte birine mal olur. Tersine çevirince d = x·t/(1−t) çıkar — hedef etkiye sığan en büyük boyut — ve önemli olan rezerv o tek havuzunkidir, asla protokolün TVL'si değil.
العربية — في مجمّع الجداء الثابت، كسر القيمة المفقود للأثر هو بالضبط d/(x+d) — أمرك مقابل احتياطي المجمّع من العملة التي تدفع بها، ولا شيء غير ذلك: نحو 1% من الاحتياطي يكلّف نحو 1%، وعشرة بالمئة تكلّف نحو 9%، ونصف الاحتياطي يكلّف ثلث مالك. وبقلبها نحصل على d = x·t/(1−t)، أكبر حجم يناسب أثراً مستهدفاً — والاحتياطي المهم هو احتياطي ذلك المجمّع الواحد، لا TVL البروتوكول أبداً.
हिन्दी — स्थिर-गुणनफल पूल में प्रभाव से खोए मूल्य का अंश ठीक d/(x+d) है — आपकी ऑर्डर बनाम उस टोकन में पूल की रिज़र्व जिससे आप भुगतान करते हैं, और कुछ नहीं: रिज़र्व का लगभग 1% लगभग 1% की लागत देता है, दस प्रतिशत लगभग 9%, आधी रिज़र्व आपके धन का एक-तिहाई। उलटने पर d = x·t/(1−t) मिलता है — लक्षित प्रभाव में समाने वाला सबसे बड़ा आकार — और जो रिज़र्व मायने रखती है वह उसी एक पूल की है, प्रोटोकॉल की TVL कभी नहीं।
日本語 — 定積プールでは、インパクトに失われる価値の割合は正確に d/(x+d)——支払うトークンにおけるそのプールの準備金に対するあなたの注文だけで決まり、他の何にも依りません。準備金の約1%は約1%、10%は約9%、半分なら資金の三分の一を失います。逆に解けば d = x·t/(1−t)、目標インパクトに収まる最大サイズが得られます。重要なのはその一つのプールの準備金であって、プロトコルのTVLでは決してありません。
中文 — 对恒定乘积池,因冲击损失的价值比例恰为 d/(x+d)——只取决于你的订单相对于该池中你支付代币的储备,别无其他:储备的约 1% 成本约 1%,10% 约 9%,半个储备要吃掉三分之一的钱。反解得 d = x·t/(1−t),即容纳目标冲击的最大交易量——而要看的储备是那一个池的,绝不是协议的 TVL。
한국어 — 상수곱 풀에서 충격으로 잃는 가치의 비율은 정확히 d/(x+d)입니다 — 당신이 지불하는 토큰에 대한 그 풀의 준비금 대비 주문 크기뿐, 다른 무엇도 아닙니다. 준비금의 약 1%는 약 1%, 10%는 약 9%, 절반이면 돈의 3분의 1이 듭니다. 뒤집으면 d = x·t/(1−t), 목표 충격에 맞는 최대 크기가 나옵니다 — 그리고 중요한 준비금은 그 한 풀의 것이지, 프로토콜의 TVL이 결코 아닙니다.
Bahasa Indonesia — Untuk pool produk-konstan, fraksi nilai yang hilang ke dampak adalah persis d/(x+d) — pesananmu terhadap cadangan pool pada token yang kamu bayarkan, dan tidak ada yang lain: sekitar 1% dari cadangan berbiaya sekitar 1%, sepuluh persen sekitar 9%, setengah cadangan memakan sepertiga uangmu. Dibalik, rumusnya d = x·t/(1−t), ukuran terbesar yang muat pada dampak sasaran — dan cadangan yang penting adalah milik satu pool itu, tak pernah TVL protokol.
বাংলা — স্থির-গুণফল পুলে প্রভাবে হারানো মূল্যের ভগ্নাংশ ঠিক d/(x+d) — আপনি যে টোকেনে দেন সেই টোকেনে পুলের রিজার্ভের বিপরীতে আপনার অর্ডার, আর কিছুই নয়: রিজার্ভের প্রায় ১%-এ খরচ প্রায় ১%, দশ শতাংশে প্রায় ৯%, অর্ধেক রিজার্ভে আপনার টাকার এক-তৃতীয়াংশ। উল্টালে পাওয়া যায় d = x·t/(1−t) — লক্ষ্য-প্রভাবে আঁটা বৃহত্তম আকার — এবং যে রিজার্ভ গণ্য তা সেই এক পুলের, কখনোই প্রোটোকলের TVL নয়।
Filipino — Para sa constant-product pool, ang bahagi ng halagang nawawala sa impact ay eksaktong d/(x+d) — ang order mo laban sa reserba ng pool sa token na ipinambabayad mo, at wala nang iba: humigit-kumulang 1% ng reserba ay nagkakahalaga ng humigit-kumulang 1%, ang sampung porsyento ay halos 9%, ang kalahati ng reserba ay isangkatlo ng pera mo. Kapag binaligtad, makukuha ang d = x·t/(1−t), ang pinakamalaking sukat na kasya sa target na impact — at ang reserbang mahalaga ay sa iisang pool na iyon, hindi kailanman ang TVL ng protocol.
The previous article showed a single trade costing 9.59%, of which 9.09% was price impact — the cost of your own size. This article turns that into something you can decide with: given a pool, how large an order can you send before the cost stops being acceptable?
The answer is one fraction, and you can compute it in your head.
The one fraction
Take a pool holding x of the token you are paying with, and y of the token you want. Ignore fees for a moment. If you pay in an amount d, the rule that the product must not shrink means the pool keeps x + d of your token and hands you back what the other side gives up. Divide what you receive by what you paid, compare it against the label price y / x, and almost everything cancels. What is left is:
fraction of value lost to impact = d / (x + d)That is exact, not an approximation, for any pool that follows the constant-product rule. Check it against the number from the previous article: a pool with x = 1,000 and an order of d = 100 gives 100 / 1,100 = 9.0909%, which is precisely the 9.0909 tokens lost on a 100-token trade there.
Read what the fraction says. Your loss depends on your order compared to the pool, and on nothing else. Not on the price. Not on the token. Not on the chain. A 100-token order into a 1,000-token reserve costs the same 9.09% whether the tokens are worth a cent or a thousand dollars.
The table you can carry
Same pool, x = 1,000, fee switched off so the effect stays clean:
order d/(x+d) you keep
1 0.0999% 99.90%
10 0.9901% 99.01%
25 2.4390% 97.56%
50 4.7619% 95.24%
100 9.0909% 90.91%
200 16.6667% 83.33%
500 33.3333% 66.67%Two things are worth noticing before moving on. First, the cost is not proportional: going from 50 to 100 does not double the cost from 4.76% to 9.52%, it takes it to 9.09%, slightly less than double. Second, and more useful, the damage accelerates in a way that punishes exactly the trade a newcomer is most tempted by — the one that empties an account into a small pool. At 500 into a 1,000 reserve you are giving up a third of your money to arithmetic, before a single fee.
Turning it around: the size that fits your tolerance
Usually you do not want to know the cost of a size; you want the size for a cost. Solve the fraction for d and you get, for a target t:
d = x * t / (1 - t)
t = 1.0% -> d = x / 99 (1.0101% of the reserve)
t = 0.5% -> d = x / 199 (0.5025% of the reserve)
t = 0.1% -> d = x / 999 (0.1001% of the reserve)Check the first one so you are not taking it on faith. With x = 1,000, d = 1,000 / 99 = 10.101. Then d / (x + d) = 10.101 / 1,010.101 = 1.0000%. It closes.
The rule of thumb that falls out is easy to remember and accurate enough to trade on: about 1% of the reserve costs about 1% in impact. Ten percent of the reserve costs about 9%. Half the reserve costs a third of your money.
Note which reserve. It is the pool's balance of the token you are paying with, in that one pool. It is not the protocol's total value locked, which sums every pool a protocol operates and tells you nothing about the one you are trading through. A protocol with a billion locked can hold a pool with a thousand, and your order meets the thousand.
What depth actually buys you
Send the same 100-token order into pools of different sizes and the fraction does the arguing:
reserve x 100 / (x + 100)
1,000 9.0909%
2,000 4.7619%
5,000 1.9608%
10,000 0.9901%
100,000 0.0999%Doubling the depth slightly better than halves the cost. Multiplying the depth by ten divides the cost by roughly ten. This is why the deepest pool is usually the right answer for a large order, and it is also the reason an aggregator that can reach more pools has something real to offer, rather than a slogan: it can find the reserve that makes your fraction small.
It is also why the next article is about splitting. If one pool of 1,000 costs 9.09% for your 100, two pools of 1,000 might cost less than that — and the fraction above is what tells you so.
Where this rule stops being true
The fraction is exact for constant-product pools, and every pool is not one. Two families behave differently, and pretending otherwise would make this article a model rather than a measurement.
Concentrated-liquidity pools let providers place their capital inside a price range instead of across all prices. Inside that range the pool behaves as though it were far deeper than its total balance suggests, so the fraction overstates your cost. But once your order pushes the price out of the range, the depth backing you can fall off sharply, and the fraction then understates your cost badly. Stable-curve pools do something similar for a different reason: near the point where the two assets are equal, they are much flatter than constant-product, and far from it they are not.
Which means the rule of thumb is a way to think, not a way to price. The way to price is to measure.
The two-quote test, which needs no formula at all
Ask for a quote at your intended size. Then ask for a quote at a tenth of that size, and multiply the result by ten. Compare the two numbers.
If the small quote scaled up returns 100.0 and your full-size quote returns 90.4, then your own size is costing you 9.6% and no theory was required to find it out. If they are within a fraction of a percent, the pool is deep relative to what you are doing and you can stop worrying about impact.
This works on any curve, any venue and any chain, because it does not assume a formula — it asks the same contract the same question twice. That is the general discipline this site keeps returning to: where a measurement is available, prefer it to a model, including the model on this page.
Do not trust this page — reproduce it
Every claim above is checkable against the chain. Start here:
Request two quotes for the same pair, one at your full size and one at a tenth of it. Multiply the small result by ten and divide the full-size result by it. The shortfall is your price impact, measured rather than modelled.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). How big is too big? Sizing a trade against the depth of a pool. BlazePhoenix Engineering. https://blazephoenix.xyz/learn/sizing-your-trade@misc{blazephoenix_sizing_your_trade,
title = {How big is too big? Sizing a trade against the depth of a pool},
author = {BlazePhoenix},
year = {2026},
url = {https://blazephoenix.xyz/learn/sizing-your-trade},
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).
Share this article · join the discussion
Related engineering
- Three prices, one trade: the label, the quote and the fill ›
- Two half-orders beat one whole order: splitting, with the arithmetic ›
- Price impact, explained: why your own trade moves the price ›
- What is TVL? Total value locked, and why it is not the same as safe ›
- The mathematics of every AMM family, compared ›