# Virae Strategy Simulation Matrix

> Virae Strategy Simulation Matrix is a paid API for AI agents from api.virae.ai, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-15).

Returns a paginated, sortable simulation matrix of trading strategy performance including normalized PnL curves, win rates, fill rates, and coverage metrics for a given strategy key.

## Facts

- Endpoint: GET https://api.virae.ai/api/x402/v1/simulations/%7BstrategyKey%7D/matrix
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/virae-strategy-simulation-matrix-fd81d585
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_XOPoTgPzrFr7mEWBQPhlQ

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 virae-strategy-simulation-matrix-fd81d585
```

Example prompt: Pull the Virae simulation matrix for the btc-15m-tail strategy, showing the last 30 days of performance sorted by net PnL descending, with after-fees PnL mode and up to 20 results per page.

## When to prefer this

Use this endpoint when you need structured, paginated backtesting or simulation performance data for a specific Virae trading strategy on Polymarket or predict.fun. It is the right choice when you need to compare PnL curves, win rates, fill rates, or investment metrics across multiple strategy configurations, especially when you want to filter by time range (7d/30d/90d/all) or sort by specific performance dimensions. Prefer this over generic market data APIs when working specifically within the Virae strategy ecosystem.

## Known failure modes

- Invalid or unknown strategyKey returns empty matrix or 404
- curveConfigIds exceeds 5 comma-separated IDs causes validation error
- pageSize outside 1-100 range rejected with schema validation error
- displayNotionalUsd of 0 or negative rejected by exclusiveMinimum constraint
- Invalid curveRange or sortKey enum value causes bad request error
- Payment not provided or insufficient USDC returns 402 Payment Required

## How this service works

An AI-powered trading terminal and bot built for @Polymarket and @predictdotfun with real-time stats, instant execution, and smarter trading insights on web or Telegram. No CA yet.

## Output

Returns a JSON object containing a simulation matrix array with performance metrics per configuration (net PnL, win rate, fill rate, settled count, invested amount, normalized PnL curves), along with the strategyKey, ok status, and schema version identifier.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "pathParams": {
     "type": "object",
     "required": [
      "strategyKey"
     ],
     "properties": {
      "strategyKey": {
       "type": "string"
      }
     },
     "additionalProperties": false
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "page": {
       "type": "integer",
       "default": 1,
       "minimum": 1
      },
      "pnlMode": {
       "enum": [
        "strategy",
        "afterFees"
       ],
       "type": "string",
       "default": "afterFees"
      },
      "sortKey": {
       "enum": [
        "parameter",
        "netPnl",
        "winRate",
        "fillRate",
        "settled",
        "invested"
       ],
       "type": "string"
      },
      "pageSize": {
       "type": "integer",
       "default": 20,
       "maximum": 100,
       "minimum": 1
      },
      "curveRange": {
       "enum": [
        "7d",
        "30d",
        "90d",
        "all"
       ],
       "type": "string",
       "default": "30d"
      },
      "sortDirection": {
       "enum": [
        "asc",
        "desc"
       ],
       "type": "string",
       "default": "desc"
      },
      "curveConfigIds": {
       "type": "string",
       "description": "Comma-separated positive configuration ids; at most 5."
      },
      "displayNotionalUsd": {
       "type": "number",
       "default": 100,
       "maximum": 100000,
       "exclusiveMinimum": 0
      }
     },
     "additionalProperties": false
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "ok",
      "schemaVersion"
     ],
     "properties": {
      "ok": {
       "type": "boolean"
      },
      "schemaVersion": {
       "type": "string"
      }
     },
     "additionalProperties": true
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ok": true,
  "matrix": [],
  "strategyKey": "btc-15m-tail",
  "schemaVersion": "virae.x402.simulation-matrix.v1"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/virae-strategy-simulation-matrix-fd81d585/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.virae.ai](https://www.zero.xyz/host/api.virae.ai/llms.txt)
