Documentation index

Solana Dip Sniper settings

Every setting the Solana Dip 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 Dip 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 and pools
global.venues
Where it buys. Empty means every launchpad and pool 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
A large sell is at least
dip.min_sell_sol
A sell of at least this much SOL counts as large. Leave it empty to use only the share of the pool. Optional.number
0 to 100000 SOL
5 SOL
or at least this share of the pool
dip.min_sell_pct_liquidity
A sell of at least this share of the pool's SOL counts as large. Leave it empty to use only the SOL size. Optional.number
0 to 100 %
3 %
Price fell at least
dip.min_drop_pct
The price must be at least this far below its recent high.number
0 to 100 %
15 %
Recent high over
dip.window_secs
Advanced only
How far back the recent high is taken from.whole number
1 to 86400 s
300 s
Wait for a rebound
dip.confirm
Buy on the dip itself, after a few buys follow it, or after the price ticks up from the low.“No, buy the dip” (none), “After a few buys” (buys), “After the price ticks up” (uptick)No, buy the dip
Buys after the dip
dip.confirm_buys
Advanced only
With “After a few buys”: how many buys must follow.whole number
1 to 100
3
Tick up from the low
dip.confirm_uptick_pct
Advanced only
With “After the price ticks up”: how far it must rise from the dip's low.number
0.1 to 100 %
3 %
Rebound within
dip.confirm_within_secs
Advanced only
A dip with no rebound within this long is dropped.whole number
1 to 3600 s
60 s

Filters

Filters settings
SettingWhat it doesValuesStarts at
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

Guards

Guards settings
SettingWhat it doesValuesStarts at
Skip if the pool lost more than
dip.max_reserve_drop_pct
Skip it when the pool's SOL fell more than this from its high: money leaving, not a dip.number
0 to 100 %
50 %
Skip after sells in a row
dip.max_sells_in_row
Skip it after this many sells in a row; 0 turns it off.whole number
0 to 1000
6
Skip the creator's own sells
dip.skip_creator_sells
Never buy a dip the token's creator caused.on / offOn
Wait before buying the same token again
dip.cooldown_secs
No buy of the same token within this long of the last one.whole number
0 to 86400 s
600 s
Buys per token per day at most
dip.max_buys_per_token_per_day
0 turns it off.whole number
0 to 100
3
Pool holds at least
dip.min_liquidity_sol
Skip pools with less SOL than this. Leave it empty to turn it off. Optional.number
0 to 1000000 SOL
off

Watchlist

Watchlist settings
SettingWhat it doesValuesStarts at
Watchlist
watch.tokens
The tokens it watches for dips, by contract address.list of token addresses0 tokens

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 limit
watch.max_tokens
Set by AllenHark for your deployment. Ask support if you need more.
Migration mode
migration
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.