Hedera is an enterprise-grade public network using hashgraph consensus. This guide covers Hedera-specific features when using Dfns wallets.
Account model
Hedera uses an account-based model with unique characteristics:
Hedera supports two address formats:
| Format | Example | Description |
|---|
| Native | 0.0.123456 | Shard.Realm.AccountNumber format |
| EVM alias | 0x1234...abcd | EVM-compatible address |
Dfns wallets have both formats - the native address is assigned when the account is created on-chain.
Account creation
Hedera accounts must exist on-chain before they can receive assets. Account creation happens:
- Automatically: When you send HBAR to a new EVM address with sufficient amount to cover creation fees
- Via broadcast: Using the
AccountCreate transaction type
When sending to an EVM address, Hedera auto-creates the account if it doesn’t exist. The creation fee is deducted from the transfer amount.
Address assignment
When a Dfns wallet is created, it initially only has an EVM alias. Once the account is created on-chain, Hedera assigns a native address (0.0.xxx). Dfns automatically indexes account creation events and updates the wallet’s address.
A single Hedera transaction can trigger child transactions (e.g., account creation when sending to a new address). Dfns indexes these child transactions and reflects them in the transaction history.
Transfers
Use the Transfer Asset endpoint for all Hedera transfers:
- Native HBAR: Use
kind: Native with amount in tinybars (1 HBAR = 100,000,000 tinybars). Supports native addresses (0.0.123456) or EVM addresses.
- HTS tokens: Use
kind: Hts with the token’s tokenId
- HIP-17 NFTs: Use
kind: Hip17 with the token’s tokenId and serialNumber
All transfer types support an optional memo field.
Token association
Before receiving HTS tokens, an account must associate with the token. This is similar to opt-in on other networks.
Use the Broadcast Transaction endpoint with kind: TokenAssociate to associate with tokens.
Address conversion
To convert between address formats:
| From | To | Method |
|---|
| EVM address | Native ID | Query Mirror Node API |
| Native ID | EVM address | Derive from public key |
Example query to get native account ID from EVM address:
GET https://mainnet-public.mirrornode.hedera.com/api/v1/accounts/{evmAddress}
Smart contracts
Hedera supports EVM-compatible smart contracts. Use the Broadcast Transaction endpoint with kind: Evm to interact with contracts.
For detailed transaction construction, see the Hedera transactions guide.
SDK integration
For full transaction control, use the Dfns SDK with @hashgraph/sdk. See the Hedera integration example.