Maya Protocol's $11M exploit: attackers actually took $1.7M

Maya Protocol's Aug 2026 exploit was reported as an $11M hack; actual attacker profit was closer to $1.7M.

Maya Protocol's $11M exploit: attackers actually took $1.7M

The headline number and the theft number are not the same thing. Maya Protocol's August 2026 incident produced an ~$11 million figure that circulated widely, but the attacker's actual haul was roughly one-sixth of that.

Was Maya Protocol's $11M exploit real theft or pool damage?

Maya Protocol's exploit was mostly pool damage, not theft. Direct attacker-controlled value was about $1.65–1.7 million, per blockchain security firm CertiK , with confirmed off-chain extraction of roughly $1.36 million — almost entirely 20.83 BTC. The wider ~$10.9 million figure is network-wide pool value decline.

Quick Answer: Attackers took roughly $1.7 million from Maya Protocol on 18 August 2026, not $11 million. The larger number is total pool value decline — about $6.4 million from CACAO repricing and $2.9 million from arbitrage — layered on top of $1.36 million in hard-asset extraction.

CoinDesk's reconstruction splits the damage into three distinct buckets rather than one loss line:

  • ~$6.4 million — CACAO repricing as the token collapsed .
  • ~$2.9 million — arbitrage activity during the price dislocation .
  • ~$1.36 million — hard assets actually moved off-chain by the attacker .

The mechanism was a single MsgDeposit transaction carrying 23 batched messages, with deposits to the attacker's Bitcoin address timestamped at 17:32 UTC on 18 August 2026, across ten separate transactions. It was the first significant loss-of-funds event since Maya's mainnet launch in April 2023.

What changed: the six chained bugs behind the exploit

The exploit was not one vulnerability but six related consensus and accounting defects that had to line up in sequence. Maya's own GitLab merge request !835, opened 18 August 2026 under the title "harden outbound matching, native txID uniqueness and theft-slash subsidy," documents all six across six files . Each defect was a logic or accounting error — no stolen keys, no re-entrancy, no oracle manipulation .

The chain, as recorded in the merge request :

  • handler_deposit.go — every message inside the batched MsgDeposit spawned a fresh ObservedTxInVoter for the same hash; a trailing 1-unit DONATE message overwrote the voter and reset OutboundHeight to zero.
  • manager_txout_current.govoter.OutboundHeight was set once, then forced onto later outbounds from the same inbound.
  • handler_common_outbound.go — matching skipped outbounds scheduled at FinalisedHeight+1, so two legitimate trade-account outbounds were flagged as theft.
  • helpers.gosubsidizePoolWithSlashBondV92 used an uncapped observed amount. With the ARB.LINK pool holding 100 sats of asset, roughly 0.97 LINK booked a credit of 49.45 million CACAO against a reserve of about 168,000 CACAO. SetPool ran before the Reserve-to-Asgard transfer, so when that transfer failed the inflated balance stayed committed as a phantom entry.
  • handler_add_liquidity.go — a pool with outstanding units but no asset-side balance was treated as new, so 100 CACAO minted 1e12 units and 99.93% ownership; the withdrawal paid out 48.87 million CACAO from the Asgard module, near half of circulating supply, immediately swapped into real assets .
  • handler_trade_account_withdrawal.goInHash was re-derived from ctx.TxBytes() rather than msg.Tx.ID.

Documented safeguards — outbound throttling, solvency checks, unauthorized-transaction detection and node-triggered halts — either misfired or were bypassed by the corrupted state . Maya had been reviewed by Halborn and a second firm, Fable5, yet the team said the flaws sat undetected for three to four years . Co-founder AaluxxMyth put it plainly on X: "No way to sugar coat this. We have likely been exploited by 20 BTC ($1.4M) and other assets ($300k)" (source: Decrypt, 2026-08).

Why it matters: CACAO's 89% crash and who actually bears the loss

The bulk of the $11 million headline is price damage, not stolen property. CACAO fell from roughly $0.115 to about $0.013 on 18 August 2026 — a near-89% single-day drop . Because every Maya pool is paired through CACAO, that collapse repriced the whole network at once, and CoinDesk's reconstruction attributed about $6.4 million of the total to repricing and roughly $2.9 million to arbitrage .

The mechanics were straightforward once CACAO broke. Arbitrageurs bought discounted CACAO on the open market and swapped it against BTC, ETH and stablecoins still sitting in MAYAChain pools faster than internal pool math could reprice them (source: CryptoSlate, 2026-08).

The same crash worked against the attacker. Roughly 48.87 million CACAO were extracted, but each unit was worth less the moment it hit a pool, capping how much of it could convert into real, extractable value — confirmed hard-asset outflow settled at roughly $1.36 million, nearly all of it 20.83 BTC .

Who eats the difference matters for anyone deciding whether to act:

  • Liquidity providers holding pool positions when the halt landed absorb the repricing and arbitrage damage directly.
  • Traders with open positions or in-flight swaps inside MAYAChain pools at halt time are exposed to the same dislocation.
  • Holders on unrelated chains are unaffected absent pooled or pending Maya exposure; Maya's own halt docs tell interfaces to watch for halted=true on inbound-address endpoints and block unsupported sends (source: Maya docs).

