# Mangrove Developer Backtests

> Mangrove Developer Backtests 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 trading strategy backtest over historical market data with configurable parameters including asset, exchange, date range, fees, slippage, and risk controls.

## Facts

- Endpoint: POST https://api.mangrovedeveloper.ai/api/v1/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-cc9e3e4a
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_2krAHmrHROWqWEGMAdwED

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-cc9e3e4a -d '<json body>'
```

Example prompt: Run a backtest on my strategy (strategy_id: 'strat_macd_v2') for BTC/USDC on Coinbase from 2023-01-01 to 2023-12-31, using 1-hour intervals, a 0.1% fee, 0.05% slippage, $10,000 initial balance, max 3 open positions, and volatility adjustment enabled.

## When to prefer this

Use this endpoint when you need to simulate and evaluate a crypto trading strategy against historical market data with granular control over execution parameters such as fees, slippage, volatility mode, and risk limits. Prefer this over live trading endpoints when the goal is performance analysis, parameter tuning, or strategy validation before deployment. Best suited for quantitative analysts, algo traders, and AI agents managing or optimizing trading strategies on the Mangrove platform.

## Known failure modes

- Invalid strategy_id or malformed strategy_json returns a 400 or validation error
- Unsupported exchange or market_data_venue results in a data-not-found error
- Date range outside available historical data returns an empty or partial result
- Missing required fields (e.g. asset, start_date, end_date) causes a 422 unprocessable entity
- Payment failure (insufficient USDC balance) returns a 402 Payment Required
- Conflicting parameters (e.g. min_trade_amount > max_trade_amount) may cause a runtime error

## How this service works

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

## Output

Returns backtest results including simulated trade history, portfolio performance metrics (e.g. total return, Sharpe ratio, drawdown), per-trade logs, and risk statistics derived from running the specified strategy against historical market data over the given date range and configuration.

## 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-cc9e3e4a/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)
