<p>IOHK is actually working on a solution to stable coins called Djed and you should check it out.</p>
<p><a href="https://iohk.io/en/blog/posts/2021/08/18/djed-implementing-algorithmic-stablecoins-for-proven-price-stability/" rel="nofollow noreferrer">https://iohk.io/en/blog/posts/2021/08/18/djed-implementing-algorithmic-stablecoins-for-proven-price-stability/</a></p>
<p>Cardano research's first development is bearing fruit year-round.</p>
<p>Also, Hydra scaling is coming, being able to run Hyrda heads on a node will make this issue with ADA fee no longer exist.</p>

CC BY-SA 4.0
2021-11-16T11:47:14.757Z
Please expand on how the linked "Djed" article answers OP's question
runeks
CC BY-SA 4.0
2021-11-17T23:45:37.517Z
It goes over one of the ways you can pay fees that don't have a min ADA requirement, which eliminates the issue purposed by the OP. When you read the article it explains it in detail that doesn't make sense to copy-paste here when you can read it. I recommend it.
jnprogrammer
CC BY-SA 4.0
2021-11-19T07:27:30.420Z
Excellent! That’s indeed relevant to OP’s question. Please edit your answer to add this information.
runeks
CC BY-SA 4.0
2021-08-18T18:09:23.807Z
2021-08-18T18:19:20.543Z
2021-08-18T18:19:20.543Z
jnprogrammer
<p>It seems to work fine on Ethereum. You are required to spend ETH as gas to move stable coins like USDT or USDC.</p>
<p>Native tokens are nice because you don't need to spend <em>extra</em> to move tokens, like you do for ERC20 tokens on Ethereum. On Cardano you just need to include your fee and a tiny amount of ADA.</p>
<p>There are conversations about <a href="https://iohk.io/en/blog/posts/2021/02/25/babel-fees/" rel="nofollow noreferrer">Babel Fees</a>, which would further improve the experience of using Stable coins by letting you pay your fees in native tokens. It's conceivable that you'd be able to meet your minimum UTxO value threshold in a similar way, but that's wishful thinking.</p>

CC BY-SA 4.0
2021-08-18T06:30:58.343Z
The equivalent of Ethereum gas fees are just the Cardano fees. Fees are no problem. The min-Ada requirement requires the sender to include 1 Ada in the transaction and to send it to the *recipient* ! This is totally different from fees and requires the price to be always split in an Ada-part and a native-token-part, which is not feasible without checking the exchange rate of Ada vs this native token. Babel fees are equally useless with this min-Ada requirement.
Jey
CC BY-SA 4.0
2021-08-18T15:40:08.947Z
Why do you need to know an exchange rate? It’s the same as fees in that you have to include extra value for a transaction to be valid. Why do you care if it goes to the recipient vs the network?
Mitchell Turner
CC BY-SA 4.0
2021-08-18T16:05:14.943Z
Of course 1 ADA/tx could get expensive, but I think that's a separate concern. The value can also be adjusted. I'm sure the chain config value `minUTxOValue` could be turned down from 1000000 Lovelace to something much lower, especially as the value of ADA increases.
Mitchell Turner
CC BY-SA 4.0
2021-08-18T17:01:41.707Z
If it is part of the value the recipient gets then it is part of the price and should be disclosed. Try to explain to an average user why he has to pay 20 USDT as well as 1 Ada in addition to the 0.16 Ada in fees.
Jey
CC BY-SA 4.0
2021-08-18T17:35:40.657Z
"The issue here is that these USDT can never be send without also including Ada in the [transaction]. Wouldn't this severely impact the usefulness of this USDT?" This exact statement could be said about fees is all I'm suggesting. I think of it like mailing a package over the blockchain: the fees are the stamp and the minimum ADA is the envelope :) With the added benefit of the envelope being reuseable! I don't think this makes them unfeasible at all, just different from ETH.
Mitchell Turner
CC BY-SA 4.0
2021-08-18T18:57:07.647Z
You are right, fees impair the user experience too. Most people are used to credit card payments where the transaction fees are hidden from the customer and payed by the recipient. But people know what fees are and can understand the transaction logic. This minimum-ada thing, however, is very confusing and impair the user experience even further in a new way.
Jey
CC BY-SA 4.0
2021-08-17T23:09:55.360Z
2021-08-17T23:09:55.360Z
Mitchell Turner
<p>While I agree with you that fees might be a problem for native tokens, I do not understand why you make such a difference between fees and minimum value.</p>
<p>From a practical viewpoint: in Yoroi, when you send a native token, the minimum ADA to send (sum of fees and minimum-ada) is automatically computed. So the difference between fees and minimal transaction is transparent for the user. You do not even need to explain that difference to Yoroi users.</p>
<p>From a theoretical viewpoint: if you do not like the idea of minimum-ada, you can just assume that the fee structure is as follows:</p>
<ul>
<li>Sending ADA: 0.17ADA</li>
<li>Sending a native token: 1.17 ADA (or a bit more for NFTs)</li>
<li>Receiving a native token: -0.83 ADA</li>
</ul>
<p>So the minimum ADA value can be seen as some kind of fee. For the sender it definitely is. It is different for the receiver, which might be surprised that the fees are negative. But he should not complain about it.</p>
<p>However, it is true that a 1.17 ADA fee is too high for low value transactions. But this has nothing to do in particular with a stable coin, that can be used for both high-value and low-value transactions.</p>

