Create and claim Kudos natively

Scenario

Suppose that you want to natively provide capability for a user in your app to send a Kudos to someone, and that recipient to claim the Kudos. You can easily do this with the power of the MintKudos APIs! We've seen these endpoints used in a variety of cases, such as social media applications where you want to congratulate someone on their achievements.

APIs needed

This example consists of two user flows - one for the Kudos creator/sender, and another for the Kudos recipient.

Creating / sending a Kudos

When building a flow to allow a user to send a Kudos, you would call the [Async] POST /tokens endpoint. Here, make sure to specify the recipients in the contributors field of the POST body, and also that isSignatureRequired=true and isAllowlistRequired=true. You want to make sure that the Kudos you're creating is an allowlisted Kudos so that only the specified recipient can claim the Kudos.
Note that you need to provide a way for the sender of the Kudos to sign & verify the Kudos creation using their wallet. This means that the user needs to have their wallet connected as part of this flow.

Claiming a Kudos

On the flip side, when building a flow to allow a user to claim a received Kudos, you would call the [Async] POST /tokens/:tokenId/claim endpoint. Like the creation flow, you need to provide a way for the recipient of the Kudos to sign & verify the claiming of the Kudos using their wallet. This means that the user needs to have their wallet connected as part of this flow.
Note that in order for the recipient to know whether they have a Kudos to claim, it would likely make sense to call the GET /wallets/:address/tokens endpoint, with the query param claimStatus=unclaimed. This would list the tokens that is available for claiming by any wallet. It would likely make sense to stick this in the user's profile, or provide it as a notification that a Kudos is ready to claim if you have a notification system in place.

Case Study - Spect Network

Spect, highly customizable tool for DAOs to manage tasks, grants, and bounties, has built a feature within their flagship product Spect Circles where a user can send a Kudos to another DAO member natively, and a separate feature where the recipient can claim the Kudos.
Take a look at this demo video by them for more info: