Axiom Copy Trader is a simple Python bot that enables copy trading of wallets using the Axiom.trade WebSocket. It listens for buy/sell signals and automatically trades Solana memecoins/tokens accordingly.
- This project is not affiliated with Axiom.trade, and they do not endorse or support it in any way.
- This is not an official product of Axiom.trade.
- The bot has not been extensively tested, and I do not take responsibility for any losses incurred while using it.
- I do not recommend putting money on it. Use it at your own risk.
- The Raydium BUY transaction is disabled by default because it has not been tested yet. See below for enabling it.
If you wish to create an account on Axiom.trade, you can use my referral link: Sign up on Axiom.trade
-
Clone this repository:
git clone https://github.com/calvet/axiom_copy_trader.git cd axiom_copy_trader
-
Install required dependencies:
pip install -r requirements.txt
-
Set up your environment variables by creating a
.env
file with the following format:RPC_URL_PUMP_FUN=https://api.mainnet-beta.solana.com RPC_URL_RAYDIUM=https://api.mainnet-beta.solana.com WALLET_PUBLIC_KEY=your_public_key_here WALLET_PRIVATE_KEY=your_private_key_here TRACK_WALLETS=4ugZWiyAYH7auVajf3axVykxTLsc13cx9oHCzETUjc21 SOL_IN=0.01 MAX_SOL_SPEND=0.1 MAX_SLIPPAGE=35 ALLOW_REBUY=false MAX_BUY_ATTEMPTS=1 DEBUG=false
- RPC_URL_PUMP_FUN: The RPC URL used for transactions on Pump.fun.
- RPC_URL_RAYDIUM: The RPC URL used for transactions on Raydium.
- WALLET_PUBLIC_KEY: Your Solana wallet public key.
- WALLET_PRIVATE_KEY: Your private key in Base58 format (can be extracted from Phantom Wallet - Guide).
- TRACK_WALLETS: Wallets to track for copy trading. Multiple wallets can be separated using
|
(e.g.,wallet1|wallet2|wallet3
). - SOL_IN: The fixed amount of SOL to use for each buy order.
- MAX_SOL_SPEND: The maximum amount of SOL that can be spent while the bot is running. If set to
0
, there is no limit. - MAX_SLIPPAGE: The maximum slippage allowed for transactions before they fail.
- ALLOW_REBUY: Defines whether the bot is allowed to rebuy the same token (
true
orfalse
). - MAX_BUY_ATTEMPTS: The maximum number of times the bot will retry a failed buy transaction before giving up.
- DEBUG: If set to
true
, it enables detailed logs, including packet logs from WebSockets, for debugging purposes.
-
Obtain your authentication token: You can obtain the authentication token by opening the Axiom.trade website in Google Chrome, going to the Network tab in Developer Tools (F12 or Ctrl+Shift+I), and finding the first request that returns the token.
-
Add your authentication token to
cookie.txt
:auth-refresh-token=your_refresh_token_here; auth-access-token=your_access_token_here;
By default, buy transactions for tokens on Raydium are disabled because they have not been tested deeply. If you want to enable it, uncomment the following line in the code at line 433:
# 'buy': lambda: sell_token('ra', token_name, token_address, max_slippage),
Run the bot with:
python main.py
This project was made possible thanks to:
These libraries provide the necessary contract functionality for Pump.fun and Raydium.
If you find this project useful and want to support future development, feel free to donate to my Solana wallet:
4ugZWiyAYH7auVajf3axVykxTLsc13cx9oHCzETUjc21
Any contribution is greatly appreciated!