CC BY-SA 4.0
2021-08-31T18:15:32.980Z
I have thought more about this min-Ada dilemma and now I think that the best solution is to construct payment mechanism as 2-step procedures on Cardano. In a first step, the sender deposits the stable coins together with the minimum Ada on a script address with validator that only allows the recipient to retrieve the value. In a second step, the recipient takes the stable coins and sends the minimum Ada back to the sender. The drawback is that fees are twice as high. On the other side transactions are safer, as no funds get accidentally send to the wrong addresses.
Jey
CC BY-SA 4.0
2021-09-01T16:10:56.643Z
Regarding Yoroi, I don't think it is done in a transparent way. The user can easily miss that the difference between the available funds and the "balance after" is not the fees. A normal user would get the impression that the transaction he makes costs him only the fees.
Jey
CC BY-SA 4.0
2021-08-31T09:01:36.873Z
2021-08-31T09:01:36.873Z
Distic
<p>EDIT: Yes, it's an issue (see comment).</p>
<p>The output requirement (in plutus at least) is in lovelaces (0.000001 of ADA), so it shouldn't be really an issue.</p>

CC BY-SA 4.0
2021-08-20T23:00:38.447Z
No, @jey is right. It's 1,000,000 Lovelace. Look at `minUTxOValue` in the Genesis config here:
https://hydra.iohk.io/build/7370192/download/1/mainnet-shelley-genesis.json
Mitchell Turner
CC BY-SA 4.0
2021-08-20T21:41:38.360Z
2021-08-30T00:48:54.057Z
2021-08-30T00:48:54.057Z
GClaramunt
<p>&quot;If the UTXO to be created as an output of a transaction is less than 1 ADA, this UTXO cannot be created and then that output is included as transaction fee.&quot;<a href="https://iohk.zendesk.com/hc/en-us/articles/900001987323-Fees-Explained" rel="nofollow noreferrer">Source</a></p>
<p>I have not owned any fungible tokens yet, however I have owned some NFT's and they are considered to have an ada value of ~1.4. My general assumption is that stable coins (all other native assets) will have a mock ada value and meet this requirement.</p>
<p>With IOHK's commitment to making native assets first calls citizens it would be unlikely that you would be required to have 1 ada at every UTxO even when there are other assets there. At worst case though you are just required to hold 1 ada in a wallet with native assets. This hardly seems like an inconvenience.</p>

CC BY-SA 4.0
2021-08-18T15:58:10.720Z
It is definitely an inconvenience if you have a wallet with 100 USDC and 1.5 ADA and want to spend 5 USDC. Then you'd have to send 1.4 ADA + 5 USDC (+ transaction fees) to the vendor. The rest of the USDC can't be spent even if you have enough ADA to cover transaction fees because you don't have 1.4 ADA to send with the USDC.
eddex
CC BY-SA 4.0
2021-08-18T17:05:22.873Z
This would be a very apple-ish way to do it. It would mean that only the Cardano Foundation could implement usable stable coins. Cardano views itself as a distributed system. Limiting the ability to create stable coins to a central entity seems like a contradiction.
Jey
CC BY-SA 4.0
2021-08-18T19:28:42.587Z
its only a problem if you are trying to send the ada as well.   "namely: minUTXOvalue" So every UTxO must have a value of at least 1 ada you do not have to send 1 ada in the transaction.
TheNewBadger
CC BY-SA 4.0
2021-08-19T07:21:28.630Z
If your native token has a value of 0 Ada, then you need to send the min Ada in the transaction (i.e. include Ada into the UTxO). Even the Yoroi Wallet doesn't know how to explain and display this fact to the app user. If you send native tokens Yoroi shows you your current balance, the fees and the resulting ending balance. The thing is that the ending balance is not the result of the current balance minus the fees. The difference is the min Ada and it is shown nowhere in the UI that you are sending them as well with your transaction.
Jey
CC BY-SA 4.0
2021-08-18T14:52:14.807Z
2021-08-18T14:52:14.807Z
TheNewBadger
<p>Cardano requires that every transaction output contains at least a value of 1 Ada. As the documentation points out, this means that it is not possible to send only native tokens in a transaction.</p>
<p>I struggle to understand the usefulness of native tokens given this constraint. In particular, I wonder how it is possible to implement a stable coin on Cardano given this limitation. I understand a stable coin to be a combination of a native token (e.g. USDT) and a smart contract that makes sure there are enough reserves and that the stable coin can be traded for Ada at the current USD exchange rate. The issue here is that these USDT can never be send without also including Ada in the transaction output. Wouldn't this severely impact the usefulness of this USDT (if not completely defeat its purpose)?</p>
<p>How does Cardano implement stable coins then ? And can they be sent without the minimum Ada constraint ?</p>
<p><strong>Edit (clarification):</strong>
Note that this min-Ada requirement is fundamentally different from fees. Fees are due and payed to the Cardano network. This minimum Ada, however, needs to be sent to the recipient of the native token.</p>

