← Radar

Incident case file

Sign in to watch

FlashTrade — MagicBlock SDK undelegation validation flaw

Incident date July 21, 2026

1 views

ResolvedSolanaSDK Validation FlawCluster: FLASHTRADE-SDKFLAW-2026-07

Estimated loss

$98K

Victims identified

more than ten victims identified
Victim group joining is coming soon.

Investigation

100%

Facts and investigation

Attacker: MISSING — not publicly disclosed. Incident fully reimbursed; zero user impact.

Funds moved to: MISSING — $98,000 USDC withdrawn without authorization from FlashTrade ephemeral rollup instance. Detected within minutes by FlashTrade's withdrawal-batching monitoring system. Protocol paused immediately. 100% reimbursed by FlashTrade + MagicBlock joint contribution. No users lost funds. Patched in MagicBlock SDK v0.16.2.
Vulnerable component: incomplete validation path in the #[ephemeral] Anchor macro of MagicBlock's Ephemeral Rollup SDK. The flaw allowed an attacker to pass a fake account through the undelegation callback without proper validation checks. MagicBlock reviewed all programs using the same macro, contacted all affected teams, and shipped SDK v0.16.2 with mandatory validation. FlashTrade and MagicBlock jointly funded 100% reimbursement of the unauthorized withdrawal. Trading resumed within hours; de

Timeline: On July 21, 2026 at approximately 00:21 SGT (16:21 UTC), FlashTrade — a Solana-based perpetuals exchange using MagicBlock's ephemeral rollup technology — detected an unauthorized $98,000 USDC withdrawal from its ephemeral rollup instance. The attack exploited an incomplete validation path in the #[ephemeral] Anchor macro within MagicBlock's SDK: the macro's undelegation callback failed to reject a crafted fake account, allowing the withdrawal to bypass normal authorization checks. FlashTrade's newly deployed withdrawal-batching and monitoring system flagged the anomaly within minutes. The team immediately paused trading, deposits and withdrawals. MagicBlock confirmed the root cause, audited all programs using the same macro, notified affected teams, and released patched SDK v0.16.2 enforcing the missing validation. Trading resumed within hours; full deposit/withdrawal functionality was restored approximately 24 hours after the incident. FlashTrade and MagicBlock jointly funded 100% reimbursement — no user lost funds.

Sources and coverage

Victim testimonies

No testimonies yet.

+ Add my testimony → (coming soon)