Guide: Permissions and roles of users
This article provides detailed information on to the various permission roles managed within our platforms. It outlines the types of permissions, their definitions, capabilities, and procedures for granting access.
Type of permissions
1 - 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 (e.g. “I am an agent for ABC TOKEN at Polygon mainnet”).
- An issuer may have multiple tokens, each with a distinct owner and agent.
- Agent and owner roles are encoded at blockchain level, however, you will also find them at Platform level to manage the tokens and investors, through the Servicing Platform.
2 - Platform-level (for issuer admins and marketplace admins)
- Permissions are administered through the user's account, not the wallet.
- The user must provide their credentials (email and password) to access the Servicing Platform and authenticate themselves.
- These permissions are established within out database and they do not depend on the the blockchain (e.g. “I am an issuer admin for ABC ISSUER on the Servicing Platform”).
- An issuer platform could have multiple admins.
Permissions: definition and capabilities
1 - Issuer admin (it is a platform-level permission) - They can create and deploy tokens.
- To perform actions, they need to use the Servicing platform, since their permission is proven with their credentials.
- The issuer admin access is granted by Tokeny's CSM team.
- Abilities:
- The only actions 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.
Example: the account user1@tokeny.com has been added as an issuer admin (platform-level permission), and has assigned the wallet 0x346afc71b5…. Since this account is able to deploy tokens in the platform, this tokens will have as owner the wallet 0x346afc71b5…
Note: it is not mandatory for an issuer admin, to be also an agent or an owner. If they are only issuer admin they will be able to access the Servicing Platform, but they will not see older tokens already deployed for which they are not the owners or the agents.
2 - Owner (Blockchain-Level and Platform-Level) - They control the private key of the token smart contracts.
- To perform perform actions, the best way is to use the Servicing Platform , however since the permission is proven at blockchain leve, owners can also directly interact with the Smart Contract using their wallet.
- The owner is defined by the issuer admin at the moment of deploying the token.
- It’s possible to be an owner and an agent at the same time. And it’s possible to be the owner of multiple tokens with the same wallet.
- An owner can own multiple tokens with the same wallet.
- Abilities:
- Transfer the ownership of the token Smart Contract.
- Set an agent to administer the token.
- Revoke an existing agent.
- Set the Identity Registry Smart Contract.
- Set the Compliance Smart Contract.
3 - Agent (Blockchain-Level and Platform-Level) - They are authorized to execute actions on behalf of the owner.
- They can perform actions through the Servicing Platform, but as the permission is verified at the blockchain level, agents can also interact directly with the Smart Contract using their wallet.
- Agents are designated by the owner of the token. There are no limits on number of agents, multiple agents are allowed.
- It is possible for a user to hold both, the role of the owner and the role of an agent simultaneously.
- Additionally, a user can hold the role of agent for multiple tokens using the same wallet.
- Abilities:
- Pause and Unpause the token Smart Contracts.
- Mint and Burn tokens.
- Block and Unblock tokens.
- Force a transfer.
- Validate conditional transfers.
- Manage Centralized Exchanges.
4- Marketplace admin (Platform-Level) - They can manage the marketplace.
- To perform actions, they need to use the Servicing Platform, since the permission is proven with their credentials.
- 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.
5 - Investor
- As the permission is verified at the blockchain level through their ONCHAINID, investors can also interact directly with the Smart Contract using their wallet.
- Abilities:
- Hold and transact tokens, respecting the compliance rules.
- Investors are qualified by the agents.
- An investor can have tokens from various types. A “holder” represents an investor’s position in a token.
How to grant permissions
1 - Owner
- This permission is granted when the token is created, during token deployment.
- Permission to the owner is provided by the issuer admin.
- This permission is granted based on the wallet address. Hence, the user in control of the wallet defined at the moment of the creation, will be the owner of the token.
2 - Agent
- This permission is granted by the owner of a token.
- Permission is created from the Servicing Platform.
3 - Investor
- Investors are qualified by the agents.
- The agents can qualify them from the Servicing Platform, individually via a form, in bulk via a CSV or via API.