Thetan Arena Sniper is a tool to buy cheap thetans NFTs quickly. It interacts with BSC Blockchain to buy thetans as fast as possible.
Explore the docs »
Report Bug
·
Request Feature
Table of Contents
There are a few things you need to know before using the bot. There are some variables that can be changed according to your need, they are in constants file.
First, this bot selects the cheap characters through the Expected Earn Rate which is the percentage of profit in relation to the purchase price and the possible sale price.
The sales price estimate is based on how much profit a character can generate. When the win rate is 40%, we estimate the sale price to the same amount which would make the character generate a profit. You can adjust this value in the constants file in BATTLE_WIN_RATE. You can check how much the character generates by 40% in the Thetan Arena Tool.
These are the constants I recommend tweaking:
- MARKETPLACE_BUY_GAS -> The amount of Gwei you can spend, I've generally seen bots using from 200000 to 500000
- MARKETPLACE_MAX_GAS_PRICE -> The maximum price you can spend on each unit of gas, for example, you are willing to spend up to 0.1BNB of gas, so MARKETPLACE_MAX_GAS_PRICE = (0.1BNB / 10^-9 * MARKETPLACE_BUY_GAS). An example with MARKETPLACE_BUY_GAS at 240000 and a max gas of 0.1BNB, the MARKETPLACE_MAX_GAS_PRICE will be 416.
- MARKETPLACE_MIN_GAS_PRICE: -> The minimum price you can spend on each unit of gas, 7 gwei is a fair value.
- MARKETPLACE_PROFIT_TO_GAS_RATIO: -> // Percentage of the profit that could be used as gas, due to bot competition it's usually around 75%.
- BATTLE_WIN_RATE -> The win percentage that will be used to calculate the sale price.
- MIN_THETAN_PRICE_WBNB -> The minimum price the bot will consider to buy a character, on WBNB.
- MAX_THETAN_PRICE_WBNB -> The maximum price the bot will consider to buy a character, in WBNB.
I recommend placing the bot on a server in the US to be closer to the game server and thus be able to see the characters faster. I used an EC2 from Amazon AWS at the us-east-1 location.
- Watch the marketplace for good opportunities
- Automatically buy new and cheap thetans from marketplace
- Automatically buy BNB for gas fees when the balance is low
- Dinamically estimate gas fee for each transaction based on the possible profit
- Fast (become even faster if you put it on a US server), it does not miss a block.
- Saves a record of all transactions in a log file
- [TODO]
Automatically sell thetans - [TODO]
Mempool monitoring to front run thetans
- Node.js - A JavaScript runtime build on Chrome's V8 JS engine
- Web3.js - A library for interacting with blockchain networks and smart contracts
To get a local copy up and running follow these simple steps.
-
Clone the repo
git clone https://github.com/xandao6/thetan-arena-sniper.git
-
Install dependencies
cd thetan-arena-sniper npm install # or yarn install
-
Set environment variables. Create a ".env" file based on ".env.example".
- BSC_PROVIDER - The URL of the BSC node, use this one for mainnet: https://bsc-dataseed1.binance.org:443
- WALLET_PRIVATE_KEY - Your wallet private key, you can find it on Metamask -> Account Details -> Export Private Key You should append the 0x to the private key. I recommend creating a new wallet just for this project, fill with some BNB for gas and with WBNB to buy thetans.
- IS_TESTNET -> Set it to false if you are using mainnet on BSC_PROVIDER
-
Install pm2 to run the application as a service
npm install pm2 -g
Install Thetan Arena Sniper in EC2 Server:
- Connect to EC2 server
ssh -i <pem-file-credential-path> <instance-user-name>@<instance-public-dns-name>
- Copy dist folder to the server
scp -i <pem-file-credential-path> -r ./dist <instance-user-name>@<instance-public-dns-name>:/home/<instance-user-name>/thetan-arena-sniper/
- Copy .env file
scp -i <pem-file-credential-path> ./.env <instance-user-name>@<instance-public-dns-name>:/home/<instance-user-name>/thetan-arena-sniper/.env
- Copy package.json
scp -i <pem-file-credential-path> ./package.json <instance-user-name>@<instance-public-dns-name>:/home/<instance-user-name>/thetan-arena-sniper/package.json
-
Update ec2:
sudo yum update -y
-
Install git:
sudo yum install git -y
-
Install node:
curl -L https://git.io/n-install | bash -s -- -y
-
Run inside thetan-arena-sniper folder:
npm install
-
Install pm2:
npm install pm2 -g
-
Run application:
pm2 start main.js -- 0.3
-
Monitor with
pm2 monit
-
Generate a version of the application
npm run build # or yarn build
-
Run:
# pm2 start ./dist/main.js -- <Earn expect percentage (example: 0.3)> pm2 start ./dist/main.js -- 0.3
-
Monitor:
pm2 monit
-
Stop:
pm2 stop all
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
Free software =)
Alexandre Calil - @xandao6 - [email protected]
Project Link: https://github.com/xandao6/thetan-arena-sniper
- typescript - strongly typed JavaScript
- ts-node-dev - npm run dev with typescript support
- dotenv - environment variables
- beeper - beep sound on terminal
- set-interval-async - Async set interval
- simple-node-logger - A simple logger for Node.js
- undici - The fastest HTTP client for Node.js
- pm2 - A Node.js process manager