To get started with asset tokenization via Token Tool connect your wallet and select the blockchain of your choice from the network dropdown at the top right. Once you have done that you can create your first token.
The create token page is split into two sections:
DeFi Token to create and deploy standard ERC20 tokens (and their equivalents on other EVM chains)
Security Token more relevant for issuers seeking to enable more centralized control over the tokenized assets
Using these functions you can define the following parameters and features for your token:
Both DeFi Token and Security Token have the following settings which are mandatory:
Token name: This is ideally a human readable name such as "USD Coin"
Symbol: The token symbol is comparable to its ticker symbol, typically four or more characters are used such as "USDC"
Initial supply: The amount of tokens that get minted at token creation. Note that you have to activate "Can mint" further below if you want to be able to increase the supply after token creation. The supply is usually determined by the desired token denomination (i.e. the nominal value per token). For a bond offering with a nominal amount of USD 10 million and a denomination of USD 100,000 the supply would have to be 100 tokens.
Decimals: Values can be 0-18, when 0 is used, the token is not divisible (security tokens for example usually are not divisible and will have 0 decimals)
All the following token features and configrations are optional, make sure you activate them only if required. It is not possible to deactivate them after initial creationg of the token once it's deployed to the network.
These features serve in importance for the life-cycle management of the token. Nevertheless, we recommend to activate only those features which are likely to be needed after initial token creation. Activating these features increases the cost of your token, see the Token Tool Pricing for detailed information.
The section below is to create ERC20 tokens following the most popular standards in the industry.
Set Custom Token Contract Name: sets a custom token contract name. The custom token contract name cannot be changed after the initial token creation.
Can burn: You can choose whether to allow token burning after initial token creation, which reduces the total supply of tokens.
Can mint: You can determine whether to enable additional token minting after the initial creation, which increases the total supply of tokens.
Can pause: You can decide whether to allow your token and related operations to be paused and resumed as needed. This can be useful in emergency situations, such as a security vulnerability or a malicious attack. However, be aware that enabling pausing grants centralized control to the token creator.
Can blacklist: You can specify whether to allow individual accounts, such as malicious actors, to be blacklisted after initial token creation. Note that even with whitelisting enabled, you can still blacklist an address that is on the whitelist. This is useful for preventing tokens from being transferred to addresses that are associated with fraudulent or harmful activities.
Set total supply cap: Sets the maximum total token supply limit for minting. Limit cannot be changed after the initial token creation.
Charge transaction tax / fee: You can choose to charge a fee on every token transfer. The fee will be sent to the specified tax/fee wallet, which by default is the connected token creator wallet. However, you can change the recipient to a different wallet, such as a marketing or charity wallet. The fee is specified in basis points (bps). A fee of 3.5%, for example, would be set to 350 bps. The fee recipient is excluded from the fee when they send tokens. The tax/fee setting can be modified after token creation under the Manage Token function or set to 0 to disable it. Enabling this feature may make your token incompatible for listing it on Uniswap V3. Add the LP address to exclusion list for it to be traded normally on V3. Tax will not apply on transactions that take place on V3 DEXes.
Burn fee for deflationary tokens: You can enable a burn fee to have a portion of every token transfer burnt, which will gradually reduce the total supply of tokens. The burn fee is specified in basis points (bps). A burn fee of 1.8%, for example, would be set to 180 bps. The burn fee setting can be modified after token creation under the Manage Token function or set to 0 to disable it. Enabling this feature may make your token incompatible for listing it on Uniswap V3. Add the LP address to exclusion list for it to be traded on V3. Burn fee will not apply on transactions that take place on V3 DEXes.
Apply Holder Rewards (Reflection Token): You can enable this feature to reward holders with passive income by automatically distributing a portion of a transaction based on their holdings. This incentivizes investors to hold tokens and potentially stabilizes the token price. Example: to apply a reward fee of 3.5%, enter the number 350. The reward rate is specified in basis points (bps) and it can be updated after creation. This feature is incompatible with "Can Burn", "Can Mint", and "Deflationary Token" features. Enabling this feature may make your token incompatible for listing it on Uniswap V3. Add the LP address to exclusion list for it to be traded on V3. Holders rewards will not apply on transactions that take place on V3 DEXes.
Change owner: The default owner is the address of the connected wallet. However, it is important to note that if you change the owner to an address that you do not control, you will not be able to make any further changes to the token after its creation.
Has document (ERC-1643): You can add the URL of an offering documentation such as a prospectus or whitepaper here. If you don't know what to put in here, you can leave this inactive.
Max number of tokens per address is limited (ERC-1594): You can set a maximum token balance per individual address. Limit can be increased after initial token creation but not decreased. Note: when creating a liquidity pool, make sure to fund it with the amount based on the limit set, you can then add the LP address to the exclusion list once the pool is created. Excluding the LP address from this limit will allow you to fund the pool with a higher amount than the limit set.
The section below is to create security tokens enabling regulatory compliance.
The following options are mainly relevant for compliance and regulatory reasons and make use of different security token standards from the ERC-1400 family. Note that you may not be able to create a liquidity pool on a DEX for tokens where some of these features are activated.
Can burn: Enables token burning after initial token creation to decrease supply
Can mint: Enables additional token minting after initial token creation to increase supply
Can pause: Specifies whether your token and all associated operations can be halted and resumed whenever needed. This can be useful in case of a vulnerability or a malicious attack. Be aware that enabling pausing gives central authority to the token creator.
Can blacklist: Specifies whether individual accounts such as malicious actors can be blacklisted after initial token creation. Note that if this function is enabled together with whitelisting, you can still black list an address that is on the whitelist. This is useful when an investor has been added to a sanction list and you have to prevent them from transferring the token further.
Charge transaction tax / fee: If activated, the fee will go to the specified tax / fee wallet as a portion of every transfer of the token. The default recipient of the tax / fee is the connected token creator wallet. The recipient can be changed to a different fee, marketing or charity wallet. The fee is specified in basis points (bps). If you want to charge a fee of 3.5% for example, you need to enter 350 bps. By default the fee recipient is excluded from the fee when sending tokens. The tax / fee setting can be changed after token creation under the Manage Token function or set to 0 to deactivate it. Enabling this feature may make your token incompatible for listing it on Uniswap V3.
Burn fee for deflationary token: If activated, the specified burn fee as a portion of every transfer of the token will be burnt. The burn fee is specified in basis points (bps). If you want to have 1.8% deflation / burn for each transfer for example, you need to enter 180 bps. The burn fee setting can be changed after token creation under the Manage Token function or set to 0 to deactivate it.
Change owner: The default owner is the address of the connected wallet. Note: if you change the owner to an address that you don’t control, you will not be able to make any changes to the token after its creation.
Has document (ERC-1643): Add the URL of an offering documentation such as a prospectus or whitepaper here. If you don't know what to put in here, you can leave this inactive.
Max number of tokens per address is limited (ERC-1594): Sets maximum token balance per individual address. Limit can be increased after initial token creation but not decreased.
Can be force transferred (ERC-1410): Regulates the permissions of the token issuer to enforce token transfers without approval or signature of the token holder. This feature be deactivated after initial token creation. Please note: This unrestricted transfer introduces a centralization risk and may lead to a potential misuse of the privilege. If there is a legitimate need for this functionality, make sure it is properly communicated to all users and token holders.
Requires whitelisting (ERC-1594): Defines if token transfers are only possible to whitelisted addresses or if the token is freely transferable. If you activate this, you can add and remove addresses to the whitelist under the Manage Token functionality. This feature is useful for security tokens where you need to know who holds your tokens. Note that you also need to whitelist your own creator address to be able to transfer tokens.
It takes approximately 10 seconds to create the tokens after you confirm. The initial token balance will be automatically transferred to the address of the creator/owner after the creation is successful.
The token is automatically deployed to the network and verified. Should the token verification not be completed automatically, you can go to Manage Token and click the "Verify" button that is shown at the top of the screen in such cases.
Please note: The owner address can distribute tokens without obtaining the consensus of the community. It is recommended that the team be transparent regarding the initial token distribution process. The token distribution plan should be published in a public location that the community can access. The team can lock up a portion of tokens, release them with a vesting schedule for long-term success, and deanonymize the project team with a third-party KYC provider to create greater accountability.
To manage an existing token you need to connect the wallet that owns the token contract in Token Tool. After that, enter the token contract address. Alternatively you can also click on the token that you want to manage from the drop down list of token symbols and contract addresses that opens once you click the input field. Make sure that your wallet is connected to the same network as the one on which the token was created.
Token verification is available on all supported mainnet and testnet networks except peaq network. Contracts created with Token Tool can be verified on multiple block explorers, you can see supported explorers in the verification process.
All tokens created with Token Tool will have Bitbond branding by default as the name of the contract file. For tokens created under DeFi Token or Security Token section, users can change the default name to their own custom file name for an extra fee upon creating the token.
To do that, when creating the DeFi Token and/or Security Token, simply enable the possibility to customize the token contract name by turning on the "Custom Contract Name" toggle. Then type the name you desire in PascalCase (e.g. MyTokenProject):
The customer contract name cannot be changed once token is created and deployed to the network.
Example of a verified token contract on the block explorer without a custom name:
Example of a verified token contract on the block explorer with a custom name:
The custom contract name verification will be complete once you complete the steps in the Verify Source Code section.
Source code verification is supported for DeFi Token contracts, Security Token contracts, NFT contracts, and Token Locker contracts.
Here is an example process for how you can complete verification for a DeFi token contract. The process is similar across other contracts, you should simply follow the same steps from their designated sections within Token Tool.
To verify token contract source code for a DeFi Token or Security Token, go to Manage Token and select your token or paste its contract address. Then click the Verify Source Code button:
Then select the block explorer on which you wish to have the contract verified. You can choose from supported explorers, and you can perform verification on more than just one block explorer:
Then click next and choose the type of verification you wish to complete. Please note that contract source code verification is possible in three different options:
Source code verification with Bitbond Branding
Source code verification Bitbond Branding removed
Source code verification with your own custom branding
Select the verification option you desire, agree on the terms, and then click "Submit". Confirm transaction in your wallet to pay fees and complete the verification. Once the transaction is complete, you will be able to see the source contract verified and publicly displayed on the block explorer.
Click the "View verified contract" to see your token contract on the explorer. Here is an example:
Here is how your token contract source code looks like on the block explorer with the default Bitbond branding:
Here is how your token's contract source code without any branding:
Here is how your token's contract source code with your own branding:
You can control the following parameters of your token. Please note that some of these parameters can only be changed, if the respective function was activated at the initial token creation:
Mint (only possible if activated at creation)
Burn (only possible if activated at creation)
Change owner (always possible)
Renounce ownership (always possible)
Blacklist address (only possible if activated at creation)
Pause (only possible if activated at creation)
Transaction tax / fee (only possible if activated at creation). You can exclude addresses from being taxed by adding them to the exclusion list. Add the LP address to exclusion list for it to be traded on V3. Tax will not apply on transactions that take place on V3 DEXes.
Deflation settings (only possible if activated at creation). Add the LP address to exclusion list for it to be traded on V3. Deflation will not apply on transactions that take place on V3 DEXes.
Holders Reward/ Reflection Token (only possible if activated at creation) . You can prevent addresses from receiving holders rewards by adding them to the exclusion list. Add the LP address to exclusion list for it to be traded on V3. Holders rewards will not apply on transactions that take place on V3 DEXes.
Add a liquidity pool to a decentralized exchange. This feature may not work for tokens that have “Security Token Configuration” features activated.
Edit asset documentation (only possible if activated at creation)
Add or remove whitelisted addresses (only visible and possible if activated at creation)
Change tokens per address limit (only possible if activated at creation) – note that you can only increase the limit but not decrease it in order to avoid creating a conflict with the amount of tokens that could be held per address prior to the change. This feature is also called "whale protection". You can exclude specific wallet addresses by adding them to the exclusion list. Once added to the exclusion list, the limit would not apply to these wallets. This can be useful when adding a liquidity pool to DEX. Note when creating a liquidity pool: make sure to fund it with an amount within the limit, you can then add the liquidity pool (LP) address to the exclusion list once the pool is created. Excluding the LP address from this limit will allow you to fund the pool with a higher amount than the limit set.
Force transaction to move tokens from any wallet address to another address (only possible if activated at creation)
Manage Token is particularly useful if you want to execute corporate actions that have an impact on existing or to be newly minted tokens / shares.
View of Manage DeFi Token
View of Manage Security Token
This feature enables you to easily submit and add a liquidity pool for your token on a decentralized exchange (DEX). Feel free to try it on testnets prior to proceeding with mainnet transactions.
Start by clicking the "Add liquidity pool to DEX" button under the Manage Token page. Then select the DEX of choice from the presented options by creating a new pool. If you already have an existing pool, you can choose top "Top Up" that LP after clicking the add liquidity button.
Note: If your token has holder rewards, burn fee or tax, it needs to be set to 0. After adding/topping up the liquidity pool (LP), modify it back to the desired rate. If your token has a max limit per holder / whale protection set up, ensure to add the initial LP within the limits, you can then add the LP contract address to the exclusion list under Manage Token and increase the liquidity as needed.
Next, insert the pair amount you wish to submit to the LP. After that, click "Approve" to allow the sending of the tokens and confirm the transaction in your wallet. Once completed, proceed with clicking "Submit", confirm the transaction in your wallet.
After the transaction is processed, your liquidity pool will be submitted to the selected DEX.
You can then return to this page to modify existing pool ratios for your LP by topping it up.
This guide explains how to add and manage liquidity for tokens with fees (tax, deflation, holders reward) and/or a maximum limit per address.
You can add liquidity even if token fees are enabled.
If fees are not set to 0, they will be deducted when adding liquidity.
Recommendation: Temporarily set fees to 0 when adding liquidity. This ensures the pool ratios remain correct.
Add liquidity using a token amount that is smaller or equal to the maximum limit per address.
As long as the LP (Liquidity Pool) address is not excluded, tax will apply to any swaps involving that LP.
Swapping in both directions (buy/sell) should work fine at this stage.
After liquidity is added, you can exclude the LP contract address to achieve the following:
Disable tax on transactions involving the LP (i.e. swaps).
Remove the max limit per address, allowing you to fund the LP with an amount greater than the limit.
When the LP address is excluded:
Swapping: Swaps will continue to work.
Tax: No fees will be charged on swap transactions involving the LP address.
Max Limit: You can now add liquidity beyond the original max limit per address.
⚠️ Important: Once you finish funding the LP remove the LP address from the exclusion list to re-enable tax and max limit restrictions.
If tax is applied or swaps occur during the initial LP setup, the pool ratios may get disrupted. This can cause issues, especially if slippage tolerance is low or set to 0.
To fix this issue:
Go directly to the DEX platform where the liquidity is added (Uniswap, PancakeSwap etc.).
Remove 100% of the liquidity from the pool.
Re-fund the LP with the correct amount of tokens.
While re-funding, exclude the LP address to temporarily disable tax and remove the max limit.
⚠️ Reminder: Once the LP is successfully funded, remove the LP address from the exclusion list to restore tax and max holder limit functionality.
After re-funding the LP or adding tokens beyond the limit:
Remove the LP address from the exclusion list.
Swaps will now work, and taxes will apply as intended.
If a swap fails: Increase your slippage tolerance to account for adjusted pool ratios.
To fund the LP with an amount greater than the max limit per address:
Exclude the LP address temporarily.
Add the desired amount of liquidity.
Once done, remove the LP address from the exclusion list.
⚠️ Note: While the LP address is excluded, tax will not apply, and the max limit restriction is bypassed.
By following these steps, you can seamlessly add and manage liquidity for tokens with fees and address limits while ensuring smooth swap functionality and proper tax enforcement.
Ethereum: Uniswap V2, SushiSwap V2
Avalanche: Trader Joe V1, Uniswap V2, SushiSwap V2
Polygon PoS: Quickswap V2, Uniswap V2, ApeSwap, SushiSwap V2
BNB Chain: PancakeSwap V2, Uniswap V2, ApeSwap, SushiSwap V2
Fantom: SpookySwap V2, WigoSwap, SushiSwap V2
Arbitrum: Camelot V2, Uniswap V2, Trader Joe V1, SushiSwap V2
Optimism: Uniswap V2, SushiSwap V2
Base: Uniswap V2, BaseSwap V2, SwapBased V2, SushiSwap V2
Blast: BlasterSwap V2, Uniswap V2, SushiSwap V2