YFarmX logoYFarmX

Crypto NewsSecurity

ASI exploit: $2.23 million traced, and the bitcoin leads to one Hyperliquid account

An unauthorised party reached SingularityNET's cloud systems on 19 September 2026 and minted 895.96 million AGIX. Selling that and other tokens put about $2.23 million into two wallets, and part of it became bitcoin and then wrapped Monero on one Hyperliquid account.

Editorial collage of an admin key and lock, Ethereum transfers and two wallets, headed ASI exploit: post-mortem, $2.23 million traced

Latest, 22 September 2026. An unauthorised party "gained access to part of our cloud infrastructure" on 19 September and used it to create tokens and withdraw assets through the bridge, SingularityNET said on 22 September. The way in ran through an AWS IAM role, EKS node credentials, a Jenkins script API, Secrets Manager, Cognito user pools and a GitHub repository. Secrets Manager is where a project keeps its own keys and passwords, so the account it gives is that the store holding its credentials was entered. Its own count of the minting agrees with the independent scan in this article at 90 transactions and 895,962,344.71 AGIX. On the money, 4.41280881 BTC, about $377,700, went into a deposit address belonging to Unit in fourteen slices, and Unit credited every one of them to a single Hyperliquid account, which bought wrapped Monero and paid 1,040.843 XMR1, about $599,100, out to 45 addresses that all forwarded the full amount to one collector within 101 seconds. Another 3 BTC, about $256,750, is sitting unspent.

SingularityNET is a crypto and artificial intelligence project, and part of ASI, the Artificial Superintelligence Alliance, which also brings in Fetch.ai. An unauthorised party got into its cloud systems on 19 September 2026. The next morning, 90 transactions created 895,962,344.71 of its AGIX tokens out of nothing, about $3.77 million at the rate the sold portion later fetched. Selling those and other alliance tokens, and emptying a payout contract, put about $2.23 million of crypto into two wallets. About $748,000 of that became bitcoin, 4.41280881 BTC of it went through a bridge onto a single account at the Hyperliquid exchange, and that account bought a token standing in for Monero and paid it out across 45 addresses that all fed one collector.

An unauthorised party “gained access to part of our cloud infrastructure” on 19 September, SingularityNET said on 22 September. The way in ran through an AWS IAM role, EKS node credentials, a Jenkins script API, Secrets Manager, Cognito user pools and a GitHub repository. Secrets Manager is where a project keeps its own keys and passwords, so the account SingularityNET gives is that the store holding its credentials was entered rather than one person’s key stolen. A botnet had scanned the foundation’s services and their published vulnerabilities between 15:33 and 18:19 that afternoon, hours before the first token was created.

The minting ran in two bursts on the morning of 20 September. Twenty-six transactions created 260,000,000 AGIX, about $1.09 million at the realised rate, for one receiving wallet between 03:13:35 and 03:36:23, and 64 created 635,962,344.71 AGIX, about $2.67 million, for a second between 04:17:11 and 04:21:23. That afternoon the original 2017 token, AGI, which AGIX replaced in 2021, was switched back on after five years frozen. Two linked wallets moved 8,546.06 AGI into a receiving wallet, where it sold for about $339, 96 seconds after the final instruction to reopen transfers.

The largest single receipt was FET, the alliance’s own token, with 8.72 million released and sold for about $1,371,118.93. WMTX sales added $398,795.39, AGIX sales $133,634.89 and NTX sales $41,024.73, and a separate withdrawal took $289,575.10 from SingularityNET’s DeepFunding payout contract. An administrative wallet froze AGIX transfers at 09:51:47 on 20 September, which made a later withdrawal from an AGIX escrow fail and left 824,162,344.71 AGIX in the two wallets, quoted at about $590,000 on 22 September. Bitget stopped FET deposits on Ethereum, and MEXC and KuCoin stopped WMTX deposits.

About $748,000 of the proceeds became bitcoin through five Chainflip swaps, gathering 8.74 BTC at one address. Between 01:58 and 13:24 on 21 September, fourteen payments carried 4.41280881 BTC, about $377,700, into a deposit address belonging to Unit, a service that carries bitcoin onto Hyperliquid, and Unit’s own records credit all fourteen to one account there. That account bought XMR1, a token issued by a company called Wagyu that stands in for Monero and becomes the real coin when somebody redeems it through the issuer, and paid 1,040.843 XMR1, about $599,100, out across 45 addresses. All 45 passed the full amount to a single collector within 101 seconds. Another 3 BTC, about $256,750, has stayed put in three round lots of exactly one bitcoin.

A second trail ran on Cardano. 41,334,098.28 NTX, about $19,700 and 9.63 per cent of that token’s supply on the chain, left four addresses between 20:16 and 23:11 on 19 September and went on into Cardano’s own exchanges, the largest counterparty being Minswap.

What changed on 21 and 22 September

Seven on-chain developments followed this article, and each one is set out in full below. All times are UTC. Dollar values use the Chainlink feeds read on 22 September 2026, $85,583.17 a bitcoin and $2,743.54 an ether. The wrapped Monero is valued by Hyperliquid’s own ledger, which prices every transfer as it records it, at $575.64 a token.

What happened When Amount
The bitcoin reached a Hyperliquid account through the Unit bridge 21 Sep 01:58–13:24 4.41280881 BTC, about $377,700
That account bought wrapped Monero and paid it out to 45 addresses 21 Sep 1,040.843 XMR1, about $599,100
All 45 forwarded the full amount to one collector 21 Sep, 35 to 101 seconds later every payment, nothing held back
Three bitcoin has stayed put in three round lots read 22 Sep 3 BTC, about $256,750
Receiving wallet one sent out 200 ETH, its first movement 21 Sep 00:35–00:37 200 ETH, about $548,700
SingularityNET took back ownership of the old AGI token and froze it 21 Sep 12:00:59 Control of the 2017 token
Receiving wallet two sold 76.5 million WMTX in eight fills 21 Sep 13:44 – 22 Sep 00:33 Realised $16,958.23
Flow diagram: $2.23 million in two wallets becomes 8.74 bitcoin through five swaps, 4.4128 of it is paid in fourteen slices into the Unit bridge and credited to one Hyperliquid account holding 1,040.843 wrapped Monero, which pays out to 45 addresses that all forward to one collector, while 3 bitcoin sits unspent
The whole trail on one page. Amounts are read from the bitcoin transactions, the Chainflip explorer, Unit's operations records and Hyperliquid's transfer ledger on 22 September 2026.

SingularityNET says its cloud accounts were breached

SingularityNET said on 22 September 2026 that an unauthorised party “gained access to part of our cloud infrastructure” on 19 September and used it to mint tokens and withdraw assets through its bridge. The statement, posted at 02:21 UTC, carries a security incident report as two attached pages. The way in ran through an AWS IAM role, EKS node credentials, a Jenkins script API, Secrets Manager, Cognito user pools and a GitHub repository.

That answers the question this article has carried since it was published. The transactions could establish that signing authority was used; they could not show how anyone obtained it. The answer the project gives is that the infrastructure holding those credentials was entered, which is the shared key store among the possibilities set out below rather than a stolen individual key.

The statement says treasury and exchange wallets were untouched, that FET held in a personal wallet or at an exchange was unaffected, and that AGIX migration is paused while the team works on what it calls a verified path forward for eligible holders. The bridges stay deactivated until an independent security review clears them.

Their figures and ours agree

The report gives its own count of the minting. Set against the independent log scan in this article, read from the token’s own creation events before the report appeared, the two agree to six decimal places:

Figure This article SingularityNET’s report
AGIX mint transactions 90 90
AGIX created 895,962,344.71354389 895,962,344.71354392
To receiving wallet two 635,962,344.71 635,962,344.71354392
To receiving wallet one 260,000,000.00 260,000,000.00000000
FET released 8,721,530.4016 8,721,530.40
USDC from the payout contract 289,575.104748 289,575.10

The report also names the payout contract as its DeepFunding contract, and records the same two receiving wallets this article follows.

What the report adds

Three tokens this article did not count are quantified there: 503 WMTX mints totalling 500,479,231.22, 50 CGV mints totalling about 492.4 million, and about 408.5 million NTX. It also places a botnet scan of the foundation’s services and their published vulnerabilities on 19 September between 15:33 and 18:19, before the minting began.

