SDK

The archive is ready. The runner is not.

Strategy backtesting is in development and has no release date. Dexploit does not publish strategy returns, and nothing on this page is investment advice. What you can use today is the input a backtest replays: 146M+ candles across 8 timeframes, and every decoded swap, over REST.

Status
In development
Candles
146M+
Timeframes
8
Published returns
None
Replay window

This is the tape, not a result.

Fetched from the same endpoint your code would call, when this page was rendered. A backtest is a loop over rows like these. The loop is what is missing, not the data.

GET/api/v1/candles/latestpair_address=3ucNossUxv&timeframe=5m&limit=120USDC / SOL · raydium_clmm
0.01040.01050.01070.01090.0103
Intervals
120
Trades
6,735
Volume
47.68K SOL
Peak traders / bucket
79
Window, UTC
2026-09-15 20:05 → 2026-09-16 06:00

The archive quotes SOL per token, so this series is the SOL price of a dollar. Invert it for the dollar price of SOL. Every readout under the chart is summed from the exact rows the chart draws, with volume_sol converted out of lamports. Getting that orientation wrong is the single most common way a first backtest ends up trading the reciprocal of its own signal.

Surface

What a backtest reads, and what it would report.

Inputs, available now
  • GET/api/v1/candlesRange query with start and end, oldest first
  • GET/api/v1/candles/latestMost recent candles, newest first
  • GET/api/v1/pairsPools for a mint, ranked by recent volume
  • GET/swaps/rangeIndividual trades between two slots or times
  • GET/swaps/token/{mint}Every trade for a mint, across pools
  • GET/api/v1/protocolsThe venue list, no key required

Candles cover signal work at eight resolutions down to one second. Where a decision depends on what happened inside a bucket, the swaps endpoints return the individual fills with the fee and the realised price impact attached.

Result shape
  • total_return

    Change in portfolio value over the replay window

  • sharpe_ratio

    Excess return per unit of realised volatility

  • max_drawdown

    Largest peak-to-trough fall inside the window

  • win_rate

    Share of closed positions ending above their entry

  • total_trades

    Count of fills the strategy generated

  • profit_factor

    Gross gains divided by gross losses

The value column is empty on purpose. These are the fields the SDK will report back to you about your own strategy. Dexploit does not run strategies, does not publish returns, and nothing here is investment advice or a projection of any result.

Worth knowing

Why a Solana backtest lies to you.

fills

There is no book to lift. A simulated order is filled against pool reserves and moves them, so your own size changes your own price. The swaps index records price_impact_bps on real trades of every size. That is the empirical answer to what a fill actually costs, and it is a better assumption than a constant.

fees

One flat rate across the book is wrong here. The LP fee is per venue and quoted in basis points, pump.fun and meteora_dbc add a creator fee on top, and Token-2022 mints charge a transfer fee on the mint itself. All three arrive as separate fields on every swap record.

survivorship

The archive keeps pools that have stopped trading. Build the universe from the mints that are still active today and every one that died drops out of it silently, which flatters the result. Select the pairs by what was tradeable at the start of the window, not by what survived to the end of it.

resolution

A bucket is not a fill. One second is the finest candle, and inside it the open and the close can be several slots and many trades apart. Anything sensitive to ordering has to replay swaps, where each row carries its own slot.

Status

Not released, and no date.

Until it ships, everything a backtest needs is reachable with a key and a loop of your own. If there is a piece of the runner you would actually use, saying so is what shapes it.

The endpoints above need a key. Create an account to get one. Dexploit publishes market data, not strategies or performance; nothing on this page is investment advice.

Pipeline

The archive a backtest replays.

The runner is in development. The history it would read is not. It is the same corpus every other product on this site serves.

  1. 01

    Validators

    Every swap that executed, in slot order.

  2. 02

    Dexploit engine

    Decoded across 10 protocols into one record.

  3. 03

    Aggregation

    Candles in 8 timeframes, 1s to 1d.

  4. 04

    REST archive

    Range queries over the whole history, available today.