Guide: Permissions and roles of users
In this article, detailed information pertaining to the various permission roles that are managed on our platforms is provided. The types of permissions, their definitions, capabilities, and procedures for creation are all discussed. Additionally, other relevant information is also included.
Type of permissions
Token/Blockchain level (for agents and owners)
Permissions are managed utilizing the user's wallet address.
The user must provide a digital signature from their wallet to authenticate themselves to perform actions.
These permissions are encoded within the smart contract of the token on the blockchain in which the token has been deployed. i.e: I´m an agent for ABC TOKEN at Polygon mainnet.
An issuer may have multiple tokens, each with a distinct owner and agent.
Platform-level (issuer admins and marketplace admins)
Permissions are administered through the user's account (not the wallet)
The user must provide their credentials (email & pwd) to access the platform and authenticate themselves.
These permissions are established within our database and pertain to issuer platforms/portals. It does not depend on the token or the blockchain. i.e: I´m an issuer admin for ABC ISSUER servicing platform.
An issuer platform could have multiple admins.
Permissions: definition and capabilities
Agent (Agents are authorized to execute actions on the blockchain on behalf of the owner).
- The standard methodology is to perform actions through the platform, but as the permission is verified at the blockchain level, agents can also interact directly with the smart contract via their wallet.
- The agent should always be an issuer user.
- The agent is designated by the owner of the token. And there are no limits on number of agents.
- It is possible for a user to hold both the role of owner and agent simultaneously.
- Additionally, a user can hold the role of agent for multiple tokens using the same wallet.
Abilities:
- Pause & Unpause the token Smart Contracts
- Mint & Burn tokens
- Block & Unblock tokens
- Force a transfer
- Validate conditional transfers
- Manage Centralized Exchanges
Owner (Owner controls the private key of the token smart contracts. He can perform specific tasks above agents).
- To perform actions, the normal way is to use the platform. But since the permission is proven at blockchain level, they could also just interact with the smart-contract using their wallet.
- The owner should always be an issuer user.
- The owner is defined by the issuer admin at the moment of deploying the token.
- It´s possible to be an owner and agent at the same time. And it´s possible to be owner of multiple tokens with the same wallet.
Abilities:
- Transfer the ownership of the token Smart Contracts
- Set an Agent to administer the token
- Revoke a current Agent
- Set the Identity Registry Smart Contract
- Set the Compliance Smart Contract
Issuer admin (Issuer admin is a platform-level permission. They can deploy tokens).
- To perform actions, they need to use the issuer platform. Since the permission is proven with their credentials.
- The issuer admin should always be an issuer user.
- The issuer admin access is granted by the Customer support agent
Abilities:
- The only action that they can perform is to deploy tokens
- They have assigned a wallet address, which will be the wallet defined as the owner of the tokens deployed from that issuer admin account.
i.e: the account user1@tokeny.com has been added as issuer admin (platform level permission), and has assigned the wallet 0x346afc71b5…. Since this account is able to deploy tokens on the platform, this tokens will have as owner the wallet 0x346afc71b5…
Note: Issuer Admin does not need to be first an Agent or Owner, if they are only issuer admin they will be able to access to the platform, and will not see older tokens.
Marketplace admin (Marketplace admin is platform-level permission. They can manage the marketplace)
- To perform actions, they need to use the issuer platform. Since the permission is proven with their credentials.
- The marketplace admin should always be an issuer user.
- First, the issuer needs to have a marketplace portal. And then a marketplace admin could be set to manage it.
Abilities:
- Create a project linked to a token (they need to be also agent/owner of the token to set this relation)
- Manage projects (edit description, remove project, set status)
- Manage billboard and offers (set allowed currencies, control offers created by investors, set expiry date)
How to grant permissions
Owner:
- This permission is granted when the token is created (deployment)
- Permission to the owner is provided by the Issuer admin, at the moment of the deployment.
- Remember that this permission is granted by wallet address. So the user in control of the wallet defined at the moment of the creation, will be the owner of the token.
Agent:
- This permission is granted by the owner of the token.
- Permission to the agent is created from Issuer platform token → agents → add agents