inNovaAPI
REST API

Markets

Query market details and pricing

Search Markets

GET /api/ext/v1/markets

Scope: markets:read

Search markets by keyword. To list all markets for a specific event, use GET /api/ext/v1/events/:id/markets.

Query Parameters

ParameterTypeRequiredDescription
qstringYesSearch keyword (market question / title)
limitintegerNoMax results (default: 20)

cURL Example

API_KEY="po_live_your_api_key"
API_SECRET="your_api_secret"
TIMESTAMP=$(date +%s%3N)
NONCE=$(openssl rand -hex 16)
PATH="/api/ext/v1/markets?q=lakers&limit=10"

BODY_HASH=$(echo -n "" | openssl dgst -sha256 | awk '{print $NF}')
SIGNING_STRING="GET\n${PATH}\n${TIMESTAMP}\n${NONCE}\n${BODY_HASH}"
SIGNATURE=$(echo -ne "$SIGNING_STRING" | openssl dgst -sha256 -hmac "$API_SECRET" | awk '{print $NF}')

curl -s "https://api.winnova.pro${PATH}" \
  -H "X-API-KEY: $API_KEY" \
  -H "X-API-TIMESTAMP: $TIMESTAMP" \
  -H "X-API-SIGNATURE: $SIGNATURE" \
  -H "X-API-NONCE: $NONCE"

Response

{
  "success": true,
  "data": {
    "markets": [
      {
        "id": "f3f26422-20df-44e6-914e-dc70cfddba0b",
        "external_id": "0x5eed579f...",
        "token_id_a": "42881612871834249183...",
        "token_id_b": "80238421908721348754...",
        "question": "Will the Lakers win?",
        "description": "Market description...",
        "category": "basketball",
        "subcategory": "nba",
        "outcome_a": "Yes",
        "outcome_b": "No",
        "price_a": 0.55,
        "price_b": 0.45,
        "volume": 125000.50,
        "liquidity": 45000.00,
        "end_date": "2026-04-06T00:00:00Z",
        "status": "active",
        "neg_risk": false,
        "is_featured": false,
        "created_at": "2026-04-01T00:00:00Z",
        "updated_at": "2026-04-04T10:00:00Z"
      }
    ],
    "count": 1
  }
}

The search results do not include odds_a/odds_b or game_start_time; use GET /api/ext/v1/markets/:id for full market details.


Get Market Detail

GET /api/ext/v1/markets/:id

Scope: markets:read

Path Parameters

ParameterTypeDescription
idUUIDMarket ID

cURL Example

MARKET_ID="f3f26422-20df-44e6-914e-dc70cfddba0b"
API_KEY="po_live_your_api_key"
API_SECRET="your_api_secret"
TIMESTAMP=$(date +%s%3N)
NONCE=$(openssl rand -hex 16)
PATH="/api/ext/v1/markets/${MARKET_ID}"

BODY_HASH=$(echo -n "" | openssl dgst -sha256 | awk '{print $NF}')
SIGNING_STRING="GET\n${PATH}\n${TIMESTAMP}\n${NONCE}\n${BODY_HASH}"
SIGNATURE=$(echo -ne "$SIGNING_STRING" | openssl dgst -sha256 -hmac "$API_SECRET" | awk '{print $NF}')

curl -s "https://api.winnova.pro${PATH}" \
  -H "X-API-KEY: $API_KEY" \
  -H "X-API-TIMESTAMP: $TIMESTAMP" \
  -H "X-API-SIGNATURE: $SIGNATURE" \
  -H "X-API-NONCE: $NONCE"

Response

{
  "success": true,
  "data": {
    "market": {
      "id": "f3f26422-20df-44e6-914e-dc70cfddba0b",
      "external_id": "1852586",
      "condition_id": "0xac73797b...",
      "token_id_a": "42881612871834249183...",
      "token_id_b": "80238421908721348754...",
      "event_id": "63b2d028-f436-49cd-8184-f59bc41dd100",
      "question": "Will the Lakers win?",
      "category": "sports",
      "outcome_a": "Yes",
      "outcome_b": "No",
      "price_a": 0.55,
      "price_b": 0.45,
      "volume": 125000.50,
      "liquidity": 45000.00,
      "game_start_time": "2026-04-05T19:30:00Z",
      "status": "active",
      "market_type": "moneyline",
      "group_item_title": "Match Winner",
      "neg_risk": false,
      "is_featured": false,
      "created_at": "2026-04-01T00:00:00Z",
      "updated_at": "2026-04-04T10:00:00Z"
    }
  }
}

Error Response

{ "success": false, "error": "Market not found" }

Status 404 — market does not exist.