CACAO has partially recovered. MayaScan's public stats page showed $0.0305 and −73.8% over 30 days when crawled after the incident . That is a partial repair of price, not of the ledger — the unbacked CACAO sitting in pools is a separate problem.

What to watch next: is the fix actually live?

The fix is written but not confirmed shipped. Maya's merge request !835, opened 18 August 2026, gates every behavioral change on network version 1.133.0, which requires validators to upgrade before the new logic activates . The MR also states plainly that it does not repair mainnet state: unbacked pool CACAO, attacker balances and inflated LP units need a separate store migration that has not been published .

Four concrete markers are worth tracking:

  • A tagged release past v1.132.4. That tag, dated 17 August 2026, was still the latest protected tag on the MAYANode repository when crawled — the fix had not appeared as a release .
  • Regression coverage. Unit tests across x/mayachain, keeper, memo, constants and the bifrost observer/signer passed locally, but the Docker regression suite (make test-regression) was not run .
  • A store migration for pool state. Until one lands, the phantom ledger entries survive any version bump.
  • The attacker's wallet. Address bc1q0hsgwunccczelq05ucpmfz268eyy5jr2y5l646 held 20.8273 BTC with zero outgoing spends as of 21 August 2026 . Maya published the address and signalled it would treat a return of funds as a bug bounty .

Still unpublished at the reporting cutoff: a patch timeline, a swap-restart date, LP compensation terms, and a final ledger splitting losses between hard-asset extraction, CACAO repricing and dislocation trades . Routing front-end LeoDex has kept Maya routes disabled pending that clarity .

The practical takeaway: treat a v1.133.0 tag plus a published store migration — not a price recovery, not a forum post — as the first credible signal that MAYAChain pools are safe to re-enter.

Frequently asked questions

Did Maya Protocol lose $11 million in the exploit?

No. The roughly $10.9 million figure is total pool value decline across MAYAChain, not money taken by the attacker . Direct attacker profit is estimated at $1.65–1.7 million, of which roughly $1.36 million was confirmed moved off-chain — almost entirely 20.83 BTC . The remainder of the headline number breaks down as roughly $6.4 million in CACAO repricing and about $2.9 million in arbitrage activity during the dislocation .

How did the attacker exploit Maya Protocol?

The attacker submitted a single MsgDeposit transaction containing 23 batched messages on 18 August 2026, with on-chain deposit activity timestamped at 17:32 UTC . That batch triggered six chained logic and accounting defects documented in Maya's own merge request !835 . With the ARB.LINK pool holding only 100 sats of asset, an uncapped slash subsidy converted roughly 0.97 LINK into a phantom credit of 49.45 million CACAO against a reserve of about 168,000 CACAO; a subsequent 100 CACAO deposit into the zero-asset pool returned 99.93% ownership and a withdrawal of 48.87 million CACAO . There were no stolen keys, no re-entrancy and no oracle manipulation.

Is CACAO or MAYAChain safe to use now?

Network-level halt controls freezing deposits, withdrawals and swaps were activated within minutes of the incident and remain the operative state in the public record . The fix in MR !835 gates all behavioural changes on version 1.133.0, but the latest protected tag on GitLab was v1.132.4, dated 17 August 2026, when crawled . The merge request also states plainly that it does not repair mainnet state: unbacked pool CACAO, attacker balances and LP units still require a separate store migration . Interfaces are directed to monitor halted=true on inbound-address endpoints and block unsupported sends .

Will affected liquidity providers be compensated?

No compensation terms have been published. As of the reporting cutoff there was no patch timeline, no swap-restart date, no LP compensation framework, and no final ledger dividing losses between hard-asset extraction, CACAO repricing and dislocation trades . Options under discussion include freezing the attacker's remaining CACAO, recapitalizing pools with fresh liquidity, replacing the roughly 20 BTC via co-founder Aaluxx's Aztec Chain project, and a chain-state rollback requiring validator coordination — all discussed, none confirmed . Maya also published the suspected attacker's Bitcoin address and signalled openness to treating the incident as a bug bounty if funds are returned .

Is this the same vulnerability class as THORChain?

Shared lineage exists, but an identical exploit path has not been demonstrated. Public MAYANode history shows Maya's Trade Accounts implementation drew on THORChain merge requests, and Maya's team stated the vulnerabilities had gone undetected for three to four years despite reviews by Halborn and Fable5 . The full path required several conditions aligning at once — per-message transaction state, outbound matching at FinalisedHeight+1, uncapped subsidy calculation, pool-state write ordering and rollback behaviour — and it has not been publicly shown that THORChain carries that complete combination . Treat lineage as a reason to review, not as evidence of an equivalent live exposure.

Enjoyed this article? Subscribe to get new stories by email whenever they're published.

Subscribe