On who did it, the report points to source addresses in Brazil, Argentina, Switzerland, Germany and the United States behind a VPN, Portuguese language settings, a Brazilian timezone offset, and gas funding linked to an address associated with the Realio Network exploit of August 2026.

Those indicators carry very different weights. A language setting and a timezone offset are two clicks to change, and VPN exit addresses in five countries describe the VPN. The funding link is the harder one, because it ties this incident to a separate theft through money rather than through settings. It also matches this article’s own finding, reached independently before the report appeared, from the wallet that emptied more than a hundred addresses and collected Realio tokens from them. That wallet, and what the two accounts together establish, are set out in the section on the wallet that paid wallet two’s first gas.

The report describes its assessment as preliminary and says the number of people involved has not been established. No official body has attributed this incident to anyone, and nothing in the records supports naming a country or a group.

Our tracing follows the money past that point

The report’s own timeline runs to 20 September, and on where the proceeds went it says the Cardano-side money was sent through Changelly and converted into Monero. Both sides are followed in this article: the Cardano leg is set out further down, and the Ethereum and bitcoin side reaches a different venue by a different route:

  • The bitcoin. Five swaps through one Chainflip broker, 8.74 BTC gathered at a single address, five payments out that were each forwarded on inside the hour, and a peel chain that carried 4.41 BTC into the Unit bridge and onto one Hyperliquid account. The report does not cover any of it.
  • The 2017 AGI token. The report deals with AGIX. The original AGI token was reopened on 20 September at 16:07:47, closed at 16:10:23, reopened at 16:18:35, and the balances moved in during that window were sold 96 seconds later.
  • What the tokens actually fetched. The report counts what was minted and where it went. Receiving wallet two sold 76,549,805 WMTX on 21 and 22 September for $16,958.23, which is under one per cent of the quoted value of those tokens.
  • Everything after 20 September. The 200 ETH that left receiving wallet one, the eight WMTX sales running to 00:33 on 22 September, and the handover of the legacy AGI token at 12:00:59 on 21 September, signed from the same deployer address used during the attack the day before.
  • The Cardano leg. 41,334,098.28 NTX, 9.63 per cent of that token’s supply on Cardano, leaving four addresses on the evening of 19 September for nineteen destinations, thirteen of which took all but 9,476 NTX of it. The report names the route; the payments themselves are set out below.
  • The counterfeit tokens. Thirty-five imitation contracts sending copies of the real transfer amounts to both receiving wallets, the newest on 22 September.

Both accounts point the same way on one thing. The report has the Cardano proceeds becoming Monero through a swap service, and the bitcoin trail here ends at a Hyperliquid account dealing in a wrapped Monero token. Two routes, the same asset at the end of each.

The 40 million AGIX difference reconciles

The report says the attacker wallets hold 864,162,345 AGIX, and reading the token contract gives 824,162,344.71354392 across the two receiving wallets. The difference is held at three further addresses. Receiving wallet one sent them out on 20 September, before the report was written, in three direct transfers of 10 million, 15 million and 15 million AGIX. All three still hold the whole amount.

Address AGIX held
Receiving wallet one 198,300,000.00000000
Receiving wallet two 625,862,344.71354392
0xd3ab1fe5… 10,000,000.00000000
0xddcd99fe… 15,000,000.00000000
0xc1d05b73… 15,000,000.00000000
Total 864,162,344.71354392

That rounds to the figure in the report, so the two counts agree once the three onward holders are included. The report’s own third listed address, 0x63bbc71c…, holds no AGIX.

This places the tokens; it says nothing about who controls the three addresses. Receiving a transfer from a wallet used in the exploit makes an address part of the trail, not part of the attack.

One label still to explain

The report marks 0x1572F2af… as blacklisted, without naming a contract, a chain or an issuer. Circle’s USDC contract returns isBlacklisted false for that address at block 26,030,852, timestamped 05:09:47 UTC on 22 September, and USDT’s equivalent returns false as well. That is what those two contracts held at that block. A restriction applied somewhere else would sit outside both queries, so only the project can say which control it means.

The bitcoin trail reaches a Hyperliquid account

Between 01:58 and 13:24 on 21 September 2026, fourteen payments totalling 4.41280881 BTC, about $377,700, went into a deposit address operated by Unit, and Unit credited all fourteen to one account on the Hyperliquid exchange.

Unit is a bridge that takes bitcoin and issues a matching token, UBTC, on Hyperliquid. Its own developer documentation publishes the addresses it uses, under the heading “Unit Treasury Addresses”:

Bar chart of fourteen bitcoin payments into the Unit bridge between 01:58 and 13:24 on 21 September 2026, the largest 1.08876231 BTC at 10:01 and the last 0.81614826 BTC at 13:24
Each bar is one payment into Unit's deposit address, placed at the time it landed. The fourteen come to 4.41280881 BTC.
Native chain Unit’s treasury address
Bitcoin bc1pdwu79dady576y3fupmm82m3g7p2p9f6hgyeqy0tdg7ztxg7xrayqlkl8j9
Ethereum 0xBEa9f7FD27f4EE20066F18DEF0bc586eC221055A

That bitcoin address is the one the exploit’s proceeds were being swept into. Its documentation says a transfer’s “destination transaction is fulfilled from Unit’s respective treasury address”, which identifies it as bridge infrastructure rather than an exchange’s general wallet.

Two bitcoin addresses are involved and they do different jobs. The payments traced here went into a customer deposit address, bc1p3qs5avkxm43jvnv6f0u8fk92jyc8pspqw2rnv7y9jqcwk9mr5zfs99fva8, and every one of that address’s outgoing transactions pays its whole balance on into the published treasury address in the table above. Deposit address first, treasury address second. Unit also runs a public operations endpoint. Queried for that deposit address, it returns 52 completed operations, and every one of them credits the same Hyperliquid account, 0xfF0CaBfDe7063360Dd0af12dE6393d4a38D0d566. Fourteen of those 52 name an address from this incident’s own chain of forwarding addresses as their source:

Time, 21 September Source address Bitcoin Value
01:58:32 bc1qazcvwwg…urz83 0.10000000 $8,558
03:16:45 bc1qamj9l8e…50taf 0.10000000 $8,558
03:42:52 bc1qscq4p8r…80kwm 0.45958041 $39,333
04:03:08 bc1q8xmaap3…xfrzg 0.15641822 $13,387
04:20:33 bc1qw5a756d…pu5eg 0.14100728 $12,068
05:26:25 bc1qrqy28sv…t5mtt 0.18843766 $16,127
05:51:04 bc1qn9fcmmn…5dlwa 0.23647652 $20,239
06:09:08 bc1q8tesqew…2kwp3 0.15527848 $13,289
06:48:53 bc1qd24j3pd…wm9a 0.16726425 $14,315
09:31:13 bc1q4ygzje6…l5gn 0.16050856 $13,737
10:01:23 bc1qqle2s93…u2az 1.08876231 $93,180
11:32:12 bc1q9ku4rj3…g7xh 0.54292686 $46,465
12:28:01 bc1qlkkl5ph…pczl 0.10000000 $8,558
13:24:24 bc1qc505eqx…95as7 0.81614826 $69,848
Total 4.41280881 $377,662

The addresses it pays are staging posts

The account Unit credited has been running since at least 10 September, and the addresses it pays are staging posts rather than destinations. Hyperliquid publishes its ledger. It records 52 credits of UBTC arriving from Unit’s bridge, which are the same 52 operations described above, and 133 transfers of XMR1 going out, a wrapped Monero token traded there, each to a different address.

Date UBTC credits in XMR1 transfers out
10 September 4 12
11 September 1 4
12 September 1 1
13 September 1 1
14 September 4 19
15 September 6 15
16 September 3 6
17 September 1 1
18 September 0 1
19 September 3 4
20 September 8 24
21 September 20 45
Total 52 133
Histogram of how long each of the 45 wrapped Monero payout addresses held the tokens before forwarding them, with 26 inside 40 seconds, 8 inside 45, 7 inside 50, 2 inside 55, one at 82 seconds and one at 101
Every one of the 45 payout addresses forwarded the full amount to the same collector, the quickest in 35 seconds and the slowest in 101.

