Using Minto

Strategy reference

Every rule your bot follows lives in one structured strategy object. The Settings form, the chat and the trading engine all use the exact same schema.

Minto with sparkly eyes: worth a look
You can set all of this by chatting
Say “never more than 0.5 SOL per trade, take profit at 2x, stop loss 30%” and your bot proposes a diff of these fields. Nothing changes until you hit Apply. Every change is versioned.

Presets

Start from one of these, then tweak anything.

Minto asleep
Conservative

Older tokens, deep liquidity, small bags. Sleeps well.

Minto, calm
Balanced

Recent launches with real communities. Takes profit on the way up.

Minto narrowing its eyes: that's a snake
Degen

Fresh pump.fun launches, fast exits. Snakes everywhere. You were warned.

SettingConservativeBalancedDegen
entry.sourcestrending, graduatedtrendingpump_new, pump_graduating, trending
entry.minMcapUsd250000100005000
entry.minLiquidityUsd75000100003000
entry.minHolders100010030
entry.maxTop10Pct253545
entry.minRiskScore756045
sizing.amountSol0.10.10.2
sizing.maxOpenPositions358
exits.takeProfit{"atMultiple":1.5,"sellPct":50}, {"atMultiple":2,"sellPct":50}{"atMultiple":2,"sellPct":50}, {"atMultiple":4,"sellPct":25}{"atMultiple":2,"sellPct":50}, {"atMultiple":5,"sellPct":30}
exits.stopLossPct153035
exits.trailingStopPct10025
execution.buySlippageBps1003001000
risk.dailyLossLimitSol0.312

Sources

ValueMeaning
pump_newpump.fun new launches
pump_graduatingpump.fun about to graduate
graduatedRecently graduated
launchpadsOther launchpads (bonk.fun, LaunchLab…)
trendingTrending (Jupiter / DexScreener)
copy_walletsCopy-trade wallets

entry

FieldDefaultWhat it does
sourcestrendingWhere the bot looks for tokens. See the source list below.
minMcapUsd10000Minimum market cap in USD.
maxMcapUsd2000000Maximum market cap in USD.
minLiquidityUsd10000Minimum pool liquidity in USD.
minAgeMin2Token must be at least this many minutes old.
maxAgeMin10080Token must be at most this many minutes old.
minBondingPct0For tokens still on a bonding curve: minimum progress to graduation (%).
maxBondingPct100For tokens still on a bonding curve: maximum progress (%).
minHolders100Minimum holder count.
maxTop10Pct35Maximum % held by the top 10 wallets.
maxDevPct10Maximum % held by the dev wallet.
requireMintRevokedtrueSkip tokens whose mint authority is still active.
requireFreezeRevokedtrueSkip tokens whose freeze authority is still active.
blockRiskyToken2022trueSkip Token-2022 mints with risky extensions (transfer fee, transfer hook, permanent delegate, pausable…).
requireSocialtrueRequire at least one social link (X, website or Telegram).
requireXfalseRequire an X account.
requireWebsitefalseRequire a website.
rejectReusedSocialstrueSkip tokens whose X account or website was used by another token.
minRiskScore60Minimum Minto safety score (0-100, higher is safer).
minSentiment-100Minimum X sentiment (-100 to 100). At -100 sentiment isn't fetched, which saves cost.
minOrganicScore0Minimum organic activity score (0-100). Filters bot and wash volume.
maxDevRugs1Dev history tolerance. Below 2, any dev with a danger-level history is skipped.
tokenBlacklist[]Mint addresses the bot will never buy.
tokenWhitelist[]If not empty, the bot only buys these mints.
devBlacklist[]Dev wallets whose tokens the bot will never buy.
copyWallets[]Wallets a Copy Trader mirrors (up to 10).

sizing

FieldDefaultWhat it does
modefixedfixed: spend amountSol per trade. percent: spend percent of (balance − reserve).
amountSol0.1SOL per trade in fixed mode.
percent5% of wallet per trade in percent mode.
maxSolPerToken0.5Maximum total SOL in any one token.
maxOpenPositions5Maximum open positions for this bot.
maxExposurePct50Maximum % of the bot's funds sitting in open positions.
reserveSol0.05SOL that is never traded, kept for fees.

exits

FieldDefaultWhat it does
takeProfit{"atMultiple":2,"sellPct":50}, {"atMultiple":4,"sellPct":25}Take profit ladder: sell sellPct % of the position when price hits atMultiple × your average entry.
stopLossPct30Sell everything if the position is down this %. 0 turns it off.
trailingStopPct0Sell if price falls this % from its peak. 0 turns it off.
trailingActivateMultiple1.5The trailing stop only arms after the peak reaches this multiple.
timeExitMin0Sell if the position is still flat (±10%) after this many minutes. 0 turns it off.
rugExittrueSell automatically on rug signals (otherwise just alert).
liquidityDropPct40Liquidity drop (%) that counts as a rug signal.
moonbagfalseAfter the first take profit recovers your cost, leave the rest to ride.

execution

FieldDefaultWhat it does
buySlippageBps300Max slippage on buys, in basis points (100 = 1%).
sellSlippageBps500Max slippage on sells, in basis points.
prioritymediumPriority fee level: low, medium, high or custom.
customPriorityLamports300000Max priority fee in lamports when priority is custom.
jitoTipSol0Jito tip in SOL (reserved for Jito routing).
mevProtectiontruePrefer MEV-protected routing.
retries2Retries for failures that happen before a transaction is broadcast. A broadcast is never retried, so you can't double buy.

risk

FieldDefaultWhat it does
dailyLossLimitSol1Once realized losses in the last 24h reach this, new buys are blocked.
maxTradesPerHour6Trade cap per rolling hour.
maxTradesPerDay30Trade cap per rolling 24 hours.
cooldownAfterLosses3After this many losing sells in a row, the bot rests.
cooldownMin60How long the rest lasts, in minutes.
activeHours{"enabled":false,"start":8,"end":23,"tz":"UTC"}Optional trading window: enabled, start hour, end hour, time zone.

notifications

FieldDefaultWhat it does
tradestrueNotify on every trade.
tpsltrueNotify when take profit or stop loss hits.
pausedtrueNotify when the bot pauses.
dailySummarytrueSend a daily summary.

Example object

{
  "sizing": {
    "mode": "fixed",
    "amountSol": 0.5,
    "maxSolPerToken": 0.5
  },
  "exits": {
    "takeProfit": [
      {
        "atMultiple": 2,
        "sellPct": 100
      }
    ],
    "stopLossPct": 30
  },
  "entry": {
    "sources": [
      "pump_new",
      "pump_graduating"
    ],
    "requireSocial": true,
    "requireX": true
  }
}

That's what a strategy diff looks like when you tell your bot: “I like early pump.fun launches with real communities, never more than 0.5 SOL per trade, take profit at 2x, stop loss 30%.”