Cardano is a proof-of-stake blockchain with a UTXO-based model. This guide covers Cardano-specific features when using DFNS wallets.
UTXO model
Cardano uses a UTXO model similar to Bitcoin, but with a key difference: a single UTXO can hold multiple assets (ADA and native tokens).
Multi-asset UTXOs
Each UTXO can contain:
- Native ADA
- Multiple native tokens (similar to ERC-20)
- NFTs
When you receive multiple tokens in a single transaction, they are stored together in one UTXO.
Minimum UTXO value
Cardano requires a minimum ADA amount in each UTXO. This amount is proportional to the number of assets the UTXO holds.
| UTXO contents | Approximate minimum ADA |
|---|
| ADA only | ~1 ADA |
| ADA + 1 token | ~1.5 ADA |
| ADA + multiple tokens | Higher (scales with token count) |
Holding many different tokens increases your minimum ADA requirement. Ensure you have enough ADA to cover the holding cost for all your assets.
Transfers
Use the Transfer Asset endpoint for Cardano transfers:
- Native ADA: Use
kind: Native with amount in lovelace (1 ADA = 1,000,000 lovelace)
- Native tokens: Use the appropriate token kind with the policy ID and asset name
Single asset transfers
DFNS transfers one asset at a time. If you need to send multiple assets together, use the Broadcast Transaction endpoint to construct a custom transaction.
Webhooks
When a UTXO contains multiple assets, DFNS generates one webhook per asset. This means a single transaction may trigger multiple webhook notifications.
Transaction expiration
DFNS builds Cardano transactions with a 24-hour expiration: the transaction must be broadcast within 24 hours of being built, otherwise it expires and must be rebuilt and re-signed. This applies to all transactions, including transfers, and gives this much time to sign and broadcast even if the signing infrastructure is temporarily unavailable (for example an unreachable on-prem signer).
SDK integration
For full transaction control, use the DFNS SDK with MeshSDK. See the MeshSDK integration example.