Following those payments one step further changes what they are. All 45 of the 21 September payouts, 1,040.843 XMR1 between them and about $599,100 at Hyperliquid’s own valuation, were passed on in full to a single address, 0x048b75dc…, between 35 and 101 seconds after arriving, with a median of 38 seconds and 26 of them inside 40 seconds. Every one moved the whole amount on. Addresses that hold a payment for half a minute and forward the whole of it are part of the plumbing, so the route runs from Unit to this trading account, out through 45 temporary addresses, and back together at one collector.

That collector is a substantial operation in its own right. It holds 12,314.29 XMR1 and 4,998.74 ZEC1, a wrapped Zcash token, alongside wrapped Tron. Over the window its ledger returns it took in 129,458.89 XMR1 and paid out 123,833.51 across 1,414 separate addresses. This is a market in wrapped privacy assets, handling far more than the money followed here.

The collector is supplied by the token’s own issuer

The wallet that issued the wrapped Monero is the collector’s largest supplier by a wide margin. Hyperliquid’s own token records name all three assets the collector holds as products of Wagyu: XMR1 is listed as “XMR - Wagyu.xyz”, ZEC1 as “ZEC - Wagyu.xyz” and TRX1 as “TRX - Wagyu.xyz”, each marked as a wrapped asset rather than the real one. XMR1 was created on 17 December 2025 with a maximum supply of 20 million, and the whole of that supply was issued to a single address, 0x207700bd….

That same address has sent the collector 23 transfers since 18 July 2026: 18 of XMR1 totalling 35,173, two of wrapped Tron totalling 101,000, and three of USDC. The first were small and rising, 0.5, then 0.5, then 1, then 10. Every other party paying the collector in that period sent fractions of a single token.

So the collector holds the issuer’s inventory and is stocked by the issuer’s own wallet, which places it inside that operation rather than beside it. The point it represents is where a wrapped token can be turned back into the asset it stands for.

The payouts line up with completed conversions into Monero

The issuer publishes a feed of its recent bridge orders, and four completed conversions from the wrapped token into Monero sit within two seconds of four of the 21 September payments. The feed at api-beta.wagyu.xyz/v2/bridges/recent, read on 22 September, gives each order an identifier, a status, the assets either side and its timings.

Order opened, 21 Sep Payment sent Order completed Collector swept
wd_LJCMCN, 14:26:38 14:26:39, 27.8237 XMR1 14:27:14 14:27:15, +1.7s
wd_UZ37RD, 14:53:31 14:53:33, 20.8817 XMR1 14:54:11 14:54:15, +3.2s
wd_U25DGJ, 16:02:27 16:02:29, 17.6199 XMR1 16:03:13 16:03:15, +2.0s
wd_VQVRXK, 17:28:01 17:28:02, 0.5 XMR1 17:29:22 17:29:24, +1.4s

All four are recorded as completed, from XMR1 to XMR. The order they happen in is worth keeping straight. The order opens; a second or so later the trading account sends wrapped Monero to an address created for that payment; between 36 and 81 seconds later the order is marked complete; and the tokens reach the issuer’s collector after that, by 1.4 to 3.2 seconds. The payout is recorded as done before the wrapped tokens are gathered in, which is the sequence a redemption takes when the payout runs first and the housekeeping follows.

The join between the two halves is timing, and the two sets of timestamps come from different systems, the exchange’s ledger on one side and the issuer’s own service on the other. The feed carries no amounts and no addresses, so an order is matched to a payment by the second it opened. That is persuasive and short of proof.

One tranche narrows it to a single payment

Following one bitcoin payment through gives a much tighter answer. The hub paid 0.91617926 BTC into a chain of forwarding addresses, and the last of them sent 0.81614826 BTC into Unit’s deposit address at 13:00:00 on 21 September. Unit credited the trading account 0.81613924 UBTC at 13:24:52, the difference being its fee.

The next money to reach that account arrived at 14:36:50. In the hour and twelve minutes between those two credits, it made exactly four payments of wrapped Monero, and one of them is the payment that matches the completed conversion wd_LJCMCN:

Time, 21 September XMR1 paid out
13:31:28 45.9662
13:40:16 19.8140
13:50:22 17.8447
14:26:39 27.8237
Total 111.4486

Before that credit landed the account was close to empty, holding a few dollars, under one XMR1 and a fraction of a bitcoin. So this tranche supplied almost everything the four payments were made from, which is a narrowing worth having: it takes the question from the whole day’s business down to four payments.

It remains an accounting inference rather than an allocation. Money in one account carries no label saying whose it is, and nothing in these records assigns a particular payment to a particular deposit. Which conversion carried this money, and where the Monero went, sits in the issuer’s order records and the trading account’s deposit records. Neither is public, and requests to both are the next step for anyone pursuing this.

The trading account’s own balance now stands at 8.51 USDC and a trace of XMR1.

Its trading follows the same shape: across the fills Hyperliquid returns, it sold 12.945660 UBTC for about $1,062,000 and bought 2,939.47 XMR1 for about $1,614,000. That fill history is capped by the interface, so those totals are a floor.

XMR1 is a token issued on Hyperliquid by a third party, backed by Monero that the issuer holds, and it trades there as its own market. Unit carries eight chains and Monero is outside them. Its published list covers Bitcoin, Ethereum, Solana, Plasma, Monad, Zcash, Avalanche and Base. Holding that token leaves the money on Hyperliquid under a named issuer, and it becomes Monero on Monero’s own chain only if it is taken out through the issuer’s bridge.

So the route this establishes runs bitcoin into Hyperliquid through Unit, into an account dealing in wrapped Monero, out through temporary addresses, and into a collector holding wrapped Monero and wrapped Zcash by the thousand. The 1,040.843 XMR1 that reached the collector on 21 September, about $599,100, covers that day’s business as a whole, and the 4.41 BTC traced here is a part of it rather than the whole.

Two things would carry it further, and both sit with people rather than with the chain. The operators of the trading account and the collector hold the records that say which payment was whose. And the token only becomes Monero on Monero’s own chain when it is taken out through its issuer’s bridge, which is a separate set of records again.

Three bitcoin are sitting still in round lots

Of the 8.74 BTC the hub took, 4.41 went to Unit. Most of the rest came back together as three payments of exactly 1.00000000 BTC, and all three are unspent. That is 3 BTC, about $256,750, which has not moved since it landed.

Address Received Transactions Spent
bc1qyytad5…9rdn6d 1.00000000 1 nothing
bc1qvfv53m…x6hmc 1.00000000 1 nothing
bc1q8xpz0s…vptew 1.00000000 1 nothing

Read on 22 September, each address has a single transaction, no spends and nothing waiting in the mempool.

A round amount paid to a fresh script address of this kind is consistent with several things: funding a private Lightning channel, a swap script, or a multisig arrangement. The script itself stays hidden until the money is spent, so what these are becomes readable the moment they move. They are the live end of the bitcoin trail.

The round 2 BTC and the untouched address are one wallet

One transaction proves it. At 22:36:48 on 21 September, transaction 204c0407… spent two taproot inputs together and produced the second of those three round bitcoin.

Walking both inputs back:

  • 0.54903954 BTC leads in three hops to bc1qjk3htqwcpx…, which holds the 1.24607352 BTC that came out of the address this article had recorded as untouched.
  • 0.51625445 BTC leads in five hops to bc1qz5hkrzsnyeacq…, which holds the 1.45119717 BTC that came out of the round 2 BTC payment.

Spending two inputs in one transaction takes the keys to both. So the round 2 BTC, which this article once read as a payment to somebody else, and the address that sat still for half a day, are held by the same hands.

All five addresses the hub paid have passed the money on

The 1.24609352 BTC this article previously recorded as sitting untouched was spent on 21 September at 14:23:50. Its address, bc1q23epnwyk8rhjxgw84ncfueu8cqkn5t0ttmahlk, now holds nothing and has two transactions: the payment in, and the payment out. It moved on again 43 minutes later.

The same applies to the round 2 BTC payment this article read as going to an address of the kind custodians use. It was forwarded 43 minutes after it arrived. All five destinations behaved identically:

