Skip to content

Strategy list

Description

Paginated query of currently available strategies. Supports filtering by market type and risk label, and returns basic strategy info, trading symbols, performance summary, and NAV trend.

Endpoint

  • Method: POST
  • Path: /open/v1/strategy/page

Credits

  • Cost: 1

Request parameters

Parameters are sent as JSON in the request body.

FieldTypeRequiredDefaultDescription
pageNumintegerNo1Page number; minimum value is 1
pageSizeintegerNo20Page size; range 1–100
marketTypestringNo-Market type; supports spot, perpetual, delivery; exact match
riskLabelstringNo-Risk level; supports low, medium, high; exact match
languagestringNozh-CNResponse content language; supports zh-CN, zh-TW, en-US, vi-VN, ja-JP, ko-KR; returns 70005 when content for the requested language is temporarily unavailable; returns 40002 for unsupported values

Request example

bash
curl --location 'https://api.valuescan.ai/api/open/v1/strategy/page' \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: xxxxx' \
--header 'X-TIMESTAMP: xxxxx' \
--header 'X-SIGN: xxxxx' \
--data '{
  "pageNum": 1,
  "pageSize": 20,
  "marketType": "perpetual",
  "riskLabel": "medium",
  "language": "zh-CN"
}'

Response fields

data is a pagination object:

FieldTypeDescription
recordsarrayStrategy list for the current page
totallongTotal number of matching records
sizelongPage size
currentlongCurrent page number
pageslongTotal number of pages

Main fields in each item of records:

FieldTypeDescription
idlongValueScan strategy ID; used when querying strategy detail
namestringStrategy name
descriptionstringStrategy description
riskLabelstringRisk level: low, medium, or high
marketTypestringMarket type: spot, perpetual, or delivery
performanceobjectStrategy performance summary
providerStatusstringStrategy data status: active, paused, or retired
publishStatusintegerStrategy availability status; currently available strategies are 300
signalStatusintegerStrategy signal status
lastSignalSeqlongLatest signal sequence number; may be null
lastSignalTslongLatest signal Unix timestamp in seconds; may be null
tokensarrayList of trading symbols, including vsTokenId, symbol, name, icon
maxLeveragenumberMaximum leverage; may be null
avgLeveragenumberAverage leverage; may be null
liveSignalDayslongLive signal running days; may be null
backtestCagrnumberBacktest CAGR; may be null
winRatenumberWin rate; may be null
trendobjectNAV trend, containing backtest and live arrays; each point contains ts, nav

Success response example

json
{
  "code": 200,
  "message": "success",
  "data": {
    "records": [
      {
        "id": 1001,
        "name": "BTC Trend Strategy",
        "description": "Trend-following strategy for BTC perpetual futures.",
        "riskLabel": "medium",
        "marketType": "perpetual",
        "tokens": [
          {
            "vsTokenId": 1,
            "symbol": "BTC",
            "name": "Bitcoin",
            "icon": "https://static.valuescan.io/valuescan/cmc/coins/1.png"
          }
        ],
        "maxLeverage": 3,
        "avgLeverage": 1.5,
        "liveSignalDays": 30,
        "backtestCagr": 0.25,
        "winRate": 0.58,
        "trend": {
          "backtest": [{"ts": 1735689600, "nav": 1.0}],
          "live": [{"ts": 1751328000, "nav": 1.03}]
        }
      }
    ],
    "total": 1,
    "size": 20,
    "current": 1,
    "pages": 1
  },
  "requestId": "xxx-xxx-xxx"
}

Error codes

CodeDescription
40002Invalid request parameters
50001The requested endpoint does not exist or is currently unavailable
60001Rate limit exceeded
70001Insufficient OpenAPI credits
70002OpenAPI access for the current user has been disabled
70005Strategy content for the requested language is temporarily unavailable