Skip to main content
This guide walks through issuing a permissioned token on Injective for institutional use cases - regulated stablecoins, tokenized securities, consortium digital money, or any asset that requires compliance controls over who can mint, burn, send, or receive.

What You Get Out of the Box

TokenFactory

Create and admin your own token. Full control over minting, burning, metadata, and admin transfer.

Permissions Module

Role-based access control: MINT, BURN, SEND, RECEIVE, SUPER_BURN. Role managers, policy managers, and global action controls.

Contract Hooks

KYC/AML enforcement via Solidity or WasmVM hooks. Every transfer is validated before execution.

MultiVM Token Standard

One token across EVM and Native Injective. Standard EVM tools (MetaMask, Hardhat) work alongside native modules.

Native CLOB

Launch a compliance-gated secondary market. Only addresses with the right permissions can trade.

Insurance Fund

Native insurance fund for derivative markets. Underwriters absorb liquidation shortfalls.

Consortium Role Mapping

The permissions module maps directly to institutional roles:

Step by Step

1. Create a TokenFactory Denom

This creates factory/{YOUR_ADDRESS}/MYTOKEN. You are the admin with full control. See the token launch guide for UI-based and programmatic alternatives.

2. Set Denom Metadata

This sets the name, symbol, and decimals that MetaMask, Blockscout, and Solidity contracts will read. See token metadata for full details.

3. Create Permissions Namespace

Define roles, assign them to addresses, and optionally attach a compliance hook:
Permission values: MINT=1, RECEIVE=2, BURN=4, SEND=8, SUPER_BURN=16. Combine with addition (e.g., MINT+BURN = 5, SEND+RECEIVE = 10).
See how to launch a permissioned asset for the full walkthrough with CLI and TypeScript examples.

4. Create MTS Token Pair

For TokenFactory denoms, the admin can provide a custom ERC20 contract with hardcoded compliance logic:
Or omit --erc20 for the default MintBurnBankERC20 deployment. See the ERC20 module docs and permissioned MTS tokens for implementing a custom IPermissionsHook.

5. Launch a Compliant Market

Launch a spot market where only permissioned addresses can trade:
The permissions namespace ensures that only addresses with SEND/RECEIVE roles can hold the token - so all market participants are compliance-gated by default. See the market launch guide.

What You Can Build After

  • Oracle-backed collateral - Publish off-chain asset valuations on-chain via a custom oracle provider, then use them as collateral for lending or margin
  • Cross-border settlement - Instant settlement between member banks using permissioned transfers
  • Yield distribution - Periodic MsgMint to distribute yield to verified holders
  • Regulatory seizure - SUPER_BURN for compliance-mandated asset recovery
  • Secondary markets - Compliance-gated spot and derivatives markets on the native CLOB
  • Cross-chain flows - Bridge proceeds via CCTP (USDC) or IBC

Reference

Permissions Module

Architecture, concepts, roles, hooks, and policy managers.

Permissioned MTS Tokens

Implement IPermissionsHook in Solidity for custom compliance logic.

Permissions API

TypeScript SDK examples for all permissions messages.

Stablecoin Reference

Circle’s USDC permissions hook implementation - the production reference.
Last modified on September 9, 2026