In short
The Elastos main chain is running again.
After the transaction validation incident on July 20, 2026, mining pools, Council nodes, and BPoS validators stopped block production to protect the network. A corrected release was prepared and tested, the chain was rewound to the final unaffected block, and the network restarted after enough independent operators adopted the new software.
The chain first resumed through proof of work while validators upgraded and reconnected. It has since returned to BPoS consensus, with block production and finality operating normally.
Balances confirmed before the incident remain unchanged. Ordinary ELA holders do not need to take any action.
ESC, EID, and the cross-chain bridge remain paused while their code changes and recovery procedures undergo audit. They are expected to resume in the coming weeks after those reviews and restart rehearsals are complete.
What happened
On July 20, an attacker exploited a flaw in how the Elastos main chain added and validated transaction output values.
ELA values are stored using a 64-bit number. The attacker created outputs whose individual values could be processed, but whose combined total crossed the number’s safe boundary. Instead of rejecting the transaction, the total wrapped around and appeared to be a small valid amount.
The fee calculation used that incorrect total and accepted the transaction.
This allowed the attacker to fabricate ELA without taking it from another user’s wallet.
Incident timeline
All times are UTC. Block heights are included so the events can be checked independently.
| Date and time | Block | Event |
|---|---|---|
| July 16, 12:12 | 2,257,529 | The address later used in the exploit is created and funded with 54.06 ELA. |
| July 20, 09:55 | 2,260,399 | A 30 ELA transfer is sent from that address to a KuCoin deposit address. |
| July 20, 11:21 | 2,260,450 | Final unaffected block. |
| July 20, 11:27:37 | 2,260,451 | The exploit transaction is accepted. More than 92 billion ELA is fabricated. |
| July 20, 11:49 | 2,260,472 | The first proceeds reach KuCoin. |
| July 20, 13:08 | 2,260,518 | 500,000 ELA is sent to a KuCoin deposit address. |
| July 20, 14:47 | 2,260,561 | Three interim wallets receive 1,000,000 ELA each. |
| July 20, 15:27 | 2,260,587 | The final exchange deposit is made. |
| July 20, 15:32:44 | 2,260,595 | Block production stops. |
| July 21 | KuCoin restricts the associated accounts. | |
| July 29 to 31 | Operators adopt the corrected release, rewind the chain, and restart the network. BPoS consensus resumes. |
Block production stopped four hours and five minutes after the first exploit transaction.
The 30 ELA transfer made 92 minutes before the exploit used the same route later used for the proceeds. This is consistent with a test of the exchange deposit route, but the chain records only the transfer and its timing, not the sender’s intent.
How the overflow worked
The affected code kept a running total of all transaction outputs.
The attacker selected output values that crossed the 64-bit boundary by a precise amount. Once the total wrapped around, the software saw a value slightly lower than the real transaction input.
The calculation recorded in the removed chain history was:
| Calculation | ELA |
|---|---|
| Value put into the transaction | 24.05641496 |
| True sum of the outputs | 184,467,440,761.15192612 |
| Relevant 64-bit boundary | 184,467,440,737.09551616 |
| Total calculated after wrapping | 24.05640996 |
| Apparent transaction fee | 0.00000500 |
The software saw an input of 24.05641496 ELA and a calculated output total of 24.05640996 ELA. It treated the difference as a valid fee and accepted the transaction.
In reality, one output contained more than 92 billion ELA.
The values had to be calculated around a specific numerical boundary. This could not be produced through normal wallet activity or an accidental user input.
The same technique was used six times during the affected period. Three later transactions created 30,285 outputs each, spreading fabricated value across roughly 90,000 addresses and making the smaller exchange-bound transfers harder to identify.
How the network stopped
After reporting the incident, mining pools independently stopped producing blocks. Council nodes and BPoS validators did the same. Each operator controlled their own software and infrastructure, but they reached the same decision after the abnormal activity became clear.
The chain stopped at block 2,260,595.
The address that received the fabricated value was locked under the recovery rules, preventing funds from being sent from it or into it.
How the chain was recovered
The corrected release made two changes.
First, the chain was rewound to block 2,260,450, the final unaffected block. The exploit transaction at block 2,260,451 and every later block in the affected period were removed.
Second, the transaction rules were corrected. The software now checks the permitted monetary range for every output and for the combined total. A transaction that could overflow the running total is rejected before the values are added.
Operators adopted the corrected release independently. Once enough mining pools and validators accepted the restored history, it became the active Elastos chain.
The Elastos main chain is now producing and finalising blocks through BPoS normally.
What this means for ELA holders
Balances confirmed before block 2,260,451 remain unchanged.
If you sent a transaction between the exploit and the pause, it may have been included in one of the 145 blocks removed by the rewind. Check whether the transaction appears on the restored chain.
If it is missing, the funds returned to the sending address and the transaction can be sent again.
No legitimate balance was destroyed by the recovery. A small number of ordinary transactions were delayed because their blocks were removed.
If you need help confirming a transaction, contact the team through the official Elastos Telegram group. Be ready to prove that you control the address involved.
Never share your private key or seed phrase. Elastos will not ask for either.
Sidechains and the July 13 incident
ESC, EID, and the cross-chain bridge remain paused while their changes and recovery procedures undergo audit.
They are expected to resume in the coming weeks after the audits, validator checks, and restart rehearsals are complete. Separate notices will confirm the timing and any action required from node operators, exchanges, or other services.
Restoring the main chain did not automatically restart the sidechains or the bridge. Each service must complete its own review before returning.
The July 13 incident was separate from the July 20 main-chain overflow exploit. It affected the reserve backing between the Elastos main chain and ESC.
1,585,252.004 ELA connected to the July 13 incident remains frozen. A forthcoming main-chain release is planned to credit that amount back to the ESC reserve, restoring complete one-to-one backing between ELA represented on ESC and ELA held on the main chain.
More information about the earlier incident is available in the July 15 security notice.
Funds and exchange exposure
The exploit fabricated ELA far beyond the legitimate supply. Almost all of it existed only in blocks that were later removed.
Once those blocks were discarded, that ELA ceased to exist on the restored chain.
The main exchange exposure came from 914,748.985 ELA traced to KuCoin Exchange across 15 transactions before block production stopped.
KuCoin reported that it had frozen 500,000 ELA associated with the incident. Work with the exchange on the remaining exposure is continuing.
On the restored chain, the fabricated deposits from that period are not spendable ELA. KuCoin-side balances from that window are being reconciled with the exchange as part of the ongoing recovery process.
Elastos has asked KuCoin to preserve the frozen balance and any other assets connected to the incident while the accounting and recovery discussions continue.
No other exchange received proceeds from the exploit. The tracing found no affected deposits to CoinEX, Gate.io, MEXC, or any other trading venue.

