Documentation index

Solana Graduation Sniper settings

Every setting the Solana Graduation Sniper's Expert settings can change, with the same names and help the Strategy page shows. The path is the setting's name in the bot's config file, which is what Raw config and harkctl config show. "Starts at" is a new bot's value (the Balanced starter).

You rarely need these. The Simple controls set most of them for you: Style sets its trigger and guards, how many tokens it holds at once, the protect-gains band and the time limit; Speed sets the priority fee and slippage; spend per token, take profit and stop loss set the buy size and the sell rules. Settings marked Advanced only appear only with the Advanced switch on. The Solana Graduation Sniper guide explains how the settings work together.

Ranges

Protect gains on the way down and Take profit on the way up are lists of ranges. Each range has a start and an end, a step, and the share sold at each step:

  • a protect-gains range is measured as the drop from the trade's peak: within the range it sells a share for each step down, and everything once the drop passes the end;
  • a take-profit range is measured as profit: within the range it sells a share for each step up. A range whose start equals its end is a single sell at that profit, and it still sells if the price jumps past it.

Buying

Buying settings
SettingWhat it doesValuesStarts at
Buy size
global.buy_sol
How much SOL to spend on each token.number
0.001 to 100 SOL
0.05 SOL
Max open positions
global.max_concurrent_tokens
How many tokens it may hold at the same time.whole number
1 to 100
5
Budget
global.budget_sol
Never have more than this much SOL in trades at once. Leave it empty for no budget. Optional.number
0.01 to 10000 SOL
off
Daily loss limit
global.daily_loss_limit_sol
Stop buying for the rest of the day once you've lost this much SOL today. Selling carries on, and it resets at midnight. Leave it empty for no limit. Optional.number
0.01 to 10000 SOL
off
Your time zone (hours from UTC)
global.utc_offset_hours
Advanced only
Where midnight is for the daily loss limit.whole number
-12 to 14
0
Launchpads
global.venues
Whose graduations it buys. Empty means every launchpad it supports.listnone
Practice balance
global.practice_starting_sol
Advanced only
The virtual SOL practice starts with.number
0.1 to 10000 SOL
10 SOL

When it buys

When it buys settings
SettingWhat it doesValuesStarts at
New pool holds at least
migration.min_liquidity_sol
Skip a graduation whose new pool holds less SOL than this.number
0 to 100000 SOL
20 SOL
New pool holds at most
migration.max_liquidity_sol
Skip a graduation whose new pool holds more SOL than this. Leave it empty for no upper limit. Optional.number
0 to 1000000 SOL
off
Buy at most this share of the pool
migration.max_buy_pct_of_liquidity
Caps each buy at this share of the new pool's SOL, so a small pool gets a small buy.number
0.1 to 100 %
2 %
Seen within
migration.max_delay_slots
Advanced only
Skip a graduation that reaches the bot more than this many slots after it happened.whole number
0 to 150 slots
4 slots

Filters

Filters settings
SettingWhat it doesValuesStarts at
Creator holds at most
migration.max_dev_holding_pct
Skip it when the creator's own buy at launch was more than this share of the supply. Leave it empty to turn it off. Optional.number
0 to 100 %
off
On the launchpad for at least
migration.min_curve_secs
Skip tokens that graduated sooner than this. Leave it empty to turn it off. Optional.number
0 to 604800 s
off
On the launchpad for at most
migration.max_curve_secs
Skip tokens that took longer than this to graduate. Leave it empty to turn it off. Optional.number
0 to 604800 s
off
Count holders before graduation
migration.track_curves
Advanced only
Follow each launch until it graduates to count its holders and the creator's sells. Needed for the holders filter.on / offOff
Launches followed at once
migration.max_tracked_curves
Advanced only
The most launches followed at once for holder counts.whole number
10 to 5000
300
Holders at least
migration.min_holders
Skip it when fewer wallets held it before graduation. Needs holder counts on. Leave it empty to turn it off. Optional.whole number
0 to 100000
off
Mayhem coins
global.mayhem_coins
Buy pump.fun Mayhem Mode coins: 2 B supply, half of it traded by pump.fun's AI agent, so prices swing hard.on / offOn

Selling

