Wallets and self-custody
A Ten-Year-Old Supply Bug: What the XRP Ledger Fix Teaches About Blockchain Rules
A flaw that could have created XRP beyond the 100 billion cap sat unfound for about a decade. Here is what that teaches.
7 min read10 October 2026CryptoBipto editorial
The number everyone quotes about XRP is 100 billion. That is the total supply of the token, and according to reports the entire amount was created when the network started rather than issued gradually over time. The cap is not a guideline or a policy. It is supposed to be a property of the software.
This week, reporting from beincrypto.com described a bug in the XRP Ledger that could have allowed the creation of XRP beyond that 100 billion figure. The flaw reportedly existed in the codebase for roughly ten years. It has been identified and fixed, and there are no reports that anyone exploited it during that time.
So nothing was stolen, nothing was diluted, and no one lost anything. You can read the original item on our news page for this story. The reason it is still worth twenty minutes of your attention is that it exposes something most people get wrong about how blockchain rules actually work.
The rule only exists if the code enforces it
When someone says a cryptocurrency has a fixed supply, it is tempting to hear that as a law of physics. It is not. It is a line of software that checks a condition, running on thousands of computers.
A few terms before we go further.
- Node: a computer running the network's software, keeping a copy of the ledger and checking that new transactions follow the rules.
- Client: the software a node runs. Several networks have more than one client written by different teams; others effectively run one.
- Consensus: the process by which nodes agree on which transactions are valid and in what order.
- Invariant: a condition that must be true before and after every operation, no matter what. "The total supply never increases" is an invariant.
Here is the part that catches people out. Consensus is agreement about whether transactions follow the rules as the software defines them. It is not agreement about whether the software is correct. If every node runs the same code, and that code contains a mistake in some rarely used branch, every node will reach the same wrong conclusion in perfect harmony. The network will not flag an error, because by its own definition no error occurred.
That is why a supply bug is a different species from a theft. A theft moves tokens that already exist from one owner to another, and the ledger shows it. A successful supply bug changes what the ledger believes the totals are, and the ledger shows nothing unusual, because the ledger is the thing that was fooled.
Why dilution is the harm
The research framing for this story uses a gold vault analogy: imagine a flaw that let someone quietly add counterfeit bars to a vault that is supposed to hold a fixed amount. Another way to put it is a company secretly issuing extra shares. Each existing share represents a smaller slice of the same thing.
Notice what the harm is not. Nobody's balance goes down. Your holdings look exactly the same in your wallet. What changes is the meaning of the denominator — how many units exist in total — and therefore what each unit represents.
This is why fixed-supply claims get treated as foundational rather than as a feature. If the number can move, every statement built on top of it has to be re-examined. You can read more background on the asset itself on our XRP coin page.
It is worth being precise about what is known here, because the reporting is limited. The specific technical mechanism — how the bug could have been used to create tokens beyond the cap — has not been fully detailed. It is also not clear from available reports who discovered the flaw, exactly when the patch shipped, or whether a formal post-mortem will be published. Those gaps matter, and guessing at the internals would be worse than leaving them open.
Found is not the same as exploited
Headlines about vulnerabilities blur two very different events. Keeping them apart will save you a lot of unnecessary alarm, and occasionally a lot of warranted alarm.
| Event | What happened | What it means for users |
|---|---|---|
| Disclosure | A flaw was found and reported privately, then fixed | No funds moved. The relevant question is process, not loss |
| Exploit | Someone used the flaw before it was fixed | There is a measurable harm, and a record of it |
| Near miss | A flaw was found while under active attack | Both of the above, compressed into hours |
This XRP Ledger case, as reported, sits in the first row. That is the quiet, boring, good outcome. The research is explicit on this point: there are no reports indicating the bug was actually exploited while it was present.
A useful habit when you see any of these stories is to read for the verb. "Could have allowed" is not "allowed." "Was patched" is not "was drained." Plenty of coverage treats those as interchangeable because the alarming version travels further.
How flaws like this get found at all
If no one noticed for about a decade, what changed? In general, there are a handful of mechanisms that surface long-dormant bugs in open-source systems.
Code audits. An outside team reads the code with fresh eyes and a mandate to break things. Audits are bounded in time and scope, which is precisely why a flaw can survive several of them: each one looked somewhere else.
Bug bounties. A project offers a reward to anyone who finds a security flaw and reports it privately instead of using it. Our glossary entry on the bug bounty explains the model in more detail. The analogy there is apt: it is a bank paying a reward to whoever reports a broken lock before a thief finds it. The economics only work if the reward is large enough to compete with the alternative.
Automated testing and fuzzing. Fuzzing means throwing enormous volumes of malformed or random input at software to see what breaks. It is good at finding edge cases that no human thought to write a test for.
Someone building something new. Developers integrating against a system often stumble into odd behaviour simply because they are using it in a way nobody anticipated.
The category of bug matters too. A supply flaw sits close to the family of problems we cover in the access control and governance bugs lesson — issues where the question is not "is the arithmetic right" but "who or what is permitted to perform a privileged operation, and under exactly which conditions." Those bugs hide well because the dangerous path is usually unreachable. It takes an unusual sequence of states to get there, which is also why routine use never trips it.
Why ten years is less surprising than it sounds
Long-lived infrastructure accumulates code that almost never runs. Error handlers, legacy transaction types, migration paths, compatibility branches kept for ledger entries written years ago. If a code path executes once in a million operations, it gets a millionth of the real-world scrutiny.
Open source helps, but it is not magic. "Anyone can read the code" only converts into safety when someone with the right expertise actually reads that particular function with the right question in mind. Most readers of a large codebase are trying to understand the parts they need, not hunting for the one branch where an invariant could be violated.
There is also a reporting asymmetry. We learn about the flaws that were found. We cannot count the ones still sitting in any mature system, including systems with far more review hours than this one.
What to take from it
None of this is a judgment about XRP or any other asset, and nothing here is a suggestion to do anything with one. It is a lens.
When you read that a network has a guarantee — fixed supply, finality, immutability — the honest translation is: the software is intended to enforce this, and so far it has. That is a meaningful statement. It is not the same as a mathematical certainty, and the gap between the two is where incidents like this one live.
Three questions worth asking of any such story:
- Was the flaw exploited, or only found? These produce completely different kinds of news.
- Did the project publish a post-mortem explaining what happened and why it survived previous review? Transparency after the fact is one of the few signals outsiders can actually evaluate.
- How did the fix reach the network? A patch helps only when node operators install it.
The third question is the one most coverage skips. A fix in a code repository is not a fix on the network until the computers running the network upgrade. For a reader who is not running a node, the practical takeaway is simply to notice whether a project's operators coordinate upgrades well, because that capability is tested during emergencies and built long before them.
The reassuring version of this story is that the system worked: a serious flaw was found and closed without harm. The sober version is that it took about ten years, and that the only reason we are discussing it is that someone eventually looked.
Learn it properly
The Wallet Spectrum
4 minMembersWallet Setup Walkthrough: Your First Hardware Wallet
3 minMembersMultisig Architecture and Practical Setup
4 minMembers
CryptoBipto
