This is a guide of the actions I took to extract my coins from PantherSwap after its UI went down on March 30, 2022. These steps may not work for your specific situation and could result in total loss if you’re not careful. This is not financial advice and you should do your own research. If you choose to follow this guide it is done at your own risk. This guide is matter-of-fact only as it pertained to my process. If you decide to follow my steps I suggest you make small withdrawal attempts to ensure it works for you before taking significant financial positions.
Find your PID
- Find a Deposit transaction you made on BSC scan before pantherswap shutdown and click on it
- Scroll down and you’ll see a hyperlink that says “Click to see More”, click that hyperlink. The menu will expand and you’ll see a section labeled “Input Data.”
- There are two gray buttons there, click “Decode Input Data” and you’ll see a variable called _pid. You want the number from the “Data” column. For example, PanterSwap _pid 16 is for Panther/BUSD and _pid17 is for Panther\BNB
How to remove liquidity using BSC Scan
- Go to PantherSwap’s MasterChef 0x058451c62b96c594ad984370eda8b6fd7197bbd4
- Go to the MasterChef address and click on “Contract” (a tab to the left of Transactions, may have a green check mark)
- Click “Write Contract”
- Click “Connect to Web3” and connect to one of the wallets available
4a. If you don’t have one, get one, then import your existing BSC wallet into that new wallet
- Scroll to the “emergencyWithdraw” section and enter the _pid for the liquidity pool you participate in
- After entering the _pid into the text field in the emergencyWithdraw click “Write”, your wallet should now open and allow you to approve a transaction. Click the approve button and wait a minute or two then check your wallet. The liquidity should now be in your wallet
IF YOU PROCEED WITH STEP 6 ABOVE ALL LP TOKENS WILL BE IMMEDIATELY WITHDRAWN, IT MAY BE DIFFICULT TO RE-STAKE WITHOUT UI ACCESS
- See an example, transaction hashs 0xd129cf47559f45d120269986bb762dc662ea4de14d5f0b6a5140a59dce6db63d and 0xaf59cd1f086796cb2232cb5222e3712781733ad745999297937094ac389d2107
Convert your LP tokens to their base pairs
- Next it’s necessary to approve a contract to trade on address 0xC24AD5197DaeFD97DF28C70AcbDF17d9fF92a49B, go to that address, and click on “Contract” again
- Click on “Write Contract”, click on “Connect to Web3”, and connect your wallet
- Find the function labeled “approve” and add the following
3a. Spender: 0x24f7C33ae5f77e2A9ECeed7EA858B4ca2fa1B7eC
3b. Value: 115792089237316195423570985008687907853269984665640564039457584007913129639935
3c. See an example with transaction hash 0x75823c9d06b8c8b58f3e9ab3948acd00ab8e49163ea1117371dd73389bb39ecf
- Click “Write” to create the smart contract and approve it in your wallet. You’re now ready to split the LP into its base pairs
- Go to the address 0x24f7C33ae5f77e2A9ECeed7EA858B4ca2fa1B7eC, click “Contract”, “Write Contract”, an scroll down to the function “removeLiquidity”
5a. IMPORTANT – do not use any other function except this one to extract the base pairs for your liquidity
- Use the following for:
6(a)i. tokenA: 0x1f546aD641B56b86fD9dCEAc473d1C7a357276B7
6(a)ii. tokenB: 0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c
6(a)iii. liquidity: SEE DISCUSSION BELOW
6(a)iv. amountAMin: SEE DISCUSSION BELOW
6(a)v. amountBMin: SEE DISCUSSION BELOW
6(a)vi. to: !!!YOUR BSC WALLET ADDRESS!!!
6(a)vii. Deadline: 9999999999
If you want to use a more accurate Epoch time, google epoch time, get the current value and add 300. So if the current epoch time is 1648767112 you’ll want to use 1648767412 (notice the third to last digit changed). That will give you 5 minutes to complete the transaction. Each time you submit to remove liquidity update the epoch time
6(b)i. tokenA: 0x1f546aD641B56b86fD9dCEAc473d1C7a357276B7
6(b)ii. tokenB: 0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56
6(b)iii. liquidity: SEE DISCUSSION BELOW
6(b)iv. amountAMin: SEE DISCUSSION BELOW
6(b)v. amountBMin: SEE DISCUSSION BELOW
6(b)vi. to: !!!YOUR BSC WALLET ADDRESS!!!
6(b)vii. Deadline: SEE ABOVE
6(c)i. I had to play around with these numbers to get it to work correctly to get my first transaction to work I used:
6(c)i1 Liquidity: 24884133252241327
6(c)i2 amountAMin: 1000000
6(c)i3 amountBMin: 1000000
6(c)ii. When the transaction (0x609b540b2f069a7e3a21d9c8ab48ff352c1b033f58ffdca85d1afd70b8825a16) executed I withdrew 0.024884133252241327 of LP into its base pairs. From there I increased the “liquidity” amount and “min” amounts to make faster withdrawals. See subsequent “Remove Liquidity” transactions and click the “Click to see More” to view the inputs
- After entering all the values (and playing around with the liquidity & min values) click “Write” to create the smart contract and then approve the transaction. Wait a minute or two and check your wallet. The base pair coins should now be present.
- Repeat the process for all your coins until everything is withdrawn
Swap Panther for something else
- Go to PancakeSwap and click “Trade” in the top left corner area
- Arrange the swap so you’ll receive your coin of choice, I chose BUSD
- In the top coin, click the hyperlink and search for Panther. Once found add it and start swapping your Panther to something else.
3a. It might be necessary to adjust your slippage tolerance (as I had to). To do so, click the cog to the right of the word “Swap” and alter the slippage tolerance in the middle of the modal that popped up. I had to use 5% in order to get my transactions to go through.
That’s it, hope this helped you! If you need more examples of the manual transactions I did look at my wallet, 0x4cA26f2F3e21E0b433fa196c975Bb8bdA965D37b, for transactions that spanned from time stamps 2022-03-31 1:00:39 UTC to 2022-04-01 0:12:12 UTC
Also, big shout out to D-Miner, without whose guidance I would not have been successful. Gotta give credit where it’s due.