Self-hosted scalping cockpit

Precision scalping for Binance,
on your own VPS.

A depth-aware Shot strategy you can arm by hand, plus Pulse — an automated multi-symbol scanner that detects sharp moves, drops resting limits, and exits in under a second.
One command. One URL. One admin token.

user@vps · ~
$
→ Installing Docker Engine + Compose plugin…
✔ Docker 27.3.1 ready
→ Pulling ghcr.io/kochergin/snipr:v0.7.0
✔ Image pulled (94 MB · 1.8 s)
→ Generating admin token + writing config
✔ ~/.snipr/.env chmod 600
→ Starting service
✔ Snipr v0.7.0 listening on :3000
 
URL: http://198.51.100.42:3000
Token: snpr_a1b2c3d4e5f6g7h8i9j0k1l2
 
Open the URL → paste the token → trade.
See it run View on GitHubSpot · USDⓈ-M Futures · Paper · Live
BTCUSDT1m+2.34%
63,125.7
Bid
63125.4
Ask
63126.1
OBI
+0.18
Δ5s
+0.42
DepthL2
0.5363131.7
0.9463131.0
1.0363130.3
0.7363129.6
0.3163128.9
0.1563128.2
SHOT0.4163127.5
0.8463126.8
1.0563126.1
MID63125.7
0.6063125.4
0.9863124.7
SHOT1.0163124.0
0.6663123.3
0.2663122.6
0.1763121.9
0.4763121.2
0.9063120.5
1.0563119.8
Shotdepth · 2 active
ARMED
Fills (1m)maker 100%
38
Edgevs mid · 38 trades
+0.42 bps
<0s
scalp exit deadline
time-based stop per trade
0ms
L2 depth updates
wall re-peg on every book tick
0%
maker-priority entries
post-only by default
$0.0
per month, forever
self-hosted · MIT · your keys
Two strategies, one cockpit

Hand-quote with Shot. Automate with Pulse.

Shot
Precision quoting on a single pair
  • Mid-anchored or depth-anchored — rest in front of liquidity walls.
  • Buffer zone keeps quotes from thrashing in calm books.
  • Post-only by default; TP / SL spawned on every fill.
  • Keyboard-driven: A to arm, F to flatten, X to cancel — never take your hand off the keys.
Pulse
Multi-symbol auto-scanner with sub-second exits
  • Whitelist pairs, define a sharp-move trigger (e.g. ≥ 40 bps in 2 s).
  • On trigger: drop a resting limit at offset — maker-only, never crosses.
  • Take the fill, exit on TP, SL, or hard time stop (e.g. 1.5 s).
  • Per-symbol cooldown, max-concurrent cap, daily-loss kill.
60 seconds, end-to-end

From zero to cockpit

1
Step 1

Install with one command

Run the installer on any Linux VPS. It installs Docker, fetches the image, and prints your URL + admin token.

curl -fsSL https://snipr.run/install | bash
2
Step 2

Open the URL, paste the token

Single port, single URL. The admin token is printed by the installer; paste it once and the browser remembers.

snpr_a1b2…o5p6
3
Step 3

Choose a preset, press ARM

Setup wizard walks you through market → mode → keys. Pick a Safe/Pro/Aggro preset and tap A to arm Shot.

Aarm / disarm
Built for traders who know

Advanced where it matters. Simple where it counts.

Shot · two modes

Mid-anchored quoting like MoonTrader's classic Shot, plus Depth-anchored Shots that ride in front of liquidity walls. Buffer zone prevents quote thrash; fills spawn TP / SL children.

Depth heatmap + click-to-quote

A live L2 ladder with size heat bars. Your active Shot anchor highlights inside the book; click any level to pre-fill the manual quote pad.

Multi-window flow

Order-book imbalance, 5s / 30s / 5m delta meters, near-mid liquidity readouts. Filters arm or disarm the strategy in real time.

Latency p50 / p95 / p99

Tail latency is what kills HFT. The cockpit's mini-histogram shows ping percentiles + jitter live, plus a dual-ring dial for round-trip to Binance.

Markets Watcher

Snipr scans Binance's all-tickers feed and ranks pairs by hotness (volatility · log volume / spread). Click to switch in one tap.

Risk that disarms

Daily-loss cap, fills/min cap, feed-gap auto-halt, and a confirmation gate the first time you arm in real-money mode.

Evidence, not vibes

Every fill, attributed.

Pulse writes a structured record for every closed trade — entry, exit, edge in bps, hold time, exit reason, and the exact trigger that fired it (Δ, OBI, tape rate). Persisted to disk, streamed live to the cockpit, and exportable as CSV for your own analysis. If a config isn't working, you can see why — and fix it in the next arm.

  • Entry & exit prices, P&L net of fees, hold time in ms
  • Exit reason pill: TP · SL · trailing · time · manual · kill
  • Trigger note per trade (what fired this one)
  • Per-symbol breakdown with click-to-filter
  • One-click CSV export of the whole on-disk journal
Trade Journal
5 trades · Pulse
Net P&L
+$0.49
Win rate
80%
4W · 1L
Edge
+10.4 bps
avg vs mid
Maker
100%
post-only fills
Time
Sym
Side
Entry → Exit
Δ bps
Hold
PnL
Why
13:19:22
SOL
SELL
152.41 152.28
+8.5
612ms
+$0.21
TP
13:19:18
ETH
BUY
3,212.4 3,214.7
+7.2
1.1s
+$0.18
TRAIL
13:19:11
INJ
BUY
18.33 18.32
-7.6
1.5s
$-0.08
TIME
13:18:52
ARB
SELL
0.8317 0.8304
+15.6
820ms
+$0.11
TP
13:18:41
DOGE
BUY
0.1421 0.1425
+28.1
1.2s
+$0.07
TP
last trigger
Δ54bps · obi +0.18 · tape 23/m
Real-money execution

Defensively engineered. Verifiable.

Idempotent placement

Every order carries a snipr-<uuid> newClientOrderId — a network retry can never double-place.

Query-after-timeout

If newOrder times out, Snipr queries by clientOrderId before assuming failure. No silent loss, no double placement.

Filter-safe rounding

Prices floored to tickSize, sizes to stepSize, notional ≥ minNotional — all verified locally before any REST call.

Post-only by default

LIMIT_MAKER on spot, timeInForce=GTX on futures. The exchange rejects crosses; the client guards too.

Reduce-only exits

Futures TP / SL children are flagged reduce-only and can never accidentally flip your position.

Auto-resync on -1021

Local clock drift is detected and corrected with a single transparent retry.

Periodic reconciliation

Every 60 s, Snipr refetches the truth from the exchange. Recent placements are race-protected.

Dead-man switch

USDⓈ-M countdownCancelAll re-armed every 10 s. If Snipr crashes, Binance cancels everything for you.

Rate-limit aware

Tracks X-MBX-USED-WEIGHT and respects Retry-After on 429 / 418 — never gets your IP banned.

Unit-tested against mocked Binance · npm test
Yours, not theirs

Self-hosted, by design.

On your VPS, near the exchange

Run on a 2 vCPU box in AWS Tokyo or any provider close to Binance. Round-trips routinely under 10 ms.

Your keys never leave the box

API credentials live in a chmod 600 settings file inside your container. No SaaS in the path.

No black box

MIT-licensed source on GitHub. Read it, audit it, change it.

Be the algorithm,
not the prey.

Snipr is free, open-source, and runs anywhere. Install it now and have a cockpit on your screen in the time it takes to make coffee.

install