Skip to main content
Poll this endpoint to receive a stream of confirmed tip events for a creator. The response includes on-chain details for each tip — token symbol, amount, sender wallet, and Solana transaction signature — so you can trigger rewards, update dashboards, or fan out notifications without subscribing to a WebSocket.
Only tips with status "confirmed" are returned. Tips pending on-chain confirmation will not appear.

Endpoint

GET https://tipstack.fun/api/sdk/events

Authentication

Pass your API key as a Bearer token in the Authorization header.
Authorization: Bearer YOUR_API_KEY

Query Parameters

creatorId
string
required
The creator’s UUID (as returned in config.creatorId from /sdk/init). The endpoint returns only tips belonging to this creator.
since
string
An ISO 8601 datetime string (e.g. 2024-06-01T12:00:00.000Z). When provided, only tips with a timestamp strictly after this value are returned. Use this to implement incremental polling without re-processing old events.

Response

success
boolean
true when the request completed successfully.
events
array
An array of up to 50 tip event objects, ordered by timestamp descending (most recent first).

Polling Pattern

For lightweight integrations, poll this endpoint at a regular interval — typically every 30–60 seconds. Pass the timestamp of the most recently processed event back as the since parameter to receive only new tips on each call.
Poll events example
const lastSeen = new Date(Date.now() - 60_000).toISOString();
const res = await fetch(
  `https://tipstack.fun/api/sdk/events?creatorId=YOUR_CREATOR_ID&since=${lastSeen}`,
  { headers: { Authorization: 'Bearer YOUR_API_KEY' } }
);
const { events } = await res.json();
Store the timestamp of the last event you successfully processed in persistent storage (e.g. a database or Redis key). On restart, resume polling from that value to avoid replaying old events or missing any tips that arrived while your service was down.

Example

Request

curl "https://tipstack.fun/api/sdk/events\
?creatorId=f47ac10b-58cc-4372-a567-0e02b2c3d479\
&since=2024-06-01T12:00:00.000Z" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

{
  "success": true,
  "events": [
    {
      "eventId": "5KtGhJ2mNpQrVwXyZabc1234defg5678hijkLMNO9012pqrs",
      "type": "tip_completed",
      "amountUsdc": 5.00,
      "amountRaw": 5.00,
      "tokenSymbol": "USDC",
      "sender": "7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU",
      "timestamp": "2024-06-01T13:42:07.000Z",
      "txSignature": "5KtGhJ2mNpQrVwXyZabc1234defg5678hijkLMNO9012pqrs"
    },
    {
      "eventId": "3AbCdEfGhIjKlMnOpQrStUvWxYz0123456789abcdefghij",
      "type": "tip_completed",
      "amountUsdc": 0,
      "amountRaw": 0.25,
      "tokenSymbol": "SOL",
      "sender": "9aBcDeFgHiJkLmNoPqRsTuVwXyZ1234567890abcdefghij",
      "timestamp": "2024-06-01T12:18:33.000Z",
      "txSignature": "3AbCdEfGhIjKlMnOpQrStUvWxYz0123456789abcdefghij"
    }
  ]
}

Error Responses

StatusErrorCause
400 Bad Request"creatorId is required"The creatorId query parameter is missing.
401 Unauthorized"Missing or invalid API key"The Authorization header is absent or malformed.
500 Server Error"Failed to fetch verified events"An unexpected server error occurred.