Solana LP Agent · loading version…
LP opportunity dashboard
Tracked pools, score history, strategy simulation, Telegram alerts and server-side mini DB.
Debug status loading…
Recent API requests
Screen call flow
Debug details load after boot.
Live simulation controls
Start the live simulated bot. It stays 100% cash until Start is pressed, the fresh-pool gate is met, and the countdown expires.
Bot strategies recap
Live-only recap for Conservative / Balanced / Aggressive paper portfolios. Strategy lab/backtests are separated so they do not touch live state.
Allocation timeline
Live bot allocation/cash/cost timeline. Strategy Lab can run historical simulations without overwriting this live state.
Research terminal
Pool Intelligence
Rank pools by fee density, stability, liquidity quality and execution risk. This page is read-only and does not touch live state.
Pool ranking
Higher health means better score, stronger fee density and fewer anomaly/liquidity penalties.
Safety layer
Risk & Anomaly Center
Monitor invalid prices, fallback rows, liquidity gaps and pools that should not be trusted by the strategy engine.
Risk events
Actionable warnings generated from current pools and DB status.
Strategy Lab · isolated backtest sandbox
Build strategy scenarios and compare them on saved DB snapshots. Lab tests never start, reset, buy, rebalance, pause or overwrite the live bot.
Strategy setup
These are strategy/risk/allocation parameters only. Initial capital, lookback window and fallback execution costs are common simulation inputs below.
Live preset scenarios remain read-only here. Switch Base profile to Custom to unlock and tune the strategy. Saving/running here does not modify live strategy settings.
Simulation setup
Common inputs used for every selected strategy in this lab run. These do not modify live simulation settings.
Strategies included in simulation set
Scenario recap
Same compact summary format as live, showing only the lab scenarios included/run in this sandbox. The dashboard switch can show standard USD return or α vs 50/50 hold.
Please run first simulation.
Lab allocation timeline
Allocation/cash/cost timeline for the selected scenario. It does not touch live bot state.
Pool score history
Interactive chart from server-side snapshots. Bands follow your ENTER/HOLD/WATCH/AVOID thresholds.
Pool Settings
Choose what pools are tracked on the Dashboard. Discovery helps find candidates; tracking makes them active.
Pool discovery
Controls the discovery table below. Dashboard only shows pools you explicitly Track and keep active.
Tracked custom pools
Only active tracked pools appear on the Dashboard. Use Track below to add pools from discovery.
Auto top pools discovery
Discovery only: nothing appears on the Dashboard until you click Track. Columns are sortable and include score, estimated fee APR, IL24h and fee tier used.
Add / update pool
Use exact symbols to avoid BNSOL/SOL-style mistakes. Example: base SOL,WSOL, quote USDC.
Pool Rating Settings
Configure the pool rating engine: LP fee estimate model, score formula and action thresholds. These settings rate pools; they do not control live allocation sizing.
LP fee estimate model
This section is only about estimated LP fees earned by providing liquidity — not gas, swap route fees or execution costs. Instant uses only current 24h volume. Rolling averages saved snapshots over N days. Weighted gives more importance to recent data.
feeAprPct = (smoothedVolume24h / liquidityUsd) × feeRate × 365 × 100Action thresholds
These decide the label shown on each pool. Keep them ordered: Enter > Hold > Watch.
Editable scoring formula
The score is always capped at 100. Positive sliders rebalance to exactly 100.0/100.
x × y = kFor a classic constant-product pool, x is token A, y is token B, and k stays constant during swaps.
r = 1 + change24h / 100IL24h = | 2 × √r / (1 + r) − 1 | × 100This compares AMM value after price moves versus simply holding the original tokens. It does not include earned fees.
Main score formulascore = clamp(base + feePotential + liquidityQuality + activityQuality + correlationBonus − trendPenalty − ilPenalty − ghostPenalty − lowFeePenalty, 0, 100)Positive score budget = 100 max points
Scaling and penalties
Live strategy settings
These settings affect the live simulated bot only from the moment you save onward. Saving does not reset cash, positions, runtime, PnL or history.
Hard exit conditions
The server checks tracked pools every X minutes. Hard exits can force an immediate simulated exit on the next scan.
Strategy risk profiles
Caps are used only when Allocation mode is Dynamic with cap. Equal mode ignores score weighting after pool selection and splits deployed capital evenly across selected pools.
Conservative
Balanced
Aggressive
How the simulation works
pick top pools where score ≥ minScore, capped by maxPools; keep reserve % in cash; weights follow allocation modeLP fee estimate per intervalfeePnl ≈ allocatedUsd × (feeAprPct / 100) × (hours / 24 / 365)Directional LP market exposurelpValueRatio ≈ √(priceNow / pricePrevious)The server checks tracked pools every configured X minutes and saves snapshots. The simulated bot can hard-exit immediately on any scan if risk thresholds are hit. New entries and normal rotations happen on the rebalance cadence.
Scoring research
Score Lab
Optimizer for how pools should be scored before strategy thresholds are applied. Analysis is read-only; saved score profiles are persisted in the DB and can be selected from Strategy Lab.
Metric dictionary & formulas
Every metric used by Score Lab must be explainable: what it measures, where it comes from, and why it may matter.
Formula analysis
Tests fee density, volume/liquidity, liquidity depth, transaction activity, price/IL stability, score momentum, cost efficiency and DEX risk across selectable time windows.
Ready to analyze current DB. Select an analysis window and click Analyze score formula.
Score profile builder
Flag the metrics to include, let Score Lab propose weights, manually tune them, then save a named score profile. Strategy Lab can then use that profile as the candidate rank.
Saved score profiles
Profiles are rank formulas saved in the DB, not live trades. They are available after refresh and from another device using the same backend DB.
API & cost settings
Control live fee/gas estimates used by paper buy, rebalance and hard exit. If an API fails, the bot uses the fallback values below and stores the source as fallback.
Cost APIs
Pool/data APIs
How costs are applied
netPositionUsd = allocatedUsd - gasUsd - routeCostUsd - LPFeeTierCostUsd
Hard exitcashReceived = positionValueUsd - gasUsd - routeCostUsd - LPFeeTierCostUsd
AccountingtotalValue = cash + deployedPositionValue; costs are already deducted and also shown as counters
Older simulation points are not retroactive. Run a new Buy / rebalance after deploying this version to see fresh gas/swap counters.
Telegram bot options
Automatic trade updates fire whenever a strategy enters/exits during a market scan. Reports are separate scheduled summaries.
Chart images use an external chart image URL and are optional. Keep off if your hosting blocks external requests.
Security note: Telegram secrets are read only from server environment variables and are not stored in the DB or exposed to the frontend.
DB Management
Control the local server DB. Default mode should be Continue DB universe: after the first scan, the bot keeps collecting the same discovery pools after restart.
Data Management
Separate raw snapshot archive from replayable strategy logs. Snapshots are the market-data source of truth; strategy logs can be exported or cleared without touching snapshots.
Snapshot Archive
Export raw data, export cleaned data with invalid price rows flagged/fallback-ready, or import a snapshot archive for deterministic reruns.
Strategy Logs
Strategy logs are disposable replay/debug outputs. Clearing them does not delete market snapshots.
Persist cleaned DB
After validate/clean/replay, make the cleaned snapshot archive the default JSON DB. Semantic timestamped backups are created for previous default and cleaned snapshots, so RAW/CLEANED/REPLAYED states stay traceable.
Replay / Rebuild
Rebuild the live paper recap from cleaned snapshots using the current engine. This preserves raw snapshots, clears contaminated strategy logs, and replaces only replayable live portfolio state.
Discovery universe
Continue DB universe = keep using the discovery pools already saved in DB. Best for consistent ML data. Rescan every scan = always refresh top pools from API; useful only if you want the universe to change continuously.
Global check interval. This value controls how often the server scans the market, writes snapshots to the DB, evaluates simulation/strategy decisions, and triggers Telegram trade alerts. It overwrites the old Simulation Settings check interval because the whole system uses the same scan loop.
Cleanup tools
Use these only when you intentionally want to reduce DB size or restart the simulation. Snapshots are the valuable AI dataset, so do not clear them casually.
Delete data for one saved pool
Use this if one pair polluted the dataset. You can delete only its snapshots while keeping the pool config, or delete snapshots and remove it from the discovery/custom universe.
DB Visualizer
Interactive admin browser for snapshots, pools, settings and simulation state.
Click a row to inspect/edit JSON. Save replaces that DB row; Delete removes it after confirmation. Cost fields show API vs fallback gas/swap estimates when available.
Rows
Compact table view.
Selected row editor
Raw record for verification/debug. Advanced: edit carefully.