# Mangrove Developer Backtests API

> Mangrove Developer Backtests API is a paid API for AI agents from api.mangrovedeveloper.ai, paid per call via x402, $0.1/call, status unknown (last checked 2026-11-04).

Runs a backtest simulation of a trading strategy against historical market data with configurable risk, volatility, and execution parameters.

## Facts

- Endpoint: POST https://api.mangrovedeveloper.ai/api/v2/backtests?utm_source=zero.xyz
- Price: $0.1/call
- Payment: x402
- Status: unknown
- Last checked: 2026-11-04
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/mangrove-developer-backtests-api-8b65d423
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_s08Pu4ZwM4UAWODb0rfxQ

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability mangrove-developer-backtests-api-8b65d423 -d '<json body>'
```

Example prompt: Run a backtest on strategy ID 'momentum-v3' trading ETH/USDC on Coinbase from 2023-01-01 to 2023-12-31 using 1-hour intervals, with a 0.1% fee, 0.05% slippage, $10,000 initial balance, max 3 trades per day, and volatility adjustment enabled.

## When to prefer this

Use this endpoint when you need to simulate a trading strategy against real historical market data with fine-grained control over execution parameters (fees, slippage, risk limits, volatility modes). Prefer this over simpler analytics endpoints when you need comprehensive trade-level output, risk metrics, and support for advanced configuration like cooldown bars, momentum limits, and volatility adjustment.

## Known failure modes

- Invalid strategy_id or malformed strategy_json returns a 400 error
- start_date after end_date causes a validation failure
- Unsupported exchange or market data venue returns a 404 or 422
- Insufficient historical data for the specified date range and interval
- Missing required fields (asset, start_date, end_date) causes a 422 unprocessable entity
- Payment failure or insufficient USDC balance returns a 402 Payment Required

## How this service works

Developer references for Mangrove Agent, API contracts, MCP and AI integrations.

## Output

Returns backtest simulation results including trade-by-trade history, portfolio equity curve, aggregate performance metrics (total return, Sharpe ratio, max drawdown, win rate), and risk statistics computed over the specified historical period.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "seed": {
   "type": "integer"
  },
  "asset": {
   "type": "string"
  },
  "fee_pct": {
   "type": "number"
  },
  "end_date": {
   "type": "string"
  },
  "exchange": {
   "type": "string"
  },
  "interval": {
   "type": "string"
  },
  "data_file": {
   "type": "string"
  },
  "base_token": {
   "type": "string"
  },
  "generation": {
   "type": "integer"
  },
  "start_date": {
   "type": "string"
  },
  "data_source": {
   "type": "string"
  },
  "quote_token": {
   "type": "string"
  },
  "strategy_id": {
   "type": "string"
  },
  "slippage_pct": {
   "type": "number"
  },
  "cooldown_bars": {
   "type": "integer"
  },
  "strategy_json": {
   "type": "string"
  },
  "corpus_dataset": {
   "type": "string"
  },
  "initial_balance": {
   "type": "number"
  },
  "lookback_months": {
   "type": "integer"
  },
  "volatility_mode": {
   "type": "string"
  },
  "execution_config": {
   "type": "object"
  },
  "hourly_data_file": {
   "type": "string"
  },
  "max_trade_amount": {
   "type": "number"
  },
  "min_trade_amount": {
   "type": "number"
  },
  "market_data_venue": {
   "type": "string"
  },
  "target_volatility": {
   "type": "number"
  },
  "volatility_window": {
   "type": "integer"
  },
  "max_open_positions": {
   "type": "integer"
  },
  "max_risk_per_trade": {
   "type": "number"
  },
  "max_trades_per_day": {
   "type": "integer"
  },
  "max_units_per_trade": {
   "type": "number"
  },
  "daily_momentum_limit": {
   "type": "number"
  },
  "initial_asset_balance": {
   "type": "number"
  },
  "min_balance_threshold": {
   "type": "number"
  },
  "weekly_momentum_limit": {
   "type": "number"
  },
  "enable_volatility_adjustment": {
   "type": "boolean"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/mangrove-developer-backtests-api-8b65d423/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.mangrovedeveloper.ai](https://www.zero.xyz/host/api.mangrovedeveloper.ai/llms.txt)
