Backtesting Studio
Replay a strategy on real Pons V2 history from Robinhood Chain: curve-exact fills with fees and creator tax, walk-forward and purged cross-validation, and paper trading through the same code. Every result is labelled BACKTEST or PAPER.
1 · STRATEGY
Replays the live agent's own code: verdict() (every rug-guard rule and the score), sizeFor() and exitDecision() from @intelo/agent, at the live cadence. Checks that cannot be replayed from history are listed under assumptions below.
2 · HISTORY (ROBINHOOD CHAIN)
3 · RUN BACKTEST
fetch history first
ASSUMPTIONS AND LIMITS
- · Fills use the curve's constant-product maths with its fee and creator tax, read from the events; reserves are recovered from each curve's own trades (verified by replaying them) and simulated forward. Our own trades' impact stays on the curve for later fills; recorded trades by others keep their amounts.
- · Orders execute 2s (configurable) after the decision and are rejected beyond the slippage limit.
- · No entries in a token's first 15s (snipe tax), measured conservatively.
- · Positions still open when a curve graduates continue on the token's Uniswap v4 pool when the history holds every swap of that pool (priced on its virtual reserves at the last swap, LP fee included, hook fees and range crossings not modelled); otherwise they are written down to 0 with the reason.
- · Positions open at the end of the range are marked at their curve liquidation value and labelled open-at-end.
- · Only tokens launched inside the range are simulated: older tokens' buyer and holder history is not in the data.
| live check | live | backtest |
|---|---|---|
| Sell simulation (honeypot) | eth_call of a real sell from the agent's address with storage overrides | Not replayable (needs historical state). Pons V2 curves sell through the curve contract's fixed code, so the sell is modelled with the curve maths; it passes when the curve holds enough real ETH. |
| Buy simulation and hidden buy tax | eth_call of the buy, compared with the curve formula at the posted fee + tax | Curve maths at the reconstructed reserves. Hidden tax is measured on the latest recorded buy (tokens received vs. posted-fee output) inside the snipe window, and taken as 0 after it. |
| Top holder | largest wallet's net curve position from CurveFlow (Pons tokens) | Same computation over the recorded CurveBuy/CurveSell events; circulating = totalSupply − token reserve. |
| Creator holdings | balanceOf(deployer) read at check time | Approximated by the creator's net curve purchases (bought − sold); transfers outside the curve are invisible without archive state. |
| Grok veto / boost | optional xAI read on cleared tokens | Skipped: not reproducible. Scores are the deterministic guard score only. |
| DEX (Uniswap v2/v3) tokens | DexScreener discovery plus pool checks | Out of scope: the dataset is Pons V2 curve history only. |
| Daily loss pause | autopilot pauses until re-armed (local midnight) | sizeFor blocks entries until the next UTC day. |
| Gas | measured per transaction | Fixed per transaction (engine setting), plus one approval after each buy. |
PAPER TRADING (FORWARD TEST)
Feeds new Pons launches and curve trades, polled every 5s, through the same strategy and engine as the backtest, after replaying the last 30 minutes without trading (warm-up). No transaction is ever sent. The same events always give the same decisions as a backtest over them.
| PAPER trade | strategy | entry (UTC) | in / out ETH | P&L | outcome |
|---|---|---|---|---|---|
| no PAPER trades recorded in this browser yet | |||||