Skip to content

Permission Tokens

This page lists the default permission-token types exposed by the current Iroha executor data model. For the conceptual guide to roles and permissions, see Permissions.

Permission checks are enforced by the active runtime validator. The token type names below describe the standard policy surface, but a network can customize runtime validation by upgrading the executor.

Default Tokens

Permission tokenCategoryOperation
CanManagePeersPeerRegister, unregister, or otherwise manage peers.
CanManageLaneRelayEmergencyPeerManage emergency lane-relay controls.
CanRegisterDomainDomainRegister a domain.
CanUnregisterDomainDomainUnregister a domain.
CanModifyDomainMetadataDomainModify domain metadata.
CanRegisterAccountAccountRegister an account.
CanUnregisterAccountAccountUnregister an account.
CanModifyAccountMetadataAccountModify account metadata.
CanUnregisterAssetDefinitionAsset definitionUnregister an asset definition.
CanModifyAssetDefinitionMetadataAsset definitionModify asset-definition metadata.
CanMintAssetWithDefinitionAssetMint assets for a specific definition.
CanBurnAssetWithDefinitionAssetBurn assets for a specific definition.
CanTransferAssetWithDefinitionAssetTransfer assets for a specific definition.
CanMintAssetAssetMint a specific asset balance.
CanBurnAssetAssetBurn a specific asset balance.
CanTransferAssetAssetTransfer a specific asset balance.
CanRegisterNftNFTRegister an NFT.
CanUnregisterNftNFTUnregister an NFT.
CanTransferNftNFTTransfer an NFT.
CanModifyNftMetadataNFTModify NFT metadata.
CanSetParametersParametersSet on-chain configuration parameters.
CanManageRolesRolesRegister, unregister, grant, or revoke roles.
CanRegisterTriggerTriggerRegister a trigger.
CanExecuteTriggerTriggerExecute a trigger.
CanUnregisterTriggerTriggerUnregister a trigger.
CanModifyTriggerTriggerModify trigger configuration.
CanModifyTriggerMetadataTriggerModify trigger metadata.
CanUpgradeExecutorExecutorUpgrade the runtime executor.
CanRegisterSmartContractCodeSmart contractRegister smart contract code.
CanUseFeeSponsorNexusCharge Nexus fees to a specified sponsor account.

Ownership

Owner-sensitive permission tokens must reference the canonical object IDs used by the current data model. For example, account permissions refer to canonical domainless account IDs, domain permissions refer to domain.dataspace domain IDs, and asset permissions refer to canonical asset definition or asset IDs.

When a transaction fails with an authorization error, verify both sides:

  • the account signing the transaction is the expected canonical account
  • the permission token or role was granted for the exact object ID used in the instruction