Selling settings
SettingWhat it doesValuesStarts at
Stop-loss
sell_strategy.stop_loss_pct
Sell everything if the trade is down this much.number
-99 to 0 %
-30 %
Protect gains on the way down
sell_strategy.sl_ranges
Bands of drop from the peak: sell a share for each step down, everything at the bottom of the band.list of ranges1 range
Take profit on the way up
sell_strategy.tp_ranges
Bands of profit: sell a share for each step up (From = To is one sell at that profit). A step the price jumps past still sells.list of ranges1 range
Close emptied token accounts
global.close_token_accounts
Advanced only
After a live trade sells everything, close the token's empty account and get its rent back (about 0.002 SOL).on / offOn
Sell when the creator sells
global.exit_on_creator_sell
Sell everything when the token's creator sells while the bot holds it.on / offnot set
Sell what's left after
sell_strategy.max_hold_secs
Sell the rest of a position after this long. Leave it empty for no time limit. Optional.number
10 to 604800 s
3600 s
Check for unsold tokens every
exits.stuck_scan_secs
Advanced only
How often the bot looks in its wallet for tokens it bought that nothing is selling, such as after a sell that kept failing, and sells them. Tokens you bought yourself are never touched. 0 turns it off.whole number
0 to 86400 s
60 s
Sell again after a failed sell
exits.stuck_after_secs
Advanced only
When every try to sell a token failed, the bot sells it again once this long has passed with no new try.whole number
10 to 86400 s
120 s
Sell through an aggregator if needed
exits.aggregator_fallback
Advanced only
When the token's pool is gone or can't take the sell, sell through an aggregator route instead.on / offOn
Aggregator slippage
exits.aggregator_slippage_bps
Advanced only
How far the price may move on an aggregator sell; 500 bps is 5 %.whole number
1 to 5000 bps
500 bps
Aggregator price impact at most
exits.aggregator_max_price_impact_pct
Advanced only
Refuse aggregator routes that would move the price more than this.number
0 to 100 %
30 %
Buy through an aggregator (Beta)
exits.aggregator_buy
Advanced only
Buy through an aggregator on pools the bot can't trade itself. Off by default.on / offOff

Blocklist

Blocklist settings
SettingWhat it doesValuesStarts at
Blocked creators
blocklist.creators
Creator wallets it never buys from.listnone
Blocked tokens
blocklist.mints
Token contract addresses it never buys.listnone

Execution

Execution settings
SettingWhat it doesValuesStarts at
Slippage
global.max_slippage_bps
Advanced only
How far the price may move between deciding and trading; 1500 bps is 15 %.whole number
1 to 5000 bps
1500 bps
Priority fee
global.cu_price_micro_lamports
Advanced only
What you pay validators per compute unit to process your trades first.whole number
0 to 100000000 µlamports/CU
200,000 µlamports/CU
Compute limit
global.cu_limit
Advanced only
The most compute units a trade may use.whole number
50000 to 1400000
250,000
Transaction format
global.tx_format
Advanced only
Legacy, or the newer v1 format with a legacy re-send if it is refused.“Legacy” (legacy), “v1” (v1)Legacy
Re-send as legacy if v1 is refused
global.v1_fallback
Advanced only
Only matters with the v1 format.on / offOn
Send every trade through the AllenHark relay (adds a small tip per trade)
relay.tip_all
On: every buy, sell and clean-up goes through the relay, for a 0.001 SOL tip each (counted in your fees). Off: only buys and urgent exits go through the relay; the rest are sent without a tip.on / offOn
Relay tip
relay.tip_sol
Advanced only
The tip per trade through the AllenHark relay. Leave it empty for the bot's own default. Optional.number
0.0001 to 0.1 SOL
off
Turn off the AllenHark relay
relay.relay_opt_out
Advanced only
Your choice: on means the bot stops sending through the AllenHark relay and uses only the fast senders you added. Leave it off unless you know you want that.on / offOff
Fast senders
senders
Advanced only
Your own accounts with other fast senders (Nozomi, 0slot, Jito, Helius Sender, an RPC). The bot sends each trade through all of them and the relay; with two or more on it pays only one tip per trade. API keys stay on your server.list of [[senders]] entriesnone

Set for you

These are part of the config but are set by AllenHark or elsewhere in the app, so they are read-only in Expert settings. The Solana Graduation, MC Breakout and Dip Snipers are one program run in three modes, so each config also carries the other two modes' sections, which this bot ignores.

SettingWhy you can't change it here
Live trading
global.live
Switched with Go live.
Wallet file
global.payer_keypair_path
Follows your active wallet.
Aggregator port
exits.aggregator_port
Managed by AllenHark.
Allow WarpRoute routes
exits.allow_warproute
Managed by AllenHark.
RPC endpoint
node.rpc_uri
Managed by AllenHark.
Relay endpoint
node.relay
Managed by AllenHark.
Relay QUIC endpoints
node.relay_quic
Managed by AllenHark.
Relay API key
node.relay_api_key
Managed by AllenHark.
Relay QUIC fan-out
node.relay_quic_fanout
Managed by AllenHark.
Relay tip wallet
node.tip_wallet
Managed by AllenHark.
Relay Dedicated
node.relay_dedicated
Managed by AllenHark.
Relay Dedicated wallets
node.relay_dedicated_wallets
Managed by AllenHark.
Relay tip (default)
node.tip_lamports
Managed by AllenHark: set to what the relay needs.
Market feed
feed
Written by your server's agent.
Bot address
server.bind
Managed by AllenHark.
Bot port
server.port
Managed by AllenHark.
Watchlist
watch
Another mode of this bot uses it; this bot ignores it.
Market cap mode
mcap
Another mode of this bot uses it; this bot ignores it.
Dip mode
dip
Another mode of this bot uses it; this bot ignores it.