The bridge did not check the origin of the asset. That is the root cause. Not a consensus failure. Not a cryptographic break. Just a missing if-statement in the event parser. On a quiet Tuesday, an attacker drained 198,715.88 XRP from the XRP Ledger to Coreum bridge. The attacker never actually deposited XRP. They simply moved wrapper tokens—tokens issued by the bridge itself—between two wallets they controlled. And they attached a memo that said "deposit." The bridge software on the Coreum side read that memo, saw a transfer of its own token, and assumed real XRP had arrived. Twenty-one independent validators approved the phantom deposit. Twenty-one. All of them.
Context
The bridge connects XRP Ledger (XRPL) to Coreum, now known as tx. It is a classic observer-relayer model: software on Coreum monitors XRPL transactions, interprets certain events as cross-chain deposit requests, and then a set of 21 validators—the bridge's security backbone—multisign a message to mint wrapped assets on Coreum. The design is not novel. It mirrors early bridges like Multichain or the pre-Wormhole v2 architecture. The vulnerability is not in the cryptography or the consensus. It is in the application layer: the logic that decides what counts as a valid deposit.
Core: The Event Identification Logic Flaw
Let me reconstruct the attack from the transaction traces. The attacker deployed two wallets on XRPL. Wallet A sent a small amount of a wrapper token—issued by the bridge—to Wallet B. The transaction included a memo field that the bridge's software interprets as a cross-chain deposit instruction. The bridge's monitoring software saw the transaction, parsed the memo, and looked at the token being transferred. It did not verify that the token was XRP. It did not check that the sender address was the bridge's own deposit account. It simply saw a transfer from an address to another address, with a memo, and classified it as a deposit.

I have audited cross-chain bridges for three years. This pattern is depressingly common. The bridge developers assumed that only XRP would be sent with the deposit memo. But the bridge itself had issued a wrapper token that could be transferred between any XRPL addresses. The attacker used that token to create a fake deposit. The bridge then minted an equivalent amount of wrapped assets on Coreum—assets that had no backing. The attacker then used those unbacked assets to withdraw real XRP from the bridge's reserve.
Code does not lie, but it does hide. The hidden assumption was that the bridge's own token would never be used to simulate a deposit. But the code did not enforce that. The missing check was a simple if-statement: if (token != XRP) revert. The bridge's software lacked that.
The 21 validators all approved the same transaction. Why? Because they all ran the same software. The bridge did not have a diversity of verification logic. It had a single client, a single interpretation of what constitutes a valid deposit. The multisig was not a security mechanism; it was a redundancy of failure. In my professional opinion, this is the most dangerous kind of security flaw: a system that looks robust because it has multiple signers, but those signers are all executing the same buggy code.
The Mathematical Proof of Failure
Let me formalize this. The bridge's security model is:
- Validator set V = {v1, v2, ..., v21}
- Each vi runs the same software S that interprets XRPL transactions
- For a deposit to be confirmed, a supermajority of V must sign the same message M
- M is generated by S based on input transaction T
If S has a flaw, then for all vi, S(T) generates the same incorrect M. The multisig requirement is met. The flaw propagates through the entire security layer. The bridge's trust model implicitly assumed that the 21 validators were independent. But they were not independent in logic. They were independent in key custody only. That is a catastrophic design error.
Root keys are merely trust in hexadecimal form. The bridge's root key was the validation logic shared by all 21 validators. That logic was flawed.
Additional Technical Details from My Analysis
Based on my experience, I can infer that the bridge likely used a simple observer model without light client verification or zero-knowledge proofs. If it had used SPV (simplified payment verification) to independently verify that the XRP ledger had actually recorded a transfer of XRP to the bridge's account, the attack would have failed. The observer model trusts the bridge's own software to correctly parse the ledger. That is a single point of failure.
The attacker repeated the exploit with escalating amounts over 97 minutes. The bridge had no automatic pause mechanism, no per-transaction limit, no cumulative withdrawal cap. This is a clear sign of immature risk control. In a proper audit, I would flag the absence of circuit breakers as a high-severity finding.
The total loss of 198,715.88 XRP—approximately $200,000 at the time—is small relative to other bridge hacks. But the impact on the bridge's reputation is severe. The bridge is now paused. The team has reported to the FBI. The recovery plan is still being formulated.
Contrarian: The False Security of Multisig
The common narrative after a bridge hack is: "The multisig was compromised" or "Validators were colluding." That is not what happened here. The validators did exactly what they were supposed to do: they signed a transaction that passed their software's validation rules. The flaw was in the rules themselves. The multisig was not bypassed; it was used as intended. This is more dangerous than a key compromise because it is harder to detect. A compromised key is a one-time fix. A flawed validation rule is a systemic issue that requires a complete rewrite of the bridge's core logic.
Another contrarion angle: The market may misinterpret this as an XRP Ledger vulnerability. It is not. XRPL's consensus mechanism is untouched. The bridge's software is the culprit. But in the public narrative, "XRP bridge hacked" will be shortened to "XRP hacked." This is a classic case of technical guilt by association. The XRP token price, already at a 21-month low, may suffer further from FUD. The actual risk to XRP is negligible—the loss is 0.00002% of the circulating supply. But perception is not rational.
The Real Blind Spot
The bridge's architecture assumed that the validator set's diversity of key holders was sufficient for security. It ignored the homogeneity of the verification logic. The industry has learned this lesson before: the Parity multisig wallet bug, the DAO hack, the Wormhole exploit. All involved code that was trusted by multiple parties. The solution is not more validators; it is independent verification. Each validator should run a different implementation of the deposit logic, or at least cross-check the parsed transaction against a light client. The bridge should have had a separate component that only accepts native XRP deposits, rejecting any transfer of its own wrapper tokens.
Takeaway: The Next Attack Will Exploit the Same Pattern
I have seen this pattern in at least three other bridge audits I conducted in 2023. The attacks are increasing in sophistication, but the root cause is always the same: a failure to verify the origin and intent of a transaction at the application layer. The next bridge attack will not be a reentrancy or a signature replay. It will be a logic error in the event identification—a fake deposit, a misinterpreted memo, a missing validation of the asset type.
Security is a process, not a product. The bridge team must now rebuild their verification logic from scratch, implement diversity in validator clients, and add real-time monitoring. The 21 validators should be replaced with a set of heterogeneous verifiers, each running different code and cross-checking results. The bridge should also consider a fraud-proof window or a zero-knowledge proof of the deposit.
Until then, the bridge is a monument to the assumption that multiple keys equal multiple safety. They do not. Code does not lie, but it does hide. The hidden assumption was that the bridge's own token could never be used as a deposit. That assumption cost $200,000 and the trust of the community. The next time, it could be more.
Velocity exposes what static analysis cannot see. The attack was executed in 97 minutes. The bridge's static analysis had missed the vulnerability. The market's response will be quick. The bridge's recovery will be slow. That is the nature of security in a decentralized world: the speed of attack is always faster than the speed of patching.