XCM issue affecting Asset Hub
The Polkadot Technical Fellowship disclosed an XCM bug on Asset Hub in which roughly 4.06 million dotUSD were mis-recorded in token supply while remaining in the DOT/dotUSD liquidity pool. That mismatch created a pricing imbalance arbitrageurs exploited for an estimated $1.3 million out of the Polkadot Treasury's liquidity position, though user wallets and user funds were not affected. A whitelisted caller referendum contained the incident, the underlying bug is fixed, and a corrective OpenGov referendum plus a full post-mortem are expected next.

I remember watching a bridge exploit unfold in real time a few years ago and refreshing a dashboard while six figures evaporated. So when I saw the Polkadot Forum post about an XCM issue on Asset Hub, my first question was the same one anyone holding DOT should ask: are my funds safe? The short answer from the Polkadot Technical Fellowship is yes. The longer answer involves a supply-accounting bug, a pricing imbalance in a Treasury liquidity pool, and an estimated $1.3 million loss that landed on the Polkadot Treasury rather than on users.
Key Metrics at a Glance
| Metric | Value |
|---|---|
| Issue | XCM messaging bug on Polkadot Asset Hub |
| Discovered by | Polkadot Technical Fellowship |
| Containment | Whitelisted caller referendum executed |
| User wallets/funds affected | No — no action required from users |
| Recorded supply error | ~4.06 million dotUSD removed from recorded supply |
| Treasury liquidity loss | Estimated $1.3 million (DOT/dotUSD pool) |
| Root cause class | Supply accounting discrepancy → LP pricing imbalance |
| Fix status | Underlying bug fixed; impacted assets moved to controlled account |
| Next steps | OpenGov corrective referendum + full technical post-mortem |
What Actually Happened
The XCM error on Asset Hub caused a supply accounting discrepancy: roughly 4.06 million dotUSD were incorrectly removed from the recorded token supply. Critically, the actual dotUSD tokens did not leave the system — they remained in the DOT/dotUSD liquidity pool. That mismatch between recorded supply and real pool contents created a pricing imbalance inside the pool.
Arbitrage traders spotted the imbalance and traded against it, extracting an estimated $1.3 million from the Polkadot Treasury's liquidity provisioning position. The Fellowship's response was fast: a whitelisted caller referendum was executed to contain the issue, the underlying bug was fixed, and the impacted assets were moved to a controlled account to prevent further extraction. The post is explicit that user wallets and user funds were not affected, and no user action is required.

Why the Loss Landed on the Treasury, Not on Users
Liquidity providers — in this case the Treasury's own position in the DOT/dotUSD pool — always bear the cost of pricing imbalances, because arbitrageurs trade until the pool price matches the true market price. When the recorded supply and the real balances disagree, the pool misprices the asset, and the first traders to act capture the difference at the LP's expense. Here the "attacker" was simply rational arbitrage against a broken invariant, not an exploit of user wallets.
Competitive Context: How Other Ecosystems Handle Bridge/Interoperability Incidents
| Ecosystem | Incident type | User funds lost? | Treasury/LP loss | Response model | Transparency |
|---|---|---|---|---|---|
| Polkadot Asset Hub (this event) | XCM supply-accounting bug | No | ~$1.3M (Treasury LP) | Whitelisted referendum + controlled account + OpenGov follow-up | Public forum post + planned post-mortem |
| Wormhole (2022) | Signature verification bug | Yes (~$320M) | n/a | Emergency patch, guardian multisig | Public post-mortem |
| Nomad (2022) | Access-control bug | Yes (~$190M) | n/a | Patch after exploit | Public post-mortem |
| LayerZero/Debridge near-misses | Relayer/validation issues | Mostly no | Varies | Rapid patches, bug bounties | Mixed |
| Cosmos IBC incidents | Rare; mostly software bugs | Rarely | Varies | Coordinated validator upgrades | Varies |
The Incident Response Playbook Polkadot Just Ran
Polkadot's response followed a recognizable high-grade pattern:
- Detect — Fellowship monitoring caught the XCM anomaly.
- Contain — whitelisted caller referendum froze the vulnerable path quickly.
- Quarantine — impacted assets moved to a controlled account to block further extraction.
- Fix — underlying bug patched.
- Disclose — public forum post with explicit user-impact statement ("did not affect user wallets or funds; no action required").
- Remediate governance — OpenGov referendum for corrective actions, plus a full technical post-mortem.

Risk Assessment: What to Watch
- Post-mortem depth — whether the technical post-mortem covers the exact supply-accounting invariant that broke, not just the fix.
- OpenGov referendum outcome — whether corrective actions include replenishing the Treasury LP position or changing pool parameters.
- Residual XCM risk — XCM is the interoperability backbone; any class of bug here deserves ecosystem-wide audit attention.
- LP concentration risk — Treasury liquidity positions are attractive arbitrage targets whenever pool pricing diverges from oracle pricing.
Decision Framework for DOT Holders
Worried about this XCM issue?
├── Are your funds in a personal wallet? → Yes = safe, no action needed
├── Are you a DOT LP in the affected pool? → Review position; expect pool parameter changes
├── Are you a validator/operator? → Monitor for post-mortem and referendum updates
└── Using Asset Hub XCM transfers? → Transfers resumed after fix; watch post-mortem for edge cases

TL;DR
- What: Polkadot Technical Fellowship found and contained an XCM bug on Asset Hub via a whitelisted caller referendum.
- Why it mattered: ~4.06M dotUSD were mis-recorded in supply, creating a DOT/dotUSD pool pricing imbalance that arbitrageurs exploited.
- Impact: ~$1.3M loss to the Polkadot Treasury liquidity position; user wallets and funds were NOT affected.
- Watch: The upcoming OpenGov corrective referendum and the full technical post-mortem.
Sources
- Polkadot Forum: XCM issue affecting Asset Hub (Polkadot Technical Fellowship post)
- Polkadot Wiki: XCM
- Polkadot OpenGov
- Asset Hub documentation
Gemma Nguyen is Content Lead & Journalist at TotesTek. She writes about cryptocurrency, Web3, DeFi, and the Polkadot ecosystem, blending personal experience with evidence-based analysis.



