Roles & Permissions

Roles define what users and API credentials can do within your Cubewire organization. The role-based access control (RBAC) system enables fine-grained permission management for security and operational efficiency.

What is a Role?

A role is a collection of permissions that determines:

  • Access Level — What resources can be viewed or modified
  • Operational Scope — Which actions can be performed
  • Security Boundaries — What is explicitly denied

Role Types

Cubewire supports two types of roles:

TypeDescriptionEditableDeletable
SystemPre-defined roles with standard permission setsNoNo
CustomOrganization-defined roles for specific needsYesYes

System Roles

System roles are built-in and cannot be modified. They provide common access patterns for typical organizational structures.

Organization Admin

PropertyValue
Permissions30
TypeSystem
PurposeOrganizational governance and user management

Capabilities:

  • Manage users and roles
  • Configure organization settings
  • View audit logs and compliance reports
  • Manage integrations and linked organizations

Limitations:

  • Cannot perform wallet operations
  • Cannot initiate transactions
  • Cannot modify vault configurations

Best For: IT administrators, compliance officers, organization managers

Member

PropertyValue
Permissions13
TypeSystem
PurposeStandard operational access for day-to-day tasks

Capabilities:

  • View vaults and balances
  • Initiate transactions (subject to policies)
  • View transaction history
  • Access basic reporting

Limitations:

  • Cannot manage users or roles
  • Cannot modify organization settings
  • Cannot change policies

Best For: Operations staff, finance team members, day-to-day operators

Viewer

PropertyValue
Permissions9
TypeSystem
PurposeRead-only access to view information without making changes

Capabilities:

  • View vaults and addresses
  • View transaction history
  • View policies and named lists
  • Access read-only reports

Limitations:

  • Cannot initiate any transactions
  • Cannot modify any resources
  • Cannot create or update anything

Best For: Auditors, external reviewers, reporting users, read-only integrations

Custom Roles

Custom roles allow you to define specific permission sets tailored to your organization's needs.

Example: Initiator

PropertyValue
Permissions1
TypeCustom
PurposeMinimal permissions to initiate transactions

Use Case: Automated systems that only need to submit transactions, with all approvals handled by other roles.

Example: Operator

PropertyValue
Permissions23
TypeCustom
PurposeFull operational access to vaults, transactions, and policies

Capabilities:

  • Full vault management
  • Transaction initiation and monitoring
  • Policy management
  • Named list management

Use Case: Operations team leads who need comprehensive access without administrative privileges.

Example: Super Admin

PropertyValue
Permissions51
TypeCustom
PurposeComplete access to all platform capabilities

Capabilities:

  • All Organization Admin permissions
  • All operational permissions
  • Full API access

Use Case: Technical leads or owners who need unrestricted access.

Permission Categories

Permissions are grouped into functional categories:

CategoryDescriptionExamples
VaultsManage wallet infrastructureCreate, view, update, archive vaults
TransactionsExecute blockchain operationsSend, view, cancel transactions
PoliciesControl transaction rulesCreate, update, delete policies
Named ListsManage address collectionsCreate, update, manage list items
UsersManage team accessInvite, update, remove users
RolesManage permission setsCreate, update custom roles
Audit LogsAccess activity recordsView logs, generate reports
SettingsConfigure organizationUpdate settings, manage integrations
API KeysManage programmatic accessCreate, revoke API credentials

Role Assignment

Users

Users can be assigned one or more roles. The effective permissions are the union of all assigned role permissions:

API Credentials

API credentials are assigned roles that determine their capabilities.

Example:

PropertyValue
NameProduction API Key
Client IDcw_live_abc123def456
Assigned RoleInitiator (Custom)
CapabilitiesTransaction initiation only

The credential inherits all permissions from its assigned role(s), just like user accounts.

Recommendation: Always start with the lowest privilege role that meets the user's needs, and only escalate when necessary.

Role Selection Guide

Use CaseRecommended RoleReason
Platform administrationOrganization AdminUser/role management without wallet access
Daily operationsMemberStandard operational capabilities
Audit and complianceViewerRead-only for security
Automated transaction submissionInitiator (Custom)Minimal permissions for API
Operations team leadOperator (Custom)Full operational access
Technical ownerSuper Admin (Custom)Unrestricted access

Best Practices

Role Design

PracticeDescription
Start with system rolesUse built-in roles before creating custom ones
Minimize custom rolesCreate only when system roles don't fit
Document role purposesClear descriptions for each custom role
Regular auditsReview role assignments periodically

Security

PracticeDescription
Least privilegeAssign minimum permissions needed
Separate dutiesDifferent roles for different functions
No shared credentialsEach user/API has own credentials
Review high-privilege rolesExtra scrutiny for Super Admin assignments

API Credentials

PracticeDescription
Role-specific API keysCreate dedicated credentials per integration
Minimal API permissionsAPI keys should have fewer permissions than users
Rotate credentialsRegular credential rotation schedule
IP whitelistingRestrict API access by IP address

API Reference

For complete API documentation including endpoints for managing roles and permissions: