User roles consist of predefined sets of rules that enable you to assign specific permissions to designated members within your organization. Cobo offers a series of preset user roles.
You need to configure at least two Admins to ensure cross-verification and mutual backup. Other roles can be assigned appropriately based on actual needs. It is not recommended to assign multiple roles to the same member.
The Cobo Portal provides two types of organizations to support different business use cases: Custody Organization and Payment Organization.
- Custody Organization is designed for asset custody scenarios and support comprehensive asset management and operational capabilities.
- Payment Organization is designed for stablecoin payment scenarios and support stablecoin collection, payouts, and withdrawals.
Please note that role permissions vary across organization types. Permissions marked with * are available only in Custody Organization. Permissions marked with △ are available only in Payment Organization. Permissions without any marker are common permissions and apply to all organization types.
Cobo Portal user roles
Role capability overview
The following summary highlights the typical purpose of each default role. It is not a complete permission list; use the detailed table below as the permission reference.
Assign Spender narrowly. Spender can initiate withdrawals and transfers for wallets in scope, so separate spending duties from approval duties whenever your workflow requires independent review.
Authorization model
How to read the permissions table
Role details are shown as Resource + Operation entries, such as wallet/create and transaction/withdraw. A checkmark means the role includes that operation for the listed resource. Permissions marked with * are available only in Custody Organization. Permissions marked with △ are available only in Payment Organization.
The following table lists the permissions of each role in Cobo Portal.
| Permission Scope | Resource | Operation | Viewer | Spender | Approver | Staker | Operator | Compliance Officer | Manager | Admin |
|---|
| Organization Management | team_member | read | - | - | - | - | ✔️ | - | ✔️ | ✔️ |
| create | - | - | - | - | - | - | ✔️ | ✔️ |
| delete | - | - | - | - | - | - | ✔️ | ✔️ |
| update | - | - | - | - | - | - | ✔️ | ✔️ |
| freeze | - | - | - | - | - | - | ✔️ | ✔️ |
| unfreeze | - | - | - | - | - | - | ✔️ | ✔️ |
| organization_profile | update | - | - | - | - | - | - | ✔️ | ✔️ |
| read | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| freeze | - | - | - | - | - | - | ✔️ | ✔️ |
| unfreeze | - | - | - | - | - | - | ✔️ | ✔️ |
| kyc_profile | read | - | - | - | - | - | - | ✔️ | ✔️ |
| update | - | - | - | - | - | - | ✔️ | ✔️ |
| fee_station | read | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| update | - | ✔️ | - | - | ✔️ | - | ✔️ | ✔️ |
| deposit | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| export | - | - | - | - | ✔️ | - | ✔️ | ✔️ |
| roles | read | - | - | - | - | - | - | ✔️ | ✔️ |
| create | - | - | - | - | - | - | ✔️ | ✔️ |
| update | - | - | - | - | - | - | ✔️ | ✔️ |
| governance_policy | read | - | - | - | - | - | - | ✔️ | ✔️ |
| update | - | - | - | - | - | - | - | ✔️ |
| create | - | - | - | - | - | - | - | ✔️ |
| delete | - | - | - | - | - | - | - | ✔️ |
| app_governance_policy | read | - | - | - | - | - | - | ✔️ | ✔️ |
| update | - | - | - | - | - | - | ✔️ | ✔️ |
| activity_logs | read | - | - | - | - | - | - | ✔️ | ✔️ |
| transaction_category | *read | ✔️ | ✔️ | ✔️ | - | ✔️ | ✔️ | ✔️ | ✔️ |
| *create | - | ✔️ | ✔️ | - | ✔️ | - | ✔️ | ✔️ |
| *update | - | ✔️ | ✔️ | - | ✔️ | - | ✔️ | ✔️ |
| pricing_plan | read | - | - | - | - | ✔️ | - | ✔️ | ✔️ |
| update | - | - | - | - | - | - | ✔️ | ✔️ |
| update_supported_chains | - | - | - | - | ✔️ | - | ✔️ | ✔️ |
| bills | read | - | - | - | - | - | - | ✔️ | ✔️ |
| update_billing_emails | - | - | - | - | - | - | ✔️ | ✔️ |
| Wallet Management | wallet | read | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| *update | - | - | - | - | ✔️ | - | ✔️ | ✔️ |
| *create | - | - | - | - | ✔️ | - | ✔️ | ✔️ |
| *connect | - | ✔️ | - | - | ✔️ | - | ✔️ | ✔️ |
| *import | - | - | - | - | ✔️ | - | ✔️ | ✔️ |
| *delete | - | - | - | - | ✔️ | - | ✔️ | ✔️ |
| *create_address | - | ✔️ | - | - | ✔️ | - | ✔️ | ✔️ |
| address_book | delete | - | ✔️ | - | - | ✔️ | - | ✔️ | ✔️ |
| Transaction Management | transaction | read | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| export | ✔️ | ✔️ | - | - | ✔️ | ✔️ | ✔️ | ✔️ |
| *withdraw | - | ✔️ | - | - | - | - | - | ✔️ |
| *stake | - | - | - | ✔️ | - | - | - | ✔️ |
| estimate_fee | - | ✔️ | - | - | - | - | - | ✔️ |
| *contract_call | - | ✔️ | - | - | - | - | - | ✔️ |
| message_sign | - | ✔️ | - | - | - | - | - | ✔️ |
| *manage | - | ✔️ | - | - | - | - | - | ✔️ |
| *update | - | ✔️ | ✔️ | ✔️ | ✔️ | - | ✔️ | ✔️ |
| *unstake | - | - | - | ✔️ | - | - | - | ✔️ |
| *unstake_withdraw | - | - | - | ✔️ | - | - | - | ✔️ |
| mpc_project | *create | - | - | - | - | ✔️ | - | ✔️ | ✔️ |
| read | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| *update | - | - | - | - | ✔️ | - | ✔️ | ✔️ |
| mpc_vault | *create | - | - | - | - | ✔️ | - | ✔️ | ✔️ |
| read | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| *update | - | - | - | - | ✔️ | - | ✔️ | ✔️ |
| mpc_key_group | read | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| *update | - | - | - | - | ✔️ | - | ✔️ | ✔️ |
| *create | - | - | - | - | ✔️ | - | ✔️ | ✔️ |
| delete | - | - | - | - | ✔️ | - | ✔️ | ✔️ |
| utxo | read | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| *manage | - | ✔️ | - | - | ✔️ | - | ✔️ | ✔️ |
| wallet | manage_utxo | - | - | - | - | - | - | ✔️ | ✔️ |
| travel_rule | read | - | ✔️ | - | - | - | - | ✔️ | ✔️ |
| edit | - | ✔️ | - | - | - | - | ✔️ | ✔️ |
| address_book | read | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| create | - | ✔️ | ✔️ | ✔️ | ✔️ | - | ✔️ | ✔️ |
| update | - | ✔️ | - | - | ✔️ | - | ✔️ | ✔️ |
| transaction_policy | read | - | - | - | - | ✔️ | - | ✔️ | ✔️ |
| update | - | - | - | - | ✔️ | - | ✔️ | ✔️ |
| create | - | - | - | - | ✔️ | - | ✔️ | ✔️ |
| delete | - | - | - | - | ✔️ | - | ✔️ | ✔️ |
| Developer Management | developer_dashboard | view | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| api_key | edit | - | - | - | - | - | - | ✔️ | ✔️ |
| read | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| api_log | read | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| export | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| webhook | read | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| edit | - | - | - | - | - | - | ✔️ | ✔️ |
| resend | - | - | - | - | ✔️ | - | ✔️ | ✔️ |
| callback | read | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| edit | - | - | - | - | - | - | ✔️ | ✔️ |
| resend | - | - | - | - | ✔️ | - | ✔️ | ✔️ |
App Management
The following table lists the permissions of each role in Cobo Portal Apps.
| Resource | Operation | Viewer | Spender | Operator | Approver | Manager | Admin | Payment Admin | Payment Member | Compliance Officer |
|---|
| payment_orders_payin | △read | - | - | - | - | - | ✔️ | ✔️ | ✔️ | - |
| △create | - | - | - | - | - | ✔️ | ✔️ | - | - |
| △update | - | - | - | - | - | ✔️ | ✔️ | - | - |
| payment_orders_refund | △read | - | - | - | - | - | ✔️ | ✔️ | ✔️ | - |
| △create | - | - | - | - | - | ✔️ | ✔️ | ✔️ | - |
| △update | - | - | - | - | - | ✔️ | ✔️ | ✔️ | - |
| payment_settlement | △read | - | - | - | - | - | ✔️ | ✔️ | ✔️ | - |
| △create | - | - | - | - | - | ✔️ | ✔️ | ✔️ | - |
| payment_merchant | △read | - | - | - | - | - | ✔️ | ✔️ | ✔️ | - |
| △create | - | - | - | - | - | ✔️ | ✔️ | ✔️ | - |
| △update | - | - | - | - | - | ✔️ | ✔️ | ✔️ | - |
| payment_bank_account | △read | - | - | - | - | - | ✔️ | ✔️ | ✔️ | - |
| △create | - | - | - | - | - | ✔️ | ✔️ | - | - |
| △update | - | - | - | - | - | ✔️ | ✔️ | - | - |
| △delete | - | - | - | - | - | ✔️ | ✔️ | ✔️ | - |
| payment_topup_address | △read | - | - | - | - | - | ✔️ | ✔️ | ✔️ | - |
| △create | - | - | - | - | - | ✔️ | ✔️ | ✔️ | - |
| △update | - | - | - | - | - | ✔️ | ✔️ | - | - |
| payment_force_sweep | △read | - | - | - | - | - | ✔️ | ✔️ | ✔️ | - |
| △create | - | - | - | - | - | ✔️ | ✔️ | ✔️ | - |
| payment_balance | △read | - | - | - | - | - | ✔️ | ✔️ | ✔️ | - |
| swap_orders | *read | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | - | - | ✔️ |
| *create | - | ✔️ | - | - | - | ✔️ | - | - | - |
| bridge_orders | *read | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | - | - | ✔️ |
| *create | - | ✔️ | - | - | - | ✔️ | - | - | - |
| screening_results | read | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | - | - | ✔️ |
| screening_funds | refund | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | - | - | ✔️ |
| isolate | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | - | - | ✔️ |
| unfreeze | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | - | - | ✔️ |
| compliance_funds | read | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | - | - | ✔️ |
| refund | - | - | - | - | - | ✔️ | - | - | ✔️ |
| isolate | - | - | - | - | - | ✔️ | - | - | ✔️ |
| unfreeze | - | - | - | - | - | ✔️ | - | - | ✔️ |