Inspiration
Cosmos ecosystem has numerous innovative builders within the ecosystem; however, in comparison to other respective chains, the engagement remains relatively low. Moreover, from our experience in the web 3.0 space, our team believes that cultural attachment and gamification beyond financial gain can ultimately lead to a higher new user acquisition and retention rate of the Cosmos Ecosystem.
What it does
Spirito is a native Cosmos identity platform. Our service includes the issuance of "SPIRIT", a composable SBT that enables users to collect badges (Similar to Nansen Tag) based on their achievement through interaction with the protocols within the Cosmos ecosystem.
Our team aims to materialize the on-chain interaction of the protocol user into a tangible product as such SBT to achieve cultural attachment to increase the engagement of the protocols.
Vice versa, with our "SPIRIT" SBT, protocols will be able to identify the type of users who have participated in our protocol, leading to the potential of formulating a more efficient way for airdrop, governance voting, and other incentivizing programs.
How we built it
For our contract, we create passport NFT which extended from cw721 with a non-transferable feature (SBT token). Issuers can issue badge information (like Osmo swapper, etc.) to their protocol user, and each user can mint their passport NFT. We also add a badge query for contracts to easily get badge data and can support on-chain integration. With these approaches, we can build other protocol contracts to extend from this passport NFT.
As for metadata of the NFT (Protocol Badge/SPIRTO Badge), we primarily query raw account transaction data using Celatone indexer API, where we build an intermediary layer that processes the user transaction to derive eligibility for each of the defined attribute of the SPIRTO NFT. Lastly, we sync the data with our API endpoint which is visualized in our front end.
Challenges we ran into
- Indexer and on-chain data: Normally, on-chain data is not easy to process and query. You need to have additional infrastructure like a blockchain node to get information like raw account transactions and an indexer to process state information. Thank you to Celatone's indexer that can save our time on infrastructure and can focus on user eligibility data processing.
- Rate limit on osmo RPC test net, which we need to delay and optimized for our contract operation script
- Gas Fee, we let the issuer issue badge in this hackathon POC. We need to change to claim model to save gas fees in future work.
Accomplishments that we're proud of
As a team, we're proud of our team, where each member has responsibly accomplished their goal and fulfilled their part as a member of the team.
What we learned
Through market research of the Cosmos ecosystem, we have learned that our product can contribute to the growth of the protocol in the ecosystem. Additionally, we also have learned the limitation of the osmosis Testnet, where we create adaptations to achieve the demo within the deadline.
Phase 2 Submission
We are pleased to present the following additions to the Spirito Platform for our Phase 2 Submission:
Updated Website: https://interface-git-main-spirito.vercel.app
Badge Exploration: This module provides users with a convenient way to explore the available badges within the Spirito Ecosystem. Our team has designed this module to serve as a central hub where members of the Cosmos community can discover new opportunities to collect badges for their Spirito NFTs, akin to a quest board in a guild.
Explore: https://interface-git-main-spirito.vercel.app/explore
Protocol Native Point System: Introducing a native point system for each protocol collaborating in the Spirito Ecosystem, such as Osmosis Point and Mars Point. This module allows protocols to leverage our pointing system by integrating new gamified rewards for users who have interacted with the badges created by the protocol. Additionally, it serves as a loyalty point system, enhancing user retention within the protocol ecosystem.
Badge Addition: With this new module, users can now add new badges to the Spirito Ecosystem. The conditions for badge acquisition are limited to activities such as swapping, providing liquidity, delegating, and staking, all of which can be defined by the users themselves.
Create: https://interface-git-main-spirito.vercel.app/create
User Tag Search: Lastly, we have introduced the User Tag Search module, which enables protocols to identify users who own specific badges. Within our platform, we have implemented an export module that generates a JSON format file containing a list of addresses. This module allows protocols to create snapshots of badge ownership, enabling them to utilize these lists of wallets for various purposes such as campaign creation and reward distribution.
Example: https://interface-git-main-spirito.vercel.app/badge/R292ZXJuYW5jZTogRGVsZWdhdG9y
We believe that these additions will significantly enhance the functionality and user experience of the Spirito Platform, fostering engagement and collaboration within the Cosmos community.
Built With
- cosmwasm
- python
- react
- rust
- typescript


Log in or sign up for Devpost to join the conversation.