Fx-pundiai swap bug and response ( NOT PUNDIX)

Summary

Two days ago, a bug was discovered.

Attackers have exploited our uninitialized ERC1967Proxy contracts (OZ common proxy standard), front-running deployers to set malicious implementations & spoofing. This bug unfortunately allowed the attacker to mint 1M $PUNDIAI tokens on 12 July UTC +8.

We have responded swiftly, including recovering > 70% (710,193 PUNDIAI) of the attacker minted PUNDIAI. Also, we managed to lock and recover ~$275k worth of attacker assets. Unfortunately, the attacker managed to get away with ~$260k worth of assets as it was already swapped from PUNDIAI into ETH/USDT/BNB.

Below is the post mortem report.

Background of exploit

This exploit surfaced recently and external reports believe it is widely affecting protocols that use the ERC1967Proxy contract (see screenshot below). Attackers deployed and set the malicious implementation contracts before the team did, and it was not detected, as fake upgrade events were emitted to deceive even Etherscan’s UI.

Attackers then attacked en masses starting from 10 July, we were unfortunately hit by the attack on 12 July alongside others.

First attack & our response.

The attack began on 12th July 2:12pm. Attacker minted 100M of $FX and swapped into 1M $PUNDIAI, ~11.75% of our circulating supply. We were alerted. It happened right after minting. The attacker first targeted liquidity on Pundi AIFX Omnilayer, bridging 400k PUNDIAI into Pundi AIFX Omnilayer at 2:15pm and started selling. We responded by freezing attacker funds 264,000 PUNDIAI and ~$96k of assets worth ~21.88 WETH, ~20,172 USDT and 21,938 PUNDIX. We close the bridge the same day at ~4pm.

Second attack & response.

Attacker moved 101,000 PUNDIAI from Ethereum to BSC using third party bridge Axelar at 3:14pm and started selling, the price dropped from $6.55 to $5.88 before quickly recovering at ~$6.30. The team and community removed liquidity starting from 4:55pm on BSC, squeezing out liquidity for attackers to sell. Since PUNDIAI token contract is deployed by Axelar, there is no freeze function, Axelar has assisted in limiting their bridge transfer to very small amounts of PUNDIAI.

In Pundi AIFX Omnilayer, the attacker sold and transferred to Ethereum about ~$88k USD worth of 81,022 PUNDIX, 13.828 ETH and 20,114 USDT. The attacker also moved from Pundi AIFX to BSC 40,263 USDT.

CEX response

CEX has frozen deposits of PUNDIAI on the same day of attack. We thank the respective CEX for reacting quickly.

Second day response

A day after the attack is Sunday Singapore time, we continue to monitor the situation and burn the attackers PUNDIAI on Ethereum. We did an emergency upgrade on Pundi AIFX Omnilayer to allow us to freeze only attackers funds and allow non attacker funds to be transferable, by now our Pundi AIFX Omnilayer is back to normal. Our thanks to partner validators for helping perform an emergency upgrade over the weekend.

As PUNDIAI transfer function is frozen on Ethereum, the attacker was unable to move ~180k of stolen USDT as it is in the form of USDT-PUNDIAI Uniswap LP. We could independently unfreeze a company address and swap out the 180k USDT stolen funds he made from providing liquidity into PUNDIAI-USDT and recover those funds.

Third day response (today)

~$265k worth of crypto and 710,193 PUNDIAI are locked or recovered by the team, while ~$260k worth of crypto is considered lost as it was swapped into ETH/USDT/BNB. There are still 78,191 PUNDIAI in BSC which we are unable to freeze as it is a third party implementation by Axelar which does not have the freeze function.

What happens next?

We will begin to unfreeze PUNDIAI on Ethereum in the coming days. Pundi AIFX Omnilayer is already unfrozen yesterday (13 July) and back to normal, and the attackers’ funds on Pundi AIFX are frozen forever. We will also communicate with CEX to resume deposits once we unfreeze PUNDIAI on Ethereum.

As for BSC, we are engaging Axelar and Pancake swap team, the current plan is to deploy a new PUNDIAI BSC token contract and replace it for PUNDIAI holders except for the attacker. This is because we cannot freeze the attacker’s funds. If we proceed with a new BSC token contract, it should happen in a week with snapshot being taken anytime now.

