FINDINGS · XRPL MAINNET
What the ledger says when you actually read it.
Every one of these was measured on XRPL mainnet, not modelled. Each is
something the ledger publishes in the open and that no interface we could
find reports. Two of them were found in NOSHASHI's own code first.
WHY EACH FIGURE CARRIES A DATE
A measurement quoted as current when it is three weeks old is the exact
failure this product exists to prevent. So every finding below states
when it was taken and what would need re-running before anyone repeats
it. Where a figure keeps — because it is a property of the protocol
rather than a reading of the market — that is said too.
Order book depth
92.8% of a major order book's visible depth could not fill.
1,606,485
advertised →
116,107
actually fundable
An offer rests in the book whether or not its owner still holds the asset
to honour it. rippled reports the difference in
taker_gets_funded — a field present only when
the owner cannot cover the listed amount, so its absence means fully
funded and its presence means that is all they actually have. Anything
that sums TakerGets counts offers nobody can
honour. One offer advertised 1,400,100 USD against an owner balance of
22,273.
We found it in our own code. NOSHASHI was summing the advertised figure,
and that number fed exit liquidity — so the console was telling operators
they could exit positions the book could not absorb, overstating depth by
roughly fourteen times. Fixing it is what turned it into a feature.
Before you repeat it
Order books move constantly. Re-run the measurement the day you quote it and use the fresh figure.
Settlement
A payment returned tesSUCCESS and delivered 0.4% of its stated amount.
999,332.87
requested →
3,958.64
delivered
Amount said 999,332.87 LRC.
delivered_amount said 3,958.64. The transaction
succeeded. Any system that credits the stated figure over-credits by
roughly 250×, and that is precisely the mistake that has drained
exchanges. Three of 223 consecutive payments carried the partial-payment
flag.
Before you repeat it
The transaction is immutable, so the example keeps. The 3-in-223 frequency is a sample and should be re-measured.
Impersonation
A live campaign, 1.1 million transactions deep, backed by a token that has never been issued.
1,116,900
transactions in nine days
One account was issuing checks denominated in USDT from an issuer with
zero obligations outstanding — a token nobody has ever been issued, so no
check it backs could ever be cashed. Sender and issuer publish the same
domain.
The tell is that a currency code is not a name anyone owns. Any account
may issue a token called USDT, and the only question that matters is
whether the issuer owes anything to anyone. That is a reading the ledger
will answer in one call, and almost nothing asks it.
Before you repeat it
Check whether the campaign is still running before describing it in the present tense.
Control surface
Multi-signature that provides no second approval.
5signers ·1can act alone
XRPL compares a signer quorum against the sum of signing weights,
not a count of signers. A list of five signers where one carries the
quorum is a single-key account wearing a committee's clothes — and no
interface we could find reports it that way.
Before you repeat it
A property of the protocol rather than a measurement. It keeps.
A negative result · a tool we did not build
XRPL's reserve prices out an attack that plagues other chains.
0lookalike pairs across 14 accounts scanned
Address poisoning — seeding a victim's history with a lookalike address
so a later copy-paste sends to the attacker — costs only gas on an
account-free chain. On XRPL every lookalike must first be funded with the
1 XRP base reserve, so a thousand of them costs 1,000 XRP before a single
dust payment. Fourteen accounts scanned for lookalike counterparties
turned up none.
Detection was on our roadmap and the evidence removed it. The reserve is
a structural deterrent, and shipping a detector for a threat the ledger
already prices out would have meant inventing a problem to sell the
solution to. We are publishing the negative result because it is one.
Before you repeat it
The reserve is a protocol parameter and can be changed by amendment. Confirm the current value before quoting.
How these were found
Each began the same way: taking a field at face value, then checking what
it actually means. delivered_amount against
Amount. Signing weight rather than a count of
signers. A currency code, which is not a name anyone owns. The ledger
publishes all of it. Nothing shows it to you.
Two of the five were bugs in NOSHASHI before they were features of it. The
logic that makes these claims carries 235 tests, verified by mutation
rather than by passing — each safety rule is deliberately broken to confirm
a test catches it.
Some work is blocked on infrastructure rather than effort: validator
decentralisation and per-validator amendment voting are admin-only
commands that public clusters refuse, and need a self-hosted node.
Check an address free →
No account. Nothing is signed. The app reads.