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.
- 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). - 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.
- 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 / builds a SHORT with a DCA grid anchored to real ask walls.
- Runs one cycle with
--once(no endless re-entry on that process after close). - Leaves protective exits on Binance while the position is open.
Concurrent ★ slots (MAX_TRADES, default 3) 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. Account risk is
also guarded by margin and funding rules below.
5. Entry size (slot scale + boost)
Unit size is 1% of the futures wallet
(WALLET_PCT). With slot scaling on (default), that unit is pooled across
3 concurrent slots
(MAX_TRADES):
entry% = (1% × 3) / (open + 1)
So with 1% × 3 = a 3% pot:
- 0 open → 3% (alone — largest)
- 1 open → 1.5%
- 2 open → 1%
When a slot frees, the same formula runs again on the next ★. DCA ladders scale from that entry base.
A size boost (strict-quality ★) multiplies that base by 1.5× at arm time — larger entry and larger safeties on that symbol only. It does not resize an already-open trade. Example alone with boost: 4.5% of wallet.
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. Optional break-even protect
(--protect-be) can sit underneath most modes — except ratchet,
which owns the stop itself.
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.
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). 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 ≥ ~1%, 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 5× partial TP the same ratchet stays on the runner.
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 5× 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 +1%, 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 bot may
take a partial (~70% at about +0.3% gross) and leave a runner under the
remaining exit logic. The gate is position notional (qty × avg entry) ≥
500% of the entry base
(about 5× the first order —
typically mid-grid / around the 5th DCA fill). Because entry size scales with wallet
(e.g. ~1%), 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
5%
(no new ★ / no new grids). At the same
8% hard level,
leftover DCA limits are cancelled. A new ★ can still place one more grid
on an already-open position.
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%
(shown as 🛡️ on the IDEAL card with total % from the first ask wall; no separate #SL arm alert).
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 losing close on a symbol, that pair can be skipped for a cooldown (default 24h) so the scanner does not immediately re-enter the same name. Profitable closes do not start that cooldown.
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 (5%) — no new ★ launches / no new grids. Existing positions keep running with their exits.
- Hard (8%) — 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 ★ positions
(PUMPSTALL_WEEKEND_BLOCK, on by default). That gate runs before soft margin.
Crypto still trades, but the stack stays defensive. Open trades keep running with their exits.
When the window starts or ends, Telegram posts a short English #MARKET notice
(🇺🇸 close / 🇯🇵 reopen).
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
4%
(
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, 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.