Cardano has over 40 network parameters. Parameters are the mechanisms that control how the Cardano Blockchain works.
Today we will be digging into a parameter that comes into play every time you interact with your Cardano blockchain account: min_utxo_value.
Have you ever noticed that your wallet has more ada than you are able to send? Or perhaps that when you’re filling in the ada amount to send, the wallet field is red until you enter a high enough amount? This is the min_utxo_value doing its work.
What is it?
min_utxo_value is short for minimum unspent transaction output value. On Cardano, every output from a transaction (basically, every time something is sent somewhere) there must be a minimum amount of ada included, even if the primary thing you are sending is not ada. Why? The big idea is to prevent the network from getting cluttered with tiny, spammy pieces of ada that would bloat the system and make it harder to manage.
Why does it exist?
Cardano uses a model called EUTXO (Extended Unspent Transaction Output), where each transaction consumes previous outputs and creates new ones. Without a minimum value requirement, someone could flood the network with thousands or millions of near-zero ada outputs, which would clog the system.
By setting a minimum value, Cardano ensures that each transaction output carries enough weight to justify its place in the ledger. Think of it as a small deposit or a cover charge to keep the system clean and efficient.
How is it set?
The min_utxo_value was originally set to 1000000 lovelaces (1 ada). In September 2021, in preparation for Cardano’s long awaited upgrade that brought programmability to the chain, the min_utxo_value went from being a fixed amount to a calculated amount. This is to better reflect the actual storage cost of data on-chain. How many things you are sending, what the specific things are affects the min_utxo_value. To read more about the formula and see the specific ledger documentation: https://cardano-ledger.readthedocs.io/en/latest/explanations/min-utxo-mary.html
Real-world impact
For everyday users, this means you can’t send a transaction with outputs smaller than the minimum threshold. If you try to send 0.5 ADA to someone and the minimum is 1 ada, your transaction will fail unless you increase the amount. For dApp developers and NFT projects, it affects how much ada must accompany token transfers or script interactions.
It’s not a fee—you don’t lose the ada. It’s still yours, just temporarily tied up in the transaction output until you spend it again. This second point is why you might notice that even though your wallet says you have 7 ada, you can only send up to 5. The other 2 ada might be hitched to the NFTs on your account.
min_utxo_value tested
In June 2024 the min_utxo_value lived up to his name. Cardano was attacked via a massive denial of service attack (DoS). Someone or some people somewhere was flooding the network with hundreds of tiny spammy transactions. The attacker(s) had to spend .99 ada to create each transaction. You can read more about it here: https://x.com/ElRaulito_cnft/status/1805654707378983353
The min_utxo_value prevented the attacker from overwhelming the system. Even though they used a clever trick by crafting a special kind of transaction (a REWARD transaction) to pay as little as possible. Well, because of their clever reward trick, eventually they were stopped when someone else figured out how to take their ada because of the REWARD type. If you are curious you can read about that here: http://x.com/phil_uplc/status/1805672403822870776
The big picture
min_utxo_value can proudly say it’s one of the few parameters that have been tried and tested. It prevents spam, encourages responsible use of the blockchain, and ensures the ledger stays efficient and scalable. Like many protocol parameters, it can be adjusted through governance to match the needs of the growing ecosystem.
So the next time you wonder why a transaction needs to include a little extra ada, remember: it’s all part of keeping Cardano clean, lean, and ready for the future.. or the next DoS attack.
No comments yet…