YFarmX logoYFarmX

Crypto NewsSecurity

ASI exploit: post-mortem traces $2.23 million to two wallets

Token sales and a payout withdrawal sent about $2.23 million in crypto to two wallets. Admin access also reopened SingularityNET's old AGI token.

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

About $2.23 million worth of crypto reached two wallets linked to the ASI exploit, through token sales and a separate withdrawal of nearly $290,000. YFarmX calculated the amount from transaction records, counting the crypto those wallets received and valuing it at a stated price.

The attack also reached a token that had been frozen for more than five years. A SingularityNET-labelled admin wallet switched transfers back on for the old AGI token. Two linked wallets then moved their tokens to one of the exploit’s receiving wallets, where they were sold. The sale happened 96 seconds after the final instruction to reopen transfers.

There was also a successful defence. Freezing SingularityNET’s newer AGIX token stopped a later attempt to withdraw tokens from a service-payment account. More than 824 million AGIX in the two receiving wallets were stuck while that freeze remained in force. World Mobile’s WMTX tokens, which have different controls, were still being sold that afternoon.

These findings explain why stopping the incident required several separate actions: blocking the creation of tokens, securing accounts that held existing funds, and dealing with tokens already sent out.

Evidence cut-off: 20 September 2026. The proceeds ledger ends at 18:23:35 UTC; contract-control checks extend to 19:15:59 UTC. Dollar figures use the common valuation explained below.

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 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.

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.

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.

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.

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.

Where the money and unsold tokens were at the last check

At 18:23:35 UTC on 20 September, the two receiving wallets still held approximately 743 ETH, counting wrapped ETH, plus $340,410 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.

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.

Six addresses created 260 million AGIX in 23 minutes

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:

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. World Mobile: holder warning and proposed snapshotx.com
  3. Ethereum: FET converter withdrawaletherscan.io
  4. Ethereum: FET sale and ETH proceedsetherscan.io
  5. Ethereum: legacy AGI saleetherscan.io
  6. Ethereum: AGIX withdrawal blocked by pauseetherscan.io
  7. Ethereum: SingularityNET payout withdrawaletherscan.io
  8. Ethereum: late WMTX saleetherscan.io
  9. SingularityNET: original AGI to AGIX migration portalsnapshot.singularitynet.io
  10. Bitquery: ASI bridge investigation and payout findingbitquery.io

How we use AI