AIXBT Docs

Backtesting

Replay the AIXBT API at any point in the past for analysis, strategy evaluation, and agent training

Every supported endpoint accepts an at parameter that returns the response as if you had made a live query at that point in time. Use it to evaluate strategies against historical data, train trading agents on real market conditions, or analyse how signals and scores evolved over time.

EndpointSupported
GET /v2/projectsYes
GET /v2/projects/{id}Yes
GET /v2/projects/{id}/momentumYes
GET /v2/signalsYes
GET /v2/grounding/latestYes

Format

ISO 8601 date-time, must be in the past. Floored to the nearest minute.

?at=2026-01-15T14:00:00Z

Requires an API key. Unauthenticated requests return 403.

How It Works

The response you get with at is the same as what a live query would have returned at that time. Projects, signals, momentum, and grounding all reflect the state at the query timestamp.

Provenance

Project responses include a provenance field when at is used:

  • "historical" - reconstructed from a stored snapshot
  • "constructed" - no snapshot was stored at that time, so the response is assembled from the closest available data. For queries before March 17, 2026, project metadata (name, description, tokens) reflects the state at the initial backfill on that date rather than the query time.

Projects that didn't exist at the query time are excluded from list results and return 404 on the detail endpoint.

Momentum with at

at acts as a ceiling on the time window. If you omit start and end, you get a 7-day window ending at at. If you provide start and/or end, at caps end so you never see data beyond the query time.

Data Availability

Historical data is available from October 12, 2025. Metrics are at hourly resolution until March 23, 2026, when they move to 5-minute intervals.

CLI

All commands accept --at with ISO 8601 or relative dates:

aixbt projects --at -7d
aixbt signals --at -24h
aixbt projects momentum <id> --at -7d

Recipes as Backtesting Tools

Pass --at to a recipe run to backtest the entire pipeline against a historical point in time:

aixbt run my-strategy.yaml --at -7d

Every API step in the recipe receives the same at value, so the whole pipeline sees a consistent historical view. You can also set at on individual steps to compare different points in time within a single run.

Non-API steps in the pipeline (such as web searches or external data fetches) will still return present-day information. AIXBT data is historical, but any external enrichment is not.

Next Steps

  • API Quickstart - Make your first API request
  • REST API - Authentication, rate limits, and response format
  • CLI - Recipe specification and building blocks for automated workflows

On this page