Payment from the hub Arrived Passed on Held for
4.45487199 BTC 21 Sep 01:05:05 21 Sep 01:20:15 15 min
2.00000000 BTC 21 Sep 02:32:17 21 Sep 03:15:58 43 min
1.24609352 BTC 21 Sep 02:32:17 21 Sep 14:23:50 11 h 51 min
0.91617926 BTC 20 Sep 23:59:14 21 Sep 00:22:33 23 min
0.12840821 BTC 20 Sep 21:54:48 20 Sep 22:16:37 22 min

Each of those five spends carried one input, one output and a 1,000 satoshi fee, which is the shape of automated forwarding rather than a deposit at a service. The two largest were then peeled towards Unit in slices of 0.10 to 1.09 BTC, which is the sequence recorded in the table above.

Five Chainflip swaps converge on one address holding 8.74 bitcoin, which pays out five times, and the two largest legs are peeled in slices into a single taproot deposit address
Five swaps became 8.74 BTC at one address. Four of the five payments out of it were forwarded on within 43 minutes, and the fifth after 11 hours 51 minutes.
Block explorer page for the bitcoin address showing a confirmed balance of zero, total received of 1.24609352 BTC, and two transactions
The address reads zero, with the 02:32 arrival and the 14:23:50 spend both listed. Source: mempool.space.

A fifth swap accounts for the rest of the bitcoin

The hub address took 8.73951704 BTC, about $748,000, and all of it came from this incident. This article previously recorded roughly 3.25 BTC of that as arriving from elsewhere. It was a fifth swap, funded by receiving wallet one.

Arrived, UTC Bitcoin Swapped from
20 Sep 21:40:35 0.12234227 10,000 USDC
20 Sep 22:18:23 0.91618926 75,000 USDC
21 Sep 01:05:05 1.43521710 118,015.16 USDC
21 Sep 01:05:05 3.01966489 93.70 ETH
21 Sep 01:40:20 3.24610352 100 ETH from wallet one
Total 8.73951704

Four things establish the fifth. Chainflip’s explorer returns exactly one swap channel paying the address that fed the hub, opened at 00:42:48 on 21 September, ether to bitcoin, by the same broker that opened the other four. Its deposit address is the contract that receiving wallet one’s 100 ETH reached eleven seconds later, the same gap this article records for the 93.70 ETH channel. And the receiving address kept back exactly one per cent before paying the hub, matching the other four.

Receiving wallet one made its first outgoing transfer since the sales

Receiving wallet one sent out 200 ETH, worth about $548,700, in two payments at 00:35:35 and 00:37:23 on 21 September. Until then it had held its balance since the sales on 19 and 20 September.

The two legs went different ways. The first became the fifth bitcoin swap above. The second reached an address that returned the full 100 ETH at 03:44:59, after which it was sent out again at 04:53:47 to a different contract.

The wallet’s balance is now 433.04591279 ETH, about $1,188,000.

Block explorer address page for receiving wallet one showing a balance of 433.04591279 ETH and 65 transactions
Receiving wallet one after the 200 ETH left. Source: Blockscout.

The old AGI token was handed to the response wallet and frozen

At 12:00:59 UTC on 21 September, the address labelled SingularityNET: Deployer 1 transferred ownership of the 2017 AGI token to 0x78a60DE4…, and the token was frozen about a minute later. The transfer is recorded in transaction 0xa41c8d06…, which succeeded at block 26,025,749.

Read on 22 September, the token’s owner() returns 0x78a60DE4… and its paused() returns true. That address is the same recovery wallet this article identifies below as working against the attacker from 03:31 on 20 September.

The instruction came from the same address that had been used in the attack. Deployer 1’s own record shows it creating AGIX through the converter at 04:38 on 20 September, funding receiving wallet two at 05:36, funding the wallet that later tried the escrow withdrawal at 15:16 and 15:25, and opening and closing the legacy AGI token at 16:07, 16:10 and 16:18. The next entry on that same address is the handover at 12:00:59 on 21 September, followed three minutes later by a payment of transaction-fee funding to the recovery wallet.

That extends a pattern this article already records for the morning of 20 September, when the same administrative addresses were used by both sides within minutes of each other, by a further day and a half. Whether the legitimate holder recovered the use of that key or never lost it is a question the projects’ own records answer, and neither reading can be settled from the chain alone.

So of the two administrative roles this article recorded as never rotated, one has now changed hands. The payout contract’s owner and operator both still return 0x37E550….

Block explorer transaction page showing SingularityNET Deployer 1 calling transferOwnership on the old AGI token at 12:00:59 UTC on 21 September 2026
The ownership transfer at 12:00:59 UTC on 21 September. Source: Blockscout.

The WMTX sales realised under one per cent of the quoted value

Receiving wallet two sold 76,549,805 WMTX in eight fills between 13:44:47 on 21 September and 00:33:59 on 22 September, and received $16,958.23 for them. That is $0.0002215 a token.

Time, UTC WMTX sold Received
21 Sep 13:44:47 5,000,000 $2,192.03
21 Sep 14:08:47 10,000,000 $2,646.20
21 Sep 18:11:59 5,995,898 $2,020.00
21 Sep 18:13:35 13,553,907 $3,030.00
21 Sep 19:40:35 10,000,000 $2,070.40
21 Sep 21:46:35 20,000,000 $3,067.83
21 Sep 23:28:23 2,000,000 $395.87
22 Sep 00:33:59 10,000,000 $1,535.90
Total 76,549,805 $16,958.23

At the quoted market price on 22 September, $0.02312748, those same tokens would show a value of about $1,770,000. The sales realised under one per cent of that. This is the clearest available demonstration of the distinction this article draws below between a token’s quoted value and what selling it actually pays.

The two wallets now hold a combined 250,027,988.93 WMTX, against the 326.58 million recorded on 20 September. Their AGIX is unchanged at 824,162,344.71354392 and remains frozen.

Counterfeit tokens are being sprayed at both wallets

Thirty-five token contracts are sending imitations of real assets to the two receiving wallets, copying the exact amounts of the genuine transfers. Across both wallets they account for 191 transfers, and the newest landed at 04:21 UTC on 22 September, after the real trading had stopped for the night.

Fourteen of them imitate dollar stablecoins and six imitate ether. The copied amounts include 118,015.1587, which is the real swap deposit recorded below, 289,575.1047, the exact sum taken from the payout contract, and 100, matching each leg of the 200 ETH that left receiving wallet one.

Symbol shown Transfers
LNQ 45
꒤5DC 36
USDC 32
ÚЅDС 22
ETH 14
E឴឴ꓔH 6

Several use characters that render as “USDC” or “ETH” at a glance. Others declare a real symbol from a contract that has nothing to do with the real one. The genuine contracts are 0xA0b86991c6218b36C1d19D4a2e9Eb0cE3606eB48 for USDC and 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 for wrapped ether.

Anyone reading either wallet by the symbol on screen will count money that was never there, which is the purpose of sending them. Every figure in this article is taken by contract address.

The Cardano side moved 41 million NTX in one evening

Between 20:16 and 23:11 on 19 September, four Cardano addresses the project’s report lists as under investigation sent out 41,334,098.28 NTX, which is 9.63 per cent of that token’s entire supply on Cardano. At the quoted price on 22 September, $0.00047711 a token, the whole of it comes to about $19,700.

The asset is NuNet’s token on Cardano, policy edfd7a1d…, which Cardano’s own token registry lists as NuNet Utility Token with six decimals and a total supply of 429,366,477.94. So the amount that moved that evening is a tenth of every NTX in existence on that chain, and the chain’s whole supply is worth about $204,855 at the same price.

It went out in 106 payments, 64 of them exactly 500,000 tokens, and reached nineteen addresses. Thirteen of those took all but 9,476 NTX between them, and three took most:

Destination NTX Value Window, 19 September
addr1q94y5aua… 17,341,466.95 $8,274 20:24 to 22:26
addr1q98tgs9l… 9,850,124.48 $4,700 20:41 to 22:06
addr1q9a5qtmv… 9,541,786.36 $4,552 20:16 to 21:50
All nineteen 41,334,098.28 $19,721 20:16 to 23:11

Those dollar figures are what the tokens are quoted at, and this article’s own record shows how far that sits from what selling actually pays. The Ethereum-side NTX sales realised $41,024.73 in total, and the WMTX sales realised under one per cent of their quoted value. Moving a tenth of a token’s supply into its own market would fetch a good deal less than $19,721.

What those four addresses are

