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.

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


