AIXBT Docs

Backtesting

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

Every supported endpoint accepts at, returning the response as it would have looked at that time. Use it to evaluate strategies, train agents, or replay how intel, rankings, and momentum evolved.

EndpointSupported
GET /v2/projectsYes
GET /v2/projects/{id}Yes
GET /v2/projects/{id}/momentumYes
GET /v2/projects/{id}/rankYes
GET /v2/intelYes
GET /v2/groundingYes

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, intel, 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 intel --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 recipe 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.

MCP

MCP tools that support backtesting accept an at parameter (ISO 8601 or relative like 24h, 7d):

  • list_projects / get_project / get_momentum / get_rank
  • list_intel
  • get_grounding

Recipes run via run_recipe also accept at, applying it to all API steps in the pipeline.

Next Steps

  • REST API - Authentication, rate limits, and response format
  • CLI - Recipe specification and building blocks for automated workflows

On this page