They are not fresh wallets. Each carries more than a thousand transactions going back to October 2025, which is the shape of infrastructure rather than of an account opened for a theft. The report calls them addresses under investigation and stops there, which is the right level of care: receiving or holding tokens during an incident places an address in the story without saying who runs it.

Read on 22 September, all four hold nothing. No balance, no unspent outputs.

The tokens were sold on Minswap

Following each destination one step on puts the NTX into Cardano’s own decentralised exchanges, and the largest counterparty is Minswap. The wallet that takes the most, stake1u9f9v0z…, holds 28.9 million ADA and delegates all of it to the stake pool pool1ases3nk…, whose own published metadata describes it as “The private pool to delegate Minswap’s funds”. Minswap is the largest decentralised exchange on Cardano. Several of the other onward addresses begin addr1w, which on Cardano marks a smart contract rather than a person’s wallet, and they are the swap contracts the trades ran through.

Three exits lead somewhere else. Two stake addresses and one address of the form addr1v, which carries a payment key with no staking attached, took about 108,000 ADA between them from the destination wallets after 19 September, and read on 22 September all three are empty. Money arriving and leaving without stopping is the shape of a deposit address, and addr1v is the format centralised exchanges use for them.

What the report says about Changelly

The project’s report says the Cardano exploit proceeds were deposited via Changelly and converted to Monero. The chain shows the tokens going to Cardano’s decentralised exchanges first, which is the step a seller takes before a deposit anywhere: NTX has to become ADA before it can be sent to an exchange that quotes Monero. A deposit would then sit among those three emptied addresses.

Putting a name to one of them takes a label the public chain does not carry, so this article stops at the shape. Changelly is a registered company that checks its customers’ identities, and its own records would settle in a minute what the chain leaves open.

That is why this leg is worth more than its dollar value. The bitcoin side carries roughly $750,000 and receiving wallet one still holds about $1.19 million in ether, so 41,334,098.28 NTX at about $19,700 is the smallest branch of the money by a wide margin. It is also the branch whose last public step points at a company with a compliance department.

Three exchanges stopped deposits

Bitget suspended deposits and withdrawals for FET on Ethereum from 22:00 UTC on 19 September, in its own notice, citing wallet maintenance and giving no resumption date. No notice reopening it has appeared since.

MEXC suspended WMTX deposits, in a notice citing “a security issue with World Mobile Token (WMTX)” and pointing users to the project’s own statement. The page carries a relative date that read two days old on 22 September.

KuCoin suspended WMTX deposits too, on 20 September, in its own notice, which gives maintenance as the reason. That makes three exchanges restricting an affected token, none of which has published a resumption date.

The security firm SlowMist lists both affected projects in its public incident database, recording Fetch.ai at $1,530,000 and NuNet at $462,730, both dated 19 September and both categorised as private key leakage. It carries no SingularityNET entry and no World Mobile entry.

Checked again on 22 September, neither receiving wallet is blocked by USDC’s or USDT’s issuers. Both contracts return false for both addresses, unchanged from 20 September.

Where the attack began

ASI is the Artificial Superintelligence Alliance, which brings together projects including Fetch.ai and SingularityNET. In its 20 September statement, Fetch identified SingularityNET’s Ethereum-to-Cardano bridge as the attack’s target. A bridge is software used to move tokens between blockchains. A converter exchanges one token for another.

Fetch.ai statement saying the SingularityNET bridge was targeted and unauthorised minting happened through it
Fetch identified SingularityNET's bridge as the target and said the unauthorised mint used that route. Source: Fetch.ai statement, 20 September 2026.

The bridge’s own landing page later displayed a closure notice. It said the bridge was closed for technical work and that transactions already being processed were saved.

SingularityNET bridge landing page saying the bridge is closed for technical work
The bridge landing page at 22:42 UTC on 20 September. Source: SingularityNET bridge.

The transactions show powers to create tokens, release funds and change transfer restrictions being used across several systems. These powers depend on digital signatures. A private key, the secret used to produce a wallet’s signature, can let whoever holds it act with that wallet’s permissions.

The records establish that powerful permissions were used. Establishing how someone gained access to them requires the projects’ investigation. Both stolen keys and misuse by somebody who already held them remain possible explanations. A wallet’s SingularityNET label describes its known association; it does not identify the person operating it during the incident. Ownership dating to 2021 dates the permission, not when an attacker acquired access.

How the attacker may have gained signing access

The evidence points to misuse of existing signing access across several project wallets. These digital signatures are the approvals that let the bridge create tokens. The attacker used approvals from an address the bridge already trusted.

We independently checked 26 AGIX mint transactions submitted by six wallets. All 26 carried distinct approval signatures from the same address, 0x69697dAC…D52e6A36. We reconstructed the messages using the converter’s verified code and checked that this address was its authorised signer at each transaction’s block. The submitting wallets delivered the requests; a separate signing authority supplied the approvals.

That points investigators towards the systems holding the keys or producing those signatures. Possible routes include a compromised computer, shared key store, abused signing service or misuse by an authorised person. Previously issued approvals combined with access to a submitting wallet are another possibility. The transactions establish that signing authority was used; identifying how someone obtained that access requires the projects’ internal records. The old AGI owner’s unchanged address, dating to 2021, also shows how existing permissions could be used years later.

Who funded the wallet that received the first large withdrawal

The first large token withdrawal in our accounting went to an Ethereum address beginning 0x2dcc1085…. We call it wallet one below. It later received most of the ETH generated by the token sales. Ethereum transactions cost a small amount of ETH, so early ETH transfers help show how a wallet was funded before it began spending.

Wallet one had received 0.00894824 ETH on 1 September at 13:59:59 UTC from an address Etherscan labels ChangeNOW, a cryptocurrency exchange service. That transfer predates the large FET withdrawal by 18 days.

ChangeNOW’s own identity-check policy says its screening can flag a transaction and require the customer to verify their identity. That process is often called KYC, or “know your customer”. The public transfer gives investigators a service to approach for records. Whether this particular customer completed an identity check is unconfirmed. The payment also leaves the customer’s original source of funds and the date of any attack planning unresolved.

Etherscan transaction receipt showing an address labelled ChangeNOW sending 0.00894824 ETH to wallet one on 1 September 2026
An address Etherscan labels ChangeNOW sent 0.00894824 ETH to wallet one on 1 September, 18 days before the large FET withdrawal. Open the image to enlarge the boxed fields. Source: Etherscan transaction receipt.

On 19 September, more ETH arrived from addresses that also appear elsewhere in the investigation:

Time, UTC Funding address ETH sent to wallet one
19:32:47 0x4193e4c2…, which later sent old AGI to the same wallet 0.458258
19:36:47 0x863F13e5…, labelled NuNet: Deployer by Etherscan 0.366735
19:38:23 0xA7A31d…, labelled SingularityNET: Deployer 1 0.577559

These are three relevant funding links; the saved history includes additional incoming payments. Deployer 1, the last address in the table, also owned the old AGI token’s administrative controls and later funded the account that withdrew the payout funds.

At 20:21:47, a different address, 0x1572F2af…, instructed the FET converter to release 8,721,530.4016 FET to wallet one. At 20:24:11, the FET sale paid that wallet 522.776535 ETH, worth approximately $1.37 million at our valuation.

That is the largest single payment in the total: existing FET left the converter, was sold, and the resulting ETH went to wallet one. The funding wallet, the address requesting the withdrawal and the recipient can be followed separately in the linked records.

A token frozen for five years was reopened and sold

SingularityNET’s original token, AGI, dates from 2017. It is separate from AGIX, the successor distributed in 2021. Each token has its own transfer controls, so AGI could be reopened on 20 September while AGIX remained frozen.

The original token’s owner was an address Etherscan labels SingularityNET: Deployer 1, shortened here to 0xA7A31d…. Ownership passed to it on 28 May 2021. The token was paused later that day, and its indexed administrative history shows the next opening on 20 September 2026.

That afternoon, the same owner sent three successful instructions:

Time, UTC Instruction Transaction
16:07:47 Open transfers First unpause
16:10:23 Freeze transfers again Pause
16:18:35 Reopen transfers Second unpause

During the first opening, which lasted two minutes and 36 seconds, two wallets sent a combined 8,546.06 AGI to receiving wallet one. The first transfer supplied 112.66 AGI; the second supplied 8,433.40. Deployer 1 had supplied their transaction-fee funding, with one wallet funded before the opening and the other during it.

