Use cases
Which apps use GiftingStack, and how
Anything with users who want to thank, support or cheer for each other can use gifts. Below are fifteen kinds of apps, each with an invented example, what the app does, what GiftingStack provides, and the calls in between. The app names here are made up.
Good to know. Gifts are virtual. Your app sells or grants its coins in
its own store and credits them from your server; GiftingStack never moves money and has no
payouts. A receiver gets a counter of gifts received, never a spendable balance, and coins
cannot be sent from one user to another. If your app rewards creators, your own server
decides that from the gift.sent webhook. GiftingStack has no video, audio or
chat: your app keeps those. Gift rooms carry gift events only.
Live-streaming apps
Ava goes live in Streamly, an invented live-video app, and her viewers send her gifts while she talks. When she shares the screen with Mateo, the two compete in a gift battle.
What your app does
- Sells coins in its own store (App Store, Google Play or web checkout) and credits them from its server after the purchase. A small free grant for new users works too.
-
Opens the gift tray over the video. Each live session is a gift room (
room_idsuch aslive_123); the viewer's token lists that room. - Keeps the video and the chat in its own stack. GiftingStack carries only gift events.
- Shows a top gifters board on the stream page. Any reward for streamers is decided by your own server.
What GiftingStack provides
- Gift rooms: one gift event reaches every viewer of the room, and the SDK plays the effect.
- Battles: your server starts a round for the hosts, the room adds up the gifts for each side and pushes the scores to everyone.
- Tray and effects with a combo counter; a leaderboard of top senders and top receivers by day, week, month or all time.
gift.sentwebhook, ledger and idempotent sends.
Gifts are virtual and the receiver gets a counter, not a balance. GiftingStack never
moves money. If your app rewards people, your own server decides that from the
gift.sent webhook.
user buys 500 coins in your store -> your server POST /v1/users/{id}/credit (receipt_id) -> app opens the tray -> POST gift with room_id -> everyone in the room sees it -> your server gets gift.sent
Audio rooms and live voice apps
Dana hosts a late-night music talk in Murmur, an invented audio-room app. Listeners thank the host with a gift and the whole room sees the effect.
What your app does
- Credits coins from its own server after a purchase in its store, or as a reward for staying in a room.
-
Uses one gift room per audio room (
room_idis your room id). Your server lists the room in the listener's token. - Plays effects on the room screen when a gift arrives. The voice itself runs on your own audio provider.
- Shows a weekly leaderboard of hosts on the discovery screen.
What GiftingStack provides
- Gift rooms: gift events only, no audio and no chat.
- Leaderboard of top receivers (hosts) and top senders by day, week, month or all time; a user can be hidden from boards.
-
Battles, if two or more hosts share a room. Tray, effects and the
gift.sentwebhook.
Gifts are virtual and the receiver gets a counter, not a balance. GiftingStack never
moves money. If your app rewards people, your own server decides that from the
gift.sent webhook.
listener taps a gift -> POST /v1/client/gift-transactions (receiver: host, room_id) -> room event -> effect on every listener's screen -> GET /v1/client/leaderboards/receivers shows the host's rank
Multiplayer games and esports
Dana watches a team match in Arena Five, an invented game with a spectator mode. Spectators gift their favourite player and big gifts light up the match screen.
What your app does
- Credits coins from its own store purchases, or grants a few free coins for finishing a match.
-
Uses a gift room per match (
match_42); your server mints spectator tokens withrooms: ["match_*"]. -
Sends with
referenceset to the match id, starts a battle round for the two sides, and shows a weekly or monthly board. - Lets the game client play bigger effects for bigger gifts.
What GiftingStack provides
- Gift rooms and battles (up to 8 competing receivers per round; scores are display counters).
- Leaderboards by day, week, month or all time, by value or by number of gifts.
- Effect tiers by price: small, medium and large (10,000 coins and up by default, adjustable).
- Webhooks and a ledger for your own checks.
your server starts the round (POST /v1/rooms/match_42/battle) -> spectators send gifts with room_id match_42 -> scores reach every viewer -> your server ends the round (POST .../battle/end) -> board shows the top gifters
Creator and fan communities
Ava runs a fan community in Fanbase, an invented membership app. Supporters send her small gifts, and her profile shows a wall of what she received.
What your app does
- Sells coins in its own store, or hands out free coins as a welcome gift.
- Opens the tray on the creator's page. The creator is the receiver.
- Shows a gift wall and a supporters board on the profile.
-
Runs its own milestones: the server reads the
gift.sentwebhook (or the received-gifts counter) and posts "100 gifts received" itself.
What GiftingStack provides
- Gift wall and received-gifts counters per profile.
- Leaderboard of top senders (supporters) per period; away summary for the creator.
- Webhooks with the full gift details, the ledger and the tray.
Gifts are virtual and the receiver gets a counter, not a balance. GiftingStack never
moves money. If your app rewards people, your own server decides that from the
gift.sent webhook.
fan sends a gift -> POST /v1/client/gift-transactions -> wall on the profile updates -> your server gets gift.sent -> your own code checks the milestone
Music and podcast apps
Mateo listens to an indie artist in Tunebox, an invented music app. He gifts a track, and the artist sees a summary the next time they open the app.
What your app does
- Credits coins after a purchase in its store.
-
Opens the tray on the track or episode screen. The send names the track in
reference(the track or episode id). - Shows the gifts on the artist profile and a "while you were away" card for artists.
- Decides itself how it thanks or rewards artists.
What GiftingStack provides
- Away summary with a replay of the biggest gifts, gift wall for a track or a profile.
- Top receivers board (artists) and top senders board (fans).
- Tray, effects and webhooks.
Gifts are virtual and the receiver gets a counter, not a balance. GiftingStack never
moves money. If your app rewards people, your own server decides that from the
gift.sent webhook.
fan gifts track_77 -> POST /v1/client/gift-transactions (reference: track_77) -> artist opens the app -> GET /v1/client/me/away -> card -> PUT /v1/client/me/away/cursor marks it seen
Q&A and marketplace apps
Dana gets a great answer in AskAround, an invented Q&A app, and thanks the author with a gift. A craft marketplace can do the same to thank a seller for good advice.
What your app does
- Credits coins after a purchase in its store, or as a reward for helpful answers.
-
Shows a thank-you button on an answer or a seller page. The send names the answer in
reference. - Shows received-gift counters on the profile and a gift wall under the answer.
- Keeps its real checkout separate: a gift is a virtual thank-you, not a payment for goods.
What GiftingStack provides
- Received-gifts counters and gift wall for an answer or a profile.
- Top receivers board (most thanked) per period.
- Tray, idempotent sends and webhooks.
Gifts are virtual and the receiver gets a counter, not a balance. GiftingStack never
moves money. If your app rewards people, your own server decides that from the
gift.sent webhook.
reader taps Thank on answer_204 -> POST /v1/client/gift-transactions (reference: answer_204) -> POST /v1/client/gift-walls/query for the thread -> counter on the author's profile goes up
Virtual events and webinars
Ava speaks at an online conference run on Summit, an invented events app. Attendees send gifts to speakers during the session and the room shows them.
What your app does
- Credits a small free amount to each registered attendee, or sells coins in its own store.
-
Uses one gift room per session (
session_12); the attendee's token lists the sessions they may join. - Plays the effects over the session screen and shows a speaker board after the day.
- Keeps the video, slides and Q&A in its own stack.
What GiftingStack provides
- Gift rooms for gift events only.
- Top receivers board for speakers (day or all time), top senders for attendees.
- Tray, effects and webhooks for your own event reports.
your server credits attendees at check-in (reason: event_grant) -> attendee opens the session -> POST gift with room_id session_12 -> room shows the gift -> GET /v1/leaderboards/receivers for the day
Team and company recognition apps
Dana thanks a colleague in Kudos Hub, an invented team app. Every employee gets a virtual budget each month, and Dana spends some of it on a gift for Mateo.
What your app does
-
Credits each employee a monthly budget from the server (for example reason
monthly_budget, with areferencesuch asbudget_2026_11_dana). You size the budget, and you can debit what is left at the end of the month. -
Opens the tray from a colleague's profile or a post. The send names the post in
reference. - Shows a gift wall on each profile and a monthly "most thanked" board.
- Shows a "while you were away" card to people back from leave.
What GiftingStack provides
-
Balances, credit and debit, with a
referencethat can be used only once. - Gift wall, received-gifts counter, top receivers board, away summary.
- Webhooks for your own reporting. No money moves: the coins are a virtual budget and the receiver gets a counter.
1st of the month: your server POST /v1/users/{id}/credit (reason monthly_budget) -> employee sends a gift -> wall on the colleague's profile -> board of the most thanked for the month
Messaging and community apps
Mateo sends a birthday gift to Ava inside a group conversation in Chatterbox, an invented messaging app. The gift shows as a special bubble.
What your app does
- Credits coins after a purchase in its store, or as a reward for staying active.
- Keeps the chat itself: your app and your backend deliver, store and moderate the messages. GiftingStack is not a chat service.
-
Sends a gift with
referenceset to the conversation id and draws the gift bubble itself from the answer. - Plays the effect on the sender's screen from the answer, and on the receiver's screen when your own push or socket event arrives.
What GiftingStack provides
- An idempotent send that returns the gift (name, icon, price) and the new balance.
-
An effect layer you can call with
effects.play()for gifts someone else sent, received-gifts counters and webhooks. - Gift wall for a conversation or a profile, if you want one.
user picks a gift in the chat -> POST /v1/client/gift-transactions (reference: conv_55) -> your app posts a gift bubble through your own chat service -> receiver's app plays the effect -> your server gets gift.sent
Social discovery apps
Mateo likes Ava's profile in Sparkly, an invented app for meeting new people, and sends a small rose before they start talking. Ava sees it the next time she opens the app.
What your app does
- Sells coins in its own store, or gives a few free coins to new members.
- Opens the tray on a profile or inside a new connection, with the other person as the receiver.
- Keeps the introductions and the conversation itself; a gift is a gesture, not a message channel.
- Decides on its own server what a gift means for the connection, for example a highlight in the other person's list.
What GiftingStack provides
- An idempotent send, so a double tap never sends two roses.
- The away summary: "3 gifts while you were away", shown by the SDK or drawn by your app.
- Received-gifts counters, effects, webhooks and the ledger.
Mateo opens Ava's profile -> POST /v1/client/gift-transactions (reference: connection_9) -> effect plays for Mateo -> your server gets gift.sent -> Ava's next launch shows the away summary
Education and language-learning apps
Dana finishes a pronunciation lesson with her tutor Ava in Lingua, an invented learning app, and thanks her with a gift. The class page shows the most thanked tutors this month.
What your app does
- Credits coins from its own store, or as a reward for finishing a course.
- Shows the tray after a lesson, a solved question or a shared note.
-
Sends with
referenceset to the lesson id, and shows a "most thanked" board. -
Keeps the lessons, the grading and any rewards on its own side, reading the
gift.sentwebhook if it wants to react.
What GiftingStack provides
- Leaderboards by week, month or all time, by value or by number of gifts.
- Gift wall and received-gifts counters on a tutor's profile.
- Away summary, webhooks, the ledger and the tray with effects.
lesson ends -> student opens the tray -> POST /v1/client/gift-transactions (reference: lesson_314) -> tutor's wall updates -> board shows the most thanked tutors
Fitness and wellness communities
Mateo joins a live group class in Pulse, an invented fitness app. Members cheer the instructor Ava with gifts, and two teams compete in a weekly challenge.
What your app does
- Sells coins in its own store, or grants free coins for a workout streak.
-
Uses a gift room per class (
class_88); your server mints member tokens withrooms: ["class_*"]. - Starts a battle round between two teams and ends it when the challenge closes.
- Keeps the video, the workout tracking and any health data in its own systems.
What GiftingStack provides
- Gift rooms with gift events only, and battles with display scores.
- Leaderboards of the most encouraging members per period.
- Effect tiers by price, webhooks and the ledger.
your server starts the round (POST /v1/rooms/class_88/battle) -> members send gifts with room_id class_88 -> scores reach every member -> your server ends the round -> board shows the top cheerers
Reading and serial-fiction apps
Dana reaches the last chapter of a serial in Inkwell, an invented reading app, and sends the author Ava a gift. The story page counts the gifts each chapter received.
What your app does
- Sells coins in its own store, or gives a few free coins for reading streaks.
- Opens the tray at the end of a chapter, with the author as the receiver.
-
Sends with
referenceset to the chapter id, so each chapter can show its own gift count. -
Runs its own author features, such as milestones, from the
gift.sentwebhook.
What GiftingStack provides
- Gift wall and received-gifts counters for the story or the author.
- A supporters board per period and an away summary for the author.
- Webhooks with the full gift details, the ledger and the tray.
Gifts are virtual and the author gets a counter, not a balance. GiftingStack never moves money. If your app rewards authors, your own server decides that.
reader finishes a chapter -> POST /v1/client/gift-transactions (reference: chapter_12) -> wall on the story page updates -> your server gets gift.sent -> your own code checks the milestone
Photo, art and design sharing apps
Ava posts an illustration in Canvasly, an invented art community. Mateo likes it enough to gift it, and the artwork keeps a small wall of the gifts it received.
What your app does
- Credits coins from its own store, or grants free coins to new members.
- Opens the tray on an artwork. The artist is the receiver.
-
Sends with
referenceset to the artwork id and shows the wall under the artwork. - Keeps the uploads, the moderation and the feeds in its own backend.
What GiftingStack provides
- Gift wall per artwork or profile, with received-gifts counters.
- Leaderboard of top supporters and of most gifted artists per period.
- Away summary for the artist, webhooks, the ledger, the tray and effects.
visitor opens an artwork -> POST /v1/client/gift-transactions (reference: art_204) -> wall under the artwork updates -> your server gets gift.sent -> the artist sees the away summary
Rewarding the receiver with your own product
Some apps give the receiver something real of their own when a gift arrives. A ticketing app adds a "Concert ticket" gift to its catalog. A user sends it to a friend, the friend's gift wall shows the ticket, and the app issues a real ticket to the friend from its own system.
-
Your server listens for
gift.sentand issues the ticket, product or access itself. Ongift.reversedit can cancel what it gave. - GiftingStack only records the gift. It does not deliver, guarantee or pay for what you give, and the receiver's gift count stays a counter.
- What you give is your own offer and your own responsibility. It must not be money, a cash-redeemable voucher or gift card, or crypto assets (see the Terms).
- On iOS and Android, coins used to send gifts that unlock a real ticket or product may need to be sold through your own web checkout instead of in-app purchase. Check the App Store and Google Play rules for your case.
Which feature fits which app
A tick means the feature is a typical fit for that kind of app. A dash means it is not typical there, though the API does not stop you from using it.
| Kind of app | Tray and effects | Gift rooms | Battles | Leaderboard | Gift wall | Away summary | Webhooks |
|---|---|---|---|---|---|---|---|
| Live streaming | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Audio rooms | Yes | Yes | Yes | Yes | Not typical | Not typical | Yes |
| Social feeds | Yes | Not typical | Not typical | Not typical | Yes | Yes | Yes |
| Games and esports | Yes | Yes | Yes | Yes | Not typical | Not typical | Yes |
| Creator communities | Yes | Not typical | Not typical | Yes | Yes | Yes | Yes |
| Music and podcasts | Yes | Not typical | Not typical | Yes | Yes | Yes | Yes |
| Q&A and marketplaces | Yes | Not typical | Not typical | Yes | Yes | Not typical | Yes |
| Virtual events | Yes | Yes | Not typical | Yes | Not typical | Not typical | Yes |
| Team recognition | Yes | Not typical | Not typical | Yes | Yes | Yes | Yes |
| Messaging | Yes | Not typical | Not typical | Not typical | Not typical | Not typical | Yes |
| Social discovery | Yes | Not typical | Not typical | Not typical | Not typical | Yes | Yes |
| Education | Yes | Not typical | Not typical | Yes | Yes | Yes | Yes |
| Fitness | Yes | Yes | Yes | Yes | Not typical | Not typical | Yes |
| Reading and fiction | Yes | Not typical | Not typical | Yes | Yes | Yes | Yes |
| Art and photo sharing | Yes | Not typical | Not typical | Yes | Yes | Yes | Yes |
Gift rooms and battles need a rooms claim in the client token. For live rooms
they need a paid plan; test rooms work on every plan.
Gift rooms has the limits.
How you connect
-
Web app
Your server mints a client token. The web SDK draws the tray and plays the effects in any framework.
-
React Native, Flutter, Android, iOS
The same tray and effects as native components.
-
Any backend, HTTP only
Skip the SDK: call the endpoints from your server and draw the gifts yourself. The API does everything the SDK does.
Start with the Quickstart, read the docs,
or see gift rooms for live sessions. Every app sells its own
coins and calls credit from its server; that part is always yours.
Here is the call every kind of app starts with (test environment):
curl -X POST https://api.giftingstack.com/v1/gift-transactions \
-H "Authorization: Bearer $GS_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(node -e "console.log(crypto.randomUUID())")" \
-d '{"sender": "mateo", "receiver": "ava", "gift_id": "pink-tulip",
"reference": "post_881"}'
Social feeds and short-video apps
Mateo posts a short clip in Loop, an invented video-feed app. A viewer gifts the post, and the gift shows under it and on Mateo's profile.
What your app does
reference(the post id) so the gift belongs to that post.gift.sentwebhook.What GiftingStack provides
Gifts are virtual and the receiver gets a counter, not a balance. GiftingStack never moves money. If your app rewards people, your own server decides that from the
gift.sentwebhook.