<p>Any native asset on cardano can be transferred according to the ledger rules.</p>
<p>To make something non-transferrable you would need to make it unspendable.</p>
<ul>
<li>For &quot;pay to pubkey&quot; outputs, this would mean to throw away the key - I don't think this is what you want in this case.</li>
<li>The only alternative &quot;pay to script&quot; outputs are governed by the script (currently either a simple or plutus script). Making these unspendable is easy, think <code>const False</code> for plutus.</li>
</ul>
<p>As you ask &quot;without the need for smart contracts&quot; I would say: No, scripts will be required to implement something like this.</p>
<p>But isn't Ethereum using smart contracts for this as well?</p>
<p>If scripts are okay, one could draft up a specification what an SBT is. For example (based on my limited familiarity with SBTs) something like:</p>
<ul>
<li>A cardano native token / asset with quantity 1, which</li>
<li>was minted by a policy that ensures single mint &amp; pay to some public key (two parameters: <code>TxOutRef</code> and <code>PubKeyHash</code>) creating an output, that</li>
<li>is governed by an unspendable script (identified by script hash), which</li>
<li>also contains a datum (inline or hash) pointing to the owner (<code>PubKeyHash</code> above).</li>
</ul>
<p>Note that &quot;from the outside&quot; this would not be resolvable who some SBT belongs to, you would need the parameters of the minting script and anything needed for the datum pre-image to verify. For example the &quot;seed&quot; <code>TxOutRef</code> and the <code>PubKeyHash</code> of the &quot;soul&quot;</p>

CC BY-SA 4.0
2022-08-03T06:10:24.267Z
2022-08-03T06:10:24.267Z
Sebastian Nagel
<p>A lot is going on at the moment in the Ethereum dev community with Soulbound Tokens: <a href="https://ethereum-magicians.org/t/eip-5114-soulbound-badges/9417" rel="nofollow noreferrer">https://ethereum-magicians.org/t/eip-5114-soulbound-badges/9417</a></p>
<p>What would be the best approach for implementing non-transferable tokens in Cardano?</p>
<p>A soulbound token is a token that is bound to a wallet when it is minted, and cannot be transferred/moved after that. In Cardano, I understand this means it should be locked to a specific UTxO that has to be part of the wallet.</p>
<p>Is it possible to implement this in Cardano without the need of smart contracts?</p>

CC BY-SA 4.0
2022-08-03T01:36:34.590Z
Def: "Soulbound tokens (SBT) are non-transferable, publicly-verifiable digital tokens that can act as a type of CV for web3 users, showing an individual’s memberships, credentials, and affiliations." This is a pretty good write up on SBTs: https://www.axi.com/au/blog/education/blockchain/soulbound-tokens
MC_Brisbane - JUST Pool
CC BY-SA 4.0
2022-08-03T02:03:17.920Z
Just thinking out loud here, this would probably be best implemented at the protocol level eg an extra flag to indicate if an asset/NFT is transferable or not. Plus methods to query/verify and burn. So a CIP would be needed to get some consideration and deep discussion https://cips.cardano.org/ - mind you Atala Prism and Digital IDs might offer the same functionality.
MC_Brisbane - JUST Pool
CC BY-SA 4.0
2022-08-03T03:40:38.760Z
Thanks for your comment, mate. Yes, I'm thinking of proposing a CIP myself, that's why I'm trying to get some ideas from the community first, on how this can be addressed.
Falcon Stakepool
CC BY-SA 4.0
2022-08-03T05:03:34.767Z
Atala Prism looks to address this use case: "Atala PRISM is a self-sovereign identity (SSI) platform and service suite for verifiable data and digital identity. Built on Cardano, it offers core infrastructure for issuing DIDs (Decentralized identifiers) and verifiable credentials, alongside tools and frameworks to help expand your ecosystem." https://www.atalaprism.io/ - They also have a useful services walk through showing the different interactions https://www.atalaprism.io/app/credentials
MC_Brisbane - JUST Pool
CC BY-SA 4.0
2022-08-03T05:16:37.690Z
Even though Prism exists, having competition/alternative services is always better for the eco-system, and having core services at the protocol level offers more certainty and robustness. Good luck with the CIP.
MC_Brisbane - JUST Pool
<nft><token><metadata>
How would you implement Soulbound Tokens in Cardano?
# How would you implement Soulbound Tokens in Cardano?

(Asked by: username_0 on 2022-08-03)

A lot is going on at the moment in the Ethereum dev community with Soulbound Tokens: <https://ethereum-magicians.org/t/eip-5114-soulbound-badges/9417>

What would be the best approach for implementing non-transferable tokens in Cardano?

A soulbound token is a token that is bound to a wallet when it is minted, and cannot be transferred/moved after that. In Cardano, I understand this means it should be locked to a specific UTxO that has to be part of the wallet.

Is it possible to implement this in Cardano without the need of smart contracts?

**Tags:** nft, token, metadata
> **Comments:**
> **username_1**: Def: "Soulbound tokens (SBT) are non-transferable, publicly-verifiable digital tokens that can act as a type of CV for web3 users, showing an individual’s memberships, credentials, and affiliations." This is a pretty good write up on SBTs: https://www.axi.com/au/blog/education/blockchain/soulbound-tokens  
> **username_1**: Just thinking out loud here, this would probably be best implemented at the protocol level eg an extra flag to indicate if an asset/NFT is transferable or not. Plus methods to query/verify and burn. So a CIP would be needed to get some consideration and deep discussion https://cips.cardano.org/ - mind you Atala Prism and Digital IDs might offer the same functionality.  
> **username_0**: Thanks for your comment, mate. Yes, I'm thinking of proposing a CIP myself, that's why I'm trying to get some ideas from the community first, on how this can be addressed.  
> **username_1**: Atala Prism looks to address this use case: "Atala PRISM is a self-sovereign identity (SSI) platform and service suite for verifiable data and digital identity. Built on Cardano, it offers core infrastructure for issuing DIDs (Decentralized identifiers) and verifiable credentials, alongside tools and frameworks to help expand your ecosystem." https://www.atalaprism.io/ - They also have a useful services walk through showing the different interactions https://www.atalaprism.io/app/credentials  
> **username_1**: Even though Prism exists, having competition/alternative services is always better for the eco-system, and having core services at the protocol level offers more certainty and robustness. Good luck with the CIP.  

---

## 1 answers

### Answer by username_2 on 2022-08-03. Score: 3 | Accepted answer

Any native asset on cardano can be transferred according to the ledger rules.

To make something non-transferrable you would need to make it unspendable.

* For "pay to pubkey" outputs, this would mean to throw away the key - I don't think this is what you want in this case.
* The only alternative "pay to script" outputs are governed by the script (currently either a simple or plutus script). Making these unspendable is easy, think `const False` for plutus.

As you ask "without the need for smart contracts" I would say: No, scripts will be required to implement something like this.

But isn't Ethereum using smart contracts for this as well?

If scripts are okay, one could draft up a specification what an SBT is. For example (based on my limited familiarity with SBTs) something like:

* A cardano native token / asset with quantity 1, which
* was minted by a policy that ensures single mint & pay to some public key (two parameters: `TxOutRef` and `PubKeyHash`) creating an output, that
* is governed by an unspendable script (identified by script hash), which
* also contains a datum (inline or hash) pointing to the owner (`PubKeyHash` above).

Note that "from the outside" this would not be resolvable who some SBT belongs to, you would need the parameters of the minting script and anything needed for the datum pre-image to verify. For example the "seed" `TxOutRef` and the `PubKeyHash` of the "soul"


---