What the rewind removed
The removed period covered:
- 145 blocks
- 341 total transactions
- 294 protocol-generated records
- 35 attacker transactions
- 6 ordinary KuCoin withdrawals
- 6 other ordinary user transactions
The 294 protocol records consisted mainly of block rewards, sponsor records, and routine consensus rotation notices. They did not move user funds.
The six KuCoin transactions were normal customer withdrawals totalling 27,393.795 ELA. The rewind returned those funds to KuCoin, so the exchange did not lose the ELA used in those withdrawals.
Six unrelated user transactions were also removed:
| Block | Type | Amount | Transaction ID |
|---|---|---|---|
| 2,260,502 | Transfer | 7.70809775 ELA | 82f35a70242b0e76516d33690a68dae635da6bd93b92180d5996ca040b0326cd |
| 2,260,519 | Transfer | 0.89971000 ELA | d7bdc000d4c67ce97414fe0fa0410b1e94190bfeb91e9b4f78c06cba5a633236 |
| 2,260,546 | Staking reward claim | 1.00918647 ELA | 817294d0c1960f6948a62fce4b487a5f104c66bdea581c54d7003e618ea182ca |
| 2,260,547 | Staking reward withdrawal | 4.26169608 ELA | 05517b3c939ad26aca680178468acf95ed7888a4afe47e3c1230d9dc83672dda |
| 2,260,579 | BPoS vote | 17.26157423 ELA | a6f39373368f858d905fcb6e1215d92c17171d6d88c96b2d328c0417c9a709aa |
| 2,260,535 | Transfer into KuCoin | 0.39900000 ELA | ab53d66dc17e9a4e5d3285130219af14e11be3cf2aaa2f5f18d77647fb12f7bc |
Each transaction used ELA that existed before the incident. The rewind returned the funds or voting balance to the original owner.
If one of these transactions is yours, or another transaction from the removed period no longer appears on the restored chain, contact the team through the official Elastos Telegram group with proof that you control the sending address.
Never provide your seed phrase or private key.
These figures were produced transaction by transaction from a frozen copy of the pre-recovery chain. They are not estimates.
What the tracing showed
The attacker sent the exchange-bound funds through seven deposit addresses.
Each address behaved like an exchange deposit address. It received funds, forwarded nearly the entire balance to one larger exchange wallet, subtracted only the network fee, and showed no other activity.
Four of the seven addresses had been used before.
Between January and February 2026, the same four addresses received funds from a separate Elastos wallet with a long history of ordinary activity. That wallet had been active since August 2023.
Both the earlier transfers and the July 20 exploit proceeds were forwarded through the same four deposit addresses into the same exchange wallet.
This is an on-chain observation, not an assertion about identity or control.
A public blockchain can show that addresses were reused and where funds moved. It cannot establish who controlled the related exchange account. The full tracing has been provided to KuCoin and the relevant authorities.

What is changing
The recovery corrects the immediate vulnerability, but further work is already underway.
- Transaction validation: Every output and the combined transaction total must remain within the legal monetary range. Values that could overflow are rejected before addition.
- Continuous supply monitoring: New monitoring will compare the amount of ELA in existence against what the protocol permits. Any unexplained change will trigger an alert.
- Independent audit: The corrected code is being prepared for review by parties outside the core development team. The findings will be published.
- Wider arithmetic review: Every consensus-sensitive location that adds or compares monetary values is being reviewed, not only the function involved in this incident.
- Sidechain backing: The separate 1,585,252.004 ELA reserve matter from July 13 will be handled through a forthcoming release intended to restore full one-to-one backing.
What comes next
- The corrected main-chain code is being prepared for independent audit.
- Work with KuCoin continues around the associated account, the frozen balance it reported, and any assets obtained from the fabricated ELA.
- Chain health, validator participation, and the frozen addresses will continue to be monitored.
- ESC, EID, and the cross-chain bridge will remain paused until their audits and restart checks are complete. They are expected to resume in the coming weeks, with separate notices published before service returns.
- A final reconciled accounting will be released once the exchange process concludes and confidential handling details can be disclosed safely.
The network stopped because its independent operators chose to stop. It restarted after the corrected software was tested against real chain data and adopted by enough independent participants to restore consensus.
Thank you to every mining pool, Council node operator, and BPoS validator who stopped when the network needed protection and returned when the corrected chain was ready.
The Elastos DAO / ElacityLabs
