An automated minting bot for collecting Ethereum ERC-721s.
β οΈ Use at your own risk β οΈ
Minty Bot seeks to make it easy to collect NFTs without needing to know anything about the mint details. Using the Zora API, it scans the most recent mints and based on certain criteria it will decide whether or not to mint an NFT from a collection.
- Zora API
- Etherscan API
- Node.js
- Ethers.js
- ABI Decoder
zora
: Retrieves and formats NFT mint data from the Zora APIetherscan
: Retrieves Contract ABI and transaction input data for a minting contractcrypto
: Ether.js functions to submit the transactions to the blockchain
MAX_MINT_PRICE
- Max amount of ETH willing to pay for a mintMAX_GAS_PRICE
- Max gas price willing to pay for a mintMIN_SAMPLE_COUNT
- Minimum number/500 recent mints required to mint the NFTDELAY_SEC
- How often to run the check mint function in secondsETHERSCAN_API_KEY
- Etherscan API KeyBOT_ETH_ADDRESS
- ETH Address of the BotETH_PRIVATE_KEY
- ETH Private Key to the BotETH_RPC
- RPC endpoint to access an ETH nodeMIN_MINT_RAIO
- Minimum ratio of current minted amount to the max mint amount
Clone down the repo:
git clone https://github.com/anader123/minty-bot.git
Install packages: npm i
Create a .env
file: touch .env
Copy variables from .env.sample
into .env
Add BOT_ETH_ADDRESS
and ETH_PRIVATE_KEY
to .env
Run node index.js
in the root to start the bot
Note, the bot won't run for the first time until after DELAY_SEC
amount of time has gone by.