📚Config examples
Demo account config The demo account is using a Jito only strategy. With this strategy you won't land any failed transaction, and can work well with just one RPC. It purely uses RPC and gRPC(Yellowstone) from Shyft.to
The demo account is using a teraswitch machine(8 Core/32GB) in Amsterdam($150/m).
Fill in the following field in the config.yaml file(YELLOWSTONE is optional but recommended)
KEYS:
PRIVATE_KEY:
BIRDEYE_API_KEY:
YELLOWSTONE:
YELLOWSTONE_URL:
YELLOWSTONE_XTOKEN:
BOT:
RPC_URL:
Full config.yaml
KEYS:
PRIVATE_KEY:
BIRDEYE_API_KEY:
YELLOWSTONE:
YELLOWSTONE_URL:
YELLOWSTONE_XTOKEN:
JUPITER:
JUPITER_URL: http://0.0.0.0:18080
JUP_MAX_ACCOUNTS: 20
LOCAL_JUPITER_PORT: 18080
USE_DIRECT_ROUTE_ONLY: true
EXCLUDED_DEXES:
- 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P
- MoonCVVNZFSYkqNXP6bxHLPL6QQJiMagDL3qcqUQTrG
INTERMEDIUM_MINTS:
INTERMEDIUM_MINT_COUNT_FROM_BIRDEYE: 50
BOT:
RPC_URL:
AUTO_RESTART: 30
PROCESS_DELAY: 500
MAX_COMPUTE_TIME: 500
MIN_SOL_BALANCE: 1_000_000_000
ENABLE_SIMULATION: false
PULL_BLOCKHASH_WITH_YELLOWSTONE: false
JITO:
ENABLE_JITO: true
TIP_STRATEGIES:
- dynamic
- static
DYNAMIC_TIP_BP: 9000
STATIC_TIP_BP: 9000
USE_DIFFERENT_TX_FOR_BLOCK_ENGINES: true
BLOCK_ENGINES:
- ny
- amsterdam
- frankfurt
- tokyo
- slc
BASE_MINTS:
- MINT: So11111111111111111111111111111111111111112
MIN_PROFIT: 5_000
TRADE_RANGE:
FROM: 100_000_000
TO: 2_000_000_000
TRADE_RANGE_COUNT: 5
TRADE_RANGE_STRATEGY: linear
# You can remove the following section if you don't want to use USDC as base
- MINT: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
MIN_PROFIT: 5_000
TRADE_RANGE:
FROM: 50_000_000
TO: 500_000_000
TRADE_RANGE_COUNT: 5
TRADE_RANGE_STRATEGY: linear
Copy trade config The Spam account is using this config. This is a Jito config that copy the top players' mints and trying to find arb on them. This is just an example and is not a fully tuned config. You may need to adjust based on your setups.
https://www.circular.bot/trends is a good place to find the current best player.
Fill in the following field in the config.yaml file(YELLOWSTONE is optional but recommended)
KEYS:
PRIVATE_KEY:
BIRDEYE_API_KEY:
YELLOWSTONE:
YELLOWSTONE_URL:
YELLOWSTONE_XTOKEN:
BOT:
RPC_URL:
Full config.yaml
KEYS:
PRIVATE_KEY: ''
BIRDEYE_API_KEY: ''
YELLOWSTONE:
YELLOWSTONE_URL: ''
YELLOWSTONE_XTOKEN: ''
JUPITER:
JUPITER_RPC_URL: ''
MARKET_MODE: remote
DISABLE_LOCAL_JUPITER: false
JUPITER_URL: http://0.0.0.0:18080
JUP_MAX_ACCOUNTS: 20
LOCAL_JUPITER_PORT: 18080
USE_DIRECT_ROUTE_ONLY: true
EXCLUDED_DEXES:
- 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P
- MoonCVVNZFSYkqNXP6bxHLPL6QQJiMagDL3qcqUQTrG
INTERMEDIUM_MINTS:
INTERMEDIUM_MINT_COUNT_FROM_BIRDEYE: 0
INTERMEDIUM_MINT_COUNT_FROM_GECKO: 0
INTERMEDIUM_MINT_FROM_FILE: ''
INTERMEDIUM_MINT_EXCLUDE_FROM_FILE: 'exclude-mints.json'
INTERMEDIUM_MINT_FROM_ADDRESSES:
MAX_MINT_COUNT: 20
ADDRESSES:
- ADDRESS: 55NQkFDwwW8noThkL9Rd5ngbgUU36fYZeos1k5ZwjGdn
TX_COUNT_PER_ADDRESS: 20 # Number of latest transactions to check on start
SUCCESSFUL_ONLY: true # Only consider successful transactions
- ADDRESS: GuiU6MpLahPHSHYcsfSRjwLUm1AtZ9zP2eiLAkJMBjg
TX_COUNT_PER_ADDRESS: 20 # Number of latest transactions to check on start
SUCCESSFUL_ONLY: true # Only consider successful transactions
- ADDRESS: 54EiavhVatcFbcRHKm2swd6eB8reyib3kTkDGScoGjGK
TX_COUNT_PER_ADDRESS: 20 # Number of latest transactions to check on start
SUCCESSFUL_ONLY: true # Only consider successful transactions
BOT:
RPC_URL: ''
AUTO_RESTART: 30
PROCESS_DELAY: 100
MIN_SOL_BALANCE: 10_000_000_000
MAX_COMPUTE_TIME: 500
ENABLE_SIMULATION: false
SPAM:
ENABLE_SPAM: false
JITO:
ENABLE_JITO: true
SHOW_JITO_LOGS: false
JITO_UUID: ''
ENABLE_JITO_RPC: false
TIP_STRATEGIES:
- dynamic
- static
DYNAMIC_TIP_BP: 8655
STATIC_TIP_BP: 8655
BASE_MINTS:
- MINT: So11111111111111111111111111111111111111112
MIN_PROFIT: 500_000
TRADE_RANGE:
FROM: 2_000_000_000
TO: 10_000_000_000
TRADE_RANGE_COUNT: 3
TRADE_RANGE_STRATEGY: random
- MINT: So11111111111111111111111111111111111111112
MIN_PROFIT: 500_000
TRADE_RANGE:
FROM: 10_000_000_000
TO: 50_000_000_000
TRADE_RANGE_COUNT: 3
TRADE_RANGE_STRATEGY: random
exclude-mints.json
[
"So11111111111111111111111111111111111111112",
"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"
]
bloXroute config This is a mixed strategy using both jito and bloXroute.
The machines runs this is using the following hardware: CPU AMD Ryzen 9 7950X Cores/Threads 16c / 32t Memory (RAM) 128 GB And located in Amsterdam, the same location as Shyft RPC and Yellowstone.
Fill in the following field in the config.yaml file(YELLOWSTONE is optional but recommended)
KEYS:
PRIVATE_KEY:
BIRDEYE_API_KEY:
YELLOWSTONE:
YELLOWSTONE_URL:
YELLOWSTONE_XTOKEN:
BOT:
RPC_URL:
config.yaml
KEYS:
PRIVATE_KEY:
BIRDEYE_API_KEY:
YELLOWSTONE:
YELLOWSTONE_URL:
YELLOWSTONE_XTOKEN:
JUPITER:
MARKET_MODE: remote
JUPITER_URL: http://0.0.0.0:18080
JUP_MAX_ACCOUNTS: 20
LOCAL_JUPITER_PORT: 18080
USE_DIRECT_ROUTE_ONLY: true
EXCLUDED_DEXES:
- 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P
- MoonCVVNZFSYkqNXP6bxHLPL6QQJiMagDL3qcqUQTrG
INTERMEDIUM_MINTS:
INTERMEDIUM_MINT_COUNT_FROM_BIRDEYE: 100
BOT:
RPC_URL:
AUTO_RESTART: 120
PROCESS_DELAY: 1000
MAX_COMPUTE_TIME: 400
MIN_SOL_BALANCE: 1_000_000_000
WRAP_SOL_AMOUNT: 100_000_000
ENABLE_SIMULATION: false
PULL_BLOCKHASH_WITH_YELLOWSTONE: false
SPAM:
ENABLE_SPAM: true
SPAM_RESTRICT_LEVEL: 0
SKIP_PREFLIGHT: true
USE_DIFFERENT_TX_FOR_SENDERS: false
SKIP_SAME_OPPORTUNITY: false
FIXED_COMPUTE_UNIT_LIMIT: 0
COMPUTE_UNIT_PRICE: 100_000
PRIORITY_FEE_UPDATE_INTERVAL: 60
MAX_RETRIES: 0
SEND_RPC_URLS: []
BLOXROUTE:
ENABLE_BLOXROUTE: true
BLOXROUTE_REGION: 'ny'
JITO:
ENABLE_JITO: true
SHOW_JITO_LOGS: false
TIP_STRATEGIES:
- dynamic
- static
DYNAMIC_TIP_BP: 8222
STATIC_TIP_BP: 8222
USE_SEPARATE_TIP_ACCOUNT: false
USE_DIFFERENT_TX_FOR_BLOCK_ENGINES: true
BLOCK_ENGINES:
- ny
- amsterdam
- frankfurt
- tokyo
- slc
BASE_MINTS:
- MINT: So11111111111111111111111111111111111111112
MIN_PROFIT: 1_000_000
TRADE_RANGE:
FROM: 1_000_000_000
TO: 10_000_000_000
TRADE_RANGE_COUNT: 5
TRADE_RANGE_STRATEGY: random
Spam config This is an example config for how to use spam strategy. Note you need multiple good RPCs for sending, minimize all possible latencies, and tune it yourself to be profitable with spam strategy. Not everyone can be profitable with spam strategy.
Fill in the following field in the config.yaml file(YELLOWSTONE is optional but recommended)
KEYS:
PRIVATE_KEY:
BIRDEYE_API_KEY:
YELLOWSTONE:
YELLOWSTONE_URL:
YELLOWSTONE_XTOKEN:
BOT:
RPC_URL:
SPAM:
SEND_RPC_URLS:
config.yaml
KEYS:
PRIVATE_KEY: ''
BIRDEYE_API_KEY: ''
YELLOWSTONE:
YELLOWSTONE_URL: ''
YELLOWSTONE_XTOKEN: ''
JUPITER:
MARKET_MODE: remote
DISABLE_LOCAL_JUPITER: false
JUPITER_URL: http://0.0.0.0:18080
JUP_MAX_ACCOUNTS: 20
LOCAL_JUPITER_PORT: 18080
USE_DIRECT_ROUTE_ONLY: true
USE_LOCAL_MARKET_CACHE: false
EXCLUDED_DEXES:
- 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P
- MoonCVVNZFSYkqNXP6bxHLPL6QQJiMagDL3qcqUQTrG
INTERMEDIUM_MINTS:
INTERMEDIUM_MINT_COUNT_FROM_BIRDEYE: 500
BOT:
RPC_URL: ''
AUTO_RESTART: 60
PROCESS_DELAY: 500
MAX_COMPUTE_TIME: 400
ENABLE_SIMULATION: true
SPAM:
ENABLE_SPAM: true
SPAM_RESTRICT_LEVEL: 0
SKIP_PREFLIGHT: true
USE_DIFFERENT_TX_FOR_SENDERS: false
SKIP_SAME_OPPORTUNITY: false
FIXED_COMPUTE_UNIT_LIMIT: 250000
COMPUTE_UNIT_PRICE: 10001
PRIORITY_FEE_UPDATE_INTERVAL: 60
MAX_RETRIES: 0
SEND_RPC_URLS: []
BASE_MINTS:
- MINT: So11111111111111111111111111111111111111112
MIN_PROFIT: 500_000
TRADE_RANGE:
FROM: 1_000_000_000
TO: 10_000_000_000
TRADE_RANGE_COUNT: 10
TRADE_RANGE_STRATEGY: linear
- MINT: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
MIN_PROFIT: 500_000
TRADE_RANGE:
FROM: 100_000_000
TO: 500_000_000
TRADE_RANGE_COUNT: 5
TRADE_RANGE_STRATEGY: linear
Super spam config It's using helius and read RPC and helius + quickndoe as send rpcs. This is an example config on how to use super spam strategy. Note you need multiple good RPCs for sending, minimize all possible latencies, and always have an eye on the market for the hottest mint. See Super spam strategy with only 1 or 2 mints for more details about this config. The intermedium-mints.json will be updated very frequently so the mints here is likely not the one the bot is using right now. *The Spam account is not always active, I periodically turn it off when the market condition is not good for the config.
Fill in the following field in the config.yaml file(YELLOWSTONE is optional but recommended)
KEYS:
PRIVATE_KEY:
BIRDEYE_API_KEY:
YELLOWSTONE:
YELLOWSTONE_URL:
YELLOWSTONE_XTOKEN:
BOT:
RPC_URL:
SPAM:
SEND_RPC_URLS:
config.yaml
You can also use flashloan with this strategy if you don't have enough fund.
KEYS:
PRIVATE_KEY: ''
YELLOWSTONE:
YELLOWSTONE_URL: ''
YELLOWSTONE_XTOKEN: ''
JUPITER:
MARKET_MODE: remote
DISABLE_LOCAL_JUPITER: false
JUPITER_URL: http://0.0.0.0:18080
JUP_MAX_ACCOUNTS: 20
LOCAL_JUPITER_PORT: 18080
USE_DIRECT_ROUTE_ONLY: true
USE_LOCAL_MARKET_CACHE: false
EXCLUDED_DEXES:
- 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P
- MoonCVVNZFSYkqNXP6bxHLPL6QQJiMagDL3qcqUQTrG
INTERMEDIUM_MINTS:
INTERMEDIUM_MINT_COUNT_FROM_BIRDEYE: 0
INTERMEDIUM_MINT_COUNT_FROM_GECKO: 0
INTERMEDIUM_MINT_FROM_FILE: intermedium-mints.json
BOT:
RPC_URL: ''
AUTO_RESTART: 60
PROCESS_DELAY: 100
MAX_COMPUTE_TIME: 400
ENABLE_SIMULATION: false
PULL_BLOCKHASH_WITH_YELLOWSTONE: false
SPAM:
ENABLE_SPAM: true
SPAM_RESTRICT_LEVEL: 0
SKIP_PREFLIGHT: true
USE_DIFFERENT_TX_FOR_SENDERS: true
SKIP_SAME_OPPORTUNITY: false
FIXED_COMPUTE_UNIT_LIMIT: 280000
COMPUTE_UNIT_PRICE: 250000
PRIORITY_FEE_UPDATE_INTERVAL: 60
MAX_RETRIES: 0
SEND_RPC_URLS: []
JITO:
ENABLE_JITO: false
BASE_MINTS:
- MINT: So11111111111111111111111111111111111111112
MIN_PROFIT: 0
TRADE_RANGE:
FROM: 1_000_000_000
TO: 40_000_000_000
TRADE_RANGE_COUNT: 2
TRADE_RANGE_STRATEGY: random
intermedium-mints.json
You want to put the current hottest mint with lots of volume and velocity here. This is just an example.
[
"CTJf74cTo3cw8acFP1YXF3QpsQUUBGBjh2k2e8xsZ6UL"
]
High fee spam config This strategy use a very high gas fee and is sending much less tx than a traditional spam strategy. The goal is to pay a high enough gas fee in order to land fast and catch the opportunity right after it appears. This strategy has the highest requirement for your rpc and server, you want to has as little latency as possible as it may cost you a lot for a fail transaction.
.env
KEYS:
PRIVATE_KEY: ''
BIRDEYE_API_KEY: ''
HELIUS_API_KEY: ''
YELLOWSTONE:
YELLOWSTONE_URL: ''
YELLOWSTONE_XTOKEN: ''
JUPITER:
MARKET_MODE: remote
DISABLE_LOCAL_JUPITER: false
JUPITER_URL: http://0.0.0.0:18080
JUP_MAX_ACCOUNTS: 20
LOCAL_JUPITER_PORT: 18080
USE_DIRECT_ROUTE_ONLY: true
USE_LOCAL_MARKET_CACHE: false
EXCLUDED_DEXES:
- 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P
- MoonCVVNZFSYkqNXP6bxHLPL6QQJiMagDL3qcqUQTrG
INTERMEDIUM_MINTS:
INTERMEDIUM_MINT_COUNT_FROM_BIRDEYE: 80
INTERMEDIUM_MINT_COUNT_FROM_GECKO: 50
BOT:
RPC_URL: ''
AUTO_RESTART: 120
PROCESS_DELAY: 1000
MAX_COMPUTE_TIME: 100
MIN_SOL_BALANCE: 40000000000
WRAP_SOL_AMOUNT: 100000000
ENABLE_SIMULATION: true
PULL_BLOCKHASH_WITH_YELLOWSTONE: true
SPAM:
ENABLE_SPAM: true
SPAM_RESTRICT_LEVEL: 3
SKIP_PREFLIGHT: true
USE_DIFFERENT_TX_FOR_SENDERS: false
SKIP_SAME_OPPORTUNITY: false
FIXED_COMPUTE_UNIT_LIMIT: 0
COMPUTE_UNIT_PRICE: 10001
PRIORITY_FEE_UPDATE_INTERVAL: 60
MAX_RETRIES: 0
SEND_RPC_URLS: []
BLOXROUTE:
ENABLE_BLOXROUTE: true
BLOXROUTE_REGION: ny
JITO:
ENABLE_JITO: false
BASE_MINTS:
- MINT: So11111111111111111111111111111111111111112
MIN_PROFIT: 10_000_000
TRADE_SIZE: >-
8_000_000_000,32_000_000_000,64_000_000_000,128_000_000_000,256_000_000_000
- MINT: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
MIN_PROFIT: 500_000
TRADE_SIZE: 400_000_000,1_600_000_000,6_400_000_000,12_800_000_000
Last updated