Note
Tokenization is a premium feature that requires an additional purchase. If you don’t have access to this feature, contact your Customer Success Manager to discuss having it enabled in your Fireblocks workspace.
Overview
The Stellar network allows you to create, transfer, and trade custom tokens. Tokens known as lumens (XLM) are the base asset of the Stellar network. Tokens you create on the Stellar network can be stored, transferred, and managed using Fireblocks. Learn more about the required minimum balances on Stellar.
Tokenization on Stellar using Fireblocks is a five-step process:
- Creating an issuing account for the token
- Adding the token to your Fireblocks workspace
- Creating a distribution account for the token
- Minting the token
- Distributing tokens to other wallets
Depending on the use case, you can burn tokens if there you no longer need them.
Creating an issuing account for the token
Create an XLM asset wallet in a vault account (e.g., Vault A). Until now, Fireblocks automatically funded your new Stellar accounts with the minimum 1 XLM needed to make the accounts fully operational and visible on the blockchain. As of January 1st, 2024, we will be shifting the responsibility of funding these new accounts to you (see more details here). You must maintain a minimum balance of 1 XLM at all times plus an additional balance to pay the fees for future transactions.
For each additional Stellar-based token you want to be supported by the vault account, you need an additional balance of one base reserve (currently 0.5 lumens) to establish a trustline (an explicit opt-in to hold the token) with other wallets.
Adding the token to a Fireblocks workspace
Once the XLM wallet is funded, create your token using the Tokenization page. You can also issue Stellar tokens using the Fireblocks API.
Note
At this point, the token is only listed in your workspace and has not been created on the Stellar network.
Enabling clawbacks
After issuing your token, enable clawbacks on your issuing account. Clawbacks allow the issuing account to burn an amount of the issued token from an account it has an established trustline with. Enabling clawbacks on your issuing account allows every subsequent trustline account to have clawbacks automatically enabled upon creation.
Important
You must complete this step before establishing trustlines since there is no way to retroactively enable clawbacks on existing trustlines.
You can use the Fireblocks Raw Signing API to enable clawbacks. Be sure you have an API user in your workspace that is authorized to use Raw Signing.
After you have issued your token and enabled clawbacks for the issuing account, you can mint the token using the Fireblocks Console to add it to the blockchain.
Creating a distribution account for the token
After your token is listed in Vault A:
- Create an XLM wallet and a wallet for the new token in a different vault account (Vault B). A trustline is automatically established between the issuing XLM wallet in Vault A and the distribution wallet for the new token in Vault B.
- The token, represented by the symbol and the issuing account in Vault A, is listed on the blockchain. The distribution account in Vault B is listed as a trusted address and can hold the newly created token.
Minting the token
To mint the new token to the Stellar network, send the number of new tokens you want to create from the issuing account to the distribution account. The tokens are created and can be distributed in the form of transactions to other wallets. For more information on minting tokens, see here.
You can also mint tokens directly to other internal or external Stellar wallets if a trustline has been established from those additional wallets.
Note
You can also initiate this transaction by specifying the TransactionOperation object parameter as MINT in the Fireblocks API.
Distributing tokens to other wallets
After minting, you can send the new tokens from the distribution account to any Stellar wallet with an established trustline. You can establish a trustline automatically by adding the asset to the new wallet that will receive the token.
Note
Tokens can be distributed using the Fireblocks Console or the Fireblocks API.
Burning tokens
Depending on the use case of the asset, you may want to allow the new tokens to be burned. You can burn tokens using the Fireblocks Console or the Fireblocks API.
Additional information
- Some Stellar operations, such as Authorization Flags, Clawbacks, and Fee Servers, are not natively supported but can be completed using Raw Signing. If you want to obtain native support for these functions, contact your Customer Success Manager to submit a request.
- You can verify your token’s creation on Stellar using the following block explorers: