DEV Community

Nic Jordan
Nic Jordan

Posted on

How a Solana Trading Bot Should Actually Score Signals (4-Layer ML, No Repainting)

How a Solana Trading Bot Should Actually Score Signals (4-Layer ML, No Repainting)

Most traders shopping for a Solana trading bot get sold a black box: an "AI" label, a win-rate screenshot, and a promise. SolNexus Trade takes the opposite approach. It is a live web app that scores every signal through a transparent, four-layer ML pipeline — and the entire flow is auditable, not repainted. If you want to understand what "ML scoring" actually means beyond the marketing, this is the walkthrough.

Why most "AI trading bots" don't really learn

The dirty secret of the bot space is that most "AI" strategies are static. A developer ships a set of rules or a model, and it stays frozen until someone manually retunes it. They might call it adaptive, but the loop never closes: the bot fires signals, you take or skip them, and nothing feeds back into the model. Meanwhile, retail indicators like RSI or MACD recalculate on every new candle — so a "signal" you saw an hour ago may not have existed at all. That's repainting, and it's why backtests lie.

SolNexus is built around a different premise: the pipeline should learn from its own closed trades, and the scoring should be fixed at the moment a signal is generated.

The full loop: Detect → Score → Execute → Review → Calibrate

SolNexus Trade closes the entire loop that most platforms stop short of. It starts with detection, runs the signal through ML scoring, executes wallet-native swaps via Jupiter, reviews every signal on multiple timeframes, and then calibrates the model from the outcome. The ML is the spine — it's what makes the loop adaptive instead of static.

The detection layer

Two independent real-time engines feed the pipeline. TokenPricePoller pulls from Jupiter and DexScreener to track price and liquidity. WalletAlertPoller watches tracked on-chain whale and shark wallets through Helius RPC. The raw flow is captured at a point in time; no scraping, no 20-minute delay. This raw input is what the scoring layers act on.

L1 — deterministic first pass

The first layer applies a fixed, deterministic formula to the raw flow and produces a first-pass confidence score. Crucially, this score is computed once, at signal time. It is not an indicator that redraws as new candles print. What you see is what was scored.

L2 — historical reinforcement

The L2 layer nudges that score based on how the same type of signal has actually performed in the past. The system keeps a memory of which patterns have held and which have faded, so a signal type with a weak track record gets discounted before it ever reaches you.

L3 — Thompson Sampling bandit (the ML core)

This is the layer that earns the "ML" label. For each signal type, SolNexus maintains Beta(α,β) posterior distributions. When a position tied to that signal type wins, α is lifted (more aggression); when it loses, β is lifted (more caution). The bandit samples from these posteriors to decide aggression on the next similar signal. The practical effect: a fresh bot starts conservative and earns its edge as sample size builds — no manual retraining required.

L4 — execution policy + Emit Gate

The final layer produces an execution-policy score and runs it through the Emit Gate: three hard thresholds — confidence ≥ 50, execution_confidence ≥ 58, and token_quality ≥ 62. Miss any one and the signal is silently dropped. You never see the "almost" alerts that inflate someone else's screenshot. The audit trail is the product, not the win rate.

Why it doesn't repaint

Because L1 is computed once at signal time and the historical context in L2 is a recorded outcome (not a recomputed indicator), a SolNexus signal is stable after it fires. Combined with the multi-timeframe review — every signal is scored on its +15m, +1h, and +4h outcome — you can verify after the fact whether the scoring held up. That accountability loop is the antidote to repainting.

Self-calibration: learning from closed trades

When a position closes, its realized P&L is fed back into L2 and the L3 bandit. The posteriors shift, the reinforcement weights adjust, and the next signal of that type is scored differently. Nothing is retrained by hand; the market does the teaching. To our knowledge, no other Solana trading tool closes this entire loop with an ML pipeline that learns from every closed trade — verify the architecture yourself at https://solnexus.xyz/bot/guide.

Verify it yourself

Trust is scarce in this space, so everything is built to be checked. The SolNexus → freqtrade adapter is open source under MIT, with green CI and a public test suite. Every live execution is a wallet-native Jupiter transaction you can verify on Solscan. Login is self-custody (Ed25519 signature, no keys shared); paper trading needs no keys at all. Live trading runs through a dedicated trade wallet you authorize, with its key held in Azure Key Vault under RBAC scoping — your login wallet never holds bot funds.

Where it's available today

Paper trading is live now on https://solnexus.xyz and is the product we point new traders to first. Live execution is feature-complete and in final market-condition validation — we describe it as a controlled rollout, not open availability, because we won't ship a half-validated risk engine to your capital. Founding access is open at https://solnexus.xyz/waitlist at a founding rate, with wallet-native login and no card required.

If you want to see the scoring pipeline in action, start with paper mode and watch how the Emit Gate filters noise before it ever reaches your dashboard.

Top comments (0)