Overview
Fireblocks does not currently support Cardano Native Tokens (CNT) natively. This guide outlines a dedicated solution for managing CNT operations with Fireblocks, utilizing our Raw Signing capability alongside a purpose-built SDK and desktop application.
This solution abstracts the complexity of CNT operations, allowing developers and users to effortlessly initiate tokens transfers, monitor balances, manage staking operations, and track transaction history with minimal implementation overhead.
Before you begin
- To use either the SDK or the desktop app solution, you must have Raw Signing enabled in your Fireblocks workspace. Note that Raw Signing has limited Policy capabilities, so be sure to take all required security measures to reduce your risk. Please contact your Customer Success Manager for more information about Raw Signing and security best practices.
- These SDK and application solutions do not support ADA operations. Use the Fireblocks Console to manage your ADA.
Our solutions
The Fireblocks solution offers two options for interacting with the Cardano blockchain, using Iagon API. Both options share the same prerequisites and infrastructure, and the Desktop UI interacts with the same SDK backend, supporting identical features.
Prerequisites
- Fireblocks Raw Signing feature enabled
- Fireblocks API user with appropriate permissions
- Policy rule in place for Raw Signing
- Iagon API key (required for balance queries, transaction history, and CNT operations). Contact fireblocks to get one
Option 1: SDK with REST API
The Cardano Raw SDK can be used in two ways: directly as a TypeScript library by initializing it and calling its methods programmatically, or as a REST API by interacting with the provided HTTP endpoints, offering flexibility for both integrated and service-based use cases.
The Cardano-Fireblocks SDK enables developers to:
- Fetch the Cardano account addresses for a Fireblocks vault account.
- Retrieve Cardano account balances for both ADA and Cardano Native Tokens (CNT).
- Get detailed information on all tokens owned by the account.
- Create CNT transactions on Cardano. The SDK builds the transaction, sends it for signing in your Fireblocks account, and submits it to the blockchain automatically.
- Support both vault-to-address and vault-to-vault CNT transfers.
- Retrieve detailed transaction history for all transactions sent and received by the account.
- Manage the complete Cardano staking lifecycle:
- Register and deregister staking credentials
- Delegate ADA to stake pools
- Delegate voting power to Delegated Representatives (DReps) for Cardano governance
- Withdraw staking rewards
- Enrich Fireblocks webhooks with Cardano transaction data (inputs, outputs, UTXOs).
Option 2: Desktop UI Application
Recommended for non-technical users, this Electron-based local application provides an intuitive interface to:
- Set up Fireblocks API credentials securely with guided CSR generation
- View vault accounts with Cardano addresses and CNT balances
- Create and sign CNT transactions (vault-to-address or vault-to-vault)
- Monitor transaction history
- Manage complete Cardano staking lifecycle through dedicated modals
- View staking information, delegation status, and rewards
- Authenticate securely with biometric (Touch ID on Mac) or password-based authentication
Installation & Setup
To request the activation of this feature, please reach out to your Customer Success Manager. Please note that the Raw Signing capability is classified as a premium feature and may incur an additional platform fee if enabled.
Additionally, it is essential to recognize that the Raw Signing feature can introduce potential security vulnerabilities. You must strictly follow all Fireblocks security guidelines and best practices when utilizing RAW signing to minimize associated risks.
Learn more about Fireblocks Raw Signing here. For detailed information or assistance, please contact the Fireblocks team at any time.
To transfer Cardano Native Tokens on the Cardano blockchain, transactions must be structured and signed according to the requirements set by the network. The SDK or Desktop application takes care of generating these transactions and submitting them to your Fireblocks workspace for signing.
For all CNT and staking operations, the signature request will use the Raw Signing operation, as Cardano is not supported under the Typed Message Signing method in Fireblocks.
To enable either of these signing operations, your workspace must have a dedicated Policy rule in place for each signing method to ensure the claim process can proceed successfully.
Raw Message Signing Policy rule
- All Raw Signing transactions are blocked by default. You must create Policy rules to explicitly allow the Raw transaction type.
- You should specify who can initiate and who can approve Raw transactions. Best practice is to require a two-tier setup (initiator and a human approver) or use an API user plus a human validator. For better security, avoid initiator rules with Any as the initiator when possible.
- Limit rules to only the source vault accounts, and ideally, the specific assets and derivation paths needed for your workflow.
- Raw Signing rules do not support amount caps or destination controls. This is a major risk compared to normal transfer/contract call rules.
- Raw Signing should be tightly scoped and temporary where possible. Remove or update Raw rules immediately after use if the need is one-off.
- Always set up multi-approver or designated signer flows for additional oversight.
- Avoid using the Any vault or Any user values unless necessary. More granular = more secure.
- Educate all users on the risks. Raw Signing can bypass most usual controls and is equivalent to signing a “blank check.”
- Consider using an API Co-signer with a Callback Handler for programmatic and additional business logic validation.
To get started with the SDK, clone our public repository.
The repository's README.md file contains all setup and deployment instructions, as well as TypeDoc documentation. Follow those steps to complete your local or Docker-based environment.
The Fireblocks x Iagon Desktop Application provides a full-featured, user-friendly interface for managing CNT and staking.
Designed for users who prefer not to work with code, the application offers secure local access to your Fireblocks vaults and transaction signing workflows via Raw Signing. It includes biometric authentication, CNT transfering, ADA staking, transaction history, address management, and real-time updates.
Key features
- Secure authentication: Uses your system's biometric authentication (Touch ID on Mac) or password-based login (Windows/Linux) to protect access. Credentials are stored securely in the OS keychain.
- API credential setup: Guided setup process with options to generate a new Certificate Signing Request (CSR) or import existing Fireblocks API credentials.
- Vault account management: View, create, and manage Cardano-enabled vault accounts with real-time balance updates.
- CNT token management: Check balances and transfer Cardano Native Tokens securely.
- Transaction history: View detailed transaction records per vault account.
-
Cardano staking management:
- Register/deregister staking credentials
- Delegate to Stake Pools with pool information
- Delegate to Delegated Representatives (DReps) for Cardano governance participation
- Withdraw staking rewards with flexible amount controls
- Real-time staking status and rewards tracking
Getting started
Download the app
Download the app from our GitHub repo here.
First launch
If this is your first time opening the app after downloading it directly from the developer, you may need to right-click the app icon and select Open to bypass security warnings.
- Double-click the Fireblocks x Iagon app icon.
- When prompted, authenticate using Touch ID (on Mac) or your system's configured authentication method (password on Windows/Linux).
- After the welcome screen introduces the application, select Get Started to begin setting up your credentials.
Setting up your API keys
The application requires two types of credentials to function: Fireblocks API credentials (connects to your Fireblocks account) and an Iagon API key.
On the API Key Setup screen, you can:
- Generate a new Certificate Signing Request (CSR): Click through the guided steps to generate an RSA key and CSR. Then, download the CSR file and upload it to your Fireblocks account. Enter your API keys from Fireblocks when prompted.
- Use existing credentials: If you already have credentials, then you can enter them directly. Simply follow the on-screen instructions to complete the process.
Once your credentials are validated, the app will securely store them in the system's keychain and move to the next setup screen.
Setting Up Iagon API key
The Iagon API key is required for all Cardano operations, including balance queries, transaction history, and CNT transfers.
- Enter your Iagon API key in the Secondary Credentials Setup screen.
- The app will validate the key by performing a health check.
Once validated, the key is securely stored in your system keychain. You will then be redirected to the main dashboard.
Main dashboard
The main dashboard shows all your Fireblocks Vault accounts with Cardano capability, showing CNT balances with token metadata.
Key elements
- Header: Contains the app title, refresh button, notification bell, and Settings button.
- Search bar: Filter Vault accounts by name or ID.
- Filter toggle: Show only accounts with Cardano balances.
- Refresh button: Refresh the list of Vault accounts and update all CNT balances.
- Create button: Add new Vault accounts with automatic Cardano wallet creation.
- Vault account list: Shows your Vault accounts and their ADA balances.
Viewing Vault account details & Transaction history
The Vault Accounts table shows each vault account's name and ID, and their ADA and CNT balances. Select any vault account to view its details page, which includes:
- Account information
- Vault account name and ID
- Cardano addresses (base payment addresses)
- Total ADA balance
- All owned CNT tokens
- Transfer CNT
- Viewing Cardano addresses
- Staking information, such as current delegation status (stake pool or DRep), available rewards, and staking registration status
From a vault account's details page, you can also:
- Create transfers: Send CNT tokens to another address or vault account.
- View addresses: View all Cardano addresses associated with this vault account.
-
Staking operations:
- Register Staking: Register your stake credential (2 ADA deposit required).
- Delegate to Pool: Delegate your ADA to a stake pool.
- Delegate to DRep: Delegate voting power for Cardano governance.
- Withdraw Rewards: Withdraw accumulated staking rewards.
- Deregister Staking: Deregister stake credential and reclaim deposit.
- Transaction history: View detailed transaction history for the account.
Creating CNT transactions
To send Cardano Native Tokens:
- Go to the appropriate vault account's details page and select Create Transfer.
-
On the transaction modal, complete the following:
- Token: Choose the CNT token to transfer.
- Destination: Enter a recipient Cardano address, or select a vault account from the drop-down list.
- Amount: Enter the amount to send, or toggle Use Max Amount to send all available tokens.
- Fee handling: Choose gross (deduct fee from amount) or net (add fee to the amount). Fee estimation is displayed automatically before creating the transaction.
- Review the transaction summary, then select Create Transaction to initiate the transfer.
- Authenticate with Touch ID (Mac) or password (Windows/Linux) when prompted.
- After confirmation, the transction will appear with the "Processing" status until confirmation on the Cardano blockchain.
- Sign the transaction using the Fireblocks mobile app or automatic Co-signer per your workspace's Policy.
Cardano Staking Operations
The application provides a complete interface for managing Cardano staking through dedicated modal dialogs:
-
Register Staking Credential
- Required before any staking operations
- 2 ADA deposit (refundable upon deregistration)
- Click Register Staking Credential on vault details page
- Authenticate and confirm
-
Delegate to Stake Pool
- Select a stake pool to delegate your ADA
- Click Delegate to Pool button
- Enter pool ID
- Authenticate and confirm
- Delegation becomes active in the next epoch
-
Delegate to DRep (Governance)
- Delegate your voting power for Cardano governance
- Click Delegate Voting button
- Choose action: Always Abstain, Always No Confidence, Custom DRep (enter DRep ID)
- Authenticate and confirm
-
Withdraw rewards
- Claim accumulated staking rewards
- Click Withdraw Rewards button
- View available rewards amount
- Authenticate and confirm
- Rewards will be added to your account balance
-
Deregister Staking Credential
- Deregister from staking and reclaim your 2 ADA deposit
- Withdraw any remaining rewards first (recommended)
- Click Deregister button
- Authenticate and confirm
- Your 2 ADA deposit will be returned
Settings & Security
To access the app's settings, select the gear icon in the top-right corner of the app.
Security settings
- Authentication Lock Time: Set how long the app stays authenticated before requiring reauthentication. Enter the number of minutes (1-60), then select Save to apply the new timeout value. The next time your session expires, you'll have to reauthenticate with Touch ID.
Credentials management
- Change Fireblocks API Credentials: Remove the current credentials and enter new ones.
- Change Iagon API Key: Update your Iagon API key for Cardano operations.
- Clear All Data: Removed all stored credentials and reset the app to its initial setup state.
Troubleshooting
Some common issues with the Fireblocks x NIGHT desktop app can include the following.
Authentication problems
- Touch ID not working: Ensure Touch ID is properly set up in your system preferences.
- Authentication timeout too short: Increase the timeout value in Settings.
- Balance not updating: Select the Refresh button on the Vault accounts list or the Transaction History.
- Pending transactions: Some transactions may take time to be confirmed on the blockchain.
- Connection issues: Check your internet connection and restart the app.
API connection errors
- Invalid API key: Verify your Fireblocks API key is correct and has the appropriate permissions for Raw Signing.
- Invalid Iagon API key: Verify your Iagon key is valid. You can update it in Settings if necessary.
Transaction failed
Common reasons include:
- Insufficient ADA balance for transaction fees
- Insufficient token balance
- Network congestion
- Invalid recipient address format
Staking issues
- Rewards not showing: Rewards are calculated at epoch boundaries (every 5 days). Initial rewards appear 15-20 days after delegation.
- Deregistration failing: Ensure you have sufficient ADA for the transaction fee. Withdraw rewards first if you have any pending.
Getting app support
If you continue to experience one or more of these issues after troubleshooting, contact your Fireblocks Customer Success Manager and ask for assistance from the Professional Services team.