When you send ADA to a friend, what really happens underneath? This guide to cardano transactions explains the mechanics in plain language. Cardano transactions are different from what you are used to with a bank app or a wallet like MoMo or ZaloPay: Cardano does not store a "balance" on an account. Instead, it uses the UTXO (Unspent Transaction Output) model — think of physical cash. You pay with a 100k dong bill, and you get back a 50k bill plus change. This article walks through how Cardano transactions work, what a transaction is made of, how one is confirmed, and which patterns you will actually use as a first-time ADA holder.
Figure 1: UTXO vs Account Model — cash-like inputs and change outputs vs a shared balance ledger
What Is UTXO? (And Why Cardano Has No "Balance")
Imagine you are holding a 100.000đ note. That note is one UTXO. You buy a coffee for 35.000đ. You cannot "subtract 35k from 100k" in the cash world — you must hand over the whole note and receive a 50k note, a 10k note, and 5.000đ in change. That change is a new UTXO (a change output).
On Cardano the same rule applies:
- A UTXO is a digital "banknote" that has not been spent yet, locked to your address
- Your wallet is really a collection of these UTXOs
- The balance you see is simply the total value of every UTXO you control
Contrast that with the Account Model (Ethereum, a bank, MoMo, ZaloPay): there you just hold one number, a single balance, and every transaction updates it. Send 10 ADA and your balance drops by 10, the recipient's rises by 10. Nothing is ever "broken into change".
> Why UTXO is a big deal: because every UTXO is independent, Cardano can process transactions in parallel — many payments can run at the same time without touching one shared record. This is a key reason Cardano can scale through Hydra and keep fees predictable.
Figure 2: Anatomy of a Cardano transaction — all seven components at a glance
Anatomy of a Cardano Transaction
Every Cardano transaction is a small list of instructions. A complete transaction is built from these parts:
| Component | What it does | Real-world example |
|---|---|---|
| Inputs | UTXOs you spend (must be signed by their owner) | A 50 ADA UTXO belonging to address A |
| Outputs | New UTXOs created: recipient + change back to you | 30 ADA → Bob, 19.8 ADA change → you |
| Fee | Network cost in lovelace, paid to the stake pool | ~0.17 ADA (170.000 lovelace) |
| Validity Interval | The valid start/end slot range | Slot 1.000.000 to 1.000.200 |
| Metadata (optional) | Custom data up to 16KB | Order code, transfer note |
| Witness Set | Signatures (and scripts, for smart contracts) | Your Ed25519 signature |
| Auxiliary Data | A hash of the attached metadata | Guards integrity |
Minimum fee formula: minFee = 44 × txSize(bytes) + 155.381 lovelace
Let's make it concrete. A normal two-output transfer is around 200 bytes:
44 × 200 + 155.381 = 164.181 lovelace ≈ 0.164 ADA
> Minimum ADA output: Cardano requires each new output to hold at least ~1 ADA. This one rule is what stops "dust attacks" — spammers flooding the network with thousands of tiny worthless outputs. If you try to send 0.5 ADA, the network will reject the transaction with "Not enough ADA for minimum output".
Why Does My Change Go to a New Address?
This is the single most common surprise for people coming from bank apps or Ethereum-style wallets. When you spend a 100k note and get a 50k note back, nobody asks for your permission to issue the new note — the same happens on Cardano. Your wallet automatically creates a change output, and it usually points to a fresh address that belongs to you.
That looks alarming if you are used to one fixed account number, but it is entirely safe: every one of those addresses is generated from your wallet's seed phrase, so only you can ever spend the change. It is also deliberate, because reusing receiving addresses leaks your history. When a merchant or exchange scans the blockchain, a wallet that always recycles a single address lets anyone connect every payment you have ever made. By rotating addresses automatically, Cardano keeps each transaction harder to link to you. The catch is purely cosmetic — a slightly longer transaction list in your wallet.
EUTXO: The "Extended" Twist
Cardano's model is officially called EUTXO (Extended UTXO). The "extension" matters mostly for developers: outputs can carry extra data (datum) and can be unlocked by a program (redeemer + script) rather than just a signature. For everyday transfers, forget the extension — you only need the cash analogy. When Cardano hosts smart contracts, scripts see exactly which UTXOs are being spent and can even inspect earlier parts of the same transaction, which is what makes parallel processing safe.
The Lifecycle of a Cardano Transaction: Created to Confirmed
Figure 3: Transaction lifecycle — from wallet creation to on-chain confirmation
Here is the journey your payment takes, step by step:
- Create — Your wallet scans your UTXOs, picks the right inputs, calculates the fee, and builds the outputs (recipient + change)
- Sign — Your private key signs the transaction hash. Nobody can fake this step.
- Submit — The signed transaction enters the mempool (the waiting queue) of the node your wallet is connected to
- Validate — Network nodes check it in two phases:
- Block — The selected slot leader (a stake pool) wraps your transaction into a new block and broadcasts it
- Confirm — Every new block layered on top counts as one confirmation. 1 block (~20 seconds) gives a very high probability of finality; exchanges typically wait for 10+ blocks before treating a deposit as fully settled.
Common Transaction Patterns You Will Actually Use
Figure 4: Common transaction patterns — the four situations you will actually hit
1. Simple Transfer
- One input UTXO becomes two outputs: the recipient and your change
- Cost: ~0.17 ADA; confirmation in ~20–40 seconds
- Use it for: sending money to a friend, moving ADA from an exchange to your wallet
2. Transfer With Metadata
- Adds a metadata field (up to 16KB): an order code, an invoice number, or a note like "cà phê payment"
- Use it for: commercial payments, proof of transfer, remittance
- Example: a seller asks you to write "DH12345" in the note → your metadata lets them reconcile the payment automatically against their order system
3. Receiving ADA
- Share your receiving address (Bech32 format, e.g.
addr1...) or its QR code - No "invoice" tool is needed — the blockchain automatically records any new output locked to your address
- Your wallet quietly manages this new UTXO so you can spend it later
4. Common Errors and How to Fix Them
| Error message | Cause | Fix |
|---|---|---|
| "Not enough ADA for minimum output" | Output below 1 ADA | Merge small UTXOs, or send at least 1 ADA |
| "Insufficient fee" | Fee under the minimum | Your wallet recalculates; watch network congestion |
| "Bad inputs" | UTXO already spent or never existed | Refresh the wallet, let it finish syncing |
| "Transaction too large" | Metadata over 16KB or too many inputs | Split the payment, compress the metadata |
Quick Comparison: Cardano, Ethereum, Banks, and MoMo
| Feature | Cardano (UTXO) | Ethereum (Account) | Bank / MoMo |
|---|---|---|---|
| Model | Cash notes (UTXO) | Ledger (balance) | Central ledger |
| Change | Auto change output | None | None |
| Parallel processing | ✓ Independent UTXOs | ✗ Shared global state | ✗ Depends on system |
| Metadata | 16KB on-chain | Calldata (costly gas) | Off-chain API |
| Finality | ~20s (1 block) | ~12–15s (1 block) | Instant (trusted) |
| Fee | Fixed ~0.17 ADA | Variable gas price | Free or small % |
Frequently Asked Questions
Q: Why does my Cardano wallet show a new address every time someone sends me ADA? A: Privacy. Each fresh address means a fresh set of UTXOs, making it harder for anyone to link your whole history together. This is a feature, not a bug — your funds are never lost.
Q: Can I cancel a transaction after I send it? A: No. Once a transaction is confirmed in a block it cannot be reversed. Before confirmation there is only the theoretical option of a higher-fee "double spend", which is risky and discouraged.
Q: Is transaction metadata public? A: Yes. On-chain metadata is readable by anyone. Never put sensitive data (passwords, national ID numbers) in metadata.
Q: Why are Cardano fees so low and stable? A: Fees are computed from byte size, not a live gas market. The protocol parameters (a = 44, b = 155.381) only change through formal governance (CIP process).
Q: Do I lose the fee if a transaction fails? A: Usually yes — the nodes already did the validation work and must be compensated. Double-check everything before you sign.
Key Takeaways
- UTXO = "digital cash" — once you see this model, Cardano transactions make sense
- Every transaction = inputs + outputs + fee (+ metadata + witnesses)
- Fees are fixed by byte size — a normal transfer is ~0.17 ADA
- Minimum output is 1 ADA — the network's defence against dust attacks
- Confirmation takes ~20–40s (1–2 blocks); exchanges wait for 10+ blocks for hard finality
- Metadata (16KB) powers payments, invoices, and remittance notes on-chain
- Addresses rotate automatically — privacy built in, no funds at risk
References & Sources
- Cardano Developer Portal — [Transaction Concepts](https://developers.cardano.org/docs/transaction-concepts/)
- IOG Blog — [Understanding Cardano Transactions](https://iohk.io/en/blog/posts/2021/08/19/understanding-cardano-transactions/)
- Cardano Foundation — [How Transactions Work](https://cardanofoundation.org/learn/how-transactions-work/)
- CoinCashew — [Transaction Anatomy](https://www.coincashew.com/coins/overview-ada/transaction-anatomy)
- r/cardano — common transaction issues threads
This article is for educational purposes and is not financial advice. Always do your own research (DYOR) before transacting.
