User Roles

User roles and permissions for Dev API Keys

Liminal Express SDK for developer supports managing wallet configurations from your Vaults organisation via API key authentication. Every organisation supports upto 5 active API keys that Owners and Admins can create. An API key is configured based on role-based access control (RBAC) to help maintain security and transparency across wallet operations including, transaction initiation, signing, creation, and manage MPC signer setup.

The following user roles and permissions are assigned to an API key:

  1. User Roles: Full Access, Admin, Initiator, Signer, and Viewer.
  2. Permissions:
    1. Wallet: Read (view wallet details), Write (create new wallet),
    2. Transaction: Read (view transaction details), Write- Initiate (initate transaction), Write- Sign (sign transaction).

User Roles and Permissions

Operation CategoryAdminInitiatorSignerViewer
User Role DescriptionOrganisation-based user role.Wallet-based user role.Wallet-based user role.Organisation-based user role.
Permission LevelRead and WriteRead and WriteRead and WriteRead Only
Wallet OperationCreate and Read WalletRead WalletRead WalletRead Wallet
Transaction OperationRead TransactionRead and Initiate TransactionSign and Read TransactionRead Transaction
📘

Note

  1. For existing API key:
    1. Existing organisation on Vaults having an active API key will have Full Access role assigned to it.
    2. Full access role has the following permissions:
      1. Read and Write wallet operations,
      2. Read and write transaction operations (including transaction initiation and signing), and
      3. Enable MPC setup for a Signer. Refer to this guide for MPC setup.
    3. You can rotate, disable, whitelist address and delete an existing active API key with Full Access role in your Vaults organisation. Refer to this guide for managing API key.
  2. Signer key:
    1. An API key with Signer user role needs to set-up required RSA key and MPC shard import operations before the user can actively start approving and signing transactions.
    2. When creating the Signing API Key, until the shard sharing is completed by the Owner to the API Key and it appears as API Signer Status under Users section you will not be able to complete the creation of another signer key.
  3. For new Vaults organisations: Vaults’ organisations created post May 15, 2026 and having either Express v1.3.18 or higher, will need to have at least one API key with Initiator and Signer roles each to complete a transaction.
  4. Enterprise organisations can request for a higher API key limit than the current limit of 5 key per organisation. Reach out to support for assistance.

🚧

Migration Guide from Single Full Access API Key to Multiple API Keys with different Roles

  1. Create a unique email address for each API Key user
  2. V2 Wallet Transactions require two separate keys:

Initiator Key for use with the send-many-transaction API Signer Key for use with the submit-transaction API

  1. V1 Wallet Transactions require one key to complete a transaction

Signer Key for use with the send-many-transaction API only

Migrating from a Full Access Key Follow this sequence carefully to ensure zero downtime:

a. Upgrade Liminal Express to v1.3.18 or above first

b. Do not delete the existing Full Access Key

c. Create your new Signer Key and Initiator Key Make code changes in your dev environment first
d. Thoroughly test all transactions Only then, delete the Full Access Key

⚠️ Breaking Change — send-many-transaction API :The amount field now accepts a string instead of a number.


❗️

Using the initiator role to call the submit transaction api will return successful. This is expected since the response simply acts as an acknowledgement, the processing happens asynchronously at the backend. However the processing will fail at the backend and the initiator will not be able to sign.

We are also working on improving the error messages related to RBAC errors.


API Reference per User Roles

The following table illustrates the required permission level for every user role for an API key. Note that an API Key having Full Access permission will be able to call all the API references in Express SDK.

API Reference v2HTTP MethodAPI Key Roles with Permissions to the End Point
Create an RSA KeyPOSTSigner
Import MPC shardPOSTSigner
Create a hot walletPOSTAdmin, Full Access
Retrieve a list of walletsPOSTViewer, Initiator, Signer, and Admin
Retrieve a walletPOSTViewer, Initiator, Signer, and Admin
Retrieve a wallet balancePOSTViewer, Initiator, Signer, and Admin
Create a Watch-Only walletPOSTAdmin
Import addresses into a Watch-Only walletPOSTAdmin
Retrieve a list of addressesPOSTAdmin
Retrieve an addressPOSTAdmin
Retrieve an address balancePOSTViewer, Initiator, Signer, and Admin
Verify addressesPOSTViewer, Initiator, Signer, and Admin
Create transaction requestsPOSTInitiator
Retrieve a transactionPOSTViewer, Initiator, Signer, and Admin
Retrieve hot wallet transactionsPOSTViewer, Initiator, Signer, and Admin
Retrieve all transactions by statusPOSTViewer, Initiator, Signer, and Admin
Retrieve pending transactionsGETViewer, Initiator, Signer, and Admin
Retrieve a transaction statusPOSTViewer, Initiator, Signer, and Admin
Retrieve estimated gas fees and ratesPOSTViewer, Initiator, Signer, and Admin
Retrieve a list of addresses for consolidationPOSTViewer, Initiator, Signer, and Admin
Rescan a transactionPOSTInitiator
Consolidate wallet assetsPOSTInitiator
Push a refill transactionPOSTInitiator
Resend EVM-chain transactionsPOSTSigner
Resend a Bitcoin transactionPOSTSigner
Start or stop transaction executionPOSTSigner
Submit a transactionPOSTSigner
Update a transaction statusPOSTInitiator
Retrieve a list of travel rule transactionsPOSTViewer, Initiator, Signer, and Admin
Retrieve a travel rule transaction by transaction IDPOSTViewer, Initiator, Signer, and Admin
List all VASPs with detailsPOSTViewer, Initiator, Signer, and Admin
Create a travel rule transactionPOSTViewer, Initiator, Signer, and Admin
Check travel rule statusGETViewer, Initiator, Signer, and Admin
Retrieve pending transactionsPOSTViewer, Initiator, Signer, and Admin
Retrieve RewardsPOSTViewer, Initiator, Signer, and Admin
Retrieve latest Liminal Express versionGETViewer, Initiator, Signer, and Admin
Retrieve memory usage of Liminal ExpressGETViewer, Initiator, Signer, and Admin
Check Liminal server statusGETViewer, Initiator, Signer, and Admin
HealthGETViewer, Initiator, Signer, and Admin