Unlocking Legacy Tokens

Legacy Wrappers

From time to time, due to a variety of factors from site protection to upgrades, we need to update our contracts. While extremely rare, this would mean users may have funds in legacy contracts. 

To access legacy balances for further trading, users are required to unlock them from these legacy wrappers and re-lock them in the live version.

The process involves interacting with the legacy wrapper via Etherscan in order to unlock your tokens:

Please note that it is possible to interact with the legacy wrappers via other site like myetherwallet, but this tutorial will focus on the unlocking method via Etherscan


A browser with Metamask installed. (If using a Hardware wallet, you'd need to first install Metamask, and then Connect your hardware wallet to Metamask)
Link to the legacy wrapper contract. Please find below the links to each of the contracts:


MKRW - 0x38ae374ecf4db50b0ff37125b591a04997106a32[](https://etherscan.io/address/0x38ae374ecf4db50b0ff37125b591a04997106a32)
ETHW - 0xaA7427D8f17D87a28F5e1ba3aDBB270bAdbe1011
BATW - 0xe82cfc4713598dc7244368cf5aca1b102a04ce33
NIOW - 0x680bf2eebf0ad9b183ac2ff88d16f5a4e41480e9
FUNW - 0xB33CE6b1e48F450b4c6D4C0A3f281237Eeea2DEc
EDOW - 0xAb056A8119BB91ca50631Bd319eE3DF654bEBfa2
SNTW - 0x8AA72DD6045505836F643B39b82e70Fd705F9686
SANW - 0xB0Abd4cC5195560209492b6854c666d7CFF8C03c
REPW - 0x1488f99d305990694e19b3e72f6f0307cfa1df4e
OMGW - 0x60f8526f09caaF0008187945ccd88Bc43790042C
ZRXW - 0xcf67d7a481ceeca0a77f658991a00366fed558f7
SPANK - 0x70B04d0684EA9Dc0c8e244E0A1453744350F3864
DAIW - 0xD9ebeBfDab08c643C5f2837632De920c70A56247
USDTW - 0x1a9B2d827F26B7d7C18fEC4c1B27c1E8dEeBa26e


ETH - 0x50cb61afa3f023d17276dcfb35abf85c710d1cff
USDt - 0x33d019eb137b853f0cdf555a5d5bd2749135ac31
WBT - 0xff33b21bc54aee753891a15e72b7a152a5a782dc
MKR - 0x91cf769a44e9d09b8e249886d0de4dbe0aa998f9
DAI - 0x2cd04bb68786834f199ce12074da7b8832129fe1
USDC - 0x0890fbf0f9b3d55a7e3f251b6afcbe691a29873b
BAT - 0x1c0f17436740bfb92c1070ee86322de890837c6a
NEC - 0xfe65d1ba9a745b131dad1a066861bb5d9ce4767b
OMG - 0xb5dfdfb2a1c97b329361d261239c51e5f88d035d
ZRX - 0x7a6201a60d015e9d39530ddbaf0a6e8df67773f0
SNT - 0x7becbc91db4eb3c5e9a6cda1db391ee648e53779
SAN - 0x3bc26582062fd8aaa084ee874f6764718c398203
EDO - 0xf6d7e24ff16195a9f5c5df431ef4b3f78c23bf6d
FUN - 0xbf06ea47c2cc300da596767024f87777d7e41d72
REP - 0x5ee39beffcda53c5fa2890c2161247582e2210bb
SPK - 0xab0cd9fabcd3487cf22eb0b6a8c3ec1c0e00e643
ENJ - 0x3f46e145dfcd84230c8e0684efb8bce3f0965fba
TKN - 0xbf86f56cd4592fed0d7893e12461e19fcbbf0cd5
TUSD - 0x243318cb80785ab92f2c39543cb58958320e64b2
PNK - 0x3ad9539c143b335794bac9211aa5491daeda85bf
XAUT - 0x134c16be1e0f19ce41855b71e0e29fba539728e9
AMP - 0xb2b9d7ba7b7e5fb4e51a8bac83fd43e90c947dc5
BTC - 0x704d3b8bd25064760ae86ec11b77f303d147dcab
DUSK - 0xa249c95d5d80935f9cd53a57fb12f01a8a1d059f

How to

Step 1:

Navigate to the appropriate wrapper where your funds are. For this example we'll be using the DAIW contract. Please have your ETH address where your funds are copied. Click on the contract tab as shown below:

Step 2:

Click on the Read Contract button:

Step 3:

We need to get the exact number for the locked balance, so proceed to option 4 - Balances, in the read contract information. Enter in your ETH address and then click query. The exact amount that you have locked will then be shown. Copy this number for the next step. 

Step 4:

Proceed to the Write Contract tab this time. Underneath it should display a red icon with the words 'Write Contract'. Click on the option 'Connect to Web3'. This will connect to Metamask. You will need to sign the message via Metamask to complete the connection. The red icon will change to green once connection to Metamask has been made.

Step 5:

In the second option, Withdraw, enter in the number copied in step 3 into the _value field.  

Proceed to enter the following into the next 3 fields: v = 0; r = 0x0; s = 0x0. 

For the signatureValiduntilBlock field, we need to enter a block number in the future. To find the current block number, navigate to the Etherscan home page, and note the number under 'Latest block':

To ensure that the signature won't time out when interacting with the contract, it's good to add at least 30 blocks to the current block to be on the safe side. So in the example above 9266203 becomes 9266233. We'd then place this number into the signatureValidUntilBlock field. So all together you should have something like this:

Step 6:

Proceed to click on the write button. You'll need to then enter a gas cost. How much gas you enter is entirely up to you, but if it's too low it might go beyond the signature valid time, so it's good to enter in a bit more. To do this click on the edit option in the gas amount section in metamask, then the advanced tab. You can then choose the average or fast option. You then need to accept the amount and click through on your hardware wallet if you are using one. 

Step 7:

Voila! That should be it! After the transaction has processed you will see your updated balance with your tokens successfully unlocked and withdrawn from the wrapper contract! If you have any further queries or are stuck in any way, please stop by our Telegram or raise a ticket here.
Was this article helpful?
Thank you!