Webhooks
Tip Received
tip.receivedFires when a fan sends a tip — either standalone from the creator's profile or attached to a DM.
When it fires
Tips are reported gross of platform fees. Net payout amounts appear in the creator's earnings ledger, not the webhook.
Payload
Wrapped in the standard webhook envelope (event, data, timestamp):
json · example delivery
| 1 | { |
| 2 | "event": "tip.received", |
| 3 | "data": { |
| 4 | "tip": { |
| 5 | "id": "tip_001", |
| 6 | "amountCents": 500, |
| 7 | "message": "Great content!", |
| 8 | "context": "message", |
| 9 | "contextId": "msg_009" |
| 10 | }, |
| 11 | "sender": { |
| 12 | "id": "usr_fan123", |
| 13 | "handle": "fan123" |
| 14 | }, |
| 15 | "tippedAt": "2026-04-28T18:30:00Z" |
| 16 | }, |
| 17 | "timestamp": "2026-04-28T18:30:01Z" |
| 18 | } |
data fields
| Field | Type | Description |
|---|---|---|
tip.id | string | Unique ID of the tip. |
tip.amountCents | integer | Tip amount in USD cents. |
tip.message | string | null | Optional note the fan attached to the tip. |
tip.context | 'profile' | 'message' | 'post' | Where on FrontRow the tip was sent from. |
tip.contextId | string | null | ID of the related message or post when context isn't 'profile'. |
sender.id | string | ID of the fan who sent the tip. |
sender.handle | string | Public handle of the sender. |
tippedAt | string (ISO 8601) | Timestamp the tip was sent. |