Skip to main content

What You Can Do

The Permissions module provides native, chain-level access control for any token on Injective. It enables institutions, banks, and regulated entities to issue assets with built-in compliance without deploying custom smart contract infrastructure.

Supported actions

How roles map to real-world use cases

Contract hooks

The module supports Solidity or WasmVM hooks that are called on every transfer. This enables custom compliance logic like AML threshold checks, KYC verification, sanctions screening, or bank-to-bank transfer restrictions. Circle uses this pattern for USDC compliance on Injective (reference implementation).

Getting Started

Architecture and Concepts

Namespaces, roles, actions, policy managers, and how RBAC works at the chain level.

Launch a Permissioned Asset

Step-by-step guide with CLI and TypeScript examples.

Permissioned MTS Tokens

Add permission controls to EVM-deployed tokens using the IPermissionsHook Solidity interface.

Permissions API Examples

TypeScript SDK examples for all permissions messages.

Technical Reference

  1. Concepts
  2. State
  3. State Transitions
  4. How to Launch Permissioned Assets
  5. Error Codes
Last modified on September 9, 2026