Moving Forward: Successful Migration of 25,000+ Holders to V2
By DeHub Team — 2022-10-02
Following the contract malfunction, we migrated more than 25,000 token holders to the v2 contract in Q4 2022.
The position we were in
Worth stating honestly. The tax triggers had malfunctioned, the token and the liquidity pool were frozen, and holders could not access positions they legitimately owned.
The fix required them to act — to move to a new contract — at the exact moment their reason to trust our instructions was weakest. That is the hardest possible context in which to run an operation of this size, and there was no version where we did not have to.
What made it work
We had done it right once before. After the v1 vulnerability, every holder was made whole 1:1, automatically, with no claim page and no deadline. That precedent was worth more in Q4 2022 than any communication we could have written, because the community had a prior example of how we behave when we break something.
The snapshot was published. Balances taken at a stated block, available for anyone to check their own figure against. Migration disputes are almost always disputes about the record, and a public record removes the argument.
No deadline that could strand anyone. Migration windows with hard cut-offs quietly transfer the cost of your failure onto whoever was on holiday. We were not willing to do that on an incident we caused.
One route, stated plainly. During a token incident, every additional path is an opportunity for someone to be phished. We kept it to a single documented process and repeated it rather than diversifying it.

The scam problem
This is worth its own paragraph, because it is the part people underestimate.
A publicised migration is an ideal environment for fraud. Holders are expecting to be told to take an unusual action involving their wallet, which is exactly the state attackers need. Every migration of this size attracts impersonators within hours.
Countermeasures were not technical. They were repetition, a single official route, and being extremely boring about it — the same instructions, the same places, no urgency language, no limited windows, nothing that would make a fake announcement blend in.
What it cost
Distribution and support at that scale is expensive and it was carried by us, which is the only defensible arrangement when the cause was our contract.
The slower cost was trust. A migration is a demand on people's attention and goodwill made at the worst possible moment, and some of it does not come back regardless of how well it is run.
Afterwards
V2 ran on plain standard ERC-20 tokenomics with nothing in the transfer path, and trading resumed on Gate.io the following quarter.
Twenty-five thousand holders is the number we report. What it actually represents is 25,000 individual decisions to follow instructions from a project that had just failed them.
What we would tell anyone facing the same
Do not compress the timeline to look decisive.
The instinct under this kind of pressure is to move fast, because speed reads as competence and every day of a frozen token is a day of visible failure. Speed is also what produces missed edge cases, ambiguous instructions and holders left behind — and unlike the original incident, those failures are ones you chose.
Publish the snapshot before you publish the process, so people can verify their own position before they are asked to act on anything. Say plainly that there is no deadline, and mean it. And accept that the communication load is not a distraction from the technical work, it is the larger half of the job.
We got most of that right, and we got it right because the v1 airdrop the previous year had already taught us the shape of it at a tenth of the scale.
Open DeHub