Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Token creators / issuers and investors need to safekeep their tokens. This can either be done through self-custody or by working with a third-party custodian (a bank or regulated financial institution that holds a custody license).
At the heart of token custody is the management of cryptographic keys. Someone who owns digital assets typically sees their so called public key or address. If you want to receive tokens, you need to give your public key to the token sender. You will normally find this key in your wallet.
If you want to send your tokens to another wallet (e.g. because you sold tokens to someone else), you will need their public key. When you send tokens, your wallet will sign the transaction with your private key.
In order to make sure that nobody can spend your funds or tokens, the private key needs to be managed in a highly secure way. At the same time convenience is important, so that tokens can be sent when necessary without an overly complicated approval process.
Custodians take the responsibility of managing private keys for investors and issuers in a secure and compliant way. They are therefore an important component in the whole setup of token offerings.
As the issuer of a token you normally don't hold tokens for a long time. Typically tokens are distributed to investors shortly after they are minted.
However, often additional tokens need to be minted after the primary issuance. Sometimes certain properties of tokens need to be changed. Only if you can be sure, that additional token minting, burning or other configurations will never change after the primary issuance, the issuer account key for a particular token can be deleted or token ownership can be explicitly renounced. This is a non-reversible action that disables further changes to the token configuration.
In all other cases, issuer keys need to be kept in a safe location from where transactions can be signed ideally in an automated way. At Bitbond we work with several regulated custodians and can recommend partners for you.
For robust, large-scale production deployments, we advocate for implementing a transaction authorization policy or transferring token contract ownership to a multi-signature wallet. Such precautions minimize risks associated with a singular point of failure, such as key leaks or the potential misuse of ownership rights by a malicious actor. Requiring multiple approvals from the team that oversees the token increases security. In certain scenarios, teams opt to organize themselves as a Decentralized Autonomous Organization (DAO) to further bolster decentralization and enhance transparency in their operations.
If you create tokens on an EVM chain with Bitbond Token Tool, there are the following ways to manage your issuer keys.
You can work with a custodian as described above. The custodian needs to support Web3 login through Wallet Connect. In such cases the custodian can log in to Token Tool from within their key management software and create tokens, manage tokens and distribute tokens on behalf of the issuer.
If as an issuer you want to be independent of a custodian when it comes to token management, you need to maintain a key management solution yourself. There are several secure and convenient solutions in the market, some of which are listed here.
Fireblocks is a sophisticated key management software that has very comprehensive functionality around digital assets. It can store nearly all currencies and tokens that currently exist and lets you configure sophisticated governance and approval rules.
Typically custodians would utilize Fireblocks. If you need to manage multiple keys for several tokens and need a more sophisticated approach to governance, Fireblocks is they right way to go.
With Fireblocks you can log in to Token Tool with Wallet Connect.
Ledger is one of the leading hardware wallets. You can use it with Token Tool directly or use it as a more secure way to mange keys behind Metamask and log in to Token Tool with Metamask. For institutions, Ledger Enterprise provides bank-grade key custody infrastructure.
Metamask is a simple and convenient way to log in to Token Tool. However, from a security standpoint it should not be used for transactions and tokens of higher value because it is not built for an institutional but rather a consumer context.
Safe is another secure and convenient way to manage issuer keys. It allows you to use Metamask or Wallet Connect to log in to Token Tool.
Token Tool is a publicly accessible Web3 application that provides core functionality for the creation, management and distribution of tokens and NFTs on Ethereum and Ethereum compatible blockchains (EVM chains). Use Token Tool via Web3 login. An enterprise version is available upon request.
Token Tool has a number of advantages compared to other products for token creation and management:
Uses simple Web3 login: no customized API integrations of key custody solutions is necessary. Manage your keys in the way you want as long as Web3 login is supported.
No-code smart contract deployment: configure your token via a convenient user interface (or via API if you use the enterprise version) without the need to code your own Solidity code. All Token Tool smart contracts have been audited by CertiK.
Supports leading blockchains and testnets: Ethereum (and Sepolia testnet), Polygon PoS (and Amoy testnet), Polyon zkEVM, Avalanche (and Fuji testnet), Fantom Opera (and Fantom testnet), Arbitrum, Optimism, Binance Smart Chain (aka BNB chain as well as BSC Test), Coinbase Base Chain, Blast, peaq and Stellar.
Supports different token standards: create ERC20 and ERC1400 tokens (and their equivalents on other chains) as well ERC721 NFTs with rich customization capabilities.
Supports Web3 wallets for login: login with most browser wallets like Metamask, Coinbase Wallet, Trust Wallet, MEWconnect, Farcaster Wallet and many others as well as Ledger as a hardware wallet. Via the Wallet Connect integration you can use different hardware wallets and sophisticated bank-grade key management solutions such as Fireblocks, Gnosis Safe, Ledger Enterprise, GK8 and others.
API access: all features are also accessible to enterprise customers programmatically.
Token creator remains in control: don't give away control over your tokens to third parties, instead remain in control through the elegant Web3 logic. The token creation is non-custodial.
Fair fee model: tokenize assets without complicated on-boarding or setup fees and only pay for what you use. You can find our fees under Token Tool Pricing.
To get started simply go to Token Tool and log in with your Web3 wallet.
A note on WalletConnect v2: Some wallet providers don't support blockchain switching during a WalletConnect session. A re-connection is needed when you switch blockchains to guarantee seamless integration with a variety of those providers. For example, if you initially established a WalletConnect session on Ethereum but decide to switch to Polygon, this transition would prompt an automatic disconnection of your wallet. Simply re-establish the connection and your session will resume, now utilizing your newly selected blockchain.
If you have issues connecting, please close the connection modal, select your desired chain, refresh the page and try again.
If your wallet provider supports multiple addresses, by default the connection will be established to the first address provided by the wallet.
Some wallet providers will only allow you to establish a session to a mainnet workspace while a mainnet chain is selected and testnet to a workspace when a testnet chain is selected. If you run into connection errors, please make sure you are connecting to the right workspace.
If you want to connect to a testnet workspace, please select one of the features (e.g. Create Token
), flip the toggle to select testnets, pick your desired chain and connect your wallet.
Gas fees need to be paid for all on-chain interactions. The amount of gas fee required is dependent on the complexity of the transaction and the current usage of the respective network. It's important to note that gas fees are paid in native coins, such as ETH or MATIC.
This table gives you an indication of the average gas fees stated in USD for the most common functions on Token Tool. The values are historical averages and can fluctuate depending on network utilization.
Ethereum
63.04
1.21
1.27
Polygon PoS
0.22
0.01
0.01
Binance
3.25
0.05
0.14
Avalanche
1.06
0.10
0.03
Some custody solutions are restrictive regarding external deposit addresses for security reasons. If a wallet is set up in a way that funds can leave this wallet to whitelisted addresses only, you can only use Token Tool only after you have whitelisted the Token Tool smart contract addresses first. Here is a list of the addresses that you need to whitelist in that case.
Mainnet addresses:
Ethereum: 0x4904Ba3148147D2f78b05a8446C01c48a7ABa4bd
Avalanche: 0x4904Ba3148147D2f78b05a8446C01c48a7ABa4bd
Polygon: 0x4904Ba3148147D2f78b05a8446C01c48a7ABa4bd
Binance Smart Chain: 0x4904Ba3148147D2f78b05a8446C01c48a7ABa4bd
Fantom: 0x4904Ba3148147D2f78b05a8446C01c48a7ABa4bd
Arbitrum: 0x486F6AEA7d150254273AC7a5ffd872db54120b9a
Optimism: 0x486F6AEA7d150254273AC7a5ffd872db54120b9a
Base Chain: 0x486F6AEA7d150254273AC7a5ffd872db54120b9a
Polygon zkEVM: 0x486F6AEA7d150254273AC7a5ffd872db54120b9a
Blast: 0x4904Ba3148147D2f78b05a8446C01c48a7ABa4bd
Peaq: 0x4904Ba3148147D2f78b05a8446C01c48a7ABa4bd
Testnet addresses
Ethereum Sepolia: 0x4904Ba3148147D2f78b05a8446C01c48a7ABa4bd
Avalanche Fuji: 0x4904Ba3148147D2f78b05a8446C01c48a7ABa4bd
Polygon Mumbai: 0x4904Ba3148147D2f78b05a8446C01c48a7ABa4bd
Binance Smart Chain Test: 0x4904Ba3148147D2f78b05a8446C01c48a7ABa4bd
Fantom Testnet: 0x4904Ba3148147D2f78b05a8446C01c48a7ABa4bd
Arbitrum Sepolia: 0x486F6AEA7d150254273AC7a5ffd872db54120b9a
Optimism Testnet: 0x486F6AEA7d150254273AC7a5ffd872db54120b9a
Base Chain Testnet: 0x486F6AEA7d150254273AC7a5ffd872db54120b9a
Polygon zkEVM Testnet: 0x486F6AEA7d150254273AC7a5ffd872db54120b9a
Blast Sepolia Testnet: 0x4904Ba3148147D2f78b05a8446C01c48a7ABa4bd
Token Tool supports testnets for supported mainnet chains. This way you can test Token Tool for free. As an example: when you go to Create Token and select Ethereum as your chain, you can switch to Ethereum Sepolia Testnet in your Metamask. Token Tool will continue to function the same way as it does on mainnet.
To pay gas fees on testnets, you need testnet coins. Token Tool offers testnet faucets where you can get testnet coins for free.
Governance and security notice
We emphasize the importance of responsibly selecting contract configuration options based on your use case and target audience. While crypto-native projects may require a highly decentralized / trustless setup, enterprise customers often require a higher degree of controls and centralization to fulfill compliance requirements. To build trust with your audience, only grant yourself permissions that are required by your use case.
All contracts deployed via Token Tool are owned by the wallet you select. Depending on your configuration options, this wallet may have control over certain functions of your token, e.g. mint/burn, whitelisting or force transfers. Any compromise to the owner account may allow the hacker to take advantage of this authority. To avoid any a single point of failure, we recommend the use of multi-sig or MPC wallets such as Safe, Fireblocks or Ledger Enterprise.
Token Tool is a Web3 app where payment upon check out takes place in the native cryptocurrency of the network being used. When users decide to use Token Tool to configure and deploy smart contracts, they need to connect their wallet and complete payments in crypto by confirming the transaction in their wallet. Our pricing page contains a detailed breakdown of the costs for all Token Tool functions and features.
Purchasing cryptocurrency can prove to be a challenging to users who are not familiar with the space. It can also be difficult to investors looking to invest in token sales that were created with Token Tool.
Many wallet providers like MetaMask, offer a user-friendly interface to easily buy crypto directly from their apps. We put together a guide to walk you through the process of how to buy crypto on MetaMask. You can use the guide for your own reference, or refer your investors to that guide if you're conducting a token sale with Token Tool.
Protocols are crucial components of blockchain technology that enable information to be shared automatically across a network securely and reliably.
In the field of computing, protocols are essentially rules that define how data is allowed to be transferred between different computer systems. Protocols define the way that data must be structured to be accepted into a system, and they establish safeguards to prevent malicious users from causing damage.
The same protocol can be utilized for different blockchains. For example Ethereum can be used on the public mainnet as well as in a private chain installation. In both cases the protocol is the same but the chain is different.
When assets are tokenized, a protocol and a particular chain need to be selected. There is a large number of feasible protocols and blockchains to choose from. At Bitbond we recommend and therefore support the blockchains that are listed on this page.
In the past years Stellar has been a frequently used protocol for regulated security token offerings because of its scalability, simplicity and low network fees. Regulators around the world have approved several security token offerings on Stellar.
However, with the advent of Ethereum scaling solutions and EVM (Ethereum Virtual Machine) compatible blockchains, currently it seems like EVM compatible chains will remain a core part of asset tokenization in the coming years. These solutions address some of the shortcomings of Ethereum (mainly network congestion and high network fees), while keeping the advantages of the Ethereum protocol (a Turing complete approach to building decentralized software).
These chains are all share the technical foundation and compatibility with the Ethereum Virtual Machine. You can find a comprehensive list of EVM chains here. The ones listed below are the ones that are supported by Bitbond Token Tool.
Ethereum is a global, open-source platform for decentralized applications (dApps) on which you can write code (usually referred to as a smart contract) that controls digital value and runs exactly as programmed. The Ethereum mainnet is the most popular blockchain for asset tokenization because of the apps you can write on top of it.
Etherum is also the most popular blockchain that uses smart contracts. Etherum is the best choice whenever we need to set parameters for the smart contracts. The most popular applications for the Ethereum blockchain are decentralized finance (DeFi) and asset tokenization.
Avalanche has four basic interrelated mechanisms that compose structural support of the consensus tool. These four mechanisms are Slush, Snowflake, Snowball, and Avalanche.
By using randomized sampling and metastability to ascertain and persist transactions, It represents a new protocol family. Although the original paper focused on a single protocol, namely Avalanche, it implicitly introduced a broad spectrum of voting-based, or quorum-based consensus protocols, called the Snow family.
While Avalanche is a single instantiation, the Snow family seems to be able to generalize all quorum-based voting protocols for replica control. Unlike prior quorum-based work, the Snow family enables arbitrarily parametrizable failure probability at the quorum intersection level.
Standard quorum-based protocols define this failure probability to be precisely zero, but by introducing errors in the quorum intersection, a larger set of consensus protocol design is available.
The Polygon network is Ethereum-native, aligned to be interoperable with all of Ethereum’s existing and even future infrastructures while offering a framework for its interoperability with other layer-2 solutions, sidechains and sovereign blockchains.
The Polygon network is thus also categorized as a layer-2 aggregator, aiming to create a multichain ecosystem of Ethereum-compatible blockchains with superior interoperability.
BNB Chain is an innovative solution to bring programmability and interoperability to the Binance Chain. BNB Chain (formerly Binance Smart Chain or BSC for short) relies on a system of 21 validators with Proof of Stake Authority (PoSA) consensus that can support short block time and lower fees.
The most bonded validator candidates of staking will become validators and produce blocks. The double-sign detection and other slashing logic guarantee security, stability, and chain finality.
BNB Chain also supports EVM-compatible smart contracts and protocols. Cross-chain transfer and other communication are possible due to native support of interoperability.
Binance DEX remains a liquid venue of the exchange of assets on both chains. This dual-chain architecture will be ideal for users to take advantage of the fast trading on one side and build their decentralized apps on the other side.
Fantom is a high-performance blockchain platform designed to support decentralized applications and real-time use cases. It leverages a unique consensus mechanism called the Lachesis Protocol to deliver fast and efficient transactions.
Fantom's Lachesis Protocol delivers fast and efficient transactions, making it ideal for real-time use cases such as micropayments, gaming, and supply chain management. The consensus mechanism also provides a high degree of security, ensuring that transactions are processed and recorded securely on the blockchain.
The platform's modular architecture makes it easy for developers to build and deploy dApps, and it supports smart contracts for self-executing agreements. Additionally, Fantom's ecosystem is highly interoperable, allowing for seamless communication between different blockchains and dApps.
Arbitrum is a Layer 2 scaling solution for Ethereum that offers increased speed, efficiency, and privacy. It uses off-chain computation and on-chain enforcement to process transactions quickly and securely.
The platform supports a wide range of use cases and is interoperable with Ethereum-based solutions. This allows for seamless communication and opens new opportunities for developers.
Arbitrum's combination of speed, efficiency, and privacy make it a leading platform in the decentralized space.
Optimism is a Layer 2 scaling solution for Ethereum, designed to bring increased speed, efficiency, and scalability to the Ethereum network.
It uses an innovative technique called Optimistic Rollups to process transactions off-chain, reducing congestion on the main Ethereum network. Optimism also offers increased security compared to traditional Ethereum-based solutions.
This makes it an ideal platform for decentralized finance and other high-volume use cases. With its commitment to Ethereum compatibility, Optimism is poised to become a leading platform in the decentralized space.
Base is an Ethereum Layer 2 (L2) network designed to be secure, affordable, and developer-friendly. Built on top of the OP Stack developed by Optimism, Base leverages the security of the Ethereum blockchain while offering faster transaction processing and lower fees. This makes it an attractive platform for building and deploying decentralized applications (dApps).
One of Base's key features is its focus on ease of use for developers. It integrates seamlessly with Coinbase products and tools, providing developers with access to a large user base and various resources.
Polygon zkEVM is also an Ethereum Layer 2 (L2) network, aiming to address scalability issues like high gas fees and slow transaction speeds that plague the Ethereum mainnet. However, unlike Base which utilizes Optimism's OP Stack, Polygon zkEVM employs a different scaling method called zero-knowledge (ZK) rollups.
This ZK-rollup technology allows Polygon zkEVM to inherit the security of the Ethereum blockchain while processing transactions off-chain, significantly enhancing speed and lowering costs.
Blast is a new Ethereum Layer 2 blockchain offering interest on ETH and stablecoins. Built for scalability and DeFi, it leverages Ethereum's security while proposing its own high-yield stablecoin.
These chains are built on protocols that are independently developed and technically different from the Ethereum protocol and the Ethereum Virtual Machine.
Stellar was created in 2014, after Bitcoin but before Ethereum. Stellar uses a more environmentally-friendly consensus mechanism than many other chains and was designed specifically for remittances and payments. Therefore it has “cash-like” delays between transactions (i.e. very short) and it’s more or less free to use (transactions cost way less than a penny).
Like Ethereum, Stellar allows you to issue other custom assets or tokens (say, a digital representation of a dollar or a peso) and to trade them very easily within the network.
Stellar has the Stellar Decentralized Exchange (SDEX) built directly into the protocol which provides a convenient way for secondary trades.
In the case of a referral by one of our affiliate partners, users receive a 10% discount code to redeem upon completing a purchase on Token Tool. This section provides a brief explanation on how to use the discount code and Token Tool's crypto affiliate program.
If you received a discount code and would like to redeem it, simply go to the designated function, insert the code in the discount box field at the bottom of the page, and click "Submit":
Make sure to submit the code before you complete the transaction in your wallet.
The Token Tool crypto affiliate program is currently supported on these 4 chains:
Ethereum
Polygon PoS
Avalanche
BNB Chain
This means that referrers can only earn commission for these 4 blockchain networks, and referred users can use their discount codes only on these 4 supported networks. We are currently looking to include support for the rest of the available networks.
Using discount codes is currently possible on Token Tool's functions below:
Create Token
Distribute Token
Create Token Sale
Create Token Locker
Create NFT (not on NFT minting)
Distribute NFT
Referrers earn 30% commission on each transaction that takes please using their unique referrer code. Learn more about Token Tool's crypto affiliate program and start earning money easily.
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.
The function allows you to send tokens to many recipients in one transaction by inserting a list of custom recipients addresses and amounts. The tokens that you want to send have to be in your wallet that is connected to Token Tool.
Copy and paste a list of addresses with the respective token amount that you want to send to each address. Alternatively, you can upload a .csv, .xls or .txt file with the list.
The list should include each recipient address and the respective token amount separated by a comma (note that there must not be a space after the comma). Each address has to be on a newline like in this example:
After you have included your list, you will be asked to approve Token Tool to send tokens on your behalf. Your tokens will be sent to batches of 200 addresses. If there are more than 200 addresses in your list, you will have to approve each batch separately.
After the distribution is done, you can also revoke the permission for sending from Token Tool via Metamask.
This function is useful for
Initial token distribution to investors after a primary issuance
Sending additional tokens to token holders after a capital increase or a rights issue
Sending dividend or coupon payments in stable coins, cryptocurrencies or asset tokens to token holders
Conducting an airdrop of tokens to a long list of addresses
Optionally, you can also add a third attribute to the input. This allows you to attach an individual message to each transfer. This can be useful in situations where you want to add an internal reconciliation ID or a message that is necessary for regulatory purposes to each transfer. This is how an example input would look like:
Note that this Distribute Token is not supported on Ethereum Goerli testnet. However, it does work on Ethereum mainnet and all other supported chains (both main and testnets).
Under you can review the status of your token sale and edit parameters before the start. To enter the Manage screen, you either need to paste you token sale contract address in the input field or click the cogwheel icon from the list of your token sales.
Here you can review the address of the token that is on sale, the public token sale link for investors and further details. Before the sale starts, it is critical that the token sale contract received the tokens that are on sale.
To send the tokens to the sale contract, simply click on the Transfer Tokens button and complete the steps for processing the transaction.
If you want to change the parameters of your token sale, you have to do that before you Transfer Tokens. After tokens have been sent to the sale contract, no more editing is possible.
The Token Sale link Is the page on which investors will be submitting their investments. Important: make sure that investors invest in your sale only using the token sale page provided with the token sale link. Investors must not send their investment directly to the token sale contract address.
To enable custom branding, click on "Enable custom theme" and pay fees in your wallet. Once the transaction is complete, you will be provided with the customization assistant tool to help you set up the token sale page based on your requirements. You can use it to generate the required link/iframe with the custom branding for your own use.
To add investors to the whitelist you can either paste one or multiple addresses in the input field that opens after you click Add addresses. Alternatively you can upload a CSV file or a spreadsheet with all addresses.
Sometimes investors want to cancel their investment. In this case you may either want to grant a refund out of fairness or you may even be required to do so by law. In Germany for instance private investors have a right to cancel online purchases / investments for 14 days.
There are two ways how you can handle refunds:
Blacklist the wallet address of the investor and send them their money back. In this case they won't be able to claim their tokens after the token sale is finished.
When the token sale is over and the investor has claimed their tokens, ask them to send the tokens back to you and issue the refund in return.
Token sale is automatically finished when either of the two conditions occur:
Specified sale duration is finished. The total investment is either above or below the softcap.
Sale ends early due to all available tokens getting purchased (hardcap reached).
It is recommended to remind investors in any case after the token sale finishes. This way they will know that they can claim their tokens (if softcap was reached) or claim their funds (if softcap was not reached).
Investors simply claim their tokens or funds respectively from the same page where they invested.
As the token sale organizer you will want to withdraw the invested funds (if softcap was reached after the token sale ended or immediately after the hardcap was reached) or withdraw tokens (if softcap was not reached) from the token sale contract. If the softcap was reached but the hard cap was not reached, there will also be some remaining tokens. You can withdraw these as well under the Manage Token Sale functionality.
The following buttons are visible when you scroll all the way down. Note that the buttons become active after the token sale ends and the conditions for the withdrawals are met.
The Airdrop and Multisend Tool offers a streamlined solution for distributing tokens or cryptocurrencies to multiple recipients in a single transaction. Whether you're conducting a manual airdrop to engage your community or rewarding token holders through automated distributions, this tool provides flexibility and efficiency. You can easily multisend any supported assets, taking advantage of three airdrop features to ensure seamless and precise token distribution. The three features consist of:
Custom recipients: Manually specify recipient addresses and amounts.
Autofill recipients: equal amounts: Get recipient addresses automatically based on their holdings of a token - each address receives the same amount.
Autofill repients: proportianal amount: Get recipient addresses automatically based on their holdings of a token - each address receives an amount proportional to their token balance.
Create Token Sale is an easy to use STO / IDO / that lets you run a token sale in a lean way. Use this function to conduct and run an
Initial coin offering (ICO)
Initial DEX offering (IDO)
Security Token Offering (STO)
In order to get started with your Token Sale, you need to have a token prepared. Unless you already created a token, go to to configure and create your token.
Once you have your token created, you can enter the Create Token Sale function and select the token that you want to run a token sale for from the drop-down menu.
All available tokens that you own are automatically shown in the drop-down menu. Alternatively you can paste the token contract address in the input field.
We recommend that you don't use tokens in a token sale that have whitelisting enabled. If you still want to use such a token in a token sale, you will have to add the token sale contract address to the whitelist as well as the addresses of all investors otherwise you will not be able to start the token sale and investors wouldn't be able to claim their tokens after the sale is over.
You should also be careful when creating a token sale that have transaction tax/fees, as you would need to fund the sale contract with the full amount of tokens on sale.
Once you have selected the token and clicked Continue, you will enter Step 1 of 2: Configure your token sale.
Here you determine, how your investors will pay for the tokens you have on sale. In the past, many token sales have been conducted in a way that the only payment method was the native cryptocurrency of the blockchain on which the token was created.
In the case of Ethereum, this was ETH or in the case of Polygon it was MATIC. This has the disadvantage that investors and issuers are exposed to exchange rate fluctuations of the underlying cryptocurrency.
If you choose a custom payment token, you will need to specify the payment token via its token contract address. If you have the custom token in your own wallet, you can simply select it from the drop-down menu, then you don't need to look up the token contract address.
For convenience, here is the USDC contract address for each supported blockchain:
This determines the price per token on sale quoted in the selected payment token. So let's assume that you choose USDC as the payment token, then entering a value of 5 means that for each token on sale 5 USDC has to be paid by your investors.
Sometimes you may want to provide incentives for investors to invest in your token sale early on. One way to do that is to apply discounts / lower prices in different weeks throughout the token sale such as:
Week 1-2 token price: USDC 0.90
Week 2-5 token price: USDC 0.95
Week 5-8 token price: USDC 0.98
In order to do that you can set up a separate token sale for each tier. Just make sure to set the start time and duration of each token sale in a way that there are no time gaps between the different tiers.
Soft cap: this is the amount you need to raise by the end of the token sale in order for the token sale to happen. The soft cap must be lower than the hard cap. Soft cap range: so let's assume USDC is your payment token and you want to raise USDC 5,000,000. The soft cap can be a maximum of USDC 4,999,999 and a minimum of USDC 0. If this amount is not reached, the invested funds can be reclaimed by investors after the token sale is over.
Hard cap: this is the maximum amount that you can raise in your token sale.
Choose an amount that is in line with your funding needs and that you believe you can realistically raise from investors.
This setting is optional and allows you to control the maximum and minimum investment per investor.
Min investment amount: if you set this too high, the entry barrier for some investors might be prohibitive. If you set this to a very low amount, you might have to manage many very small investors.
A value between 1 and 100 dollars normally makes sense unless you are allowed to only accept accredited or professional investors who invest much higher amounts each.
Max investment amount: this is the maximum one investor can invest.
Please note that the investment amounts min and max values are tied to addresses, it is therefore possible to circumvent these limits. If you want to make sure that a certain investor doesn't exceed the limits, you need to set up the token sale in a way that only whitelisted addresses can invest. That way you can make the connection between a particular investor and an address.
Token sale start time: this is the moment from which investors can invest.
It normally makes sense to run a marketing phase before your token sale starts. You should also allocate enough time to send the tokens to the token sale contract address. When you want to whitelist investors, you can also do that during a ramp-up phase before your token sale starts.
Typically anything between starting in a few days up to several weeks are usual values here.
Important: if you want your token sale to start immediately, we highly recommend to leave enough time to send your tokens to the sale contract. Therefore, make sure you leave at least half an hour between the time you create the sale and the token sale start time.
Token sale duration in days: this determines how long investors can invest in your token sale.
When this is too short, you might not have enough time to find investors. If too long, your marketing impact might fade away. Adjust everything according to your needs. Anything between 2 and 12 weeks (i.e. between 14 and 90 days) is usual here.
As stated above, sometimes you might want to provide discounts for early investors. In that case it makes sense to set up a token sale for each discount tier and align the start and duration of each discount phase accordingly.
The token sale ends either at the end of the token sale duration or when the hard cap is reached.
Lock duration in days: this determines how many days after the token sale ends investors can claim their tokens.
Burn unsold tokens: by activating this option, all unsold tokens are automatically burned after token sale ends.
This setting has a big impact on how you onboard investors, make a careful decision here.
Every address can invest: in this case everybody can invest in your token sale. This option is suitable for unregulated token sales such as Initial Coin Offerings (ICO) where you don't need to know the identity of your investors. Here you don't need any additional investor on-boarding. The Token Sale function of Token Tool delivers everything you need for the entire process.
You can manage investor on-boarding manually via a spreadsheet or use other products for this such as ERP software.
When you manage investor on-boarding via a spreadsheet, everyone who wants to invest should send you an email containing the following information:
Full name (and legal entity in case of an institutional investor)
KYC document (e.g. image of an ID card or passport) of investor or legal representative
Full postal address
Date and place of birth
Citizenship
Tax ID
Email address
Blockchain wallet address
Declaration about source of funds
When all data is checked, the wallet address can be added to the whitelist and email updates can be sent (e.g. when the sale starts and finishes).
By default the wallet address with which you are logged-in to token tool is the owner. However, you can also assign a different owner who will then be able to manage the token sale. Only change this if you know what you are doing!
After you click Continue you arrive at Step 2 of 2: Review token sale configuration. Here you can review everything. Once done, click on the Create sale button to launch your token sale.
After you confirmed the token sale creation from your wallet, you will be shown the Token sale contract address and Shareable token sale link. Bookmark them both!
The Token sale contract address is necessary to log in to Manage Token Sale.
The allows to efficiently airdrop tokens or cryptocurrencies to multiple recipients based on their holding of a specific token. Token Tool automatically retrieves the token holders and their balances from the blockchain. This spares you the need to manually insert recipient addresses as done in the Custom recipients airdrop. The autofill recipients airdrop is great for:
Token airdrops
Dividend payments
Bond coupon payments
Interest payments
Option payouts
Futures / forwards payouts
Start by selecting the network of choice and connecting your wallet. After heading to the "Airdrop Token" page, select the "Airdrop" tab.
Next, choose whether you want to distribute an equal amount of tokens to each holder regardless of their current token holdings. Or, if you would like to airdrop an amount that is proportional to the token holder's balances (pro-rata distribution).
Insert the contract address of the token based on which you wish to Airdrop funds to its holders. Please note that the Airdrop will only work, if the base token has less than 5,000 holders. If the base token has more holders, the transaction will not work. Get in touch with us in this case.
Then insert the amount that each holder will receive.
After that, specify the contract address of the token that you want to airdrop to holders. You have to hold a sufficient amount of this token in your wallet so that you can airdrop it.
Once the information is extracted from the network, you will see the list of addresses that will be receiving the token, alongside the amounts. Double check whether everything is correct and proceed to approve and send the transaction.
Once the information of holders balances is retrieved from the network, you will get the list of recipient addresses, alongside the amount they will receive based on their holdings. Double check whether everything is correct and proceed to approve and send the transaction.
Review details and click continue. You will then be redirected to the next page where you will find the list of recipients and the amounts. You can decide to manually remove certain addresses from receiving the distribution of funds.
You can then review all details in the summary section. Once ready, click on "Approve" and sign the transaction in your wallet to give access to the token.
After the transaction is processed and you give access of tokens to the contract, click on "Send" and the tokens will be sent to holders after you confirm transaction in your wallet and pay fees. You will get a message that tokens were successfully sent. You can copy the list of addresses and amounts that were distributed to token holders and store it separately for your own reference.
Mainnets:
Ethereum
BNB Smart Chain
Base
Avalanche
Fantom
Optimism
Arbitrum
Blast
Polygon PoS
Testnets:
Ethereum Sepolia
Avalanche Fuji
Base Sepolia
Blast Sepolia
Optimism Sepolia
To 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.
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.
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.
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.
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
The Token sale sharing/iframe embedding section under the Token sale information provides a code snippet that you can easily attach the public sale page to your website via an .
For an additional , you can enable custom theme for your token sale page. This allows you to customize the colors of the token sale investor interface to fit your branding/website theme.
You can see an example of how the iframe is implemented in this blog post. Of course you can edit the parameters such as height and width.
This way you can create a website that describes your project, team, roadmap, use of proceeds etc. and embed the according to your own branding without the need to send investors to a separate website.
If you look for guidance on the to manage investor on-boarding, please go to .
Therefore, Token Tool lets you choose any custom token on the selected chain as a payment method. The most common choice here is a stable coin such as .
Of course, you are free to use any stable coin or custom token. Just make sure that the payment token is easily accessible for your investors. You can also include a DEX in your token sale for convenient exchange from cryptocurrencies such as ETH to the payment token / stable coin of your choice.
Ethereum:
Polgyon:
Avalanche:
Binance Smart Chain: USDC is not on BSC directly but there is a pegged USDC version and other stable coins such as Binance USD (BUSD)
Make sure to only enter the contract address in Token Tool, not the full block explorer link. Please note that on the respective testnets the token contract addresses are different, you can look up .
Only whitelisted addresses can invest: when you select this option, an investor can only invest from an address that you whitelisted previously. This option is suitable for token sales where investor is necessary e.g. for regulatory reasons. This is usually the case in a Security Token Offering (STO). The whitelisting of addresses is done under the functionality.
The Shareable token sale link is the page that you need to share with your investors so they can invest. It normally makes sense to include this page on your existing website via an . Then you can display your project details, team, roadmap etc. on your website and have the token sale page through which investors invest integrated directly.
You can edit your token sale up until 10 minutes before the start of the token sale in the section. It is not possible to make edits to the token sale once the tokens have been transferred to the sale contract.
Once you create the token sale successfully it's important that you send tokens to the token sale contract under the function or via standard ERC20 transfer. Otherwise the sale will fail upon start time.
If you selected the option to (pro-rata) based on the token holder balances, insert the total number of tokens you wish to be airdropped pro-rata across all holders based on their holdings.
Source code verification is supported for contracts, contracts, contracts, and contracts.
To verify token contract source code for a DeFi Token or Security Token, go to and select your token or paste its contract address. Then click the Verify Source Code button:
Click the "View verified contract" to see your token contract on the explorer. :
Add a liquidity pool to a decentralized exchange. This feature may not work for tokens that have “” features activated.
Automate Payments allows you to conduct on-chain payments with any custom token. Usually stable coins like USDC or USDT are used for payments. But any other tokens can be used as well.
Automate Payments lets you automate processes like asset servicing of bonds, stocks, funds and other financial assets. You can also conduct share vesting, salary payments and much more in an automated way.
Many wallets don't have a convenient way to show which tokens you hold under a particular address. Therefore Token Tool provides a user-friendly way to track your token portfolio including all your custom tokens.
The portfolio tracker currently supports tokens and NFTs on the following mainnets:
Ethereum
Polygon
BNB Chain
Avalanche
Fantom
Arbitrum
Optimism
Base
Polygon zkEVM
Blast
Peaq
When you change the settings to show testnet tokens, the following testnets are supported:
Ethereum Sepolia
Polygon Amoy
Binance Smart Chain Testnet
Fantom Testnet
Arbitrum Sepolia
Optimism Sepolia
Base Sepolia
Blast Sepolia
In the profile settings, you have the option to make the following changes:
Profile avatar: You can choose an NFT from your wallet as your profile avatar.
Add email: By adding your email address, you can benefit from monthly updates and exclusive discounts.
Token portfolio blacklist: In case you have tokens in your portfolio that you don't want to see (e.g. tokens you received via a spammy airdrop), you can blacklist them from the portfolio view or via the search bar.
Network settings: Activate the "Show tokens on testnet" button to show the tokens that you hold on testnets. Note that either mainnet or testnet tokens are shown, never both. If you want to see the testnet portfolio of a third-party address (i.e. not your connected wallet) you have to change this setting to testnet on your portfolio first, after that you can also see third-party testnet portfolios.
Total value: USD value of all tokens in your portfolio on supported chains, excluding tokens you blacklisted. Note that on tokens that are not listed on any exchanges, publicly accessible prices are not available. In those cases you need to input a price manually to reflect these tokens in the total USD value.
As a user you can submit additional information about your profile and receive a 15% discount code in return. Once your wallet is connected, a red dot will appear for incomplete profiles. You can check your profile status in the address menu of your connected wallet.
You will see the percentage of completion next to "Profile". Click it to complete your status to 100%. You will be redirected to the Track Token Portfolio page in order to submit your email address. Click on the red "Add email" button and submit your address in the provided section.
Verify your wallet address by signing a message with your wallet. After that, provide your email address and click on save to receive a confirmation code to your email address. Insert the code you received to confirm your email and click verify.
Your email button should now show as verified, and the profile completion status at 80%. You can change your email address at any time by simply clicking the same button.
The last step consists of adding an avatar to your profile. Click on "Customize avatar" and select any NFT you desire from the ones available in your wallet. Click on save and your profile should be 100% complete.
Under Tokens, you can get an overview of all tokens in your connected wallet on the chains that are supported by Token Tool.
The following parameters help you to navigate your portfolio:
Token: Here you can see the token symbol. Additionally, you have the option to narrow down the displayed chains by clicking on the grid.
Balance: The number of tokens held in your wallet.
Price ($): Either the price for which a tokens trades on exchanges or the price you put in here for tokens where no publicly accessible price is available.
Value: Value of all tokens of a specific kind in your portfolio (calculated simply by balance times price).
Features: Displays which settings were selected when creating the token. This works for all tokens that were created with Token Tool. For tokens that were created through other methods, the features will usually not be displayed properly.
Settings: From here you can blacklist the respective token. The token will no longer be displayed in your portfolio and will not be part of the portfolio value calculation. You can take tokens off the blacklist again via the Portfolio Tracker settings Additionally, you can copy the contract address of the token and open the respective block explorer page of the token.
In the NFT section, you can easily view your NFTs. By clicking on each NFT, you can view its details, including its contract address, token ID, and description. You can also access the NFTs on the Opensea and Rarible marketplaces by clicking on the links provided.
The Token Tool's swap function provides a user-friendly platform for exchanging tokens across a wide range of networks, including Ethereum, BNB Smart Chain, and others. Token Tool integrated with third-party solutions to ensure secure, efficient, and transparent token swaps. A fee of 0.5% is paid to Token Tool upon using the swap function.
To use the Token Swap function, follow these steps:
Connect Your Wallet: Connect your preferred wallet.
Choose Tokens to Swap and Network: Choose the tokens you wish to swap and the networks on which you wish to swap them. Then specify the amount. The interface will display clearly the details about the exchange rate, fees, and the total amount of tokens to be received.
Approve Tokens for Swapping: If you haven't done so previously, you may need to approve the tokens for swapping directly in your wallet:
Initiate the Swap: After reviewing all details, click the 'Swap' button to initiate the transaction, and then confirm it in your connected wallet:
The transaction will be processed on the blockchain, typically within a few minutes depending on network congestion, after which the swapped tokens will appear in your wallet:
You can then track your transaction status in the transaction history section:
A payment stream allows you to stream payments of a particular token to one or many recipients in an automated way.
As a first step you need to create a payment stream collection. This is a smart contract that will contain all your individual streams for different recipients of the same token.
The underlying technological concept is a non-fungible token (NFT). Therefore the basic attributes are similar:
Name: this could be something like "ABC Corp salaries 2024USDC"
Symbol: this is a short form of the name, e.g. "ABCsal24U"
Token contract address: this is the contract address of the token that you want to stream. Note that within one collection you can only stream one particular type of token. If you pay salaries in different tokens / currencies, you will need to create a separate collection for each currency.
After you created the payment stream collection, you will see it in the overview. From there you can add individual streams to the collection.
From the Manage Stream Collection part you can add and manage streams. You can also top up the collection with tokens from here and withdraw tokens that haven't been transferred to the recipients, yet.
For each individual payment stream you need to define:
Recipient address: this is the address that will receive the tokens from this stream
Payment start time: from this moment onward the payment stream will be calculated. This can also be in the past. Let's assume an employee started on October 1st and you only create the stream on October 20th, you can date it back to October 1st. That way the employee will receive the full payment for October.
Payment rate per average month: this is the amount of tokens that is streamed per month. Note that this amount is broken down in the background into a payment per second. Therefore smaller rounding errors on daily / weekly / monthly values may occur.
It's important to note that for the token recipients to actually get their tokens someone needs to click one of the two options:
Transfer tokens to recipients: this will transfer all the tokens that have been streamed to this moment to the respective recipients. All tokens for all streams of this collection will be transferred.
Transfer: this will only initiate the transfer of tokens for all streams of the particular recipient that you clicked on.
Anybody can click the transfer buttons. Note that when you do that, you will also pay the gas fees for the respective transactions.
If the stream collection doesn't have enough tokens, the transfers will not happen. You will need to add a sufficient amount of tokens to the collection and initiate the transfer again.
The streaming will however continue even if there isn't a sufficient balance. This means you can always catch up with the transfer after you topped up tokens.
This function lets you create NFTs (non-fungible tokens) in the ERC721 token standard (and their equivalents on other EVM chains). It also allows NFT buyers to mint and buy NFTs in a convenient way directly from the NFT creator with no middleman involved.
There are two ways to create NFTs. When creating a collection NFT, you will have one contract address under which you can have a virtually unlimited amount of tokens, each with a different media file (image or video) and custom metadata. When you create a single asset NFT, you can have many tokens but they all show the exact same media file (image or video) as the underlying asset.
To get started with Create NFT, connect your wallet and select the blockchain of your choice. Create NFT lets you define the following parameters under collection minting (note that you will add your media file(s) and metadata at a later point, this step is just to create the NFT contract:
Name: This is the name of your NFT collection, use something descriptive such as Beautiful Mountains 2022.
Symbol: This can be something shorter such as BM2022.
Set Custom NFT Contract Name: Sets a custom name for the NFT contract source code. The custom name cannot be changed after the initial NFT contract creation.
Enable public minting: If you activate this, users other than you can mint NFT after initial NFT creation. If this remains disabled, only you as the NFT creator can mint this NFT.
Start time: From this time on your NFT can be minted. If empty, there is no time limit and NFTs can be minted immediately.
End time: NFTs can be minted until this time. If empty, there is no time limit.
Mint price: This is the price to mint one NFT specified in the native cryptocurrency of the selected blockchain (e.g. ETH if Ethereum has been selected, MATIC if Polygon has been selected etc.). If the price is set to 0, minting is free. Fees are paid by the wallet that is minting the NFT and are transferred directly to the creator’s wallet. Token Tool does not receive the mint price.
Enable minter whitelist: Restricts NFT minting to whitelisted addresses only. As the NFT creator you can always mint, all other minters have to be added to the whitelist via Manage NFT.
Max NFT mint amount per user: Maximum amount of this NFT that can be minted per user. If set to 0, there is no limit and an infinite number of NFTs can be minted per user. The NFT creator can always mint an unlimited amount of the NFT.
After you have specified these details click on Create NFT and sign the transaction from your wallet.
Once you have created the NFT contract, a success modal appears. Save both the URL of the NFT minting page and the NFT asset address (also called NFT smart contract address). You will need them later.
After you have saved the URLs, go to Manage NFT in order to add media via direct upload or by providing metadata links. NFTs can only be minted after media has been added. If you try to mint NFTs before you have added media, the minting will fail with an error.
Define the following parameters of your single asset NFT:
Image file or image URL: This is the image that you would like to tokenize. It is recommended to upload your file to make sure the image is always available. Uploading will happen to IPFS. If you provide a media URL you will have to make sure that the media file is always available and its URL does not change, otherwise your NFT will not display anything.
Name: This is the name of your NFT, use something descriptive such as Berlin wicked art exhibition ticket 2023.
Symbol: The symbol can be something shorter such as BA2023.
Description: Describe what the NFT is about, potentially say something about the creator or the collection.
Enable public minting: Enables NFT minting for everybody after initial NFT creation. If this stays disabled, only the NFT creator can mint this NFT.
Start time: From this time on your NFT can be minted. If empty, there is no time limit and NFTs can be minted immediately.
End time: The NFT can be minted until this time. If empty, there is no time limit.
Mint price: This is the price to mint one NFT specified in the native cryptocurrency of the selected blockchain (e.g. ETH if Ethereum has been selected, MATIC if Polygon has been selected etc.). If the price is set to 0, minting is free. Fees are paid by the wallet that is minting the NFT and are transferred directly to the creator’s wallet. Token Tool does not receive the mint price.
Max NFT mint amount per user: Maximum amount of this NFT that can be minted per user. If set to 0, there is no limit and an infinite number of NFTs can be minted per user. The NFT creator can always mint an unlimited amount of the NFT (up to the global maximum).
Global max mint amount: This is the global total maximum supply of this NFT. If set to 0, there is no limit and an infinite number of NFTs can be minted.
After you have specified these details, you can create your NFT. Your wallet will notify you and you will be asked to confirm the transaction.
After the NFT has been created successfully, you will see a modal with a NFT minting page and the NFT asset address which links to the block explorer.
The NFT minting page is particularly important. From here you can view your NFT and mint it. You can also send your audience to this page so that they can mint your NFT.
Share this page with users who you want to make NFT minting accessible to. You can also embed this page into your website via an iframe.
In case you missed the modal or forgot to save the NFT minting page, you can go to Manage NFT to see and manage all your NFTs.
The Create Token Locker function allows you to create a token lock-up through a smart contract that is immutable. This way you can lock up founder tokens or team tokens until a defined date. You can also lock liquidity pool or LP tokens.
This function therefore allows you to prove to third parties such as investors that you have locked up a certain amount of tokens and don't have access to them and cannot trade them until a pre-defined date.
To create a new token locker, select the blockchain of your choice and click the contract address input field. A list of all the tokens in your wallet opens. You can also directly paste a token contract address in the input field.
Once you have selected a token, you can proceed to create a locker for it.
Click on "Lock TOKEN SYMBOL" to enter the flow and then "Create locker".
You can verify your token locker source code using the "Verify Source Code" button. In the case unsupported tokens were sent to the token locker contract, you can withdraw them using the "Recover unsupported tokens" button.
After you clicked "Create locker", click on "Specify token lock" to finalize token locking. If the token has the property "Requires Whitelisting", you must whitelist the lock address in the Manage Token feature. You must also add the locker address to the exclusion list in the Manage Token section if you have a feature such as "Max limit per address" enabled on your token, otherwise you wouldn't be able to fund the lock contract with an amount higher than the limit you have set on the token.
A modal opens where you can put in the token amount that you want to deposit in the locker and then time until when the tokens will stay locked.
After you specified the details, click "Approve". With this you give Token Tool permission to send the specified amount of tokens from your wallet to the token lock contract.
After you gave approval, confirm by clicking "Lock". This is your last opportunity to check if you set the right parameters. Do this carefully, as you will not be able to withdraw tokens from the locker until its expiry!
After the locker is successfully set up, you will see the following confirmation screen.
Bookmark or save the Lock address. This is important so that you can withdraw your tokens after the locker expired. One way to find the lock address in case you forgot to save it is to look at the holders of the token in a block explorer. You can usually identify the lock contract by the number of tokens or the date they were transferred.
Clicking "Relock token" will let you change the unlock date to a later time / day, but the new lock date needs to be set after the current lock date.
Note that you can also create another token locker for the very same token from scratch in order to lock another batch of tokens (unless of course you already locked all tokens that you have control of).
When you click "Share" you will see the following view. There is no Bitbond logo, you can share the URL publicly to prove that the tokens are locked.
Once the unlock date and time are here, your tokens will still be in the lock contract. In order to transfer them back to your wallet, you need to go through the same steps as creating a new locker. However, this time make sure to enter the contract address of the token locker. You can also find an overview of already existing lock contracts that are available on the connected wallet. Click the settings wheel icon to manage the selected locker.
In the next screen click "Lock TOKEN SYMBOL".
There is now a "Withdraw" button.
Click "Withdraw" to transfer the tokens from the locker contract back to your wallet.
After the tokens are withdrawn successfully from the lock contract, the "Withdraw" button becomes inactive.
Once you created your token locker, you will have the possibility to verify your token locker contract. This is helpful so that DeFi Tools such as DEX Screener, could identify your locked token contract and potentially display that as part of your token information directly on their interfaces.
To verify the source code of the token locker contract, simply click on the "Verify Source Code" button. Similarly to token contract verification under Manage Token, follow the steps be choosing the paid options such as removing Bitbond branding or add your own custom branding in the code, and the free version by keeping Bitbond branding in the smart contract code.
This action cannot be undone, make sure to choose your desired option with care. Then proceed by clicking "Submit" and paying fees in your wallet. You can find details about the costs for the different options in our pricing page. Once the transaction is complete, your locker contract source code will be verified on the block explorer:
When a buyer buys an asset from the seller, there is usually counterparty risk involved – especially in over-the-counter (OTC) trades. Either the buyer makes the payment as a first step and waits for the delivery of the asset, or the seller delivers the asset and waits for the payment.
In both cases the counterparty may go bankrupt or simply disappear before the transaction is fully settled. On-chain DvP settlement solves such issues by allowing instant settlement between parties through so-called atomic swaps.
Programmatic and instant delivery vs. payment (DvP) settlement allows you to eliminate the counterparty risk from token transactions. The DvP contract that you can configure acts as an escrow. Each party will only receive their tokens if both parties have transferred their respective asset to the DvP contract.
The Delivery versus Payment (DvP)Settlement function on Token Tool ensures a simultaneous exchange of assets and payments, providing a secure and efficient settlement process. This feature guarantees that the transfer of tokenized assets and the corresponding payment occur at the same time, minimizing risks for both buyers and sellers.
Key Features and Security
Simultaneous exchange: Ensures the asset delivery and payment occur in a single, atomic transaction.
Smart contract enforcement: Utilizes smart contracts to enforce the terms and conditions of the DvP, providing a transparent and immutable transaction record.
Risk mitigation: Minimizes counterparty risk by ensuring that both parties fulfill their obligations simultaneously.
Below is a step-by-step guide on how to use the DvP settlement function.
Set the token price
Navigate to the DvP section and connect your wallet. Make sure you're connected to the right network on both Token Tool and in your wallet.
Choose the delivery token (the token that is being sold to a buyer) via the drop-down or by pasting the smart contract address. Then click continue.
Choose the payment token from the available options or enter a custom token address. Ensure that the token does not have holder rewards, transaction fees, or burn fees to be compatible with the DvP settlement function. If these features are available, make sure you set the rate to 0 before creating the DvP contract.
Set investment details
Specify the price, indicating how many delivery tokens the buyer will get for one unit of the payment token. For example, 1 EURC = 100 NNT.
Define the minimum and maximum investment amounts in the payment token (e.g., EURC). If no limits are required, set the value to 0.
Set the DvP start time by selecting the date and time from the calendar.
Set DvP Duration
Define the DvP duration in days, which will automatically calculate the DvP end time.
The DvP contract owner address is by default the connected wallet. You can also change the DvP owner address to specify another wallet address that will manage the DvP settlement contract.
Agree to T&Cs and create DvP settlement
Agree to the Token Tool Terms & Conditions by checking the respective box.
Click on the "Create delivery vs payment" button to finalize and create the DvP contract.
Confirm transaction in your wallet to pay fees. Once the transaction is processed, you will receive your DvP settlement contract details on the Token Tool Interface.
The DvP function on Token Tool is an essential feature for secure and efficient token transactions. By following the outlined steps, users can easily set up and manage DvP transactions, ensuring a seamless and risk-free exchange of digital assets and payments.
Once the DvP contract has been created and the transaction is processed, you will receive a pop-up modal displaying the DvP contract address and the blockexplorer link of the transaction. Make sure to save the DvP contract address as you will need to be able to manage the DvP contract:
To manage an existing DvP contract, simply go to the Delivery vs Payment page on Token Tool and paste the DvP contract address under the "Display existing Delivery vs Payment" section.
After that, click "Continue" and you will be redirected to the Delivery vs Payment page. This page serves as the DvP contract management section for the DvP contract owner (I.e. the seller), and as the buyer interface through which the token can be bought via the DvP contract:
In order for the buyer to be able to buy tokens, the DvP contract must first be topped up with the desired token amount. To do so, scroll down to the "Manage DvP" section and click the "Top up" button:
Insert the amount to be topped up and then click "Submit". You will need to approve access to tokens in your wallet in an intial step. Once the approval transaction is processed, click "Submit" again and approve approve the transactionransaction in your wallet to finalize the top up.
After the transaction is complete, you will receive a success message and the DvP contract balance will be updated accordingly:
The DvP contract is now ready for buyers to buy the tokens. You can redirect buyers to the DvP Page Link for them to start buying your tokens. They can simply insert amount to buy and confirm the transaction in their wallet after clicking "Buy".
When a buyer buys a token from the DvP contract, the transaction is settled instantly via so-called "atomic swaps". This means that, after the transaction is processed by the network, there will be a simultaneous exchange of assets. The seller will automatically receive the funds to the wallet address owning the DvP contract; and the buyer will receive the tokens from the DvP contract address to the wallet connected.
allows you to add a text entry to a blockchain. This is done by sending a transaction and attaching metadata to it.
Currently the Chain Record function supports sending of cryptocurrencies. Going forward the sending of custom ERC20 tokens will also be supported in order to attach metadata to transactions of custom ERC20 tokens as well.
As a securities registrar you can use this function in order to use blockchains as an immutable store of registry data in an anonymized as well as non-anonymized way.
To add a chain record you need to specify:
Amount: native cryptocurrency of the selected chain (i.e. ETH, MATIC, AVAX or BNB) that you are sending in order to add the chain record. If you only want to create the entry without actually sending a high dollar amount, you can simply put in a very small amount such as 0.00001
Message content: use any type of text based content – this could be plain text such as "hello world" or a hash such as the MD5 hash of "hello world" which is 5eb63bbbe01eeed093cb22bb8f5acdc3
Recipient address: address to which the transaction is sent
Here is an example configuration with plain text:
After the record was created successfully, you can see this confirmation modal:
To see the content on chain, select "Click to see More" in the bottom left of the explorer page. Then scroll to the bottom where it says "Input Data" and then from "View Input As" choose UTF-8. You will see all content the way you entered it:
The Faucets function allows you to claim free testnet coins once every 12 hours. This feature is designed to facilitate easier testing and experimentation within Token Tool without requiring users to acquire testnet coins through external sources. Of course, you can use the testnet funds you claim to explore other dApps and DeFi protocols as well.
In order to be able to claim free testnet tokens, you need to do two things:
Complete your by at least 80% – this means you will need to verify your wallet address and add your email. You're not required to select an avatar.
Hold a minimum balance of 0.001 on the respective mainnet (so ETH or AVAX or BNB etc.).
Once complete, you can return to the Testnet Faucet page to claim your testnet coins on the desired network.
Simply connect your wallet, choose your designated network, and click the "Claim" button. You will receive the testnet funds to the address of the wallet that was connected once the transaction is processed. You cannot claim more than once every 24 hours.
Supported testnet faucets:
Under you can see further details about your NFTs, upload media and metadata and manage minter whitelists.
For single asset NFTs you will see an overview with key data under Manage NFT. This includes the contract address of the NFT and the NFT minting page from where the NFT can be minted. There are no further edit options for single asset NFTs.
For collection NFTs there is rich functionality to add media and metadata to the NFT. If you have activated the minter whitelist, you will be able to add and remove addresses from here as well. The whole process consists of the following 6 steps.
When you click the input field under Manage NFT, you will see a list of NFTs in your wallet. You can click the one you would like to manage. Note that after you create a new NFT and haven't minted any tokens of it, the NFT will not appear in the drop-down list, yet.
Open it by clicking at the transaction hash and then go to Internal txns. The address that's highlighted in the screenshot is the NFT contract address. Copy it and paste it into the field under Manage NFT to enter.
The first function that you will see under Manage NFT is the Verify token button.
Clicking this button will trigger the verification service for the smart contract in the main block explorer of the selected chain (e.g. Etherscan or polygonscan). When the token contract is verified, everybody can read and verify the smart contract of your token.
Note that in some cases for older NFTs the verification might not work because we have updated our smart contracts in the meantime. If you need your token contract to be verified nevertheless, contact us under one of the listed channels. When you send us the contract address of your token we will be able to trigger the contract verification manually.
The Verify token button remains visible after the verification has been completed successfully.
When you use single asset minting, you have already uploaded or linked your media file in the Create NFT step. With collection, NFTs adding media and further attributes is a separate step that you have to do under Manage NFT. This section describes how to do that.
Equally to single asset NFTs you will want to add one or most likely multiple media files in one of the following formats: img, jpg, png, gif or mp4. This is the media that you show on your NFTs.
You can have the media files on a regular web server. Then you will need to have the URL to each media file.
However, instead of hosting your media on a web server, we recommend uploading your files to IPFS. This way many other nodes will have a copy of your media which reduces the risk that your NFT will end up without its core graphical part.
Therefore, prepare to upload everything to IPFS by storing all media files in one folder and use ascending numbers as file names. If your media files are PNGs for example, name them 0.png, 1.png, 2.png etc. Use the same naming convention for other file types, e.g. 0.mp4, 1.mp4, 2.mp4 etc.
Each NFT needs to have a description. Describe what can be seen in the media or send a message to your audience. If the NFT represents a certain right or loyalty points, you add basic terms or a web address to further information to the description.
You can see that the image
attribute contains an IPFS URI for the media file. If you want to open the image in a browser, you can do it via this link
The fact that the JSON file includes the path to the media file means you can only complete your JSON files after you have uploaded your media files to IPFS. You will learn how to do that in the next section.
Just like you should have all your media files readily prepared in one folder, you will also need to have all your JSON files in one folder. Name them in a similar way to the media files: 0.json, 1.json, 2.json etc. You can skip the .json
part in the file name but we do recommend to use it so that it's easier to see the file type.
The most important aspect here is that both, your media files and your JSON files are in a folder (aka directory).
This could for example be the URI to your folder with image files (note that is just illustrative and not a real URI):
ipfs://qwertzuiop
Then this is what the image URIs will look like:
ipfs://qwertzuiop/0.png
ipfs://qwertzuiop/1.png
ipfs://qwertzuiop/2.png
The qwertzuiop
part is called the CID (content identifier). When you upload media files as a folder, the CID for each file will be the same and only the last part of the URI changes.
The same goes for the JSON files where the folder would look something like this:
ipfs://asdfghjk
The list of JSON files would look like this:
ipfs://asdfghjk/0.json
ipfs://asdfghjk/1.json
ipfs://asdfghjk/2.json
The content of a fairly simple JSON file would look like this:
When you create the JSON files, it's up to you whether you customize the description and attributes for each NFT. You will however have to make sure to have the correct image URI in each JSON metadata file.
There are different ways to add media and metadata to your NFTs. The most important distinctions are Add one and Add many. If you have a larger collection you can go straight to Add many.
When you click Add one, you are adding media files to your collection one by one. You can add a custom description for every media file that you add.
You can also add the same image several times. One collection could for example consist of 12 NFTs. If you want to use 3 different images and for each image you want to have an equal amount of tokens, you will need to upload each image 4 times.
After you click the Submit button you will see this view:
It's important that you click Confirm addition. Only after you have done that and confirmed the transaction from your wallet, the metadata will be added to your NFT smart contract.
When you mint the NFTs later, the media that you added first will also be used for the first NFT. The minting follows the first in first out principle.
Instead of uploading the media files (images, videos etc.) via Token Tool you can also insert a link to your metadata that you uploaded to IPFS previously. For this you need to enable the I have a metadata link toggle:
The input field accepts two formats. One is a full web URL (using the example JSON structure from above):
A direct IPFS URI without the https part is however also sufficient:
You can also add and mint NFTs as you go. This means you can add one metadata link and then already go ahead and mint the NFT. After that you could add one more metadata link and then mint this NFT and so on. You are not required to add all metadata links for your entire collection at once.
If you have a large collection of dozens or even thousands of NFTs using the Add many option is much more efficient.
Here you can simply paste the full list of JSON URIs at once:
After you click Submit you will have to confirm this action from your wallet. Note that if you add hundreds of line items at once, the whole process is done in batches of several dozen each (the exact number depends on the used blockchain). You will need to confirm each batch from your wallet separately.
Don't forget to Confirm addition after you submitted the the list:
After you added the NFT metadata to your NFT smart contract with this method, you can either continue with managing the minter whitelist or go straight to minting if you didn't activate the whitelist requirement.
If you activated the minter whitelist at the time of NFT creation, you need to add addresses to the whitelist. You can add them one by one in the input field or upload an entire CSV file. You can also remove address from the whitelist again.
Now you (and your audience) can finally mint NFTs. Open the page that is linked to from the NFT minting page. When you scroll all the way down you will find the minting button:
As the NFT creator you can always mint NFTs (even if you activated the whitelisting). You are also not limited by the maximum amount of NFTs per address. The only limit you have as the creator is the global maximum amount of NFTs.
For NFT collections the global maximum is simply equal to the amount of media / metadata entries that you have already added to the NFT.
Other users will only be able to mint NFTs if they are on the whitelist (only if this was activated) and as long as they don't mint more that the maximum amount of NFTs per user.
The Bitbond Token Tool API is available for users of the Token Tool Enterprise plan. The API is designed for flexibility and can be utilized in tandem with an extensive range of key custody and wallet solutions.
To deploy a new ERC20 token contract in a programmatic way via the API, your chosen wallet should possess the capability to programmatically receive and sign a contract call transaction with a data payload. In the context of deploying a new token, the recipient of this transaction would be the Token Tool contract with the payload itself (or calldata
) containing details pertaining to the newly minted token contract.
Many leading wallet solutions make the integration significantly easier by via a SDK or UI to provide the smart contract ABI. This allows smart contract functions to be called directly. Operators are able to review the details of the transaction prior to giving approvals and custodians can apply predetermined organisational governance policies.
Token Tool is engineered with an API-first approach, ensuring a seamless and direct interface for all interactions. Just as the ERC20 token lifecycle actions allow direct API interactions, the same applies to other features offered by Token Tool. These include NFTs creation and management, token sales, and payment automation contracts – all of which are readily accessible and manageable via the Token Tool API.
After completion, you will receive an email with a discount code. Follow the instructions to get your 15% discount code. You can in under 5 minutes if you don't have any NFTs in your wallet, yet.
Actions: Quick access of the functions and .
Access Token Tool: Navigate to the Token Tool platform and go to the "" section.
Select the Swap Tab: Once your wallet is connected, select the '' tab to access the token swap feature:
From there you can see a block explorer link to the transaction. This is the link to the example above
You will need to paste the NFT contract address into the field. If you haven't copied it from the success modal after you created the NFT (see ), you can look it up under your wallet address in a block explorer. You will see a recent "Deploy contract" transaction.
This is common practice and we recommend doing this. Here is an of a verified NFT contract. Note that token verification may not always work on Fantom and testnets.
Moreover, most NFTs also have further attributes in a standardized format. In the screenshot you can see the attributes of on OpenSea. They include Background, Clothes and other attributes.
If you want to add similar attributes, you will have to use a separate JSON metadata file for each NFT. The file has to follow the format. Here is the for the Bored Ape #7292 above:
There are several ways to upload data to IPFS. You are free to use whichever tool you want. Here is a selection of tools that let you do that (note: if you're an enterprise customer of Bitbond we can do the upload for you): , , and .
Once a token contract has been created, you can manage its lifecycle via minting, burning, transferring, and other functionalities. These actions can be readily accessed and triggered both programatically and through the UI by invoking the corresponding functions of the token contract. covering different key custody solutions as well as a generalized solution using only the ethers.js
library.
This function allows you to send NFTs to many recipients (also called multisend NFT) in one transaction. The NFTs that you want to send have to be in the wallet that is connected to Token Tool.
After selecting the NFT from the drop-down (or pasting in the contract address of the NFT) paste a list of recipient addresses and the respective token IDs (plus the respective amount in the case of ERC1155 tokens) in the Select token field.
The list should include each recipient address and the respective token ID separated by a comma. Make sure there are no spaces. Each address has to be on a newline like in this example:
After you click Continue you will be asked to approve Token Tool to send NFTs on your behalf. You can control this approval by determining the maximum amount of NFTs that Token Tool can send. Your tokens will be sent to batches of 150 addresses. If there are more than 150 addresses in your list, you will have to approve each batch separately.
After sending the NFTs is completed, you can also revoke the permission for sending from Token Tool via Metamask.
When sending NFTs, different error messages can appear:
Error 1: Invalid wallet address
Error 2: Duplicated address with Line X
Error 3: Incorrect punctuation mark. Use commas between addresses, TokenID and amount and no spaces in-between
Some quick actions can be selected to resolve duplicate addresses:
Keep duplicated addresses
Delete duplicated records
Other errors have to be fixed manually or can be deleted automatically by using the “Delete incorrect records” function.
Token vesting allows you to vest a certain number of tokens to a recipient over a pre-determined time period.
You can also set up a cliff. A cliff means that tokens already get allocated during the cliff period but can not yet be retrieved by the recipient.
As a first step you need to create a token vesting collection. This is a smart contract that will contain all your individual vestings for different recipients of the same token.
The underlying technological concept is a non-fungible token (NFT). Therefore the basic attributes are similar:
Name: this could be something like "ABC Corp shares vesting"
Symbol: this is a short form of the name, e.g. "ABCsharesVest"
Token contract address: this is the contract address of the token that you want to vest. Note that within one collection you can only vest one particular type of token. If you want to vest different tokens / shares, you will need to create a separate collection for each token.
After you created the token vesting collection, you will see it in the overview. From there you can add individual vestings to the collection.
From the Manage Token Vesting Collection part you can add and manage vestings. You can also top up the collection with tokens from here and withdraw tokens that haven't been transferred to the recipients, yet.
For each individual token vesting you need to define:
Recipient address: this is the address that will receive the tokens from this vesting
Start time: from this moment onward the vesting will be calculated. This can also be in the past. Let's assume an employee started on October 1st and you only create the vesting on October 20th, you can date it back to October 1st. That way the employee will receive the amount of shares from October.
Cliff period end time: this is an optional setting. If you leave this empty, there will be no cliff on this vesting and tokens can be transferred to the recipient according to the vesting schedule immedialtely. If you do specify a cliff, the tokens can be transferred to the recipient only after the cliff period end time.
End time: this is when the entire vesting ends. Lets assume you want to vest 400 tokens over 4 years. Then each year 100 tokens will be vested per year. After the 4 years are over, all 400 tokens have been vested.
Amount: this is the total amount of tokens that will be vested to a recipient over the vesting period (the time between the start time and end time).
It's important to note that for the token recipients to actually get their tokens someone needs to click one of the two options:
Transfer tokens to recipients: this will transfer all the tokens that have been vested to this moment to the respective recipients (and where the cliff has ended). All tokens for all vestings of this collection will be transferred.
Transfer: this will only initiate the transfer of tokens for all vestings of the particular recipient that you clicked on.
Anybody can click the transfer buttons. Note that when you do that, you will also pay the gas fees for the respective transactions.
If the vesting collection doesn't have enough tokens, the transfers will not happen. You will need to add a sufficient amount of tokens to the collection and initiate the transfer again.
The vesting will however continue even if there isn't a sufficient balance. This means you can always catch up with the transfer after you topped up tokens.