Within this document, we’ll explain how to launch a token on Injective. There are two options for launching a token on Injective: bridging an existing token or creating a new token.Documentation Index
Fetch the complete documentation index at: https://docs.injective.network/llms.txt
Use this file to discover all available pages before exploring further.
Bridging
The easiest way to launch a token on Injective is by bridging your existing assets from one of the supported networks that Injective is interoperable with. There are guides in the bridge sections that you can reference to bridge assets from other networks to Injective. Once the bridging process is completed, a token will be created on Injective, which you can then use to launch a market.Creating a New Token
You can also create a new token on Injective using theTokenFactory module. There are multiple ways on how to achieve this.
Using Injective Hub
The Injective Hub web app provides you the ability to create and manage tokens seamlessly, creating a market on Injective’s native orderbook, etc.Using TokenStation
The TokenStation web app provides you the ability to create and manage tokens seamlessly, creating a market on Injective’s native orderbook, launching an airdrop, and much more.Using DojoSwap
Similar to above, you can utilize DojoSwap’s Market Creation module to create, manage, and list your token, along with several other useful features.Programmatically
Using TypeScript
Learn more about launching a token.Using Injective CLI
You have to have
injectived installed locally before proceeding with this tutorial. You can learn more about it on the injectivedpage.injectived installed and a key added, you can use the CLI to launch your token:
- Create a
TokenFactorydenom
0.1 INJ.
ak but the denom naming will be factory/{creator address}/{subdenom}.
- Submit token metadata
- Mint tokens
- Burn tokens
- Change admin
null address to make sure that the supply of the token cannot be manipulated. Once again, the admin of the token can mint and burn supply anytime. The NEW_ADDRESS, as explained above in most of the cases should be set to inj1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqe2hm49.
The examples above are for testnet. If you want to run them on mainnet, do the following changes:
injective-888 > injective-1https://testnet.sentry.tm.injective.network:443 > http://sentry.tm.injective.network:443Using Cosmwasm
To create and manage a bank token programmatically via a smart contract, one can use the following messages found in theinjective-cosmwasm package:
create_new_denom_msg
sender: The address of the account initiating the creation.subdenom: The sub-denomination identifier for the new token.
CosmosMsg wrapped in an InjectiveMsgWrapper, ready to be sent to the Injective blockchain.
Example:
create_set_token_metadata_msg
denom: The denomination identifier of the token.name: The full name of the token.symbol: The symbol of the token.decimals: The number of decimal places the token uses.
CosmosMsg wrapped in an InjectiveMsgWrapper, ready to be sent to the Injective blockchain.
Example:
create_mint_tokens_msg
sender: The address of the account initiating the mint operation.amount: The amount of tokens to mint.mint_to: The recipient address where the newly minted tokens should be sent.
CosmosMsg wrapped in an InjectiveMsgWrapper, ready to be sent to the Injective blockchain.
Example:
create_burn_tokens_msg
sender: The address of the account initiating the burn operation.amount: The amount of tokens to burn.
CosmosMsg wrapped in an InjectiveMsgWrapper, ready to be sent to the Injective blockchain.
Example:
