Souls are developed using the Helios programming language, which is compiled down to Plutus Core. When a Soul is created, the user's staking credential from their Cardano wallet is attached to the smart contract's validator hash. This action forms a unique smart contract wallet address for each user. Additionally, a unique ID token (an NFT) is minted into the new smart contract wallet, identifying the user's public key hash and defining the minting policy hashes of any soulbound assets.
Identification and Verification
To identify a Soul, we extract the payment credential from the smart contract wallet address, which must match the known validator hash of our Soul smart contract. To confirm the associated user, we inspect the staking credential of the Soul smart contract address and match it to the user's staking credential. This information, along with the Soul ID token, allows us to recreate the user's actual wallet address, identifying the true owner of the Soul.
Soulbound Tokens (SBTs)
SBTs can be minted under any policy, like regular NFTs. The soulbound nature of these tokens is determined by the Soul ID token, which contains a whitelist of minting policy hashes for accepted SBTs. If a token with a whitelisted policy hash is minted into or sent to the user's Soul, the token cannot be sent out, making it soulbound.
Each user's Soul ID is created when they create their Soul, offering various customization options for the name and display image. The Soul ID is also an NFT, which is automatically whitelisted in every Soul smart contract, thereby remaining soulbound once minted.
Policy Whitelisting and Soulbinding
Users have the ability to whitelist minting policies within their Souls, creating a relationship between the user and the projects intending to mint SBTs. This feature provides control and flexibility to users, allowing them to choose which projects' tokens they want to become soulbound. It forms an action-reaction relationship between projects wanting to mint SBTs into a user's Soul for ecosystem needs, and the user themselves.
Web2 and Decentralised Universe Integration
In addition to serving as a digital passport within the Cardano ecosystem, Souls offer the ability to link web2 identities such as Discord accounts. This integration opens up the possibility of creating a hidden web3 layer to onboard web2 users and providing an enhanced and user-friendly experience for interacting with the decentralized universe.