Transactions

IBM Digital Asset Haven provides three primary methods to create a transaction. Each method offers a different balance of convenience and control. Your choice depends on how much of the transaction lifecycle you want to manage.

API Supported Transaction Types When to Use It
Transfer API Native coins, fungible tokens (ERC‑20), non-fungible tokens (ERC‑721 and ERC‑1155) When you want simple, standardized send operations where convenience is more important than low-level control.
Sign and Broadcast API Any valid transaction, including simple transfers, smart contract calls, minting, staking, and other custom actions When you need full control over the transaction data while keeping signing and broadcasting handled by the platform.

Transfer API

This is the simplest and most integrated method. You specify the high-level details of your transfer such as the recipient, amount, and asset. The API constructs the blockchain-specific transaction, signs it securely, and broadcasts it to the network.The Transfer API hides complexity across different blockchain protocols. It lets you send assets without needing to manage protocol rules or transaction structure. See the list of /networks/supported-assets.

Use this when you want maximum convenience and do not need to customize parameters such as gas or nonce.

API Reference: /api-reference/wallets/transfer-asset

Smart contract interaction

IBM Digital Asset Haven wallets support native smart contract interaction using a Bring Your Own ABI (BYOABI) approach. After importing a contract’s address and ABI, the platform automatically discovers available functions.You can then:
  • Execute read‑only queries
  • Invoke state‑changing functions such as mint, burn, or parameter updates
All smart contract interactions are governed by policies, just like other transactions.From the dashboard Import a contract ABI, browse available functions, and execute calls without writing code.From the API
  • Use FunctionCall with the Sign and broadcast API for state‑changing calls
  • Use the Call function endpoint for read‑only queries
Smart contract interaction is currently supported on Ethereum and EVM‑compatible networks.

Sign and Broadcast API

This method provides a balance between convenience and control. You create the raw unsigned transaction yourself and specify all parameters such as gas limits, nonce, and contract call data. You submit the unsigned transaction to the API, which signs it securely and broadcasts it for you.

Use this when you need to define explicit transaction parameters but want to delegate secure signing and broadcasting.

API Reference: /api-reference/wallets/sign-and-broadcast-transaction

Sign API

This is the most advanced option. You construct the raw unsigned transaction and send it to the API. The API signs it and returns the signed payload. You are responsible for broadcasting the transaction to the blockchain network.

Use this when you need complete control over the transaction lifecycle. Examples include implementing your own broadcast strategy, using a private mempool, or submitting through multiple nodes.

API Reference: /api-reference/keys/generate-signature

Fee estimation

Before submitting a transaction, you can estimate network fees using the Estimate Fees endpoint. It returns real-time fee data for three priority levels:

Priority Description
Slow Lower fees, longer confirmation time
Standard Balanced fees and confirmation time
Fast Higher fees, faster confirmation
This is useful for displaying fee previews to users before they confirm a transaction.
Note: The Transfer API uses Standard priority by default. You can override this with the priority field in your transfer request. For EVM transactions, if you omit gas parameters in the Broadcast API, IBM Digital Asset Haven estimates them automatically.