Recurring Incentives

Create and manage reward programs

Recurring incentives are reward programs that evaluate user activity on a recurring schedule and distribute rewards accordingly.

create_recurring_incentive

Create a recurring incentive (reward program) for the active project.

Requires: authentication, active project

Core Parameters

ParameterTypeRequiredDescription
namestringYesDisplay name
descriptionstringNoDescription
type"leaderboard" | "rebate" | "raffle" | "direct"YesReward distribution type
emissionType"TOKENS" | "SOL"YesType of reward
totalFundAmountnumberYesTotal reward pool per epoch
startDatestringYesISO 8601 start date
confirmedbooleanNoSet to true to execute. Omit to preview.

Schedule

ParameterTypeDescription
evalDurationDaysnumberDuration of each epoch in days (1, 7, 30, etc.)
interval"DAILY" | "WEEKLY" | "MONTHLY"Shorthand for evalDurationDays
maxIterationsnumberMaximum epochs to run. Omit for unlimited.

Provide either evalDurationDays or interval, not both.

Token Configuration

ParameterTypeDescription
tokenAddressstringSPL token mint address (required if emissionType is "TOKENS")
tokenDecimalsnumberToken decimal places (required if emissionType is "TOKENS")

Query & Formula

ParameterTypeDescription
sqlQuerystringSQL query from generate_incentive_query
customEventIdstringCustom event ID (mutually exclusive with instructionId)
instructionIdstringIDL instruction ID (mutually exclusive with customEventId)
customFormulastringReward formula. See Formulas.
maxPerParticipantnumberMaximum reward per user per epoch

Type-Specific Parameters

Rebate:

ParameterTypeDescription
rebatePercentagenumberRebate percentage (e.g. 5 for 5%)

Raffle:

ParameterTypeDescription
raffleBucketsarrayPrize tiers: [{ amount: number, count: number }]
raffleWeighting"WEIGHTED_BY_METRIC" | "EQUAL_CHANCES"How tickets are assigned. Default: WEIGHTED_BY_METRIC (metric value = ticket count)

Direct:

ParameterTypeDescription
allocationsarray | stringWallet allocations: array of { address, amount } or CSV string

list_recurring_incentives

List all recurring incentives for the active project.

Requires: authentication, active project

No parameters.

get_recurring_incentive

Get full details of a specific recurring incentive — configuration, distribution settings, current epoch status, and query info.

Requires: authentication, active project

ParameterTypeRequiredDescription
recurringOfferIdstringYesThe recurring incentive ID

get_recurring_incentive_analytics

Get performance analytics for a recurring incentive — participation counts, rewards distributed, and epoch-by-epoch history.

Requires: authentication, active project

ParameterTypeRequiredDescription
recurringOfferIdstringYesThe recurring incentive ID