Returns the history of point events for a point system — either globally or filtered to a specific wallet.
GET /api/sdk/activity
Request
GET https://api.rewards.so/activity?pointSystemId=your-uuid[&address=0xabc123...][&page=1][&limit=50]
Authorization: Bearer rw_your_api_key
Query parameters
| Parameter | Type | Required | Default | Description |
|---|
pointSystemId | string | Yes | — | UUID of the point system |
address | string | No | — | Filter to a specific wallet |
page | number | No | 1 | Page number (1-indexed) |
limit | number | No | 50 | Events per page (max 200) |
Response 200
{
"activity": [
{
"id": "f69bfa1a-e87b-4a25-b122-bbe92c62e7cd",
"address": "0x4a3d7344cdb69a96ab5b92d293e451ce15f9a678",
"points": 10,
"event": "craft_artifact",
"date": "2026-04-09T10:34:05.288Z"
}
],
"pagination": {
"page": 1,
"limit": 50,
"total": 4,
"totalPages": 1
}
}
Response fields
| Field | Type | Description |
|---|
id | string | Event UUID |
address | string | Wallet that received the points |
points | number | Points amount (always positive) |
event | string | null | Trigger key or event type, null for manual grants |
date | string | ISO 8601 timestamp |
Use cases
| Scenario | Parameters |
|---|
| Global feed for your point system | pointSystemId only |
| Activity tab for a connected user | pointSystemId + address |
| Recent events widget (last 5) | pointSystemId + limit=5 |
| Paginated history | page + limit |
Code examples
const res = await fetch(
`https://api.rewards.so/activity?pointSystemId=${POINT_SYSTEM_ID}&limit=20`,
{ headers: { Authorization: `Bearer ${API_KEY}` } }
);
const { activity } = await res.json();
Never expose your API key in client-side code. Proxy requests through your backend or a Next.js route handler.