# Soulbound Tokens in Cardano

**URL:** <https://forum.cardano.org/t/soulbound-tokens-in-cardano/112379>\
**Category:** CIPs\
**Created:** [2 January 2023 22:55 UTC](https://forum.cardano.org/t/soulbound-tokens-in-cardano/112379 "2023-01-02T22:55:09Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Matias\_Falcone](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.cardano.org/matias_falcone/32/17529_2.png) [@Matias\_Falcone](https://forum.cardano.org/u/Matias_Falcone)\
**Post date:** [2 January 2023 22:55 UTC](https://forum.cardano.org/t/soulbound-tokens-in-cardano/112379/1 "2023-01-02T22:55:09Z")

</div>

Hi everyone!

I have been interested in Soulbound Tokens (SBTs) since May 2022, when [Decentralized Society: Finding Web3’s Soul](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4105763) was initially published.

During this time, I found that many crypto communities have been working on standards, improvement proposals or, at least, have a basic understanding of how they could implement SBTs in their respective networks. To my surprise (or at least from what I know), I have found that Cardano community is not exploring these concepts at all. I just found a few mentions of this topic:

> [@Can I Make Non-Transferable (or selectively transferable) Tokens on Cardano?](https://forum.cardano.org/t/can-i-make-non-transferable-or-selectively-transferable-tokens-on-cardano/77657/12):
>
> This thread is more than a half year old - I wonder if there are any other Methods to create a non-transferable token. Something similar to a Soulbound Token.

> <https://cardano.stackexchange.com/questions/8786/how-would-you-implement-soulbound-tokens-in-cardano>

This is why I’d like to open this discussion to see if we can come up with a standard and a solution on how to implement non-transferable tokens in Cardano. I believe they can be of great help for DAOs, mostly at the time of voting and making decisions; but probably a lot of different use cases can come up from this research too.

---

<div class="post-metadata">

**Author:** ![Neo\_Spank](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.cardano.org/neo_spank/32/35544_2.png) [@Neo\_Spank](https://forum.cardano.org/u/Neo_Spank)\
**Post date:** [3 January 2023 15:23 UTC](https://forum.cardano.org/t/soulbound-tokens-in-cardano/112379/2 "2023-01-03T15:23:22Z")

</div>

Hello @Matias_Falcone

From what I can see Soulbound tokens seem to have two main uses:

1. To have a Non-Transferable identifier bound to a crypto wallet

2. To have ability to have some ‘authority’ permanently designate a wallet as unique by issuing an SBT

> [@Matias\_Falcone](#):
>
> I have found that Cardano community is not exploring these concepts at all. I just found a few mentions of this topic:

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.

> [@Matias\_Falcone](#):
>
> I believe they can be of great help for DAOs, mostly at the time of voting and making decisions

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.

> [@Matias\_Falcone](#):
>
> probably a lot of different use cases can come up from this research too.

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](https://cardano.org/enterprise/) (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 🙂

---

<div class="post-metadata">

**Author:** ![COSDpool](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.cardano.org/cosdpool/32/21482_2.png) [@COSDpool](https://forum.cardano.org/u/COSDpool)\
**Post date:** [3 January 2023 17:04 UTC](https://forum.cardano.org/t/soulbound-tokens-in-cardano/112379/3 "2023-01-03T17:04:28Z")

</div>

> [@Matias\_Falcone](#):
>
> just found a few mentions of this topic: [Can I Make Non-Transferable (or selectively transferable) Tokens on Cardano? - #12 by danimajo](https://forum.cardano.org/t/can-i-make-non-transferable-or-selectively-transferable-tokens-on-cardano/77657/12)  
> This thread is more than a half year old…

To address the other technical part of the question then (how to make Cardano tokens non-transferable), there were a few discussions (also mentioned [here](https://forum.cardano.org/t/issuer-controls-for-tokens/111086/2)) that came up in the meantime. These have been mostly disagreeable to managing token ownership & the latter of these proposals (listed here most recent first) was even deprecated at publication time by its own author:

> <https://github.com/cardano-foundation/CIPs/pull/383>
>
> Allow users to delegate authorized spending of outputs in their wallets to smart… contracts or other users, without sending said outputs out of their wallets.
> 
> This brings benefits to Cardano users when interacting with existing dapps and opens up new use cases, like noncustodial asset management, concurrent use of dapps and seamless integration with sidechains.

> <https://github.com/cardano-foundation/CIPs/pull/382>
>
> The CPS standard is coming from this proposal: https://github.com/cardano-founda…tion/CIPs/tree/master/CIP-9999
> 
> The topic of smart tokens at this stage is not ready for a CIP, so I deemed a CPS to be a better fit for discussions. Since the CPS standard is not set yet and also this topic would require proper discussions potentially elsewhere, I also made this as a DRAFT.
> 
> The need to extend the functionality around tokens and their utility was raised in the Interoperability working group - https://github.com/input-output-hk/Interoperability-working-group/issues/16
> 
> Disclaimer:
> I don't think I'm a good fit to define the full requirements for what smart-tokens should fulfill, neither have I the overview of the development direction of Cardano. I also don't have the connections to push this forward. I think experts in regulations, compliance definitely should have a strong say, with dapps and wallets defining how they would work from the UX perspective. My aim here is simply to raise the topic.
> 
> \---
> 
> (\[rendered proposal in branch\](https://github.com/zoeldevapps/cardano-CIPs/tree/cps/smart-tokens/CPS-%3F%3F%3F%3F))

> <https://github.com/cardano-foundation/CIPs/pull/336>
>
> This adds a rejected CIP recording a possible design that has been discussed in …the past for "spending policies". I wanted to have somewhere to point when it comes up, and also to publicly record the reasons why designs like this are difficult.
> 
> \---
> 
> \[see rendered Markdown\](https://github.com/michaelpj/CIPs/blob/mpj/spending-policies/CIP-0070/README.md)

---

<div class="post-metadata">

**Author:** ![HeptaSean](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.cardano.org/heptasean/32/82306_2.png) [@HeptaSean](https://forum.cardano.org/u/HeptaSean)\
**Post date:** [3 January 2023 20:21 UTC](https://forum.cardano.org/t/soulbound-tokens-in-cardano/112379/4 "2023-01-03T20:21:11Z")

</div>

> [@Neo\_Spank](#):
>
> 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.

Side note: When using stake addresses for such use cases, mingled addresses should always be kept in mind. The on-chain concept of stake is not completely identical to the key management concept of wallet or account. There might be addresses, where the payment key is controlled by someone else than the stake key.

> [@Neo\_Spank](#):
>
> Cardano already has credential verification and issuance platform called [Atala PRISM](https://cardano.org/enterprise/)

I wouldn’t use the present tense here.