At 16:20:11, the receiving wallet sold the exact combined amount. The swap generated 0.130445 ETH and deducted its swap fee, leaving 0.129303 ETH, worth about $339 under our valuation. The transaction’s gas cost was separate.

The amount was small. The significance is the access: an owner involved in the exploit’s funding could still reopen a token frozen since 2021, and linked balances were then sold. The contract’s verified code gives its owner the power to pause and unpause. At 19:15:59 UTC that owner was unchanged and transfers remained open. Ownership passed to the recovery wallet the following day, as set out above.

Legacy AGI opens at 16:07:47, two wallets transfer their tokens, transfers pause at 16:10:23, reopen at 16:18:35 and the combined tokens sell at 16:20:11
Two openings, one combined sale. The token transfers occurred during the first opening; the sale followed the second.
Etherscan receipt showing the legacy AGI sale and the ETH transfers it produced
The legacy AGI sale at 16:20:11 UTC. Open the image to enlarge it, or inspect the transaction. Source: Etherscan. Its dollar labels change with market prices.

Old AGI balances also need careful interpretation. SingularityNET’s migration portal describes a snapshot followed by a completed one-for-one AGIX distribution. Legacy AGI remaining in a wallet can therefore coexist with AGIX already received through that process. The original AGI contract has fixed supply and no callable mint function. This sequence moved existing tokens.

Someone started shutting it down at 03:31, six hours before the freeze

A fresh wallet, 0x78a60DE4…, began working against the attacker at 03:31 UTC, while AGIX was still being minted. It pulled the converters owned by an ordinary wallet away from the compromised deployer and rotated their authoriser keys, and it carried out a revoke, grant and pause sequence on NTX. It also sent gas to the compromised deployer keys so they could be handed over.

Four things point to this being the project’s own response rather than more of the attack. Rotating a key you already hold gains an attacker nothing. No token creation followed any rotation. The wallet was funded from 0xbEb8dBEE…, which sits outside the attacker’s cluster and still held 4.08 ETH when checked on 21 September 2026. And its gas pattern differs from the attacker’s.

The wallet is an ordinary address, and on 20 September it had sent 9 transactions, which is consistent with something created for this one job. It has sent 13 in total. The four added on 21 September are the legacy AGI pause at 12:01:59 and three revokeRole calls on the NuNet token at 12:14:11, 12:22:59 and 12:23:23.

Its reach had a hard edge. It could only move converters that an ordinary wallet owned, and the AGIX converter that was actively minting, 0x611192…, is a contract rather than an ordinary wallet. Minting resumed there three minutes later, and stopping it took the Safe multisig until 09:46.

Two admin roles were left in place that day: ownership of the legacy AGI token, and the payout operator. Both stayed reachable, which is how the afternoon’s payout withdrawal and the legacy-AGI sale still went through hours after the first containment. Legacy AGI ownership moved to this same recovery wallet on 21 September at 12:00:59; the payout operator is unchanged.

Read together, the same administrative addresses were being used from both sides for most of the morning.

The AGIX freeze stopped a later withdrawal

For the newer AGIX token, an administrative wallet using Safe software removed the converter’s permission to create tokens at 09:46:23 UTC and froze AGIX transfers at 09:51:47.

At 15:25:59, the wallet shortened to 0xCc3cD60F… tried to withdraw from an AGIX escrow, software that holds funds for service payments. It was the same address that later supplied part of the old AGI sold through wallet one. The withdrawal failed, with the recorded reason: “ERC20Pausable: token transfer while paused”. The emergency freeze prevented those tokens from leaving.

That gives the freeze a concrete result: an attempted transfer was stopped. The escrow’s verified constructor identifies AGIX as its token, and the same escrow address appears in SingularityNET’s developer documentation.

Failed AGIX escrow withdrawal with the error that the token transfer occurred while paused
The 15:25:59 withdrawal failed because AGIX was paused. Source: Etherscan transaction receipt.

The two receiving wallets held 824,162,344.71354392 AGIX at 18:23:35 UTC: 198.3 million in wallet one and approximately 625.86 million in wallet two. A complete indexed event query from the morning pause through that block contained the pause event and approvals, with no transfer or unpause event. A later direct read at 19:15:59 still returned paused.

Those balances remain immobile while the token is paused. An authorised future unpause could restore their transferability. The freeze also leaves earlier token sales and their ETH proceeds in place.

A separate withdrawal took nearly $290,000 from a payment system

The incident also reached money already held in a SingularityNET-linked payment system. Its TokenBatchTransfer contract is software for sending token payments. An account with control over it withdrew almost $290,000 and forwarded that sum to wallet two, the other main receiving address, beginning 0x83F4424A….

At 13:10:35 UTC, Deployer 1 sent 0.001 ETH to another address, 0x37E550…, giving it funds for transaction fees.

Twelve seconds later, that address called withdrawToken on the SingularityNET-linked TokenBatchTransfer payout contract and withdrew 289,575.104748 USDC. Another twelve seconds later, it forwarded the same amount to receiving wallet two.

This was money already held by a payout contract. USDC is a dollar-linked stablecoin, making the withdrawal a separate source of readily valued funds alongside the token-sale receipts. Bitquery had already reported this payout lead in its investigation; YFarmX independently checked the funding, withdrawal and onward transfer.

Etherscan receipt showing 289,575.104748 USDC withdrawn from the payout contract
The USDC came out of the payout contract at 13:10:47 UTC. Source: Etherscan.

At 19:15:59, the payout contract’s owner and transfer operator both remained 0x37E550…. Its code allows the owner to replace the operator, but the two powers currently sit at that same address. Deployer 1 owns legacy AGI; this different address controls the payout contract.

These links support treating the actions as part of a coordinated flow. They leave the mechanism of key access unresolved: theft, misuse by an existing holder and the number of separate secrets involved require further evidence. An owner’s tenure since 2021 dates the permission, rather than the compromise.

WMTX was still being sold in the afternoon

World Mobile’s WMTX token also kept moving. Receiving wallet two sold 10 million WMTX at 16:12:11 UTC and another 10 million at 17:16:23, receiving approximately 0.6900 ETH and 0.6232 ETH respectively.

The later transaction moved the tokens through trading contracts and returned ETH to the receiving wallet through UniswapX. Addresses executing those orders should be assessed by their trading role before being added to an attacker cluster.

Net movements show wallet two sending 10 million WMTX and receiving 0.62324182296180121 ETH
Ten million WMTX sold at 17:16:23 UTC. The ETH receipt shows what the wallet received; the much larger dollar label beside the tokens is a market-price estimate. Source: Etherscan.

WMTX’s verified Ethereum contract has no emergency pause or account-blocking function. Its administrators therefore cannot use the same type of freeze that stopped AGIX transfers. Even its special token-destruction function, burnFrom, requires spending permission from the wallet holding those tokens. Exchanges can restrict trading on their own services, and the project can organise recovery separately.

At 19:15:59, receiving wallet two held 293,039,793.523621 WMTX and wallet one held 33,538,000 WMTX, a combined 326.58 million. The afternoon sales are already counted in the proceeds table below. Selling continued on 21 and 22 September, and the combined holding is now 250,027,988.93 WMTX.

World Mobile’s official holder warning told users to avoid interacting with WMTX while a pre-exploit snapshot was prepared and warned about recovery scams. Fetch’s incident statement identified SingularityNET’s Ethereum-to-Cardano bridge as the target and said AGIX-to-FET conversions and its Ethereum bridge had been paused. The continued sale of tokens already received is a separate event from fresh minting through a bridge.

How the $2.23 million adds up

The largest single receipt came from the FET converter. It released approximately 8.72 million FET on 19 September. The sale at 20:24:11 UTC paid receiving wallet one 522.78 ETH, approximately $1.37 million under the common valuation.

Across the five token-sale routes, the calculation covers 85 transactions. It follows the crypto actually received by the two wallets after swap fees, with transaction gas kept separate.

Source of receipts ETH and wrapped ETH Dollar-linked tokens Value under the stated assumptions
FET sale 522.776535 0 $1,371,118.93
WMTX sales 140.228729 31,008.678707 mUSD $398,795.39
AGIX sales 50.646953 799.942749 mUSD $133,634.89
NTX sales 7.792649 20,586.460128 mUSD $41,024.73
CGV sale 0.012320 0 $32.31
Payout withdrawal 0 289,575.104748 USDC $289,575.10
Total 721.457185 341,970.186332 $2,234,181.36

