Mladen retweeted
We’ve worked with billion-dollar protocols and organised ~200 security audits over the past ~4 years.
🚨Here are 5 rules every Web3 project MUST live by in 2026:
(BOOKMARK AND RETWEET)
1. Don’t rely on AI security alone before mainnet
We are not there yet. AI should be leverage for auditors, a tool that helps them deliver better results, not a substitute at this point. Dev teams running automated tools and calling it an audit is absurd. That’s how you start getting hacked. Security can be expensive, but it’s mandatory and existential. If you had $50M stored in your house, wouldn’t you invest heavily in protecting it?
2. High-paid devs ≠ secure code
I’ve spoken to many founders who believe that because they hired expensive developers, mistakes won’t happen. They will. Everyone is biased toward their own code. Security requires an unbiased, professional opinion from a dedicated audit firm. Never assume your devs can’t make mistakes, because that assumption can cost you everything.
3. Clear documentation reflects a clear threat model
This is extremely important for auditors. The clearer your documentation, the faster and more accurately they can understand your protocol and its intended behavior. If it improves the auditor’s work, it directly improves your security, so there’s no reason to neglect it. Messy or incomplete documentation increases risk and frustrates both auditors and users.
You also need well-structured contracts and proper NatSpec reduce audit blind spots.
Good structure makes complex systems easier to reason about and reduces the chance of missing critical issues. Follow the official Solidity guidelines and keep your code clean and consistent. Poor structure hides vulnerabilities and slows down the entire audit process.
4. Too many Crits and Highs? Don’t deploy
If you have lots of Critical and High findings in your first audit, that’s a clear signal there are likely more bugs in the codebase. An audit is a time-restricted engagement, and if the system is full of issues, not everything may be uncovered within scope. That’s not the auditor’s fault. In this case, you need a second audit before even considering mainnet.
5. Have a detailed incident response plan
You may think it can never happen to your protocol, but no one is 100% safe. There is always a real chance something goes wrong, and you need to be prepared. You need:
- Clear communication strategy
- Defined roles and responsibilities
- Precise steps in case of a hack
- Pre-made decisions such as pausing contracts or freezing assets
Everything should be prepared in advance, down to the last detail.
Mladen retweeted
The signing math
When you sign a message with Ed25519, two values get published on-chain as your signature: R and s.
They're computed like this:
- R = k · G (k = the secret nonce, G = a fixed public point)
- s = k + H(R, A, M) · a
Where:
- k = the nonce (must be secret)
- a = your private key (the thing that must never leak)
- A = your public key
- M = the message (transaction)
- H(...) = a hash anyone can compute from public data
(Simplified, the real scheme works modulo the curve order and the nonce is derived from a secret value inside the seed, not the raw seed. But the shape below is exactly what matters.)
Both R and s are public. They're literally in the signature on the blockchain.
Now solve for the private key
Look at the second equation and rearrange it:
a = (s − k) / H(R, A, M)
Everything on the right side is public except k, the nonce. So the only thing protecting your private key a is that nobody knows k.
That's the whole game. Secrecy of k = secrecy of your key.
What SecondFi broke
Correct Ed25519 derives the nonce from a secret:
k = H(secret_seed, M) ← depends on something private
You can't recompute k, because you don't have secret_seed.
SecondFi instead did something equivalent to:
k = H(M) ← depends ONLY on the public message
Now anyone reading the chain can:
1. Read the transaction M → compute k = H(M)
2. Read s and R from the signature
3. Compute H(R, A, M)
4. Plug into a = (s − k) / H(R, A, M) → recover the private key
A toy numeric walkthrough
Forget elliptic curves; use plain arithmetic to see the shape.
Say:
- Private key a = 7 (secret)
- Message hash H(R, A, M) = 3 (public)
- Nonce k = 5
Then the published signature value is:
s = k + H·a = 5 + 3·7 = 26
Good system: an attacker sees s = 26 and H = 3, but not k. Two unknowns (k and a), one equation unsolvable.
SecondFi's system:
the attacker recomputes k = 5 from public data.
Now:
26 = 5 + 3·a → a = (26 − 5) / 3 = 7
The private key falls right out. One signature, no guessing.
Why this beats classic "nonce reuse"
The famous bug, the one that broke the Sony PlayStation 3 and some early Bitcoin wallets, was reusing the same k across two different messages. That took two signatures to cancel the unknowns and solve.
Here you need only one, because k isn't unknown at all. It's computable from data already on chain. Every single transaction a user ever signed is a standalone leak of their key.
The fix was never "understand the curve math." It was "don't be the one writing it."
Libsodium and noble/ed25519 are good examples: both open, both audited, and both give sign() no parameter to supply the nonce.
🚨SecondFi: more than $20M stolen, or taken hostage - When the nonce is predictable, the key is public.
Last Tuesday, SecondFi wallets were drained at scale. Users were doing nothing exotic, just signing transactions like any other day. Then the funds were gone.
▶️What happened. Two waves. First, external attackers drained wallets: ~16M ADA plus NFTs, around $2.5M. Then a much larger move: ~129M ADA, around $20M, swept by SecondFi itself to a third party custodian, "to keep it safe."
Users were robbed by attackers, and users were swept by the platform!!
▶️The bug. Every signature scheme in this family uses a per signature secret number, the nonce. The one rule: it must be secret and unpredictable. EdDSA (Ed25519, what Cardano uses) makes it deterministic on purpose, derived from the private key and the message together. Deterministic, but secret. The secret input is the whole point. SecondFi's implementation derived it from public data alone. The nonce stopped being secret. Public in, public out.
▶️Why it is fatal. Call it what it is: worse than nonce reuse. Reuse needs two signatures from the same key to recover it. Here the nonce can be recomputed by anyone from data already on chain, so a single signature is enough to reconstruct the private key. Every transaction a user ever signed is a public disclosure of their key. I pulled signatures off chain and rebuilt the keys to confirm. One signature, every time. The chain was not attacked. It was read.
▶️The "rescue." The second wave was the platform sweeping ~129M ADA to a custodian, framed as protection. The fix for "your keys are cryptographically exposed" was "trust us to give it back." A cryptographic failure patched with a social promise. "We will return the funds" is not "we are cryptographically incapable of keeping them." The incident did not create that gap. It made it visible.
▶️The ownership trap. Once a key is publicly reconstructible, holding it proves nothing. Attacker, custodian, original user: three parties, same cryptographic claim. So how does a real owner prove it? The elegant exit is a zero knowledge proof of knowledge of the 24 words, the seed, without revealing it. Knowledge of the mnemonic is the one thing a chain scraper does not have. Prove the preimage, not the key.
▶️ How did it get in? Honest mistake, or planted? Dropping a single secret input from the nonce is a tiny change. Exactly what a tired engineer ships, and exactly what a supply chain or insider attacker plants, because it is deniable and pays out silently to whoever reads the chain. I do not know which one this was. The commit history will tell.
Cryptography does not care about good intentions. It enforces what you built. SecondFi built a scheme where the nonce was predictable, so the keys were public, so the funds were anyone's. The rest is just who read the chain first.
Stay safe.
--
(obv, Ledger users are not affected. Nonce and signatures are computed inside the secure element)
Mladen retweeted
Please invest in security.
The crypto market is at a very low point and cash is tight.
But the attackers are 10x more productive due to AI.
🚨 SECURITY UPDATE: Root Cause & Blast Radius Confirmed
We have isolated the root cause of the recent security incident. The issue was confined to our native Cardano web wallet generation software.
Our team has completed an onchain analysis to determine the scope of impact, and we are now finalizing an independent technical review with a leading blockchain security firm to validate our findings.
Mladen retweeted
Making audits rigorous at No.Witness Labs.
Formal verification for blockchains is what we do. Please reach out via DMs or [email protected]
Final session of our Formal Verification in Lean 4 course today.
Over 8 weeks the cohort went from Lean basics to theorem proving, SMT solvers, and a full smart contract audit workflow.
This is how we make audits rigorous instead of best-effort.
Formal verification for blockchains is what we do at @nowitnesslabs . More coming soon
Mladen retweeted
Fluid stats are in:
→ 17.84M $ADA in collateral value
→ 6.82M $ADA in active debt
→ 364 unique wallets
→ 286 lenders
→ 88 borrowers
→ 15.63% collateral share across the tracked lending market
That means incentives are doing what they were designed to do:
bring liquidity onchain, activate borrowing demand, and move capital across Cardano DeFi, beautiful 😘
Mladen retweeted
Did you notice Minswap, WingRiders and Sundae are already part of the Global Order Book on Dano Finance.
We are adding more every week, which one should we add next?
1. CSwap
2. Cardano Swap
3. VyFi
4. Liqwid
5. Fluid
6. Surf
A connect Cardano Ecosystem is a stronger than silo dapps!!!
Mladen retweeted
BREAKING: Closed mainnet beta for Ascend prediction perps is launching within the week 🚀
The application period has concluded and we're making final preparations!
Are you ready for private DeFi on @MidnightNtwrk?
Mladen retweeted
This Monday - I’m talking Mithril with @TeragoneFactory.
After working w/@IOGroup on core Mithril, popular in beta and prod-ready as of 1.0.0, Teragone is leading a proposal to extend Mithril as a seamless part of the Cardano experience 🧵
nitter.cf/i/spaces/1qxvvvWkQkpxB
Mladen retweeted
Hey Cardano, @0xMetamatt here, CEO of FluidTokens.
Bitcoin is ready to flow into Cardano because many of us have spent the last two years building the rails to make it possible.
We chose the harder path to get here.
Countless hours went into writing code, speaking with expert builders, designing features, and finding the right way to create something we believe is vital for the Cardano ecosystem.
Through constant work across many different teams, we reached the BIFROST public testnet, and we are deeply thankful to everyone who saw this vision and supported it during Catalyst Fund 14.
So many of you helped us along the way, and now that we are close to the finish line, we want to ask for your help once more.
The BIFROST public testnet was the first step.
The FluidTokens and @lantr_io BIFROST treasury withdrawal request is the next step toward mainnet.
We are nearing the last lap, and we are almost there.
We are asking every community member, every DRep, and every Cardano holder to review the draft once it goes live and share honest feedback before submission.
We will share it soon, we will be live to discuss it with you, and we cannot wait to hear what the community thinks.
Let’s do it for Cardano 💙
Mladen retweeted
Cardano has always been the harder path, but we are here because we chose to walk it. 😤
We chose to build where others saw limits, to keep going when progress felt slow, and to believe that infrastructure, decentralization, and community matter.
Now the path feels even harder.
So we do what our community has always done
We march on, regardless.
Because we care about this ecosystem, because we love what we build, and because this mission is still bigger than the market around us.
Cardano is not going anywhere. 💙
Fluid is not going anywhere. 💙
Mladen retweeted
Culture is eating our strategy
So I have heard this statement before from Charles when it comes to the price of ada maybe 3 years ago on June 10th (ada was .29) we were going thru a bear mkt low , I initially thought he was countering those who were talking crap about the value of ada. The idea of not caring about the price of ada for some is a normal day to day thing (it just isnt why they are here), for those running a business like a SPO it is for some a passion, it is for others a way of life and they do it because they believe in Decentralization (thank God for you guys).
The issue is the rest of us who wish to also have a for profit business like most dapps here operating on Cardano it is very disheartening and probably confusing for some to hear that come out of one of our leaders here in Cardano. This isnt a feature or a bug in Charles hard drive it is a philosophy he stands by as a true libertarian of free mkt and no intrusion from any centralized authority, while maintaining complete autonomy from the fiat system as best he can. Yes he owns many things and even commented one time when ada was over $3 that it was nice to be a billionaire for the first time at least on paper.
The solution for me is too add leaders that are more business minded, that do focus on the price of ada and the solvency of many spo's and dapps currently operating here, we can't feed ourselves on ideals and we don't have BTC war chest in our back paocket like Charles does (not at his level at least) we also got robbed of a bull mkt in in 2021-2022 and then again after Trump won the presidency this last Nov.
There is no excuses when running a business, you ive or die by your decisions on a daily, monthly and annual basis. There are no do overs either so we either hit product mkt fit or we dont in each business cycle, when we don't you regroup (becasue you have prepared for these eventual downturns with hedged capital) Charles is a great visionist/speaker/futurist he is not someone who constantly thinks about the value of the thing that we all depend to pay our teams and our families. This means that we need multiple people with the business acumen to run the business side of things, Charles thru his own admission can not and will not focus on price as part of his mandate to make Cardano the best place to live/work/play, which means the enterprise solutions and commercial applications to develop a healthy commerce here on Cardano is left up to to others to get done.
There are quite a few of us, who have experience in this area and also are not going anywhere, @IOHK_Charles is taking a break its time for a group of Interim-ceo's to bubble up and start working to achieve financial solvency and independence. The beauty of this is we can all look to various dapps that have seen success to date, the ceo's who are running them and find our bearings going forward. Examples of financial success attract others to them and it is infectious, yes I love Charles and am immensely grateful for his initial contribution to our space but thru his own admission is not the right leader to drive financial independence thru increasing commerce here on Cardano.
We can do this together, we have examples of how it is done using our Blockchain all we need to do is follow that lead. This will require internal investment rather then value extraction from our chain, it will require some sacrifice in certain areas in order to get it done but it will also free us from being tied to the ever volatile crypto mkt and the overwhelming depression that comes from watching Ada plummet while were trying to pay bills and operate our business's here on Cardano.
I welcome your thoughts and input as none of us have all the answers and we can't do it alone, this is the time to add to what's already built and successful along with reinvesting in our own economy.
We are all Cardano ceo's and its Time to get to work
for reach @bigpey @Cryptofly777 @astroboysoup @cwpaulm @adamKDean @RickMcCracken @InputEndorsers @StakeWithPride @ItsDave_ADA
Current top ten Dapp leaders/Ceo's to date:
Shan Zhang @szh8ng
Long Nguyen @longminswap
Dewayne Cameron @DCdoso and Florian Volery @sachs_johnny
FluidTokens — Matteo Coppola @0xMetamatt and Raul Padilla @elraulito
SundaeSwap — Mateen Motavaf @vmateenv and @Quantumplation
@snek Rapha — Snek Foundation: @golden_Rapha
Goofy — Snek founder: @goofy_crisp
Phil — Surf Lending founder: @phillerino
Jon Kravetz — CSWAP founder: @CSWAP_Destroy
Christian Schmitz — Pulse founder: @cschmitz398
VyFinance — Steven Ward @methebim
@Indigo_protocol Eric Coley
@wingriderscom Roman
There are others but we need a concerted effort from everyone who calls this their business home
No I'm not leaving nitter.cf/i/broadcasts/1MJgNNMwQ…
Mladen retweeted
🦀 Introducing Scrawls: A Rust library for the Cardano SCLS format
Scrawls is now available on crates.io: A Rust implementation of the Standard Canonical Ledger State (SCLS) format defined in CIP-0165, a versioned, verifiable container for Cardano ledger-state snapshots.
What it does:
• Read, write and verify SCLS v1 files
• Three-level cryptographic integrity: per-chunk Blake2b-224 digests, per-namespace Merkle roots and a global Merkle root
• Streaming, lazy parsing; memory stays proportional to chunk count, not file size
• Builder-pattern writer that enforces namespace and key ordering at write time
• Interoperable with the Haskell reference implementation, tested in both directions
📦 crates.io/crates/cardano-scr…
#Rust #Cardano #Blockchain #CIP0165
Mladen retweeted
an interesting trend is that the most successful coins rn dont spend much time on fancy marketing, events or manufactured hype
they have a product that works
the community does the rest
super healthy
Mladen retweeted
Red markets don't just test conviction.
They test execution.
When swapping USDCx → ADA, getting the best possible route can make a meaningful difference.
✅ DANO Finance is built to deliver deep liquidity and low-slippage execution, helping traders get more from every swap.
Mladen retweeted
great to see professional infrastructure builders take on community feedback and course correct accordingly
that is what equitable partnership between business and Cardano looks like
thank you @tweagio @KrisKowalsky all the best for this resubmitted proposal
We listened to the feedback from DReps and the community and we have resubmitted a revised proposal.
12 months. Reduced budget. Focused scope centered around getting Peras to mainnet.
Vote Yes👇
adastat.net/governances/17e4…
Mladen retweeted
We listened to the feedback from DReps and the community and we have resubmitted a revised proposal.
12 months. Reduced budget. Focused scope centered around getting Peras to mainnet.
Vote Yes👇
adastat.net/governances/17e4…
Mladen retweeted
Testing whether a Cardano node implementation behaves correctly has always been difficult.
During our 2025 work we built a black box ledger testing framework. It uses the Canonical Ledger State format (CIP-165) and exports existing tests directly from the Haskell node so they can be run against any other node implementation.
Here is a demo of how it works with the Haskell node 👇


























