Skip to main content

Incentives API

The Incentives API provides access to active incentive programs and your earned rewards. For details on how incentive programs work, see the Incentive Programs overview.

Endpoints

MethodEndpointAuthDescription
GET/v1/incentivesNoneGet incentive programs
GET/v1/incentives/earningsRequiredGet your incentive earnings
Authentication Required for EarningsThe /v1/incentives/earnings endpoint requires API key authentication. See the Authentication guide for details. The /v1/incentives endpoint is public and requires no authentication.

Get Incentive Programs

Returns incentive programs for each market.
GET /v1/incentives?pageSize=10&symbols=aec-nba-bos-nyk-2026-04-01

Query Parameters

Parameter names accept both camelCase (pageSize) and snake_case (page_size) forms.
ParameterTypeRequiredDescription
pageSizeintegerNoNumber of markets per page
pageTokenstringNoPagination token from a previous response’s nextPageToken
symbolsstring[]NoFilter by market symbols
orderBystringNoSort field: created_at (default)
orderDirectionstringNoSort direction: desc (default) or asc
statusesstring[]NoFilter by status: active, closed, pending

Response

{
  "programs": [
    {
      "marketSlug": "aec-nba-bos-nyk-2026-04-01",
      "timePeriods": [
        {
          "programId": "nba_t1_ml_early",
          "programType": "liquidityProgram",
          "start": "2026-03-28T04:00:00Z",
          "end": "2026-04-01T21:00:00Z",
          "rewardPool": 3000.0,
          "status": "closed",
          "discountFactor": 0.40,
          "targetSize": 20000,
          "period": "early",
          "createdAt": "2026-03-28T01:00:00Z"
        },
        {
          "programId": "nba_t1_ml_live",
          "programType": "liquidityProgram",
          "start": "2026-04-01T21:00:00Z",
          "rewardPool": 3000.0,
          "status": "active",
          "discountFactor": 0.35,
          "targetSize": 20000,
          "period": "live",
          "createdAt": "2026-03-28T01:00:00Z"
        }
      ]
    }
  ],
  "nextPageToken": "abc123"
}
end is omitted when the program’s final end time is not known yet, such as an in-progress live game.

IncentiveProgram Fields

FieldTypeDescription
marketSlugstringMarket identifier
timePeriodsTimePeriod[]Incentive periods for this market

TimePeriod Fields

FieldTypeDescription
programIdstringUnique program period identifier
programTypestringProgram type (e.g., liquidityProgram)
startstringISO 8601 start timestamp
endstringISO 8601 end timestamp. Omitted when the end time is not known yet
rewardPoolnumberTotal reward pool for this period in USD
statusstringactive, closed, or pending
discountFactornumberDiscount factor for scoring (optional)
targetSizeintegerMinimum book size to qualify (optional)
periodstringReward period type: early, day_of, live, etc.
createdAtstringISO 8601 timestamp when the program was created

Get Incentive Earnings

Returns incentive earnings for the authenticated user.
GET /v1/incentives/earnings?startDate=2026-03-21&marketSlug=aec-nba-bos-nyk-2026-04-01

Query Parameters

Parameter names accept both camelCase (startDate) and snake_case (start_date) forms.
ParameterTypeRequiredDescription
startDatestringNoStart date filter (YYYY-MM-DD). Defaults to 2026-03-21
endDatestringNoEnd date filter (YYYY-MM-DD)
marketSlugstringNoFilter by market
programTypestringNoFilter by program type (e.g., liquidityProgram)

Response

{
  "rewards": [
    {
      "reward": 1828.62,
      "programType": "liquidityProgram",
      "marketSlug": "tsc-nba-ny-okc-2026-03-29-223pt5",
      "date": "2026-03-30",
      "status": "PAID"
    },
    {
      "reward": 142.50,
      "programType": "liquidityProgram",
      "marketSlug": "tsc-nba-ny-okc-2026-03-29-223pt5",
      "date": "2026-03-30",
      "status": "PENDING"
    },
    {
      "reward": 325.97,
      "programType": "liquidityProgram",
      "marketSlug": "aec-cbb-cabap-kan-2026-03-20",
      "date": "2026-03-29",
      "status": "PAID"
    }
  ]
}
Each day represents rewards earned midnight to midnight ET. A single market on a single date may return multiple rows — one per payout status (PAID, PENDING, SKIPPED). Sum across statuses (or filter to one) when aggregating per market and date.

UserReward Fields

FieldTypeDescription
rewardnumberReward amount in USD (sum of payouts for this market and date with this status)
programTypestringProgram type (e.g., liquidityProgram)
marketSlugstringMarket identifier
datestringReward date in Eastern Time (YYYY-MM-DD)
statusstringPayout disposition: PAID, PENDING, or SKIPPED. A single marketSlug + date may appear once per status.

Rate Limits

EndpointRate Limit
GET /v1/incentives5 requests per second
GET /v1/incentives/earnings5 requests per second