The underlying calculation uses full raw units. ETH is valued at $2,622.76294528, the Chainlink ETH/USD feed read at 18:23:35 UTC, with its price last updated at 18:06:35. Wrapped ETH is counted one-for-one with ETH. USDC and MetaMask’s mUSD are valued at their $1 face value. The same valuation is used throughout, rather than a different market price for each trade.

The separate legacy AGI sale adds about $339.13, bringing those combined receipts to $2,234,520.49. A liquidity-position withdrawal delivered another 2.445508 wrapped ETH, but ownership of that position needs establishing before it can be classified as an additional loss. Direct ETH funding, prior balances and a USDT bridge receipt are recorded separately in the evidence files.

This is a defined subtotal of crypto received in the exploit-linked wallets. A full victim-loss assessment also needs ownership attribution, remaining cross-chain transfers and other destinations. Some sold AGIX and NTX balances may predate the overnight minting, so the rows identify the asset sold without assuming every unit was newly created.

Paper valuations of unsold tokens answer a different question: how much their quantity would be worth at a quoted price. A large sell order can realise much less, especially after liquidity is drained. The 17:16 WMTX receipt illustrates that directly: 10 million tokens produced approximately 0.6232 ETH for the receiving wallet. Adding the tokens’ displayed market value to the ETH received would count two different measures as though they were separate losses.

What the two wallets held at 18:23 that evening

At 18:23:35 UTC on 20 September, the two receiving wallets still held approximately 743 ETH, counting wrapped ETH, plus $341,970 in dollar-linked tokens at face value. Wrapped ETH is the form of ETH used by some trading software. The table shows which wallet held each asset.

Asset Receiving wallet one Receiving wallet two
ETH 633.0460 93.7210
Wrapped ETH 15.9370 0
mUSD 52,395.081584 0
USDC 0 288,015.153548

Together, those holdings were worth approximately $2.29 million under the same valuation. They include prior balances, fee funding and other receipts, and reflect fees and outgoing payments. That explains the difference from the proceeds subtotal.

The wallets also held large quantities of unsold tokens. At 18:23:35, their combined AGIX balance was 824.16 million. Those tokens were frozen. At 19:15:59, their combined WMTX balance was 326.58 million, split between 33.538 million in wallet one and 293.039794 million in wallet two. WMTX could still be transferred. These unsold balances are shown separately because their quoted market value can greatly exceed what a large sale would actually pay.

Wallet two had sent 1,560 USDC to three further addresses. Earlier USDT movements included bridge transactions whose final onward destinations still need corroboration. At 19:15:59, USDC’s blacklist query returned false for wallet two, where approximately $288,015 in USDC remained.

Wallet two emptied that same night

The balances above are a snapshot, and they did not hold. Between 21:15 and 00:02, wallet two moved out everything the table records for it.

The USDC went first, in five transfers, each one passing through a freshly made address that held it for a few minutes. Three went into deposit channels belonging to Chainflip, a cross-chain swap protocol: 118,015.16 at 23:58:35, 75,000 at 22:05:23 and 10,000 at 21:25:35. Two more, 75,000 at 22:07:35 and 10,000 at 21:21:59, went to an address Etherscan labels Baltex 3.

Those five add to 288,015.16 USDC, which is the whole USDC balance the table records, to the cent.

The ETH followed. At 23:54:11 wallet two sent 93.70 ETH to 0x2fD3285C…, an address funded only by the hub, which passed it into a Chainflip deposit channel seven minutes later, at 00:01:47 on 21 September.

Chainflip swaps between chains, so what the ETH and the 203,015.16 USDC became is not readable from Ethereum. It is readable from Chainflip, which publishes its swap records.

What stayed put is the frozen AGIX. The pause that held it still is the reason those tokens are in a different position from the money.

The four Chainflip deposits became bitcoin, and it moved again by 02:32

Chainflip’s records show what each of the four deposits was ordered to buy. In every case the answer is Bitcoin, and in every case the same broker opened the channel moments before the money arrived. The channel that took the 93.70 ETH was opened eleven seconds before the deposit landed.

Deposit Became Sent to
10,000 USDC 0.1248 BTC bc1q6dk5ln…
75,000 USDC 0.9347 BTC bc1qe704ql…
118,015.16 USDC 1.4642 BTC bc1qsug30k…
93.70 ETH 3.0807 BTC bc1qe3xcjz…

Each of those four Bitcoin addresses then kept back almost exactly one per cent and sent the rest to the same place. Between 21:54 and 01:05, all four paid into a single address, bc1qfurwaq4ca3avauvq4pcwthd78epdu73dmva0nv, which received 5.49 BTC from them. One address holding all four trails is what ties the swaps together.

That address took 8.74 BTC in all. The remaining 3.25 BTC is a fifth swap of the same kind, funded by receiving wallet one, which is set out above. Read on 21 September 2026 its balance is zero. It paid everything out in four transactions ending at 02:32, the largest 4.45 BTC and one of them a round 2 BTC exactly. Every one of those five destinations forwarded the money on within hours, and the two largest were peeled towards the Unit bridge.

One caution for anyone checking this. Chainflip reuses its deposit addresses, and one of these four has served 408 separate swaps since 2023, most going somewhere else entirely. Reading the address alone gives the wrong destination. The swap has to be matched to the moment its channel was opened.

The 85,000 USDC that went to Baltex stops sooner. That address has made 6,694 outgoing transactions, so it is a working hot wallet and the money is now mixed with everyone else’s. Following it further is a question for Baltex rather than for the chain.

The reviewed transfers establish links between these receiving wallets and the administrative addresses used during the exploit. Connecting their operator to a named person or a different hack would require further evidence.

The wallet that paid wallet two’s first gas had emptied a hundred others first

Wallet two’s very first funding arrived at 04:04:47 UTC on 20 September: 0.000955936 ETH from 0xbe827ABF…, sent 36 seconds before wallet two’s first swap. That was the sending wallet’s 1,733rd transaction, so it arrived with a long history behind it.

That history is a collection operation. On 25 August the same wallet received ETH from more than a hundred separate addresses inside a few minutes, including 22.07 ETH at 04:36:23 and 5.61 ETH at 04:33:59, each from a wallet with hundreds of its own transactions going back years. The next day it sent small amounts of gas to roughly a hundred addresses, and minutes later those same addresses sent Realio Network (RIO) tokens back to it, which points at holders of one token as the affected population.

Sending a wallet its gas and emptying it minutes later is what someone does when they already hold its keys. How those keys were obtained is off the chain.

Where that money went

Three days later, on 28 August, the wallet moved 68.78 ETH out in seven transfers inside ten minutes, the largest 18 ETH. It sent a further $11,184 in USDC and USDT to three more addresses on 18 and 28 August. Etherscan labels all ten as deposit addresses at the exchange HitBTC, each forwarding onward to the same hot wallet, and four of them have been in use for several years, which makes them established accounts rather than fresh ones.

The seven ETH addresses behave the part. Checked on 21 September 2026, every one holds under a hundredth of an ETH, so each passed the money straight on rather than holding it. A smaller 0.085 ETH went through a pass-through address into a ChangeNOW deposit on 28 August.

The same wallet address runs on BNB Chain as well, and it cashed out there on the same day. It sent 226.78 BNB to nine addresses on 28 August in the same round lots, four of which are confirmed here as 30, 30, 29 and 24.5 BNB. BscScan labels those nine as HitBTC deposit addresses too. One exchange, two chains, one afternoon.

On the funding side, the trail runs the other way. The wallet’s first money was USDT that came out of the cross-chain service Bridgers, and two hops up its gas chain sits an ordinary wallet that both received from Binance in April 2025 and deposited back to a Binance address that August. That is the strongest identifiable point on the funding side, and the exchanges hold the records that would settle it.

How far the evidence goes

Both wallets run the same software: each carries a 23-byte delegation pointing at MetaMask’s EIP-7702 implementation, the standard that lets an ordinary address execute batched transactions like a contract.

