> ## Documentation Index
> Fetch the complete documentation index at: https://injectivelabs-mintlify-6abb8c3a.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Permissions

> Native role-based access control for permissioned assets on Injective. Issue regulated stablecoins, tokenized securities, or consortium digital money with compliance controls built into the chain.

## 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

| Action | What it controls |
| - | - |
| **MINT** | Create new token supply |
| **BURN** | Destroy tokens from the holder's own address |
| **SEND** | Transfer tokens to another address |
| **RECEIVE** | Accept incoming token transfers |
| **SUPER\_BURN** | Burn tokens from any address (regulatory seizure) |

### How roles map to real-world use cases

| Use case | Role | Permissions |
| - | - | - |
| Issuer bank | Token admin | MINT, BURN |
| Member banks / verified holders | Whitelisted participants | SEND, RECEIVE |
| Compliance administrator | Regulatory authority | SUPER\_BURN |
| Consortium governance | Policy manager | Modify roles, modify permissions, pause actions |
| KYC/AML enforcement | Contract hook | Validates every transfer against compliance rules before execution |
| Retail / public | EVERYONE (default) | No permissions (cannot hold or transact) |

### 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](https://github.com/InjectiveLabs/stablecoin-evm/blob/fiattoken-inj/contracts/v2/PermissionsHook_Inj.sol)).

## Getting Started

<CardGroup cols={2}>
  <Card title="Architecture and Concepts" icon="sitemap" href="/developers-native/injective/permissions/01_concepts">
    Namespaces, roles, actions, policy managers, and how RBAC works at the chain level.
  </Card>

  <Card title="Launch a Permissioned Asset" icon="rocket" href="/developers-native/injective/permissions/04_launch_permissioned_asset">
    Step-by-step guide with CLI and TypeScript examples.
  </Card>

  <Card title="Permissioned MTS Tokens" icon="lock" href="/developers-evm/permissioned-multivm-token">
    Add permission controls to EVM-deployed tokens using the IPermissionsHook Solidity interface.
  </Card>

  <Card title="Permissions API Examples" icon="code" href="/developers-native/examples/permissions">
    TypeScript SDK examples for all permissions messages.
  </Card>
</CardGroup>

## Technical Reference

1. [Concepts](/developers-native/injective/permissions/01_concepts)
2. [State](/developers-native/injective/permissions/02_state)
3. [State Transitions](/developers-native/injective/permissions/03_state_transitions)
4. [How to Launch Permissioned Assets](/developers-native/injective/permissions/04_launch_permissioned_asset)
5. [Error Codes](/developers-native/injective/permissions/99_errors)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.