Hello @Matias_Falcone
From what I can see Soulbound tokens seem to have two main uses:
-
To have a Non-Transferable identifier bound to a crypto wallet
-
To have ability to have some ‘authority’ permanently designate a wallet as unique by issuing an SBT
So, as far as I can see there is no need for Soulbound tokens on Cardano.
Unlike other blockchains Cardano wallets already have a unique, non-transferable identifier. It is called Stake Address.
On Ethereum, for example, you have a wallet address and each individual token has a contract address. In those contract addresses there is usually an entry that will parse your wallets share of those tokens in some form. So for any app or a wallet or an exchange to know what you own you have to scan a whole blockchains worth of contracts or, as it usually happens, use an API. Adding a Soulbound token is a clever way of consolidating ownership list of all wallet assets into a separate non-movable contract (clever, but it will bloat the ledger). This way all you would need to do is just scan wallet address and SBT address instead of a whole blockchain worth of contracts and because you know SBT is unmovable it guaranties verification (for SBT listed assets). Also, SBT can be used as a “dump” for selected info, which in turn can be used as a quickly accessible list for verification.
Cardano is a UTxO based with a different structure. Cardano wallets scan all used and unused addresses (as defined by ‘gap’ variable in that wallets architecture) and are immediately aware of all transactions that occurred on those addresses. Since all tokens on Cardano are native digital assets and not contracts all balance info for all assets is immediately available (no API needed). All these addresses and all these tokens and assets are under onw non-transferable umbrella Stake Address. So this feature of Soulbound tokens is already included in Cardano base architecture.
Because you have this feature you can attach any info to it and it’s guaranteed to point to correct wallet. You can even make an NFT with unlocked policy that you keep changing content in, that refers to that stake address (in metadata) and it won’t matter which wallet that NFT is in. You could make a Plutus contract that holds, mints and burns such NFT and another that adjusts voting levels for that Stake Address accordingly.
If you want to use this concept for a DAO, just replace SBT with Stake Address and done! What ever interactions that Stake Address holder has with DAOs UI (or however they measure interaction ) can be recorded off- or on-chain and assign voting rights to that Stake Address according to DAOs calculation.
For point 2. where you have an “authority” bestow some kind of credentials or identity to a wallet. That is more in line with Digital IDs (DIDs). This is for education records, job credentials, health records, compliance, etc… Cardano already has credential verification and issuance platform called Atala PRISM (although I don’t see much demand from “issuing authorities” to go digital any time soon).
As for WEB 3.0 “implementations”… I don’t see anything emerging as any usable standard for WEB 3.0 architecture yet, so I’m not sure how anyone is building implementations for non-existent format. This part I’m gonna leave for hard core devs and coders to tackle 