No transaction links this wallet directly to Deployer 1 or to the payout operator. Those two paid wallet two itself, and this address paid its gas, which places it beside the incident rather than inside the administrative set.

SingularityNET’s own report makes the same connection. Its incident report of 22 September lists, among the attacker’s attributes, gas funding “linked to an address associated with the Realio Network exploit (August 2026)”. This article reached the Realio connection separately, from the collection pattern above, before that report appeared. Two readings of the same wallet, arrived at independently, put the August sweep of Realio Network holders and this September incident in the same hands.

That is the firmest of the indicators in the report, because it runs through money rather than through a setting on a machine. It still stops short of a name: it ties two thefts to one operator without saying who the operator is.

The transaction figures here were read from an Ethereum node on 21 September 2026. The exchange names come from Etherscan’s address labelling. Who holds the keys to any of these wallets, and which accounts sit behind the deposit addresses, are questions the chain does not answer.

Minting ran to 895.96 million AGIX in two bursts

Two bursts on 20 September created 895,962,344.71354389 AGIX in 90 transactions, worth about $3.77 million at the price the sold portion actually realised. A complete scan of the token’s creation events between 02:00 on 20 September and 00:00 on 21 September returns those 90 and no others.

Time, UTC Transactions AGIX created Paid to
03:13:35–03:36:23 26 260,000,000.00 receiving wallet one
04:17:11–04:21:23 64 635,962,344.71 receiving wallet two
Total 90 895,962,344.71

Every one of the 64 transactions in the second burst was sent by the address Etherscan labels SingularityNET: Deployer 1.

The figures reconcile exactly once the onward holders are counted. Of the 895,962,344.71354389 created, 824,162,344.71354392 is frozen in the two receiving wallets and a further 40,000,000 sits in the three addresses wallet one paid on 20 September, which leaves 31,800,000 AGIX sold before the freeze took hold. This article’s own accounting records those sales realising $133,634.89, which is $0.0042 a token. At that same realised rate the frozen holding stands at about $3.46 million. At the quoted market price on 22 September, $0.00071554, it is about $590,000, a sixth of what the same tokens fetched when they were sold.

The first burst is set out in detail below, because its six separate senders are what established that the signing authority was being used from more than one address.

One tightly defined burst created 260 million AGIX in 26 transactions, from 03:13:35 to 03:36:23 UTC on 20 September. Six addresses sent those transactions to the AGIX converter. Each transaction created 10 million AGIX for receiving wallet one. Creating new tokens is called minting.

Transaction sender Mint calls
Deployer 1, 0xA7A31d… 13
0xD20cCEa8… 5
0x1572F2af… 2
NuNet-labelled deployer, 0x863F13e5… 2
0x2DDF758a… 2
0x3196fD46… 2

The first D20 call precedes the other callers. Etherscan identifies 0x863F13e5… as NuNet: Deployer; its 03:16:11 transaction is one of the two confirmed calls from that address.

Etherscan transaction receipt showing a NuNet-labelled deployer creating 10 million AGIX for wallet one
The NuNet-labelled deployer submitted this request to create 10 million AGIX for wallet one at 03:16:11 UTC. Open the image to enlarge the boxed fields. Source: Etherscan transaction receipt.

Six senders is an address count. A transaction sender can submit an instruction carrying a separate authorisation, so that count alone cannot establish how many signing keys were stolen. Funding links and administrative histories help connect the activity; the original point of compromise remains an investigation for the projects and their security teams.

The controls still in place

The final contract reads at 19:15:59 UTC put authority in the following places:

This table is the position at 19:15:59 UTC on 20 September. Legacy AGI has moved since: read on 22 September its owner is the response wallet 0x78a60DE4… and the token is frozen, as set out above.

Contract Control observed State observed
Legacy AGI Owner: Deployer 1 Transfers open
AGIX Earlier pause and mint-role revocation executed through the Safe Paused
FET converter Owner: the same Safe; authoriser 0x69e5446b… FET balance zero
TokenBatchTransfer Owner and operator: 0x37E550… USDC payout already withdrawn
WMTX Role-based mint and burn controls No administrative pause or blacklist function

The older AGIX converter, 0x89E6943c…, also returned false when queried for its minting role. These are specific permissions and balances at a specific time; a zero balance by itself says little about the safety of future deposits.

Legacy AGI’s owner and the payout owner/operator are ordinary externally owned accounts in the checked state. The reviewed contracts reveal no independent guardian that could override those owners. Whether the legitimate teams retain access, or can regain exclusive control, requires their confirmation.

The useful distinction for recovery is where each safeguard reaches. AGIX’s pause stopped an actual withdrawal. WMTX continued to be sold. The legacy AGI owner could reopen transfers. Protecting the ecosystem means accounting for each of those permissions and for the money already received.

Full addresses and reproducible evidence
Role Ethereum address
Receiving wallet one 0x2dcc1085fDCf418B421E45e86e4e54637cc21dfE
Receiving wallet two 0x83F4424A401a9Bb75F90314f21ADAeA6a9cE09C5
Legacy AGI owner / Deployer 1 0xA7A31d206042B8A3E81aa4cf8c68c1B76856eE48
Payout owner and operator 0x37E550d082d115EE65db19B17dC84c67024fac40
Safe used for AGIX response / FET converter owner 0x02eE7cddc3bdDa9e571b5994d1ADFa69b5Ed4335
Legacy AGI token 0x8eB24319393716668D768dCEC29356ae9CfFe285
AGIX token 0x5b7533812759b45c2b44c19e320ba2cd2681b542
WMTX token 0xdbb5cf12408a3ac17d668037ce289f9ea75439d7
TokenBatchTransfer 0x7fFe1ec3b0733e6455C790C6bbF8579e9552566B
AGIX converter in the 26-mint window 0x611192364cc6962F433A5dc52cD500A423dd7bE4
FET converter 0xab424a430cc09864fa1277a38193111705adf3a3

Download the transaction receipts, source screenshots and verification files. The package includes the ledger, exact raw units and local verification scripts. Its 113 accounting RPC receipts cover 108 positive-receipt ledger rows and 131 raw transfer-quantity checks. Additional RPC reads corroborate the 26 early AGIX mints and 18 WMTX outgoing events in the stated window.

The calculation uses Blockscout’s internal-transaction traces for native ETH transfers. Ethereum receipts establish successful execution and token logs but do not enumerate those internal ETH amounts. Etherscan separately corroborates the largest FET payment and the legacy AGI sale; balance reconciliation provides an additional consistency check. Complete indexed event queries establish the specified windows, with the provider and range preserved in the files. Coverage is limited to the named wallets, contracts and chains.

Sources

  1. Fetch.ai: incident statement, 20 September 2026x.com
  2. SingularityNET bridge closure pagebridge.singularitynet.io
  3. World Mobile: holder warning and proposed snapshotx.com
  4. Ethereum: FET converter withdrawaletherscan.io
  5. Ethereum: FET sale and ETH proceedsetherscan.io
  6. Ethereum: legacy AGI saleetherscan.io
  7. Ethereum: AGIX withdrawal blocked by pauseetherscan.io
  8. Ethereum: SingularityNET payout withdrawaletherscan.io
  9. Ethereum: late WMTX saleetherscan.io
  10. SingularityNET: original AGI to AGIX migration portalsnapshot.singularitynet.io
  11. Bitquery: ASI bridge investigation and payout findingbitquery.io
  12. SingularityNET: incident statement and security incident report, 22 September 2026x.com
  13. Wagyu: recent bridge orders feedapi-beta.wagyu.xyz
  14. Unit: published treasury addressesdocs.hyperunit.xyz
  15. Unit: operations record for the deposit addressapi.hyperunit.xyz
  16. Bitcoin: the address recorded as untouched, now spentmempool.space
  17. Ethereum: legacy AGI ownership transferred to the recovery walleteth.blockscout.com
  18. Bitget: FET on Ethereum suspended, 19 September 2026bitget.com
  19. MEXC: WMTX deposits suspendedmexc.com
  20. SlowMist: public incident databasehacked.slowmist.io
  21. KuCoin: WMTX deposits suspended, 20 September 2026kucoin.com
  22. Minswap: the stake pool metadata for its own funds poolminswap-public.s3.ap-southeast-1.amazonaws.com
  23. Koios: the public Cardano API used for the NTX traceapi.koios.rest

How we use AI