Skip to main content

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 via GiftsModal.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.