Create and claim Kudos natively
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.
This example consists of two user flows - one for the Kudos creator/sender, and another for the Kudos recipient.
When building a flow to allow a user to send a Kudos, you would call the
[Async] POST /tokensendpoint. Here, make sure to specify the recipients in the
contributorsfield of the POST body, and also that
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.
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/claimendpoint. 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/tokensendpoint, 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.
Take a look at this demo video by them for more info: