Gifts (sticker gifts)
Gifts let a user send a paid sticker — a small emoji-labelled token bought with coins — on top of almost any surface: a post, a story, a clip, or directly to another user from a 1:1 chat. Coins move from the sender to the target's owner, and the accumulated gifts on a target are tallied so creators can see who sent what. This is distinct from live gifts (sent during a live stream — see Stories & Live) and from tips (a free-form coin amount, see Coins).
Each property has its own checkbox marking whether that specific piece is fully implemented and functional end to end (frontend + backend) — update these yourself as work lands; this page won't overwrite them.
- Sticker catalog with per-sticker coin prices (
giftCatalog) - Send a gift to a post, story, clip, or user (
sendGift) — costs the catalog price in coins; fails cleanly on insufficient balance and returns the sender's new balance - Gift picker UI (
GiftPicker.tsx) — opened from the chat header (1:1 chats, "send a gift"), a post (PostCard.tsx), and the story viewer (StoryViewer.tsx) - Per-target gift totals + breakdown by sticker (
giftStatsForTarget) and a recent-gifts list (giftsForTarget), surfaced viaGiftsModal.tsx; posts also carry their gift totals inline (Post.giftStats) so feed cards don't need a separate query
See the technical reference for GraphQL schemas, routes, source file links, and per-field wiring status.