This is a tool to extract funds from the token.store (ETH) decentralized exchange.
It was made in collaboration with the token.store team.
Even if the website of a DEX dissapears, the funds deposited in the smart contract are still yours.
You just need a different way to interact with the token.store smart contract
ts-out is one way to interact with the contract and withdraw your tokens.
The token.store ETH decentralized exchange was supposed to shut down on June 22 2020.
After a short extension, the site stopped around July 12 2020.
Check the token.store media for info:
- All code is public on github, anyone can check that it isn't doing anything malicious.
- This tool is linked on the token.store twitter and website.
Please use MetaMask or a similar Web3 wallet, using private keys on a website is a bad idea.
If you don't trust this tool, you can always use the READ-ONLY mode to check your token balances, and withdraw them using an alternative method.
You don't need to cancel orders before withdrawing.
All your tokens show up in your balances, whether they are in an active order or not. If an order is not 100% filled, all the remaining tokens can be withdrawn at any time.
After withdrawing all your tokens, the order becomes invalid because there is nothing left to use in a trade.
An overview for all token.store trades can be found on the etherscan dex tracker or bloxy.
For a trade history of a single address try DeltaBalances trade history.
ERC20 tokens can have their settings changed by their creators. Some tokens get Paused, Locked or Disabled.
For example for a swap to a new smart contract or a different mainnet.
Contact the token creator with your issue, nobody else can move those tokens for you.
ts-out will prevent you from sending a failing transaction with the following warning:
For an example of what a locked token looks like, see this token.
- The majority of the transactions to this token fail
- The last token transfer was in july 2018
- Etherscan even has an announcement banner.
The token.store website only offered 2 ways to connect to the account: Private Key and Metamask. For simplicity this tool supports the same wallets as the exchange.
You can download and run this tool local on your own computer.
- Just download the files in this github repo
- For private key wallets, you can open index.html in your browser
- For MetaMask, you need to host index.html on a localhost server.
- If run this code on a different domain, you might need to replace the API keys for Etherscan and Infura in
config.js
, as those are limited to certain domains.
It won't work fully offline because it requires internet to check balances and send transactions.
(Requires MetaMask or another Web 3 wallet)
View the smart contract on etherscan and go to the contract tab.
- On Read Contract, check your balance using
balanceOf
- On the Write contract tab
- Click Connect to Web3 to enable your wallet
- use
withdrawToken
to withdraw ERC20 tokens orwithdraw
to withdraw ETH (0x000000000000000000000000000000000000000
) - Paste the exact amount copied from balanceOf
(works with nearly any type of wallet)
- Unlock your wallet
- Head to the Contract tab
- Enter contract address
0x1cE7AE555139c5EF5A57CC8d814a867ee6Ee33D8
- Copy the ABI from below from and paste it in ABI
- Now use
balanceOf
,withdrawToken
andwithdraw
just like instructed for Etherscan above. - Get your exact balance with
balanceOf
, and withdraw token withwithdrawToken
and ETH withwithdraw
. - Use a higher gas limit, a withdraw might take from 50000 to 250000 gas depending on the token, some even higher. (use the ts-out site in READ-ONLY mode to calculate this gas)
- Now use
Tokenstore Withdraw ABI
[{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_amount","type":"uint256"}],"name":"withdrawToken","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_token","type":"address"},{"name":"_user","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"}]
Exchanges like EtherDelta, ForkDelta and Bitcratic use a very similar smart contract. You can download their website to run it locally, and change the smart contract address in the config. Orderbooks and history shouldn't work, but withdrawing tokens is likely to work.