Solana Momentum Sniper settings
Every setting the Solana Momentum 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 which tokens are eligible, the buy signal, the rug checks and the protect-gains band; Speed sets the priority fees and slippage; take profit and stop loss set the sell rules. Settings marked Advanced only appear only with the Advanced switch on.
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
| Setting | What it does | Values | Starts at |
|---|---|---|---|
Buy sizeglobal.purchase_amount_sol | How much SOL to spend on each token. | number0.001 to 100 SOL | 0.03 SOL |
Budgetglobal.budget_sol | Never have more than this much SOL in trades at once. Leave it empty for no budget. Optional. | number0.01 to 10000 SOL | off |
Daily loss limitglobal.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. | number0.01 to 10000 SOL | off |
Most buys an hourglobal.max_trades_per_hour | Never make more than this many automatic buys in any hour. 0 means no limit. Your own buys don't count. | whole number0 to 1000 | 20 |
Wait before buying the same token againtracking.buy_cooldown_secs | 0 lets it buy the same token again straight away. | whole number0 to 86400 s | 300 s |
Watching
| Setting | What it does | Values | Starts at |
|---|---|---|---|
Measuring windowstracking.windows_secsAdvanced only | The rolling windows momentum is measured over, in seconds. | list of whole numberss | 5, 10, 30 |
Decide on the lasttracking.gate_window_secsAdvanced only | Which window the buy decision and rug checks use; it should be one of the measuring windows. | whole number1 to 600 s | 10 s |
Recalculate everytracking.metrics_tick_msAdvanced only | How often everything is recalculated. | whole number50 to 10000 ms | 250 ms |
Tokens watched at oncetracking.max_concurrent_trackedAdvanced only | When more are being watched, the oldest is dropped. | whole number10 to 10000 | 500 |
Stop watching aftertracking.max_track_secsAdvanced only | Forget a token that has not triggered after this long. | whole number10 to 86400 s | 600 s |
Eligible tokens
| Setting | What it does | Values | Starts at |
|---|---|---|---|
Market cap at leastgate.bounds.mcap_usd_min | Skip tokens smaller than this. | number0 to 1000000000 USD | $5000 |
Market cap at mostgate.bounds.mcap_usd_max | Skip tokens that have already grown past this. | number0 to 1000000000 USD | $60,000 |
Buying share at leastgate.bounds.buy_ratio_minAdvanced only | The share of trading that is buying, lower fence. | number0 to 100 % | 60 % |
Buying share at mostgate.bounds.buy_ratio_maxAdvanced only | Upper fence; leave at 100. | number0 to 100 % | 100 % |
Volume to market cap at leastgate.bounds.vol_mc_minAdvanced only | Trading volume compared with market cap, lower fence. | number0 to 1000000 % | 20 % |
Volume to market cap at mostgate.bounds.vol_mc_maxAdvanced only | Upper fence; leave wide. | number0 to 1000000 % | 100,000 % |
Dev buy at leastgate.bounds.dev_buy_min_sol | Only buy when the dev buy at launch was at least this; 0 turns it off. | number0 to 1000000 SOL | 0 SOL |
Dev buy at mostgate.bounds.dev_buy_max_sol | Only buy when the dev buy at launch was at most this. | number0 to 1000000 SOL | 1,000,000 SOL |
Mayhem coinsglobal.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 / off | On |
Launches made by other programsglobal.cpi_launchesAdvanced only | Watch and buy pump.fun tokens created inside another program rather than directly. These are most often bundles, so they are skipped unless you turn this on. | on / off | Off |
Buy signal
| Setting | What it does | Values | Starts at |
|---|---|---|---|
Buy when buying is at leastgate.trigger.buy_ratio_min_pct | The share of trading that is buying; higher means fewer, cleaner buys. | number0 to 100 % | 80 % |
and volume is at leastgate.trigger.vol_mc_min_pct | Volume as a share of market cap; higher means only very active tokens. | number0 to 1000000 % | 60 % |
Rug protection
| Setting | What it does | Values | Starts at |
|---|---|---|---|
Creator soldrug.creator_dump_pct | Sell everything if the creator sells this share of the supply; 0 turns the check off. | number0 to 100 % | 50 % |
Pool lostrug.reserve_drop_pct | Sell everything if the pool's SOL falls this far from its peak; 0 turns it off. | number0 to 100 % | 30 % |
Price fellrug.price_crash_pct | Sell everything if the price falls this far from its peak; 0 turns it off. | number0 to 100 % | 50 % |
Buying fell belowrug.sell_dominance_floor_pct | Sell everything if sellers take over and buying drops under this share. | number0 to 100 % | 20 % |
Only with volume of at leastrug.min_volume_solAdvanced only | The sellers-took-over check needs at least this much trading first. | number0 to 1000 SOL | 1 SOL |
Block the creator after a rugrug.blacklist_on_rug | Never buy from that creator again. | on / off | On |
Selling
| Setting | What it does | Values | Starts at |
|---|---|---|---|
Stop-losssell_strategy.stop_loss_pct | Sell everything if the trade is down this much. | number-99 to -0.5 % | -30 % |
Protect gains on the way downsell_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 ranges | 1 range |
Take profit on the way upsell_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 ranges | 1 range |
Check for unsold tokens everyexits.stuck_scan_secsAdvanced 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 number0 to 86400 s | not set |
Sell again after a failed sellexits.stuck_after_secsAdvanced only | When every try to sell a token failed, the bot sells it again once this long has passed with no new try. | whole number10 to 86400 s | not set |
Execution
| Setting | What it does | Values | Starts at |
|---|---|---|---|
Slippageglobal.slippage_basis_pointsAdvanced only | How far the price may move between deciding and trading; 500 bps is 5 %. | whole number1 to 10000 bps | 500 bps |
Buy priority feeglobal.buy_compute_feeAdvanced only | What you pay validators per compute unit to process your buys first. | whole number0 to 100000000 µlamports/CU | 3,333,334 µlamports/CU |
Sell priority feeglobal.sell_compute_feeAdvanced only | The same, for sells. | whole number0 to 100000000 µlamports/CU | 1,000,000 µlamports/CU |
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 / off | On |
Turn off the AllenHark relayrelay.relay_opt_outAdvanced 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 / off | Off |
Fast senderssendersAdvanced 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]] entries | none |
Suggestions
| Setting | What it does | Values | Starts at |
|---|---|---|---|
Try changes in practiceadvisor.enabledAdvanced only | Lets the AI assistant try a bigger change in a practice run for 24 h before you use it. No API key of your own is needed. | on / off | On |
Suggested buy size at mostadvisor.limits.max_buy_solAdvanced only | A suggestion can never set the buy size above this. | number0.001 to 100 SOL | 0.5 SOL |
Suggested buy size at leastadvisor.limits.min_buy_solAdvanced only | A suggestion can never set the buy size below this. | number0.001 to 100 SOL | 0.001 SOL |
Stop-loss no lower thanadvisor.limits.stop_loss_floor_pctAdvanced only | A suggested stop-loss must sit between this and the next value. | number-99 to 0 % | -95 % |
Stop-loss no higher thanadvisor.limits.stop_loss_ceil_pctAdvanced only | The tightest stop-loss a suggestion may set. | number-99 to 0 % | -2 % |
Most rangesadvisor.limits.max_rangesAdvanced only | The most stop-loss or take-profit ranges a suggestion may have. | whole number1 to 32 | 8 |
Longest wait between buysadvisor.limits.max_cooldown_secsAdvanced only | The longest re-buy wait a suggestion may set. | whole number0 to 86400 s | 3600 s |
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.
| Setting | Why you can't change it here |
|---|---|
Live tradingglobal.live | Switched with Go live. |
Wallet fileglobal.payer_keypair_path | Follows your active wallet. |
Relay endpointnode.relay | Managed by AllenHark. |
Relay QUIC endpointsnode.relay_quic | Managed by AllenHark. |
Relay API keynode.relay_api_key | Managed by AllenHark. |
Relay QUIC fan-outnode.relay_quic_fanout | Managed by AllenHark. |
Relay QUIC certificate pinsnode.relay_quic_pins | Managed by AllenHark. |
Skip relay certificate check (development)node.relay_quic_insecure_skip_verify | Managed by AllenHark. |
ShredStream endpointnode.shredstream_uri | Managed by AllenHark. |
Backup ShredStream endpointnode.shredstream_backup_uri | Managed by AllenHark. |
gRPC endpointnode.grpc_uri | Managed by AllenHark. |
gRPC tokennode.grpc_x_token | Managed by AllenHark. |
RPC endpointnode.rpc_uri | Managed by AllenHark. |
Listen for UDP shredsnode.use_udp_shreds | Managed by AllenHark. |
UDP shreds portnode.udp_shreds_port | Managed by AllenHark. |
Where launches are seennode.detection_source | Managed by AllenHark. |
Relay tip walletnode.tip_wallet | Managed by AllenHark. |
Keep-alive URLnode.keep_alive_url | Managed by AllenHark. |
Relay tipnode.tip_lamports | Managed by AllenHark: set to what Relay needs. |
SOL price refreshpricing.sol_usd_poll_secs | Managed by AllenHark. |
Databasedatabase.url | Managed by AllenHark. |
Bot portserver.ws_port | Managed by AllenHark. |
Bot addressserver.bind | Managed by AllenHark. |
Modeladvisor.model | Managed by AllenHark. |
Longest answeradvisor.max_tokens | Managed by AllenHark. |
API versionadvisor.anthropic_version | Managed by AllenHark. |
