The iron floor: a minimum output the contract re-derives for itself
BlazePhoenix Engineering · updated 2026-07-17 · 6 min · written from the deployed bytecode
Abstract in 15 languages · resumo · resumen · 摘要 · 要旨 · ملخص
English — The Router re-derives the minimum output ON-CHAIN at execution: callers may tighten it, never relax it, and every route leg must deliver at least 75% of plan or the whole trade reverts.
Português — O Router re-deriva o output mínimo ON-CHAIN na execução: quem chama pode apertar, nunca alargar, e cada leg da rota tem de entregar pelo menos 75% do plano ou o trade inteiro reverte.
Español — El Router re-deriva el mínimo de salida EN CADENA al ejecutar: el llamante puede endurecerlo, nunca relajarlo, y cada tramo debe entregar al menos el 75% del plan o toda la operación revierte.
Français — Le Router re-dérive le minimum de sortie ON-CHAIN à l'exécution : l'appelant peut le durcir, jamais l'assouplir, et chaque segment doit livrer au moins 75 % du plan sous peine de revert intégral.
Deutsch — Der Router leitet das Mindest-Output ON-CHAIN bei Ausführung neu ab: Aufrufer dürfen es verschärfen, nie lockern, und jedes Routenbein muss mindestens 75 % des Plans liefern, sonst revertiert alles.
Русский — Роутер заново выводит минимальный выход ОН-ЧЕЙН при исполнении: вызывающий может ужесточить его, но не ослабить, и каждое плечо маршрута обязано дать не менее 75% плана, иначе вся сделка откатывается.
Türkçe — Router asgari çıktıyı yürütme anında ZİNCİR ÜSTÜNDE yeniden türetir: çağıran sıkılaştırabilir ama asla gevşetemez; her rota bacağı planın en az %75'ini vermek zorundadır, yoksa işlem tümüyle geri döner.
العربية — يعيد الموجّه اشتقاق الحد الأدنى للمخرجات على السلسلة عند التنفيذ: يمكن للمستدعي تشديده لا تخفيفه، وعلى كل ساق في المسار تسليم 75% من الخطة على الأقل وإلا ارتدت الصفقة كاملة.
हिन्दी — Router निष्पादन के समय न्यूनतम आउटपुट ऑन-चेन फिर से निकालता है: कॉलर उसे कड़ा कर सकता है, ढीला कभी नहीं, और रूट के हर लेग को योजना का कम से कम 75% देना होगा वरना पूरा ट्रेड रिवर्ट हो जाता है।
日本語 — Routerは実行時に最低出力をオンチェーンで再導出します。呼び出し側は厳しくはできても緩めることはできず、各レッグは計画の75%以上を届けなければ取引全体がrevertします。
中文 — Router 在执行时于链上重新推导最低输出:调用者只能收紧、不能放宽,且每条路径腿必须交付计划的至少 75%,否则整笔交易回滚。
한국어 — Router는 실행 시점에 최소 산출량을 온체인에서 재산출합니다. 호출자는 더 조일 수만 있고 늦출 수 없으며, 각 경로 레그는 계획의 75% 이상을 내야 하고 아니면 거래 전체가 revert됩니다.
Bahasa Indonesia — Router menurunkan ulang output minimum ON-CHAIN saat eksekusi: pemanggil boleh memperketat, tak pernah melonggarkan, dan tiap kaki rute wajib menyerahkan minimal 75% rencana atau seluruh transaksi revert.
বাংলা — Router সম্পাদনের সময় ন্যূনতম আউটপুট অন-চেইনে পুনরায় নির্ণয় করে: কলার তা কঠোর করতে পারে, শিথিল কখনো নয়, এবং রুটের প্রতিটি লেগকে পরিকল্পনার অন্তত ৭৫% দিতে হবে নইলে পুরো ট্রেড রিভার্ট হয়।
Filipino — Muling kinukuwenta ng Router ang minimum output ON-CHAIN sa mismong execution: maaaring higpitan ng caller, hindi kailanman paluwagin, at bawat leg ng ruta ay dapat maghatid ng hindi bababa sa 75% ng plano o kaya'y babalik ang buong trade.
Slippage protection usually means: the frontend computes minOut, the user signs it, the contract obeys it. Two failure modes follow — a compromised frontend supplies minOut = 1, or MEV moves the market inside the block and the stale floor lets the sandwich through.
The BlazePhoenix Router re-derives the floor ON-CHAIN at execution time from the same quoting machinery (the iron floor). The caller-supplied minOut is honoured only if it is TIGHTER than the contract's own floor: you can demand more protection than the contract computes, never less. A poisoned frontend cannot lower the floor below what the chain itself considers honest execution.
Per-leg floors
A route-level floor alone can be gamed by decomposition: pass the total check while one leg inside the route is sandwiched to death and another overperforms. The Router therefore also enforces a per-leg floor — each leg must deliver at least 75% (LEG_FLOOR_BPS = 7500) of its planned output, or the whole transaction reverts. An attacker must now beat every leg simultaneously, not just the average.
Do not trust this page — reproduce it
Every claim above is checkable against the chain. Start here:
cast call — read LEG_FLOOR_BPS on the Router: cast call 0x2a779f9Be49aac57495A8B6467Cc325a8a47Eb9f "LEG_FLOOR_BPS()(uint256)" --rpc-url https://mainnet.base.orgContracts are verified on every chain we deploy to — addresses in the protocol manifest. Deeper formal treatment: the whitepaper (PDF).