SoulTag X is a full-stack decentralized application built on Algorand for issuing, verifying, and reclaiming soulbound tokens (non-transferable ASAs) that represent identity, credentials, access badges, and DAO roles.
π "Unstealable. Untransferable. Undeniable Proof."
-Ready to use
Enable on-demand tokenization of identity-linked credentials using smart contracts that:
- Enforce soulbound behavior (non-transferable tokens)
- Allow secure reissuance using hashed user identifiers
- Support metadata-rich tokens via ARC-53
- Offer a modular interface for real-world use (KYC, certs, DAO badges)
| Feature | Description |
|---|---|
| πͺͺ Soulbound Tokens | ASAs that cannot be transferred by users |
| π On-Demand Reissuance | Lost token? Reclaim it with identity hash verification |
| π§ Smart Contract Logic | Implements mint(), reissue(), balance_of(), etc. |
| π¨ ARC-53 Metadata Integration | IPFS-hosted metadata per tag (image, description, mimetype) |
| π‘οΈ Multisig Controls | Revoke or manage roles with DAO-like security |
| π§Ύ Public Verifier UI/API | Check if an address holds a valid SoulTag |
| π§± Full Stack Implementation | PyTEAL smart contract + React frontend with WalletConnect |
- Smart Contract Language: PyTEAL (Algorand Virtual Machine)
- Frontend: React + TailwindCSS + WalletConnect (Pera/MyAlgo)
- Backend: AlgoKit full-stack template
- Token Standards: ASA + ARC-53 (metadata) + ARC-200-inspired logic
- Metadata Hosting: IPFS
- π Course Completion Badges
- π§Ύ KYC Verification Tokens
- π« Event or Club Access Passes
- ποΈ DAO Membership Credentials
- ποΈ Loyalty & Achievement Tokens
-
Connect wallet
-
View your issued tags
-
View your tag metadata and public verification
- Integrate the smart contract methods like
get_metadata(),has_tag(), andreissue()into your dApp to manage identity-based access, badges, or certifications. - Extend or customize contract logic to add features like:
- Expiring tags
- NFT skin overlays
- Revocable access tokens
- Easily retrieve metadata for any tag using the ABI methods and display ARC-53-compliant visuals.
- Use
has_tag(tag_type, address)andget_metadata(tag_type)to:- Show which verified tags a user holds
- Display tag info like badge image, type, and description
- Verify identities in a decentralized, read-only way β ideal for integration into DAO dashboards or wallet profiles.
- Use SoulTag X to issue non-transferable proof-of-participation, KYC verification, certifications, or role-based tokens.
- Customize tags with your branding via ARC-53 metadata hosted on IPFS.
- Manage issuance securely using a 2-of-3 multisig admin flow.
Thank you for considering a contribution to SoulTag X!
We welcome bug reports, feature requests, and code contributions to help improve the future of decentralized identity on Algorand.
- Python 3.10+
- Node.js v18+
- AlgoKit CLI (v2+)
- Algorand Wallet (TestNet or LocalNet)
- IPFS account (e.g. Pinata, NFT.storage)
This project is licensed under the MIT License. Feel free to use, modify, or fork for your own identity, badge, or credentialing use case.
For collaboration or questions, reach out:
- Email: [email protected]