In conclusion we managed to recover >70% of stolen PUNDIAI we look forward to resuming PUNDIAI all chains over the next few days to a week.

—------------------------------------------end—-------------------------------------

transaction details

As of 15:53pm 13th July the impact is as below:

Funds recovered or locked (~275k worth of crypto and 710,193 PUNDIAI)

  • Ethereum 446,194 PUNDIAI (burnt)
  • fxcore 263,999 PUNDIAI (locked)
  • fxcore 21.88 WETH (locked)
  • fxcore 20,172 USDT (locked)
  • fxcore 31,938 PUNDIX (locked)
  • Ethereum 180,000 USDT (recovered)

Funds lost (~$260k worth of crypto and 78,191 PUNDIAI still held by attacker)

  • Ethereum 22.55 ETH
  • BSC 8.73 BNB
  • BSC 56,595 USDT
  • BSC 12,191 PUNDIAI
  • Ethereum 23,417 USDT
  • BSC 109,006 USDT
  • BSC 66,000 PUNDIAI (pancake LP)

Use DeBank to check how the attacker is moving the funds.

| — — — -Attacker mint — — — -|

https://etherscan.io/tx/0xec62e8b1c9f47c73825cab1c680c18cf27c41b66c77433aa5ae178455187336a

7-12–2025 14:12:23 UTC+8:Attacker uses swap contract to invoke pundiai token mint function and mints 1M $PUNDIAI https://etherscan.io/tx/0xd54ed7443aaf0d256aefe1797c32487e1ea5200c3d38b7a47ab02019caad0c56

Minted token sent to 0x26bC046BFA81ff9F38d0c701D456BfDf34b7F69c.

| — — — -Attacker bridges into Pundi AIFX Omnilayer— — — -|

7-12–2025 14:15:35 UTC+8: Attacker bridges 400k PUNDIAI into Pundi AIFX Omnilayer (aka FXCore) https://etherscan.io/advanced-filter?fadd=0x26bc046bfa81ff9f38d0c701d456bfdf34b7f69c&tadd=0x26bc046bfa81ff9f38d0c701d456bfdf34b7f69c&txntype=2&ps=100&mtd=0x6189d107%7eSend+To+Fx

Attacker starts swapping PundiAI token toUSDT/ETH/PUNDIX tokens https://etherscan.io/advanced-filter?fadd=0x26bc046bfa81ff9f38d0c701d456bfdf34b7f69c&tadd=0x26bc046bfa81ff9f38d0c701d456bfdf34b7f69c&ps=100&mtd=0x332caa1f%7eSubmit+Batch

bridge the swapped USDT/ETH/PUNDIX back to Ethereum because he knows we can halt our own chain.

https://etherscan.io/advanced-filter?fadd=0x26bc046bfa81ff9f38d0c701d456bfdf34b7f69c&tadd=0x26bc046bfa81ff9f38d0c701d456bfdf34b7f69c&ps=100&mtd=0x332caa1f%7eSubmit+Batch
|
https://etherscan.io/tx/0x27f8916c9e42b15a5ed4815633c32f721133bd7d12bde08a549b973e4b8080ca | 17,145.045471 | Pundi X Token(PUNDIX) |
| https://etherscan.io/tx/0xb5e1f381296c441fc6b9f6c25480f5bff910a53a9db517bf6214e48b038875d9 | 63,877.272683 | Pundi X Token(PUNDIX) |
| https://etherscan.io/tx/0x3230a25503329e6943bfa496e958c7cbc920e101e3b39f59962ffd648a504606 | 3,364.888568 | Tether USD(USDT) |
| https://etherscan.io/tx/0x3bd0c63790e6655c3cd4d4cfb175b45efd77c982a5316ff22cfdc5056c994399 | 5,576.327471 | Tether USD(USDT) |
| https://etherscan.io/tx/0xd3bf5fa6f270086fb4d9bef92b6f1099f97dcce029b20dcf41224e7a77cf058d | 3,914.610762 | Tether USD(USDT) |
| https://etherscan.io/tx/0x80ad7d3df3a4714a1c130cc49a5d7c79dd3031ed14c967446e8cf0efdbffcf60 | 6.574161 | Wrapped Ether(WETH) |
| https://etherscan.io/tx/0x1e7b8960e2afac3225101fb6490e2d5e84d752340a4c2eb7181fa14153376cba | 3,633.715674 | Tether USD(USDT) |
| https://etherscan.io/tx/0x0aa7107250bb4c5424309acc0266724150f3638dc643dd434a35f87f3db822a0 | 4.701694 | Wrapped Ether(WETH) |
| https://etherscan.io/tx/0xea0cda50aa0cdf3b4ea49a37ed3c30e8b312431ce880091d892ab596b405cad1 | 2.552301 | Wrapped Ether(WETH) |
| https://etherscan.io/tx/0xa13221cc4c2ca567580efbb47f5d92b4f532ae78626b8dfb57010468613fc0e0 | 3,624.952701 | Tether USD(USDT) |

| — — — -Attacks on BSC — — — -|
Attacker moves 101,000 PUNDIAI from Ethereum to BSC using Axelar.

0x26bc046bfa81ff9f38d0c701d456bfdf34b7f69c
0x7567a0417c62624d47fa4846e4f969737a4f7259

https://bscscan.com/tx/0xbf772f72c6b83f9d603e292804bf18c7795a57dd99d3f728f44eff40fbffd927
https://bscscan.com/tx/0x59204ba72fd7c03f8510825221e5d7df1b845eb2b59b43bb058f5f9271d1757e
| https://bscscan.com/tx/0xf76624299dd4a90883e0feaa8e81398e22f481502c6f6141243f876950b485c3 | 2025–07–12 07:14:58 | 2,813.077181 | BSC-USD |
| https://bscscan.com/tx/0x8262d2d6577c8acf102c375ae8154f03db532f30f7caeee7da535048384b99a2 | 2025–07–12 07:21:58 | 3,602.740028 | BSC-USD |
| https://bscscan.com/tx/0x41b27446d9752a96eff8ee71618f0ff5302f0a9d8ee1cb71938f0e8c2cf7e3ba | 2025–07–12 07:23:00 | 3,693.899162 | BSC-USD |
| https://bscscan.com/tx/0x0653f020682f192f9ff5b5419badf8550a333d7092cb51e7a4c104b475f041e0 | 2025–07–12 07:31:57 | 2,814.667398 | BSC-USD |
| https://bscscan.com/tx/0x2d2631cd051eaa4ad72ee428ae87f08ba60f1db924248eaa891d99f29b12079d | 2025–07–12 07:41:17 | 5,544.187876 | BSC-USD |
| https://bscscan.com/tx/0x3f246f157abc86c4191308866269de82464fb541e0c60eb23d39d0f7a6b792fc | 2025–07–12 07:41:24 | 4,587.203382 | BSC-USD |
| https://bscscan.com/tx/0x5ab43437918a4cf3b8ae6f1d54bdcfd7fb6a702fb1041777d8c40c002185505d | 2025–07–12 07:42:00 | 2,381.041867 | BSC-USD |
| https://bscscan.com/tx/0x50f7f20842f0f1dfd4ae7a077d7ea0613954b03510ceacfd84a228b214abdf92 | 2025–07–12 07:45:21 | 2,897.057175 | BSC-USD |
| https://bscscan.com/tx/0x6554017ef213ed2c48f7515252c880c89ff9c9cc471cc3307af299b8ac9e9535 | 2025–07–12 07:58:58 | 5,589.279231 | BSC-USD |
| https://bscscan.com/tx/0x3484aa101fcaa5da1f3ca2518e0e6f5718be3b8ff350fbc61ad1b93767668c02 | 2025–07–12 08:01:59 | 6,340.043072 | BSC-USD |

| — — Burning attacker PUNDIAI tokens on Ethereum — |

uniswap v4 pool manager (0x000000000004444c5dc75cB358380D2e3dE08A90): 10000
https://etherscan.io/tx/0xa004909b7be6c4fd38525636162e096cef344d6565bd3eed36d6aa63548a716a

uniswap v4 pool manager (0x000000000004444c5dc75cB358380D2e3dE08A90): 40000
https://etherscan.io/address/0x0f413055adef9b61e9507928c6856f438d690882

0x26bc046bfa81ff9f38d0c701d456bfdf34b7f69c
https://etherscan.io/tx/0x033173d2b3361625844b1201661ea68f3347672bd0188414df3eb31116951571
446194.735104745692945728 PUNDIAI burnt

3 Likes

Hello, i did cross chain transfer usdt from pundiai to bsc couple of hours before, it stills shows pending but when i went inside and checked transaction it said success but i could see it was sent to burnt address… can you please refund it to my address… it still says pending… i have attached all the screenshots herewith. Thank you.





1 Like

Usdt from pundiai has already been out but have not received in bsc… can you please check and fix it. Thank you.

1 Like

Just 2 questions :

  1. Is the ERC1967Proxy contract patched as well, now ?
  2. Any idea why PundiAI was targeted, knowing that there are thousands of other Cosmos-generated blockchains probably having much more liquidities ?

Thanks

Regards,
FrenchXCore

1 Like

Also, can we please have clarity on snapshot… when is the snapshot taken… are we allowed to trade in binance alpha…what happens if we buy pundiai in binance aplha after snapshot taken… do we still have same amount of pundiai token that we hold in binance alpha even after we buy after snapshot taken… or we ll only get the token that is recorded at the time of snapshot… if so why still trading available in binance alpha…

1 Like

I understand that buying PUNDIAI on BSC is not safe right now, but what about exchanges like Gate or MEXC? I’m asking because I want to buy some tokens at this discount. Is there any issue, or should we still wait for the contract upgrade? Thx

1 Like

You able to buy on mexc, you just can’t widraw to you wallet. You just need to wait to widraw

Can you please cancel the transaction and refund back my money…it’s been already 17hrs and still pending.


Thank you.

1 Like

just wait sir

Is there anyone from team here… can you please at least look on my case…

  • PundiAI have patched the loop hole ERC1967Proxy.
  • It’s not cosmos-related but a front running of ERC1967Proxy, and yes several others have also been affected, potentially more will surface.
1 Like

You can buy and sell internally on CEX, we will start to unfreeze PUNDIAI on Ethereum in a few days and CEX will follow, this is when you can do CEX deposits and withdrawal.

1 Like

You will have to wait for Pundi AIFX Omnichain (FXCore) transfer function to be reactivated, I know it’s not easy but please be patient for a few more days.

3 Likes

what will happen to pundiai in bsc, do you upgrade to new contract and we get airdrop

1 Like

Hi everyone,

Following the recent ERC1967Proxy vulnerability that affected multiple projects industry-wide, we’d like to provide a quick and essential update in response to the recent community post.

:white_check_mark: All user funds remain safe and unaffected

:white_check_mark: PUNDIAI on Ethereum is now LIVE.

:white_check_mark: PUNDIAI on Pundi AIFX Omnilayer is also LIVE. The chain was unfrozen on July 13 and is now fully operational.

The Ethereum to/from Pundi AIFX Omnilayer bridge will be re-enabled shortly, so you can expect full functionality to return soon.

We would like to thank the community for your patience and support throughout this process. The attacker’s assets on the Pundi AIFX Omnilayer have been permanently frozen, and we are coordinating with centralized exchanges (CEXs) to re-enable PUNDIAI deposits on Ethereum in the coming days.

For BNB Chain:
PUNDIAI on BSC is still pending with Axelar for the new contract test, followed by airdrop and migration to the new token contract. The snapshot was taken a few days ago on BSC. Do NOT trade PUNDIAI BSC on PancakeSwap, the current liquidity on BSC is controlled by the hackers.

Thank you for your continued support.

The Pundi AI Team

5 Likes

Well.

i have a Cross-chain value transfer from Pundi AIFX to Polygon still pending. i hope this solves soon or after the update**

1 Like

how long it’s going to take, it’s already more than a week and my money is stuck… can you please fix this asap. Thanks…

1 Like

Pundiscan cross chain bridge is enabled now, we will also be announcing on X soon.

1 Like

or is it? I have deposited some pundi from eth and i cannot see it on core. Also bunch of pending transactions from like 10 days ago.

@Deo_Delic

If your Pundi was sent via Ethereum and it’s not showing on Core, it could be due to network compatibility or token support issues—especially if Core doesn’t natively recognize the ERC-20 version. Those older pending transactions might be clogging things up too. Did you check if the token needs to be manually added or if gas fees are affecting the confirmations?

1 Like