Developed by Cogumellum
A simple, straightforward, and multi-wallet automation bot for the Arc Testnet. It allows you to perform the main testnet interactions (Mint, Deploy, Register) automatically for all your wallets, without relying on API keys.
- ✅ Simple and Direct - Focused only on the essentials.
- ✅ Fully Functional - Executes Mint + Deploy + Register.
- ✅ Multi-Wallet - Automatically processes all wallets from your
pv.txtfile. - ✅ Proxy Support - Native proxy support for each wallet.
Before you start, you will need two essential programs installed on your computer:
- Node.js: Required to run the bot script (LTS version 18+ is recommended).
- Git: Required to download the files from the GitHub repository.
Follow these steps exactly to set up and run the bot from scratch.
You need a command-line interface to run the bot.
- On Windows:
- Press the
Windows Key + Ron your keyboard. - Type
cmdand pressEnter.
- Press the
Or you can simply click the Windows Key and type cmd.

Now, let's download (clone) the files from GitHub.
-
Clone the GitHub repository:
git clone https://github.com/v325-max/Arc-Netwok-Testnet-Automation.git
-
In the terminal you just opened, create a folder for the bot and enter it. You can copy and paste these commands:
cd Arc-Netwok-Testnet-Automation
(Note: The
.at the end downloads the files directly into your current folder.)
The bot needs some libraries (packages) to work.
- Still inside the
Arc-Netwok-Testnet-Automationfolder in your terminal, run the following command to install everything needed:npm install ethers readline fs https http https-proxy-agent dotenv
- Wait for the installation to complete.
This is the most important part. You need to tell the bot which wallets to use.
-
In the same folder where the bot files are (e.g.,
Arc-Netwok-Testnet-Automation), create a new text file namedpv.txt. -
Open this
pv.txtfile with a text editor (like Notepad). -
Add your private keys, one per line, in the format:
PRIVATE_KEY:WALLET_NAMEExample
pv.txt:0xYourVeryLongPrivateKey123:MyWallet1 0xAnotherSuperSecretPrivateKey456:MyWallet2 0xOneMoreKey789abc:JohnsWallet
*(**Optional - With Proxy**): If you want to use proxies, the format is `45.3.xxx.xxx:xx`*
```
45.3.xxx.xxx:xx
104.xxx.xxx.xx:xxxx
154.xxx.xxx.xx:xxx
```
*You can also use a `proxy.txt` file (see the advanced configuration section).*
After installation and setup, using the bot is simple:
Your wallets need funds to pay for "gas" (transaction fees) on the testnet.
- In your terminal, inside the bot's folder, run:
node arc-bot.js
- From the main menu, choose Option 4: 💧 Manual Faucet Guide.
- The bot will show the address for your first wallet and the instructions.
- Go to the site: https://faucet.circle.com/
- Select the Arc Testnet network, paste your wallet address, and request the tokens.
- The Circle faucet has a limit (usually 1 request per hour per IP/address).
- Go back to the bot, press Enter to see the next wallet, and repeat the process for all of them.
After your wallets have a balance (testnet ETH), you can run the automation.
- Start the bot (if not already open):
node arc-bot.js
- From the main menu, choose Option 5: 🚀 AUTO ALL.
- The bot will:
- Check the balance of all wallets in
pv.txt. - Ask if you want to proceed only with the ones that have a balance.
- Execute the 3 operations (Mint NFT, Deploy Token, Register Name) for each valid wallet, one after the other.
- Check the balance of all wallets in
- Sit back and let the bot work!
════════════════════════════════════════════════════════════
MAIN MENU
════════════════════════════════════════════════════════════
1. Mint NFT
2. Deploy Token
3. Register Name
4. 💧 Manual Faucet Guide
5. 🚀 AUTO ALL (Check + Mint + Deploy + Register)
6. Check All Balances
7. View Statistics
8. Exit
════════════════════════════════════════════════════════════
- 1. Mint NFT: Mint a standard testnet NFT. You can choose how many transactions to make per wallet.
- 2. Deploy Token: Create and deploy a new ERC20 token on the testnet. You define the name, symbol, and supply.
- 3. Register Name: Register a domain name on the Arc Name Service (similar to ENS).
- 4. 💧 Manual Faucet Guide: A step-by-step guide to get test tokens (ETH and USDC) from the official Circle faucet.
- 5. 🚀 AUTO ALL: The main function. Checks balances and runs Mint, Deploy, and Register for all valid wallets.
- 6. Check All Balances: Checks and displays the ETH balance for all wallets in your
pv.txt. - 7. View Statistics: Shows stats for the current session (total transactions, successes, failures, etc.).
- 8. Exit: Quits the bot.
arc-bot-project/
├── arc-bot.js # The main bot script
├── pv.txt # (REQUIRED) Your private keys
├── proxy.txt # (OPTIONAL) List of proxies
└── README.md # This file
If you prefer to manage proxies in a separate file (instead of in pv.txt), create proxy.txt. The bot will rotate through this list for each wallet.
Format (one per line):
ip:port
ip:port:user:pass
You can edit the arc-bot.js file to change advanced settings (lines ~26-32):
const CONFIG = {
MIN_BALANCE: 0.001, // Minimum ETH balance required to run
RETRY_ATTEMPTS: 3, // Retries per operation
RETRY_DELAY: 5000, // Delay between retries (5s)
TX_WAIT_TIME: 10000, // Wait for TX confirmation (10s)
};- NEVER share your
pv.txtfile or your private keys with anyone. - The author is not responsible for any lost funds. This bot is intended for use on the TESTNET only.
- If you use GitHub to store your code, add
pv.txtandproxy.txtto your.gitignorefile to avoid accidentally uploading them to the internet.
-
Error: "Limit exceeded" at the faucet
- Cause: You requested tokens less than 1 hour ago.
- Solution: Wait for 1 full hour and try again.
-
Error: "Insufficient balance" in the bot
- Cause: The wallet does not have enough testnet ETH.
- Solution: Use Option 4 and get more tokens from the faucet.
-
Error: "Invalid private key"
- Cause: The private key in
pv.txtis formatted incorrectly (e.g., has spaces, is missing0x, etc.). - Solution: Double-check your
pv.txtfile and correct the key.
- Cause: The private key in
-
Error: Transaction Failed
- Cause: The network is busy, or there was insufficient gas.
- Solution: The bot will retry automatically (up to
RETRY_ATTEMPTS). If it keeps failing, try again later.