Skip to main content
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

ParameterTypeRequiredDefaultDescription
pointSystemIdstringYesUUID of the point system
addressstringNoFilter to a specific wallet
pagenumberNo1Page number (1-indexed)
limitnumberNo50Events 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

FieldTypeDescription
idstringEvent UUID
addressstringWallet that received the points
pointsnumberPoints amount (always positive)
eventstring | nullTrigger key or event type, null for manual grants
datestringISO 8601 timestamp

Use cases

ScenarioParameters
Global feed for your point systempointSystemId only
Activity tab for a connected userpointSystemId + address
Recent events widget (last 5)pointSystemId + limit=5
Paginated historypage + 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.