IOTA is a DAG-based distributed ledger with an object-oriented model. This guide covers IOTA-specific features when using Dfns wallets.
Object model
IOTA uses an object-based model where all entities (wallets, assets, UTXOs) are represented as objects. This is similar to Sui’s architecture.
Coins and merging
When you receive IOTA, it creates coin objects. To transfer, you may need to split or merge existing coin objects. Dfns handles this automatically - when you make a transfer, Dfns merges coin objects as needed.
Staking
IOTA supports native staking with the following mechanics:
Basic staking
When you stake IOTA:
- Your IOTA is burned
- You receive an equivalent amount of STAKED-IOTA
- Minimum stake: 1 IOTA
Time-locked staking
IOTA also supports time-locked staking:
- Burn IOTA to mint LOCKED-IOTA (includes expiry date)
- LOCKED-IOTA can be staked to create TIME-LOCKED-STAKED-IOTA
- Must stake from oldest locked IOTA first
- Cannot unstake before lock expiration
When unstaking, you cannot unstake fractional amounts. It’s recommended to stake whole IOTA amounts to avoid complications.
Transfers
Use the Transfer Asset endpoint for IOTA transfers:
- Native IOTA: Use
kind: Native