How this works
This is a paper-trading prototype for Solana memecoins. It scans the newest token profiles from the free DexScreener public API, scores each token with a HEURISTIC rug check (7 equally-weighted checks — it is not a full rug audit: DexScreener exposes no mint/freeze-authority or holder-distribution data), and — when auto-trade is on — buys the best-scoring token that passes every entry gate. Exits (take-profit, stop-loss, trailing stop, time stop) are checked on every scan poll. Nothing here moves real money. Simulated slippage and fees are applied to every fill.
Show full rules
- Starting capital $10,000 (editable). Risk per trade 1% of equity; position size = equity × risk% ÷ stop-loss% (e.g. $10,000 × 1% ÷ 15% = $666.67, 6.7% of account). Max trade $1,000. Max total deployment cap 60% of account across all open positions (1–100%) — a portfolio cap, not a trade size. Slippage 1%. Fee 1%.
- Auto-trade: one buy per scan, max one per 5 min, max 5 open positions, max 10 auto-trades/day, max 2 trades per token per day, 30-min re-entry cooldown after a stop-loss on that token, daily halt at −5% day P/L or 3 consecutive losses.
- Entry gates: rug score ≥ 80/100 and verdict PASS; liquidity ≥ $25,000; 24h volume ≥ $10,000; pair age 10 min – 6 h; FDV $100k–$5M; 5m buys ≥ sells AND 1h buys ≥ sells; momentum not fading vs previous scan (5m volume and buy pressure not both down); 1h price change between −20% and +300%.
- Rug check (HEURISTIC, 7 equally-weighted checks, PASS ≥ 80, WARN 45–79, FAIL < 45): liquidity depth, 24h volume, volume/liquidity ratio, buy pressure (1h buys share), dump check (5m sells share), pair age, FDV vs liquidity.
- Sizer: size = equity × risk% ÷ stop-loss%. The sizer shows the actual $ risked if the stop is hit and the position as % of account; if a cap (max trade, cash, total-deployment room) shrinks the size, the actual risk is below the intended risk%.
- Exits: TP1 +30% sells 50% and banks it, remaining stop moves to breakeven; TP2 +80% sells the rest; trailing stop −12% from peak once up +20%; stop-loss −15% (breakeven stop after TP1); 30-minute time stop.
- Optimizer bot (ON by default): watches closed trades since the last rule change; when a slice is clearly losing (5+ trades, negative expectancy, win rate ≤ 40%) it changes exactly one rule, logs it, then freezes for 20 more closed trades. It never changes starting capital or the max total deployment cap, and never resets the account.
Markets
- Solana Memecoins — live (default). DexScreener data, 24/7. Rules above are the memecoin rules.
- Crypto Majors — BTC/ETH — live. Binance public API (no key), 24/7. Entry: price above the 20-period SMA (1h), 1h change ≥ 0%, taker-buy share ≥ 50% on the last closed 1h candle, 24h quote volume ≥ $500M. Exits rescaled: TP1 +8% (sell 50%), TP2 +15%, trailing −7% from peak once +10%, stop-loss −3%, 24 h time stop (exits only if still under +2%). Max 2 open positions; max position 25% of equity. Slippage/fee 0.1% each (Binance spot taker).
- US Stocks — SPY/QQQ — locked: needs a free Alpaca paper API key. When live: regular session only, 09:30–16:00 ET, Mon–Fri — never the overnight session, even though the broker allows 24-hour trading, because there is no liquidity overnight. A spread/ADV gate also applies.
- Forex Majors — locked: coming later.
- Perpetuals — locked: coming later, only after spot majors works (100+ paper trades), low leverage only.
Each market keeps its own paper ledger — separate starting balance, positions, trades, logs and settings. Switching markets never touches another market's ledger. Position sizing is the same formula everywhere: equity × risk% ÷ stop-loss%.
Account Summary
Result of each trade
| Symbol | Exit reason | $ P/L | % P/L |
|---|---|---|---|
| No closed trades yet. | |||
| Symbol | Entry | Exit | Reason | $ P/L | % P/L |
|---|
Open Positions (0)
| Symbol | Entry | Current | Qty | Invested | Risk @ stop | P/L | Peak | TP1 | |
|---|---|---|---|---|---|---|---|---|---|
| No open positions. | |||||||||
Scanner
Newest token profiles from DexScreener (free public API, no key). Click a row to run the rug check and sizer.
| Token | Price | Liq | 24h Vol | Rug | |
|---|---|---|---|---|---|
| Not scanned yet. | |||||
Rug Check (HEURISTIC)
Select a token from the scanner.
HEURISTIC only — DexScreener exposes no mint/freeze-authority or holder-distribution data, so this is not a full rug audit.
Sizer
Select a token from the scanner.
Trade History
| Time | Symbol | Action | Price | Size | Reason |
|---|---|---|---|---|---|
| No trades yet. | |||||
Equity Curve
Win rate: — Best trade: — Expectancy: —
Logger
Optimizer Bot
Next review after 20 more closed trades.
Optimizer details
Rule Changes (0)
No rule changes yet.
Report
No closed trades yet — report builds as trades close.
Pre-ruleset detail
Trades from before entry-context recording go in “Unknown — pre-ruleset”. In this standalone version every trade records its context, so this bucket should stay empty.
Settings
Are you sure? This restores starting capital and clears all positions, trades and logs.
Grok / xAI (optional)
Save an xAI API key to get AI reasoning on a token. The key is stored in your browser's localStorage only, never displayed back, and never logged. Without a key, “Reason about this token” uses the transparent rule-based reasoner. If the API call fails, it falls back to the rule reasoner.