
A technical due-diligence framework for DeFi protocols
Eight questions an allocator, auditor or engineer can answer by observation rather than by trusting a team: who can move the funds, does it price without its servers, can every published number be rebuilt from chain state, and what happens on the day nobody is maintaining it.
Known formally as Technical Diligence in the BlazePhoenix whitepaper.
BlazePhoenix Engineering · updated 2026-07-29 · 12 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 — Eight questions an allocator or auditor can answer from chain state alone, without the team's cooperation: who can move the funds, does it price with the servers off, can every published figure be rebuilt from primitive state, and what happens on the day nobody is maintaining it.
Português — Oito perguntas que um alocador ou auditor responde só a partir do estado da chain, sem cooperação da equipa: quem pode mover os fundos, forma preço com os servidores desligados, cada número publicado pode ser reconstruído do estado primitivo, e o que acontece no dia em que ninguém o mantiver.
Español — Ocho preguntas que un asignador o auditor responde solo desde el estado de la cadena, sin cooperación del equipo: quién puede mover los fondos, fija precio con los servidores apagados, puede reconstruirse cada cifra publicada desde el estado primitivo, y qué pasa el día que nadie lo mantenga.
Français — Huit questions qu'un allocataire ou un auditeur tranche depuis l'état de la chaîne seul, sans coopération de l'équipe : qui peut déplacer les fonds, cote-t-il serveurs éteints, chaque chiffre publié est-il reconstructible depuis l'état primitif, et que se passe-t-il le jour où plus personne ne le maintient.
Deutsch — Acht Fragen, die ein Allokator oder Prüfer allein aus dem Chain-Zustand beantwortet, ohne Mitwirkung des Teams: Wer kann die Mittel bewegen, preist es mit abgeschalteten Servern, lässt sich jede veröffentlichte Zahl aus Rohzustand rekonstruieren, und was geschieht an dem Tag, an dem niemand es mehr pflegt.
Русский — Восемь вопросов, на которые аллокатор или аудитор отвечает по состоянию цепи, без содействия команды: кто может двигать средства, считает ли цену при выключенных серверах, воспроизводится ли каждая публикуемая цифра из примитивного состояния, и что будет в день, когда никто не сопровождает проект.
Türkçe — Bir tahsisçinin ya da denetçinin yalnızca zincir durumundan, ekibin işbirliği olmadan yanıtlayabileceği sekiz soru: fonları kim hareket ettirebilir, sunucular kapalıyken fiyatlıyor mu, yayımlanan her rakam ham durumdan yeniden kurulabiliyor mu, ve kimse bakmadığı gün ne olur.
العربية — ثمانية أسئلة يجيب عنها المخصص أو المدقق من حالة السلسلة وحدها دون تعاون الفريق: من يستطيع تحريك الأموال، هل يسعّر والخوادم مطفأة، هل يمكن إعادة بناء كل رقم منشور من الحالة الأولية، وماذا يحدث يوم لا يصونه أحد.
हिन्दी — आठ प्रश्न जिनका उत्तर कोई आवंटक या ऑडिटर केवल चेन-स्थिति से दे सकता है, टीम के सहयोग के बिना: फंड कौन हिला सकता है, सर्वर बंद होने पर भी मूल्य बनता है क्या, हर प्रकाशित आँकड़ा मूल स्थिति से पुनर्निर्मित हो सकता है क्या, और जिस दिन कोई इसे नहीं संभालेगा तब क्या होगा।
日本語 — 配分者や監査人がチェーン状態だけで、チームの協力なしに答えられる八つの問い。誰が資金を動かせるか、サーバーを止めても値付けできるか、公表値をすべて原始状態から再構築できるか、そして誰も保守しなくなった日に何が起きるか。
中文 — 配置者或审计者仅凭链上状态、无需团队配合即可回答的八个问题:谁能动用资金;关掉服务器还能否定价;每个公开数字能否从原始状态重建;以及无人维护的那一天会发生什么。
한국어 — 배분자나 감사자가 팀의 협조 없이 체인 상태만으로 답할 수 있는 여덟 가지 질문: 누가 자금을 움직일 수 있는가, 서버를 끈 채로도 가격이 나오는가, 공개된 모든 수치를 원시 상태에서 재구성할 수 있는가, 그리고 아무도 유지보수하지 않는 날 무슨 일이 일어나는가.
Bahasa Indonesia — Delapan pertanyaan yang bisa dijawab pengalokasi atau auditor dari keadaan rantai saja, tanpa kerja sama tim: siapa yang bisa memindahkan dana, apakah ia tetap memberi harga dengan server mati, apakah tiap angka terbit bisa dibangun ulang dari keadaan primitif, dan apa yang terjadi saat tak ada lagi yang merawatnya.
বাংলা — আটটি প্রশ্ন, যেগুলোর উত্তর একজন বরাদ্দকারী বা নিরীক্ষক কেবল চেইন-অবস্থা থেকেই দিতে পারেন, দলের সহায়তা ছাড়াই: কে তহবিল সরাতে পারে, সার্ভার বন্ধ থাকলেও দাম হয় কি, প্রকাশিত প্রতিটি সংখ্যা আদি অবস্থা থেকে পুনর্নির্মাণযোগ্য কি, আর যেদিন কেউ রক্ষণাবেক্ষণ করবে না সেদিন কী হবে।
Filipino — Walong tanong na kayang sagutin ng isang allocator o auditor mula sa estado ng chain lamang, walang tulong ng team: sino ang makakagalaw ng pondo, nagpepresyo pa ba ito kahit patay ang mga server, maitatayong muli ba ang bawat inilathalang bilang mula sa primitibong estado, at ano ang mangyayari sa araw na wala nang nag-aalaga nito.
Technical diligence on a deployed protocol is not a code review and it is not a vibe check. It is a set of questions with observable answers — things you can determine from chain state and public artefacts without the team's cooperation and without trusting a single sentence they have written. The framework below is ordered by how much of the outcome each question explains.
1. Who can move the funds?
The first question dominates all others, because every other property is conditional on it. Enumerate the privileged roles and, for each, ask what it can reach: can any key withdraw user principal, redirect a payout destination, pause exits, or upgrade the logic that holds the assets? An upgrade path is a key that can reach everything, whatever the current code says.
The strong answer is not "the team is trustworthy" — it is that the powers touching funds have been permanently surrendered, verifiably, while any remaining powers can only add rather than redirect. The distinction is checkable: read the roles, read whether renunciation is irreversible, and read where withdrawals are allowed to go.
2. Does it still price with the team's servers off?
A protocol whose numbers come from a private server has a single point of failure that no amount of on-chain settlement removes. Test it directly: try to obtain a price with the hosted front end and API unreachable. If nothing answers, the pricing layer was never decentralised, and the protocol's continuity depends on a company remaining willing and able to run infrastructure.
3. Can every published figure be rebuilt from primitive state?
Protocols publish figures for trustless verification, and everyone — users, dashboards, monitors, the team's own tests — checks the system through those figures. That makes the reporting surface the highest-leverage place for an error to hide, because a defect that corrupts the instrument is invisible to every other check simultaneously.
The wrong test is confirming the published views agree with each other; two views derived from the same faulty helper agree perfectly and are both wrong. The right test rebuilds each figure independently from raw chain state and compares. If a protocol cannot survive that, its transparency is decorative.
4. What is the enforced worst case?
Every system that moves value has a bad path. Ask what bounds it. Is there a minimum the contract will accept before it reverts, and is that minimum derived on-chain from the real transaction, or supplied by whoever built the request? A bound that the caller can widen is not a bound. Look for the failure mode too: does the system fail closed — refusing to act when it cannot establish a fact — or does it fail open with a guess?
5. Which dimensions do the invariants actually cover?
Protocols advertise invariants, and invariants are the strongest guarantee available on-chain — but each one guards exactly the axis it measures and is silent about every other. A conservation property proves how much value exists; it says nothing about who is owed it, when it was earned, whether an honest user can exit, or whether the published numbers describe reality.
So the diligence question is not "does it have invariants" but "which dimensions are unguarded". Value, time, liveness, privilege, incentives, asset boundary, reporting truthfulness, deployment assumptions — for each, ask what enforces it. The unnamed dimension is where the next defect lives.
6. How does it behave at the asset boundary?
Tokens misbehave: some charge a fee inside the transfer, some change balances with no transfer at all, some return no success value or return the wrong one. Any protocol that credits the amount it REQUESTED rather than the amount that ARRIVED is mis-accounting against real holdings, and the error compounds through every downstream calculation. Check whether the code measures balance deltas or trusts its own arguments.
7. Does it survive being unmaintained?
Assume the team disappears tomorrow. Does the protocol keep functioning, or does it silently degrade? Look for dependencies on someone choosing to act: a keeper that must be paid to run, an oracle that must be updated, a parameter that must be tuned. A system that cleans itself from ordinary user activity has a fundamentally different survival curve from one that needs attention, and that difference is invisible while the team is still attentive.
8. Is severity assigned before or after reachability?
This one reveals the engineering culture rather than the code, and it predicts future defects better than any single finding. Ask how the team rated the issues they have already disclosed. A severity is a claim about the reachable world; asserted from an algebraic argument, it will eventually be asserted from one that is wrong, and every conclusion built on it inherits the error — including decisions to delete branches believed dead.
A team that measured reachability before rating, that publishes findings against itself, and that treats a negative result as a hypothesis rather than a conclusion, is a team whose next bug is more likely to be found by them than by an adversary. That is the property you are actually underwriting.
Using the framework
None of these eight requires source access, an NDA, or a conversation. Each is answerable from deployed bytecode, chain state and public artefacts — which is precisely the point: diligence that depends on the subject's cooperation is not diligence. Run them in order, because the first two constrain the value of every answer that follows.
Do not trust this page — reproduce it
Every claim above is checkable against the chain. Start here:
Pick any protocol and run question 3 alone: take one figure it publishes, rebuild it from raw chain state with your own script, and compare — a protocol that fails this has an instrument problem, and every other number it shows you inherits itCite 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). A technical due-diligence framework for DeFi protocols. BlazePhoenix Engineering. https://blazephoenix.xyz/learn/defi-due-diligence-framework@misc{blazephoenix_defi_due_diligence_framework,
title = {A technical due-diligence framework for DeFi protocols},
author = {BlazePhoenix},
year = {2026},
url = {https://blazephoenix.xyz/learn/defi-due-diligence-framework},
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). Standards cited: EIP-20
Share this article · join the discussion
Related engineering
- Verify your instrument: the research discipline that decides whether your findings are real ›
- Invariant-driven design: what a conservation law proves, and the dimension it cannot see ›
- Provable staking solvency: an invariant anyone can check, any block ›
- The Nakamoto Test: five questions that measure any protocol against the original vision ›