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
- Execute read‑only queries
- Invoke state‑changing functions such as mint, burn, or parameter updates
- Use
FunctionCallwith the Sign and broadcast API for state‑changing calls - Use the Call function endpoint for read‑only queries
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-signatureFee 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 |