Skip to main content

Token Origins

A token reaches Injective through one of four origins. The origin determines the denom format, which account controls metadata, and what is required to make the token visible to the EVM. Each origin produces a bank denom. The exchange, auction, insurance and permissions modules all operate on bank denoms, so origin does not constrain what a token can later be used for. MultiVM Token Standard describes the underlying model.
Compliance gated assets follow the TokenFactory sequence below with a permissions namespace layered on top. Issue Permissioned Assets covers roles, policies and KYC hooks.

Settings Fixed at Creation

Three properties of a TokenFactory denom cannot be changed once set. Decimals cannot be changed after bank metadata records a non-zero value. Later changes fail with cannot update denom metadata decimals, so an incorrect value is permanent. Admin burn is set by --allow-admin-burn on create-denom and can only ever be turned off. Re-enabling it fails once it is false or has been disabled. While false, no account can burn from another address, and a paired ERC20 cannot burn at all, since an ERC20 burn always reaches the chain as a burn from the holder rather than from the contract. Setting the flag does not by itself authorize the paired contract to burn; that requires the separate native authority described under EVM Access. Admin authority is unrecoverable once renounced. Setting the admin to the zero address inj1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqe2hm49 freezes supply, which is frequently the intent. It also leaves MsgSetDenomMetadata with no authorized sender, governance included, and removes the mint authority that a paired ERC20 depends on.

Creating the Denom

The creation fee is paid by the creator and differs between networks. At time of writing it is 0.1 INJ on mainnet and 1 INJ on testnet. The current value is held in the module params:

Web applications

Injective Hub and DojoSwap both create and manage tokens and can launch a market for them. TokenStation adds airdrop and launch tooling.

injectived

Denoms are namespaced by creator address, which makes creation permissionless and removes name collisions. On mainnet the equivalent values are --chain-id=injective-1 and --node=https://sentry.tm.injective.network:443.

SDKs and contracts

Metadata

Wallets, explorers and Solidity callers read name, symbol and decimals from bank metadata. A denom without metadata displays blank with zero decimals.
The command takes ten positional arguments. The final one permanently disables admin burn when true. Token metadata documents the individual fields.

Supply

Both commands take two arguments. At six decimals, the amounts above represent one token.

EVM Access

A TokenFactory denom is not visible to MetaMask or Solidity contracts until an ERC20 pair is registered for it.
Pair creation requires non-zero supply, so it follows the initial mint. With --erc20 omitted, the chain deploys a MintBurnBankERC20 owned by the pair creator. Supplying a contract address instead is subject to further constraints, documented in ERC20 Module. Registering a pair does not alter the contract, grant it any native authority, or change who controls metadata. It records a mapping between the denom and the address, and nothing else.
ERC20 ownership does not confer native mint authority. The precompile submits native mints with the contract address as sender, so the native check applies to that address rather than to the EVM caller. Without a permissions namespace it must be the denom admin. With a namespace it must hold MINT, and being the denom admin is not sufficient.Burns are stricter. They additionally require allow_admin_burn on the denom, and SUPER_BURN rather than BURN where a namespace exists. See mint and burn authority.

Discovery

On-chain metadata does not make a token appear in dApp frontends, which read from registries. injective-lists supplies logos and labels across Injective dApps, and is documented at Injective List. Symbols are not unique across tokens. Integration instructions identify an asset unambiguously only by network, bank denom and ERC20 address.

Markets

A spot market can be created on the native orderbook once supply exists and metadata is set. See Launch a Market.

Reference

Token Factory

Module capabilities and the scope of admin control.

TokenFactory Messages

Message and state specification, including authorization rules.

MultiVM Token Standard

One balance across the native layer and the EVM.

Issue Permissioned Assets

Compliance gated launches with roles, policies and hooks.
Last modified on October 26, 2026