Log in
For business
KYT office
Compliance solution to monitor risks, detect sanctions and ensure AML rules.
KYT office
Compliance solution to monitor risks, detect sanctions and ensure AML rules.
AML certification
How industry players can get up-to-date knowledge and professional certification.
AML certification
How industry players can get up-to-date knowledge and professional certification.
Comprehensive transaction analytics that helps to build graphs and trace funds.
Graph
Travel rule
(soon)
For personal use
Telegram bot
Bot for checking crypto for risks, providing AML reports.
Telegram bot
Bot for checking crypto for risks, providing AML reports.
Crypto recovery
Services are focused on tracking
and recovering crypto assets.
Сrypto recovery
Services are focused on tracking
and recovery crypto assets.
Docs and reports
All types of documents related
to cryptocurrency.
Docs and reports
All types of documents related
to cryptocurrency.
Portfolio tracker
Information about all assets and risk assessment in one place.
Portfolio tracker
Information about all assets and risk assessment in one place.
AML checks
Сhecking wallets and transactions
for illicit funds.
AML checks
Сhecking wallets and transactions
for illicit funds.
ES
FR
中文
Вход
AML-сертификация
Актуальные знания в области AML/KYT от ведущих экспертов отрасли.
AML-сертификация
Актуальные знания в области AML/KYT от ведущих экспертов отрасли.
Graph
Визуализация перемещения активов
и связей между кошельками.
Graph
Визуализация перемещения активов
и связей между кошельками.
KYT Office
Мониторинг транзакций и кошельков для вашего отдела комплаенса.
KYT Office
Мониторинг транзакций и кошельков для вашего отдела комплаенса.
Для себя
Для Бизнеса
Travel rule
(Cкоро)
Телеграм-бот
Бот для проверки кошельков и транзакций с выдачей отчётов.
Телеграм-бот
Бот для проверки кошельков и транзакций с выдачей отчётов.
Возврат средств
Услуги по отслеживанию и возврату украденных криптоактивов.
Возврат средств
Услуги по отслеживанию и возврату украденных криптоактивов.
AML-проверки
Проверка кошельков и транзакций на наличие "грязной" криптовалюты.
AML-проверки
Проверка кошельков и транзакций на наличие "грязной" криптовалюты.
Портфолио трекер
Информация о всех активах и оценка рисков в одном месте.
Портфолио трекер
Информация о всех активах и оценка рисков в одном месте.
Отчёты
Все типы документов связанные
с криптовалютой.
Отчёты
Все типы документов связанные
с криптовалютой.
PRIVATE
Government
Financial institutions
Exchanges
PSP's
Wallets
Gambling platforms
Investment platforms
Stablecoin issuers
Investigators
Regulators
Law enforcement
Для бизнеса
Госсектор
Финансовые организации
Биржи
Платежные провайдеры
Кошельки
Игровые платформы
Инвестиционные платформы
Эмитенты стейблкоинов
Расследователи
Регуляторы
Правоохранительные органы
ES
FR
中文
23.07.2026

How AFX Bridge Lost $24 Million in Three Minutes—Without a Hack

On July 22, 2026, 24.15 million USDC—nearly all available liquidity—was drained from AFX Bridge on Arbitrum. Yet this was not a hack in the conventional sense: no encryption was broken and no code vulnerability was exploited. The bridge followed its own rules, treated the withdrawal as legitimate, and released the funds because the instruction carried five authentic signatures out of seven. The attacker had secured a majority of the votes held by the parties trusted to authorize transfers.

BitOK analysts reconstructed the crypto theft in detail. Here is how the attackers obtained $24 million in three minutes without breaching the bridge itself.


Table of content:

  1. How 24.15 million USDC Was Drained from AFX Bridge
  2. The Role of the Validator Quorum
  3. Flow of Funds
  4. Attack Timeline
  5. Where the Initial Funding Came From
  6. Key Addresses
  7. The Attack in Full
  8. What This Exploit Should Teach Us

How 24.15 million USDC Was Drained from AFX Bridge

To understand the attack, start with three key terms:
  • A bridge is a service that transfers value from one blockchain to another. It does not create “real” coins of its own. Instead, it locks an asset on one network and issues an equivalent asset on another. AFX Bridge operated on Arbitrum and held a large reserve of USDC in its contract.
  • Validators are trusted participants whose digital signatures confirm that a withdrawal is legitimate. AFX had seven validators, each with roughly equal voting weight.
  • A quorum is the minimum share of votes required for an instruction to be approved. AFX required strictly more than two-thirds of the total voting weight. Once enough signatures were collected, the contract executed the withdrawal automatically, with no additional checks. That was the mechanism the attacker exploited.
The key facts:
  • Losses — 24,150,000 USDC was withdrawn from the bridge on Arbitrum. Only about 41,000 USDC remained in the contract.
  • How access was obtained — the attacker submitted five valid validator signatures. Their combined voting weight was 71.42%, above the required two-thirds threshold, so the system treated the instruction as legitimate.
  • Timing — just 3 minutes and 30 seconds later, an authorized finalizer—a service address trusted to complete withdrawals—finished the transaction as designed. From the contract’s perspective, every rule had been followed.
A simple analogy helps explain what happened. Imagine a vault guarded by seven people, each holding a key. If guards controlling more than two-thirds of the votes hand over their keys, the system opens the vault automatically. The attacker presented five authentic digital signatures—the equivalent of genuine keys—so the order appeared perfectly legitimate. The vault opened willingly.

It is important to understand where the actual weakness lay. The attacker did not breach Arbitrum’s security or make the contract bypass signature verification. Instead, they exploited the keys—or the signing infrastructure—of the parties AFX trusted to approve withdrawals. The code worked exactly as intended; the failure was in the trust model and key management.

How the amounts changed at each stage, from withdrawal to the final address:

The Role of the Validator Quorum

The active set of “hot” validators consisted of seven participants with nearly equal voting weights. Out of a total weight of 10,000, validators representing 7,142 signed the instruction—enough to exceed the two-thirds threshold.
Investigator’s note: the signatures are cryptographically valid and recover to addresses in the validator set. This alone does not prove that the key owners knowingly participated: the keys or the shared signing environment may have been compromised.

Flow of Funds

Once the attacker received the USDC, they moved quickly, swapping the assets and changing where the stolen funds were held. The sequence was as follows:
  1. Split and cross-chain transfer. The attacker divided the 24.15 million USDC into six tranches and moved them from Arbitrum to Ethereum via Circle CCTP, Circle’s official mechanism for transferring USDC between networks. A total of 24,146,274.28 USDC arrived on Ethereum; the small difference reflects transfer-related costs.
  2. Conversion to ETH. Eight transactions were used to sell the USDC through trading infrastructure involving UniswapX. The traces show the UniswapX V2 Dutch Order Reactor, which executes orders through a Dutch-auction mechanism in which the price gradually declines until a trade is filled. Within the same transactions, WETH—the wrapped form of ETH commonly used in trading—was unwrapped back into native ETH.
  3. Consolidation at one address. All proceeds—12,467.437 ETH—were consolidated in a single destination wallet: 0x6276…ebAC.
The six CCTP transfers were as follows:
Investigator’s note: Circle CCTP, UniswapX, Relay, and MetaBridge were used as ordinary public infrastructure after the attack. The fact that the funds passed through these services does not imply that they were compromised or involved.
How the attacker moved the funds. The graph was built using BitOK's Graph tool.

Attack Timeline

Where the Initial Funding Came From

Any operation of this kind requires a small amount of “fuel” to get started, such as gas to pay transaction fees. This is where analysts found a lead that may help identify who was behind the attack.

The initial gas did not come from Tornado Cash, a popular mixer often used to obscure fund flows. Instead, it came from the service wallet 0xe946…76cbA, which received 0.204 ETH on the day of the attack and then forwarded funds to the attacker’s operational address. The wallet behaves like a service wallet: it receives funds from many sources, pays many recipients, and sends precise, non-round amounts after fees.

Investigator’s note: the strongest working hypothesis links this wallet to the instant-exchange service ChangeNOW, or to an aggregator using ChangeNOW liquidity. The wallet history includes a direct deposit from an address labeled as ChangeNOW, as well as links to liquidity from HTX and Binance. Its ownership has not been conclusively established; confirming it would require the service’s internal logs.

A separate clarification concerns 0x370A…12cF, which appears in the gas-funding chain. This is a high-volume Relay Solver, a technical executor of cross-chain operations. Among other things, it transferred 0.1 ETH through MetaBridge and paid out approximately 0.099 ETH on Ethereum. It is neither the source of the funds nor the operator’s wallet, but a service address used by many customers.

A closer look at each conclusion regarding the funding source:

Key Addresses

Four addresses form the core of the investigation:
Technical detail: the recipient address 0x2f29…FEefc uses EIP-7702, a relatively new Ethereum feature that allows an externally owned account to temporarily execute smart-contract code. This explains why the address appears to “call itself” during the CCTP transfers, but it does not reveal who controls it.

The Attack in Full

The attackers prepared gas and operational wallets in advance. They then presented the bridge with a majority of validator signatures, prompting it to release almost all of its liquidity. The funds were moved to another network, converted to ETH, and consolidated in one place less than 20 minutes after the withdrawal.

Investigator’s note: as of the July 23 review, the destination wallet still held all of the ETH it had received, and no confirmed outgoing transfers of the stolen funds had been identified. The central question remains unresolved: how the five signatures were obtained—through key theft, compromise of shared signing infrastructure, malware, or insider involvement. The attacker’s identity and jurisdiction, as well as the likelihood of asset recovery, also remain unknown.

One caveat for future monitoring: if the destination wallet later receives zero-value transactions carrying messages or unsolicited scam tokens, those should be treated as ordinary on-chain spam—not as movement of the stolen funds.

What This Exploit Should Teach Us

The main lesson is that a system can be robbed without a single line of code being broken. Compromising the trust on which it depends can be enough.
  • Signing authority is the key to the vault. There was no flaw in the contract: it faithfully executed an instruction backed by a majority of the votes. The security of a bridge therefore depends on how well validator keys are protected and whether those validators are genuinely independent. If several “hot” keys can be compromised at once—for example, through a shared server or common signing environment—a formal quorum provides little protection.
  • Large withdrawals should not be executed automatically. A transaction covering almost the entire balance passed through the ordinary quorum process in three and a half minutes. Sensible safeguards include stricter rules for unusually large withdrawals: approval by a “cold” quorum, limits on the share of liquidity that can be withdrawn, and a timelock that gives the team time to intervene. A short dispute window is not enough without automated, round-the-clock monitoring.
The good news is that the funds remain visible at a single address and have not entered a mixer. That alone, however, does not guarantee recovery. Recovering the assets would require action from relevant platforms and, in most cases, legal procedures. Preventing a theft is vastly cheaper than trying to recover assets after the fact.
Support
Get it

To inquire about our plans, click here

Try BitOK for free