<ada><native-assets><stablecoins>
The feasibility of stable coins given the min-Ada-value requirement
# The feasibility of stable coins given the min-Ada-value requirement

(Asked by: username_0 on 2021-08-17)

Cardano requires that every transaction output contains at least a value of 1 Ada. As the documentation points out, this means that it is not possible to send only native tokens in a transaction.

I struggle to understand the usefulness of native tokens given this constraint. In particular, I wonder how it is possible to implement a stable coin on Cardano given this limitation. I understand a stable coin to be a combination of a native token (e.g. USDT) and a smart contract that makes sure there are enough reserves and that the stable coin can be traded for Ada at the current USD exchange rate. The issue here is that these USDT can never be send without also including Ada in the transaction output. Wouldn't this severely impact the usefulness of this USDT (if not completely defeat its purpose)?

How does Cardano implement stable coins then ? And can they be sent without the minimum Ada constraint ?

**Edit (clarification):**
Note that this min-Ada requirement is fundamentally different from fees. Fees are due and payed to the Cardano network. This minimum Ada, however, needs to be sent to the recipient of the native token.

**Tags:** ada, native-assets, stablecoins

---

## 5 answers

### Answer by username_1 on 2021-08-18. Score: 2

IOHK is actually working on a solution to stable coins called Djed and you should check it out.

<https://iohk.io/en/blog/posts/2021/08/18/djed-implementing-algorithmic-stablecoins-for-proven-price-stability/>

Cardano research's first development is bearing fruit year-round.

Also, Hydra scaling is coming, being able to run Hyrda heads on a node will make this issue with ADA fee no longer exist.

> **Comments:**
> **username_2**: Please expand on how the linked "Djed" article answers OP's question  
> **username_1**: It goes over one of the ways you can pay fees that don't have a min ADA requirement, which eliminates the issue purposed by the OP. When you read the article it explains it in detail that doesn't make sense to copy-paste here when you can read it. I recommend it.  
> **username_2**: Excellent! That’s indeed relevant to OP’s question. Please edit your answer to add this information.  

---

### Answer by username_3 on 2021-08-17. Score: 1

It seems to work fine on Ethereum. You are required to spend ETH as gas to move stable coins like USDT or USDC.

Native tokens are nice because you don't need to spend *extra* to move tokens, like you do for ERC20 tokens on Ethereum. On Cardano you just need to include your fee and a tiny amount of ADA.

