GET /api/sdk/rewards
Request
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
pointSystemId | string | Yes | UUID of the point system |
address | string | No | If provided, returns per-wallet breakdown |
Without address — all rewards
Returns every reward for the point system regardless of wallet.
Response 200
Reward fields
| Field | Type | Description |
|---|---|---|
id | string | Reward UUID |
campaignId | string | Short human-readable campaign ID (e.g. CMP-2WB39F) |
campaignName | string | Display name |
tokenType | string | ethereum, erc20, etc. |
tokenAddress | string | null | ERC-20 contract address, null for native tokens |
chainId | number | null | EVM chain ID |
totalAmount | number | Total token amount allocated to this reward |
minPoints | number | Minimum points required to be eligible |
maxPoints | number | null | Points cap used in proportional distribution |
allocationType | string | proportional — allocation scales with points |
status | string | pending, active, distributed, cancelled |
claimDeadline | string | null | ISO 8601 deadline, or null if open-ended |
createdAt | string | ISO 8601 creation date |
With address — per-wallet breakdown
Returns the same rewards split into three buckets based on the wallet’s eligibility and claim history.
Response 200
Buckets
| Bucket | Condition |
|---|---|
eligible | Wallet has a distribution allocated but hasn’t claimed yet |
claimed | Wallet has already claimed this reward |
unavailable | Wallet doesn’t meet the minimum points requirement |
Extra fields in per-wallet mode
| Field | Bucket | Description |
|---|---|---|
allocatedAmount | eligible | Token amount allocated to this wallet (null if not yet distributed) |
claimedAmount | claimed | Token amount that was claimed |
claimedAt | claimed | ISO 8601 claim timestamp |
claimTxHash | claimed | On-chain transaction hash |
pointsNeeded | unavailable | How many more points needed to reach minPoints |