Hydra
Docs

Query prediction market data via REST.

Markets

Query geopolitical prediction market data — current positions, price history, and market metadata.

GET /v1/markets

List active geopolitical prediction markets.

Query Parameters:

Param Type Description
tags string Comma-separated topic tags
active boolean Filter to active/resolved markets
minVolume number Minimum 24h volume in USD
resolvingBefore string ISO datetime — markets resolving before this date
limit integer Max results (500)

Example:

curl "https://api.hydra.app/v1/markets?tags=ukraine,ceasefire&active=true" \
  -H "Authorization: Bearer <jwt>"

Response:

{
  "data": [
    {
      "id": "market-xyz",
      "question": "Will there be a ceasefire in Ukraine before June 2024?",
      "category": "geopolitical",
      "tags": ["ukraine", "russia", "ceasefire"],
      "outcomes": [
        { "name": "Yes", "price": 0.18, "priceChange24h": 0.02 },
        { "name": "No",  "price": 0.82, "priceChange24h": -0.02 }
      ],
      "volume24h": 284000,
      "liquidity": 95000,
      "resolutionDate": "2024-06-30T23:59:59Z",
      "active": true
    }
  ],
  "meta": { "total": 34, "limit": 50, "offset": 0, "hasMore": false }
}

GET /v1/markets/:id/history

Price history for a specific market outcome.

curl "https://api.hydra.app/v1/markets/market-xyz/history?outcome=Yes&since=7d&interval=1h" \
  -H "Authorization: Bearer <jwt>"

Query Parameters:

Param Type Description
outcome string Outcome name to fetch history for
since string Start time
interval string Candle interval (5m, 15m, 1h, 6h, 1d)

Response:

{
  "data": {
    "marketId": "market-xyz",
    "outcome": "Yes",
    "candles": [
      { "ts": 1710000000000, "open": 0.15, "high": 0.19, "low": 0.14, "close": 0.18, "volume": 12400 },
      { "ts": 1710003600000, "open": 0.18, "high": 0.21, "low": 0.17, "close": 0.20, "volume": 8900 }
    ]
  }
}

GET /v1/markets/correlated

Markets that have moved in correlation with recent Hydra signals. Useful for identifying tradeable opportunities.

curl "https://api.hydra.app/v1/markets/correlated?signalId=clxxx...&window=2h" \
  -H "Authorization: Bearer <jwt>"
{
  "data": [
    {
      "market": { "id": "market-xyz", "question": "..." },
      "correlationScore": 0.87,
      "priceMovement": 0.06,
      "volumeSpike": 2.4,
      "signalTime": 1710000000000,
      "priceAtSignal": 0.22,
      "priceNow": 0.28
    }
  ]
}
💡
Tip

The Polymarket Bot uses this exact endpoint to identify open markets correlated with incoming signals. See Polymarket Bot for the reference implementation.