There are conversations about [Babel Fees](https://iohk.io/en/blog/posts/2021/02/25/babel-fees/), which would further improve the experience of using Stable coins by letting you pay your fees in native tokens. It's conceivable that you'd be able to meet your minimum UTxO value threshold in a similar way, but that's wishful thinking.

> **Comments:**
> **username_0**: The equivalent of Ethereum gas fees are just the Cardano fees. Fees are no problem. The min-Ada requirement requires the sender to include 1 Ada in the transaction and to send it to the *recipient* ! This is totally different from fees and requires the price to be always split in an Ada-part and a native-token-part, which is not feasible without checking the exchange rate of Ada vs this native token. Babel fees are equally useless with this min-Ada requirement.  
> **username_3**: Why do you need to know an exchange rate? It’s the same as fees in that you have to include extra value for a transaction to be valid. Why do you care if it goes to the recipient vs the network?  
> **username_3**: Of course 1 ADA/tx could get expensive, but I think that's a separate concern. The value can also be adjusted. I'm sure the chain config value `minUTxOValue` could be turned down from 1000000 Lovelace to something much lower, especially as the value of ADA increases.  
> **username_0**: If it is part of the value the recipient gets then it is part of the price and should be disclosed. Try to explain to an average user why he has to pay 20 USDT as well as 1 Ada in addition to the 0.16 Ada in fees.  
> **username_3**: "The issue here is that these USDT can never be send without also including Ada in the [transaction]. Wouldn't this severely impact the usefulness of this USDT?" This exact statement could be said about fees is all I'm suggesting. I think of it like mailing a package over the blockchain: the fees are the stamp and the minimum ADA is the envelope :) With the added benefit of the envelope being reuseable! I don't think this makes them unfeasible at all, just different from ETH.  
> **username_0**: You are right, fees impair the user experience too. Most people are used to credit card payments where the transaction fees are hidden from the customer and payed by the recipient. But people know what fees are and can understand the transaction logic. This minimum-ada thing, however, is very confusing and impair the user experience even further in a new way.  

---

### Answer by username_4 on 2021-08-31. Score: 1

While I agree with you that fees might be a problem for native tokens, I do not understand why you make such a difference between fees and minimum value.

From a practical viewpoint: in Yoroi, when you send a native token, the minimum ADA to send (sum of fees and minimum-ada) is automatically computed. So the difference between fees and minimal transaction is transparent for the user. You do not even need to explain that difference to Yoroi users.

From a theoretical viewpoint: if you do not like the idea of minimum-ada, you can just assume that the fee structure is as follows:

* Sending ADA: 0.17ADA
* Sending a native token: 1.17 ADA (or a bit more for NFTs)
* Receiving a native token: -0.83 ADA

So the minimum ADA value can be seen as some kind of fee. For the sender it definitely is. It is different for the receiver, which might be surprised that the fees are negative. But he should not complain about it.

However, it is true that a 1.17 ADA fee is too high for low value transactions. But this has nothing to do in particular with a stable coin, that can be used for both high-value and low-value transactions.

> **Comments:**
> **username_0**: I have thought more about this min-Ada dilemma and now I think that the best solution is to construct payment mechanism as 2-step procedures on Cardano. In a first step, the sender deposits the stable coins together with the minimum Ada on a script address with validator that only allows the recipient to retrieve the value. In a second step, the recipient takes the stable coins and sends the minimum Ada back to the sender. The drawback is that fees are twice as high. On the other side transactions are safer, as no funds get accidentally send to the wrong addresses.  
> **username_0**: Regarding Yoroi, I don't think it is done in a transparent way. The user can easily miss that the difference between the available funds and the "balance after" is not the fees. A normal user would get the impression that the transaction he makes costs him only the fees.  

---

### Answer by username_5 on 2021-08-20. Score: 1

EDIT: Yes, it's an issue (see comment).

The output requirement (in plutus at least) is in lovelaces (0.000001 of ADA), so it shouldn't be really an issue.

> **Comments:**
> **username_3**: No, @jey is right. It's 1,000,000 Lovelace. Look at `minUTxOValue` in the Genesis config here: https://hydra.iohk.io/build/7370192/download/1/mainnet-shelley-genesis.json  

---

### Answer by username_6 on 2021-08-18. Score: 0

"If the UTXO to be created as an output of a transaction is less than 1 ADA, this UTXO cannot be created and then that output is included as transaction fee."[Source](https://iohk.zendesk.com/hc/en-us/articles/900001987323-Fees-Explained)

I have not owned any fungible tokens yet, however I have owned some NFT's and they are considered to have an ada value of ~1.4. My general assumption is that stable coins (all other native assets) will have a mock ada value and meet this requirement.

With IOHK's commitment to making native assets first calls citizens it would be unlikely that you would be required to have 1 ada at every UTxO even when there are other assets there. At worst case though you are just required to hold 1 ada in a wallet with native assets. This hardly seems like an inconvenience.

> **Comments:**
> **username_7**: It is definitely an inconvenience if you have a wallet with 100 USDC and 1.5 ADA and want to spend 5 USDC. Then you'd have to send 1.4 ADA + 5 USDC (+ transaction fees) to the vendor. The rest of the USDC can't be spent even if you have enough ADA to cover transaction fees because you don't have 1.4 ADA to send with the USDC.  
> **username_0**: This would be a very apple-ish way to do it. It would mean that only the Cardano Foundation could implement usable stable coins. Cardano views itself as a distributed system. Limiting the ability to create stable coins to a central entity seems like a contradiction.  
> **username_6**: its only a problem if you are trying to send the ada as well.   "namely: minUTXOvalue" So every UTxO must have a value of at least 1 ada you do not have to send 1 ada in the transaction.  
> **username_0**: If your native token has a value of 0 Ada, then you need to send the min Ada in the transaction (i.e. include Ada into the UTxO). Even the Yoroi Wallet doesn't know how to explain and display this fact to the app user. If you send native tokens Yoroi shows you your current balance, the fees and the resulting ending balance. The thing is that the ending balance is not the result of the current balance minus the fees. The difference is the min Ada and it is shown nowhere in the UI that you are sending them as well with your transaction.  

---

