Guide
How Pumpstall works
Pumpstall is automation software for Binance USDT-M Futures. It looks for pump → stall setups, can open a short with a DCA grid on real order-book walls, and manages exits with selectable strategies. You trade on your account with your API keys. Software — not investment advice.
1. After you subscribe (Traders)
Once the service is contracted, we provision a dedicated VPS and deploy the Pumpstall stack for you (scanner, auto-trade supervisors, Telegram control, monitoring basics).
- Installation and deploy are handled for you — you do not need to run the bot on your laptop.
- The instance is yours alone: one client, one environment, your keys, your risk limits.
- You add Binance trade-only API credentials (no withdrawal). We never custody your funds. Size, exits, and gates are code defaults — not
.envknobs. -
Set
PAPER=1(or launch with--paper) to simulate the same shorts at mark — ask-wall DCA fills from the live book, and the same exit stack as live (--exitratchet / pullback / structure / OB / trailing, plus funding, re-impulse, ATH SL, entry SL, BE) so /stats paper is an ML replica. No Binance orders. LeavePAPER=0for live. -
Every open/close (live and paper) is stored in MySQL
tradeswith the stack config snapshot. The unlisted/statspage reads that table. After a close, a ghost follows the same entry for 1h / 4h / 24h (no new order) so you can see if holding would have been better. The worst usable ghost MAE (most adverse %, skipping wick outliers over 40%, hard-capped at 30%) becomes the live catastrophe % entry SL; until a usable ghost exists that stop is 20%. - After keys are loaded, the stack runs unattended. You manage it via Telegram ops chat and Binance.
Free plan: public signals / scanner only — no private VPS and no trading with your keys.
2. What “pump → stall” means
The scanner scores USDT-M perps for a structure you would recognize on a daily chart:
- Pump — a sharp recent trough → peak move (not a slow grind).
- Near highs — still close to the local peak and the recent regime high.
- Stall — daily ranges start to compress after the blow-off.
- Book — enough ask-side walls for a short DCA ladder.
Symbols that clear the strictest band are marked ★ ideal
(about ≤8% off the 1D top · near ≥ 92%).
With auto-trade enabled, the bot can open a short on those candidates (up to your concurrent slot setting).
3. Scanner nomenclature
The live terminal on the homepage (and Telegram IDEAL cards) uses short labels. Here is what each one means.
Hit table columns
-
★ — Ideal short zone: still close enough to the recent peak
(
near≥ 92%). Blank / no star = late (already pulled away from the top). Strict / size-boost lives on the ticket config, not next to the /stats symbol. - 24h% — Rolling 24h price change on the perpetual.
- pump — Size of the recent trough→peak move (roughly a ~1–2 week window), as a %. Higher = bigger blow-off into the stall.
-
near — How close last price is to the recent peak
(
last / recent_high × 100). 100% = sitting on the local top. - reg% / regime — How close last price is to the longer (~30–45d) regime high. Filters downtrend bounces that look “near” a local top but are far from the bigger high.
- shp / sharp — Share of the pump that happened in the last few daily bars (blow-off speed). High = vertical move; low = slow grind (usually rejected).
-
stl / stall — Compression score after the pump (0–100). Higher = ranges are tightening
(exhaustion / stall), which is what we want before shorting.
On a /stats trade chart, violet is the 1D high used for
near, and the boxes are the last 3 daily highs/lows (stall compression). Orange is the re-impulse close bar (1D / 4h / 1h / open). - w — Count of significant ask walls above price (resting sell liquidity the short DCA grid can anchor to).
- span — Vertical distance (%) covered by those ask walls — how wide the ladder is.
- score — Composite ranking used to sort candidates (higher is better among survivors).
-
ask walls (detail line) — Concrete wall prices the grid would use, nearest → farther
(e.g.
0.2445 → 0.2488 → 0.255). - + / ↑ / ↓ — Freshness flags vs the previous scan refresh (new / improved / slipped).
Blocked tags (first fail)
Symbols that do not pass filters are listed under Blocked with a colored tag showing which gate failed first:
- pump — Move too small / not enough trough→peak.
- near — Too far from the recent peak (late).
- regime — Far from the longer regime high (downtrend bounce).
- sharp — Pump was a grind, not a blow-off.
- stall — Not compressed enough yet (still running hot).
- peak — The peak is not recent enough (top already aged out).
- walls — Not enough ask-side liquidity to build a short grid.
- klines — Candle/history fetch failed for that symbol this round.
A name can fail several gates; the table only shows the first reason so you see what is currently blocking most of the universe.
4. The short trade (automation)
When a ★ is taken, Pumpstall typically:
-
Opens a SHORT sized to Wallet %
of buying power (default on /config), a fixed USDT ticket,
or the symbol min,
plus the entry SL, then parks the DCA ladder on ask walls from the live order
book. How many walls is
so_counton/config(default 5). Rearm grid is off: when those orders fill, the supervisor does not place another ladder under the same position. The first gap is at leastmin_gap% (default 2). Each next gap's minimum is that value times the gap factor (default 1.2. A factor of 1 keeps every gap equal). Ask walls on the scanner are also a stall filter. - Runs one cycle with
--once(no endless re-entry on that process after close). - Leaves protective exits on Binance while the position is open.
- Changing stack knobs later does not resize an open ticket. The entry SL can be moved on the next supervise tick; fill size stays.
Concurrent ★ slots (MAX_TRADES, default 6) count
every open Binance USDT-M position on the account — including orphans from a
previous watch restart, manual trades, and other bots — plus live supervisors.
Extra ★ beyond that cap launch as paper (no Binance orders) and do not
consume a live slot — leftover ★ paper even when a live launch was skipped
(ATH / funding / child failed to start). Weekend live is off
(Fri 21:00–Sun 23:00 UTC) and every new ★ papers (live slots stay
unused). Vol stand-down and margin also skip live only —
leftover ★ still paper. If every ★ already has a live slot,
the next late survivors on the scan table paper so /stats is not empty.
A pair in loss cooldown or failed-stall rearm
can still paper so /stats records the dump live skipped.
/stats Open now live is a Binance USDT-M position.
Each watch cycle (or Telegram /sync) flips leftover ★ to paper
and closes tickets that are already flat.
Account risk is also guarded by margin and funding rules below.
Longs (optional)
Shorts are the tool. Allow longs is on by default
on /config.
A name that is still expanding (a 4h impulse, not yet a ★
stall near the high) can open a long. The first ticket and the exit
are the same ones the short uses. One side per symbol: a short already
on that name blocks the long.
Turning it off stops new longs. A long already open keeps its size
and its supervisor until that exit closes it.
A new long takes the same entry block as a short (wallet %, slot scale,
Max ★ slots, margin, grid, entry SL) and not the re-impulse.
Rolling 24h (on by default) scores near, stall, and sharp
on the last 24 hours instead of the UTC daily candle, on both scanners.
Pump and the 14-day peak stay on closed UTC days. The 4h impulse does not
change. It only decides a new open.
Long entry on /config is Market or Stop.
Market is the default: the first ticket buys immediately and the
DCA limits go on with that fill. Stop waits. A long climbing back
under a high already made does not buy the market. That is the last
6 hours when the high is not in the current hour and price has
already fallen at least 3% from it. The script rests a buy-stop at
that high. DCA limits are placed only after the stop fills. The
stop is cancelled if price falls further than the grid range under
it, or after 6 hours.
Long thrust is on by default. Each long remembers the
entry it started at and how far price ran in its favor. The next long
on that name waits when that push is under half the push before it,
or when the new dip is deeper than the dip that started the previous
long. A retrace back through the previous entry clears the streak.
--no-long-thrust keeps opening.
After that entry ladder is gone and Rearm grid is off,
the script rests one more buy-stop (the same size as the first ticket) above the
turn. It buys more only if price trades back up through that high.
Binance labels that order SL Market. It still adds to the long.
5. First ticket (wallet %, fixed USDT, or symbol min)
First ticket on /config chooses the size.
The live default is Wallet %: that percent of the USDT
futures wallet, as a market fill (so a higher ask wall
cannot open the ticket first), then the ask-wall DCA ladder as resting
limits. Slot scale (on by default, next to Max ★ slots) multiplies
Wallet % by empty ★ slots, so the first ticket is larger when the book
is empty (3% × 3 slots → 9% on the first ticket).
Fixed USDT uses the Entry USDT field instead of a percent. That number is the first ticket. Wallet % and slot scale do not change it, and size boost does not either. The DCA legs still grow from that amount, one step farther for each wall. Until you select Fixed USDT, the first ticket stays Wallet %.
If the chosen size is below the symbol
MIN_NOTIONAL / minQty × price, the first ticket
uses the exchange min. Symbol min uses that floor on
every fill. Size boost does not apply in that mode.
Production often runs the early scanner (looser stall / near / ★ gates so blow-offs appear sooner). Size boost does not fire on every early ★. It waits for a name that would also pass the strict quality bar, then confirms it stayed in the ★ list for a few refresh cycles.
Each scanner cycle (with auto-trade on), Pumpstall:
- Looks at current ★ ideals (near the 1D top under the live profile).
- Keeps only names that are strict-eligible: stall ≥ 35, near ≥ 85, ★ near ≥ 92, plus regime / sharp / pump floors (same idea as the strict watch profile).
- Requires dwell ≥ 2 consecutive ★ cycles (~2 minutes if the watch interval is 60s) so a one-cycle flash is ignored.
- Picks only the #1 by score among those candidates and applies 1.5× (for about 5 h, or until the name leaves the ★ set).
So: early scanner for coverage, boost only when the setup is already “strict-quality” and not a one-tick fluke — and only one boosted symbol at a time.
6. Exit modes (choose one primary)
Exits are plugins. You pick a primary mode with --exit … /
EXIT_MODE / /config. Optional break-even protect
(--protect-be) can sit underneath most modes — except ratchet,
which owns the profit-lock stop. Ratchet still gets the adverse
entry SL (wall above the stall high by default) described below.
No single exit wins every trade: OB / pullback tend to leave less on the table in chop; trail / ratchet / structure tend to hold runners longer when the dump continues. That is why modes stay selectable in parallel.
auto — pick per ★
Default on /config. Scores the live setup (never none).
ratchet is the home lane: compressed stall + ask walls → walk the dump.
Still-sharp pump with a readable book → ob. Thin book → pullback.
Trailing only when the ladder is thin and the span is wide.
The child stays on --exit auto and can retune from the live book
(walls / span) if the market context changes by a clear margin. /stats stores
the mode in force at open / close.
structure (default automation path)
Soft-close when opposing market structure is touched while already green: SHORT → EQL (equal low), LONG → EQH (equal high). Usually combined with partial TP, BE protect, and optional post-BE trail.
ob — order-book flip
Soft market-close when the book imbalance flips against the position (SHORT closes on OB Long; LONG on OB Short), after a minimum profit (~0.3% gross and still green after fees). That % is the close fill (SHORT buys the ask; LONG hits the bid), not the book mid — a wide spread cannot look green and fill red. Fast, reactive — can feel early in noisy pumps.
pullback — adverse giveback from extreme
Tracks the favorable extreme while in the trade (lowest mark for a short, highest for a long). Closes when price retraces about 0.4% from that extreme, and unrealized profit is already ≥ ~0.3% (net still green after the fee buffer).
Idea: do not exit on the first tick of noise; exit when the move
actually pulls back against you. Works with optional --protect-be.
ratchet — SL to previous support / resistance
For shorts: as bid walls (supports) below entry are broken, the reduce-only stop moves to the previous (higher) support. Longs mirror on ask walls. Walls are remembered across cycles (a pierced bid disappears from the live book, so the bot keeps a running map of supports/resistances seen on the path). Before any break, once profit ≥ ~3%, an entry-floor SL is armed at entry + 0.3% (same lock idea as classic BE).
A wall counts as broken when price pierces it by about
0.15%.
The stop only ever tightens (never loosens). This mode owns the BE algo tag —
do not stack classic --protect-be with it.
After the 4× partial TP the same ratchet stays on the runner.
From the open, ratchet also places a hard adverse stop at SL prior swing (default: catastrophe % from the worst usable ghost MAE, or 20% until one exists). /config can switch that to a wall above the stall high, ATH, the prior swing, or Off.
trailing
Exchange trailing take-profit anchored to an opposite order-book wall (activation + callback). Optional BE protect can sit underneath as a floor.
staged
Classic ladder exit: partial TP1 → SL near entry → trail the runner. Good default when you want a fixed recipe without structure/OB signals.
be
Break-even protect only (no primary TP). Useful if you manage the take-profit yourself or pair with a manual trail.
none
Grid / position only — no primary exit after the optional 4× partial TP. The ATH catastrophe SL still applies. Use this when you want to finish the runner yourself.
7. Shared protection layers
These can combine with several primary exits. Not every layer fires on every trade.
Break-even (BE) protect
When unrealized profit reaches about +2%, a stop is armed near
entry + 0.3% so a winner is less likely to flip into a full loser.
Available under structure, ob, trailing, pullback, and be.
Post-BE trailing stop
After further progress (about +1.5%), a trailing stop can follow price with a
callback near 0.6%, locking more of the move while still giving room
(mainly with structure / be + --post-be trail).
Partial take-profit
Once the open position is large enough relative to the entry size,
the exit is either a partial (~70% at about +0.5% gross, runner stays)
or a trail of the whole position (activation covers that profit, the fee buffer, and the 0.2% callback).
The /config select is Trail. The /stats PnL% cell is the whole ticket
(partial slice + runner), not only the last flatten vs average entry. The gate is position notional (qty × avg entry) ≥
4× the first fill
(about the 3 extra DCAs
when each add is ~min size — not a raw fill count, because wall size varies). Because entry size scales with wallet
(e.g. ~10%), the USDT threshold rises automatically on larger accounts instead of staying
at a fixed dollar floor.
Auto-DCA is not capped as a multiple of the entry ticket
(DCA_MAX_ENTRY_PCT=0). New size stops when the account
Margin Ratio hits
4%
(no new ★ / no new grids). At the same
6% hard level,
leftover DCA limits are cancelled. A new ★ can still place one more grid
on an already-open position.
Max open % on /config is USDT of the futures wallet posted
as margin, not the leveraged volume. Ticket size ÷ leverage is what counts.
20 on a 100 USDT wallet means 20 USDT of margin in play; past that,
no new position. A grid keeps only the orders that still fit.
It does not close a trade already open.
Minimum take-profit
Separate from the 4× slice. Once the ticket has been open for 240 min or its value (qty × average entry) is at least 75% of the futures wallet, Pumpstall places a reduce-only take-profit on the whole position at +0.5% net plus the 0.12% round-trip fee buffer (default trigger about +0.62% from the average entry). Either condition is enough. The percent of the balance scales with capital. Leave After min or Capital % empty to skip that condition. Leave both empty to turn the layer off. The clock is the ticket open time, so saving /config does not restart it and does not cancel this take-profit. While it is armed, the 70% partial is not placed at the same price. Ratchet, structure, and the catastrophe SL keep running beside it.
Failed stall / re-impulse
A ★ short assumes the stall high is exhausted. If price prints a
new high about
1%
above the stall high chosen on /config
(default 1D; or 4h / 1h / high at open),
frozen at open — a bounce still under that bar is not a failed stall. It stays there for
180s,
and the mark never dumped
0.3%
below entry, Pumpstall market-closes the short
(reason re-impulse). A
300s
grace skips
entry noise. If the spike already gave back
0.5%
from its extreme, hold resets (do not flatten a dying impulse).
That is the opposite of ★:
another impulse, no dump — do not wait for the far entry SL.
Off with --no-reimpulse or the /config toggle.
/stats Ghost then scores that close:
true if price kept going against the short,
false if it dumped after we flattened.
Hover the cell for maximum adverse excursion (worst hold)
and maximum favorable excursion (best hold).
The same book feeds Ghost × UTC session on /stats
(Asia / EU cash / US cash): false %, mean regret, and MFE on false flattens —
use that before picking Failed-stall presets per market.
After that flatten, a new ★ on the same pair is blocked while
the high keeps breaking. It clears when mark dumps
1.5%
below the fail high, or when the name is no longer on the scan
(toggle on /config Failed stall).
Market sessions on /config is a table of Asia / EU / US / Other
with Entry (live · paper · block), Exit (base · soft · tight · off), and an optional
Target % (empty = off). That % sums live ticket closes in the session
today and pauses new live ★ until the session ends. It does not replace the day target.
The close-book box market-closes every open position once, and only when open PnL is positive.
Soft = Break 1.5 · Hold 360 · Retrace 0.8; tight is stricter; off disables
Failed stall in that window. Default EU exit is soft. Other defaults to off.
Break / Dump / Hold only decide when to close. They do not time the next entry. Loosening them so you can “catch the dump” on the same ticket means sitting a failed stall — Ghost true rows were cheaper as a small flatten than as an open short. The short DCA ladder does not buy that dump: those limits sit above the mark, so a high that keeps breaking fills more size against you. The entry you do not want to miss, if price then falls, is a new ★. That is Rearm dump %: wait for a real giveback under the fail high, then the scanner may launch again. Loss cooldown (minutes) is a separate clock, and only after a loss worse than 1% of notional.
Ghost is the label for later learning, not a model.
Training rows wait until the 24h fill
(ghost_status=done) so 1h / 4h / 24h verdicts are
not mixed. The number to learn is
regret =
ghost_24h_pnl − ticket PnL
(whole ticket after a partial).
false and regret > 0 means holding the same entry
was better; true means the flatten was cheaper.
MAE / MFE / ghost % are outcomes — do not
feed them back as features or the score cheats.
The single exception is the live catastrophe SL:
it copies the worst usable MAE (capped at 30%) so the far stop tracks
a realistic adverse hold we already measured, not a typed %.
New tickets stamp at open and at close:
BTC 24h range, near, book imb (bid share 0–1), and
distance to the stall/1D high
(+ = still under).
Those sit on the ticket as ctx_open /
ctx_close. Other features at the decision:
exit family, early/strict, stall bar, DCA fills,
minutes open, live vs paper.
With only a few dozen rows, do not fit a net. First a
scorecard: % false and mean regret by
re-impulse / ratchet / trail.
That answers “flatten 100% vs cut a slice and keep the grid”
offline: for each false re-impulse,
0.5×ticket + 0.5×ghost_24h
vs flatten vs full hold.
A classifier comes after roughly 80–200 done 24h ghosts,
and only on features stamped at the decision — never on
the ghost path itself.
Entry stop-loss
On every exit, a full-size stop-limit rests on Binance at
SL prior swing.
Default is catastrophe % from the fill.
Leave SL % empty on /config to use the
worst usable ghost MAE on the book
(most adverse hold after a close, rounded up a tenth).
Wick outliers over 40% are skipped; the computed stop is hard-capped at
30% so one wild ghost cannot place a stop that never fires.
Right now that computed number is 15% — you locked 15%
.
Until a usable ghost exists, the empty-field fallback is 20%.
Position risk % defaults to 8% of the open position.
Clear the field to turn that cap off. The number is the most that position
can lose, on its average entry
(what is actually on). The stop is placed that far against the position.
A swing, wall, or ATH level is kept only when it sits on the losing side
and closer than the cap. If price is already through the cap, the ticket
market-closes. A fill of that risk stop locks new ★ the same way a
catastrophe fill does.
A catastrophe % fill locks new ★ on every symbol
until /config Resume new ★.
Prior swing, wall, and ATH close only that symbol.
SL book lock and Global SL are off by default;
turn one on to lock the book, and Global SL also closes every open position.
Off places no Binance entry SL — Failed stall and the
primary exit still run.
Open positions is on by default: the next supervise
tick replaces that stop-limit when the size or the average entry
changes. The order stays on Binance if the supervisor stops.
DCA walls stay in the order placed at
open unless Grid legs or Wall gap change.
With Rearm grid off, a ladder that has fully filled stays empty.
Uncheck it on /config to leave those tickets as they are.
Failed stall / re-impulse is the working flatten and stays on from open
(grace / break / dump / hold / retrace). It does not replace this far stop.
The ratchet floor (BE / previous wall) only arms after the trade is already
green.
ATH stop-loss
Orthogonal SHORT protection under the primary exit. While a short is open, the bot places
one full-size reduce-only stop at historical ATH + 2%
(the IDEAL 🛡️ line is the entry SL from sl_ref, not this overlay — unless SL level is ATH).
There is no partial cut. The public #SL tag is reserved for loss fills.
New shorts are not opened when price is still below the previous swing high (prior 1D peak outside the current impulse) and within 12% of that level. Sitting on a new pump top (at/above that prior swing) is allowed — that is the ★ zone. The stop still sits on the historical ATH only.
Funding fee guard
Separate from trading fees. When funding is on and you would pay at least 0.3% this window (SHORTs pay when the rate is negative), Pumpstall skips that ★ / new grid. With an open paying position, it market-closes about 10 min before settlement.
Loss cooldown
After a close that lost more than 1% of notional, only that pair is skipped for a cooldown
(default 15m, editable on the unlisted /config form)
so the scanner does not immediately re-enter the same name.
A smaller loss, such as −0.15%, does not start it.
Other ★ still launch (live or paper). Profitable closes do not start that cooldown.
0 minutes turns it off. The /config field is minutes.
Min between opens
After a live position closes, the next live open waits
5 min
(editable on /config).
The grid supervisor and Bookpair share that clock. It starts when the position closes.
A symbol that already has a Bookpair supervisor is left alone: the short and long
scanners do not adopt that position and do not start another supervisor on it.
0 turns it off. Extra ★ still paper.
Bookpair spaces its own rungs 0.5% apart. It does not use the short
grid's min_gap.
The spot script buys on the order blocks under the mid when bids lead
(the same leg count and wall gap as the short grid), and each block is sized
by how far it sits. It does not short and it does not buy above the price.
8. Account Margin Ratio guards
This uses the same Margin Ratio you see in Binance Futures
(maintenance margin ÷ equity; liquidation approaches 100%).
The live supervisor prints an AUTO · margin … status line every refresh.
- Soft (4%) — no new ★ launches / no new grids. Existing positions keep running with their exits.
- Hard (6%) — cancel open DCA limit orders so exposure stops growing. Take-profit / BE / trail stops stay in place.
- When the ratio falls back below hard, the DCA grid can re-arm under the open position (until TP or stop closes the trade).
A low ratio (e.g. ~3%) looks safe, but fills on many DCA ladders can push it up quickly in a squeeze — that is why soft/hard sit early.
Margin usage (a different number)
Next to the ratio, the AUTO strip shows usage X% / max 65%. This is
initial margin ÷ balance, not maintenance ÷ equity, and it is the number that
decides whether a new grid can be placed at all
(PUMPSTALL_MAX_MARGIN_PCT, default 65%).
It matters because an open position reserves margin for its whole armed DCA ladder, not just the filled entry. One large ★ can therefore park usage above the cap while the margin ratio still reads a comfortable ~0.5%. When that happens the scanner says margin full · grids cannot arm and stops launching new ★ instead of starting supervisors that would fail to arm and quit a few minutes later.
Weekend block (US close → Asia open)
From Fri 21:00 UTC (near US cash close) to Sun 23:00 UTC
(Asia week-open liquidity), Pumpstall does not open new live ★
(off by default; toggle on /config). Extra ★ still launch as paper.
That gate runs before soft margin.
Crypto still trades, but live stays defensive. Open trades keep running with their exits.
When the window starts or ends, Telegram posts a short English #MARKET notice
(🇺🇸 close / 🇯🇵 reopen).
Profit targets (Day / 7d / 30d / Year)
Independent knobs on /config use the same
big % as the cards on /stats
(UTC day, last 7 / 30 days on the cards; year is a gate only).
Cards & targets defaults to Auto:
Binance wallet ROI when the API is connected
(realized + commissions / start equity), otherwise the
summed ticket % from the database.
They start empty (off):
day off
(session),
week off,
month off,
year off (hidden; empty default).
Empty or 0 turns that window off.
When a set window reaches its target, live ★ stop;
extra ★ still paper. Open tickets keep their exits.
The gate uses the big % on the matching
/stats card, not the all line
(live + paper).
When a window is hit and the live book is flat, Telegram posts
#TARGET (Day / 7d / 30d / Year) once per period.
Leftover paper ★ do not block that notice.
Volatility regime (BTC 24h heat)
The scanner reads Binance BTCUSDT 24h range
(high − low) / last from the public ticker already used in the scan
— no extra API key. That heat picks the profile (does not switch systemd
/pump units). Open positions and DCA stay untouched.
-
Early — range below
2%
(
VOL_REGIME_EARLY_PCT): looser ★ gates (stall 25 / near 82 / ★ 90), same aspump-stall-watch-early. - Strict — between that and 8%: tighter gates (stall 35 / near 85 / ★ 92).
-
Stand down — range at or above
8%
(
VOL_REGIME_BTC_RANGE_PCT): no new ★.
Toggle with VOL_REGIME_BLOCK (on by default).
A 0.4% deadband stops the profile from flipping every minute.
You can pin a profile by hand from Telegram with
/pump early or /pump strict, and hand control
back with /pump auto; the change lands on the next scan
cycle without restarting anything. Stand down still
overrides a manual pin.
If the range cannot be read, the gate fails open (last / CLI filters, new ★ still allowed).
9. How you manage day to day
- Binance — positions, open orders, margin ratio, deposits/withdrawals (you).
- Telegram — public channel for signals/results; private ops chat for bot control
(
/help,/status,/list,/pump,/paper SYMBOL, etc.). - VPS — process stays up after deploy; support helps with restarts and updates.
Commands are accepted from your authorized private chat with the control bot — not from the public signal channel.
10. Risk reminder
Futures and leverage can cause rapid losses, including beyond your expectation when grids fill against you. Pumpstall does not guarantee profits. You choose position size, keys, and whether automation stays enabled. Past results do not guarantee future performance.