Settings

Manage your profile, API clients, users, and the roles that govern access to your BEEM account.

The Settings area is where you manage who and what can access your BEEM account, and with what level of permission. It is split across three sub-pages:

How roles work

A role is a single permission that controls access to one part of BEEM. The same role applies to both the Portal and the API:

  • Granted to a user — the relevant section appears in the Portal sidebar and the user can take the actions the role allows. Without the role, the section is hidden.
  • Granted to a client (API key) — the corresponding API endpoints accept calls made with that client's credentials. Without the role, those endpoints return a 403 Forbidden.

Roles are additive: a user or client with multiple roles has the combined permissions of all of them. Up to 15 roles can be held at once.

Three access levels are used across the role taxonomy:

LevelWhat it grants
viewerRead-only access — list and view, but cannot create, edit, or delete.
operatorFull access — read, create, edit, and delete within the domain.
approverPayments only. Independent right to vote on pending approvals. Assign in addition to operator or viewer when the user needs to approve outbound payments.
📘

Role identifiers

Every role is prefixed with layer1:role: on detail panels and in the API (for example layer1:role:payment:operator). The tables below list each role in short form for readability.

Common integration scenarios

If you're provisioning a client (API key) for a specific integration, start from one of these bundles and add roles only if you need them.

If you're building...Assign these roles
An inbound crypto integration via Channelschannels:operator, ledger:viewer, hook:operator
A Payment Links checkout (pay-in or pay-out)payment:operator, ledger:viewer, hook:operator
Outbound payouts that require approvalpayment:operator, ledger:viewer — and assign payment:approver to a separate client or user that will vote
A treasury / FX rebalancing botconversion:operator, ledger:viewer
Read-only reconciliation or reportingledger:viewer, channels:viewer, payment:viewer
A management API that provisions more clientsclient:operator
Admin tooling to manage teammatesuser:operator
📘

Principle of least privilege

Only grant the roles a client or user actually needs. For production integrations, prefer separate clients per workload (e.g. one client for inbound channels, one for outbound payouts) so a compromised key has limited blast radius.

Roles reference

Users

RoleDescriptionUse case
user:operatorCreate, edit, and delete usersAssign to team leads who need to manage their team's access and information
user:viewerView existing usersAssign to auditors or stakeholders to provide visibility into user data without granting modification rights

UI impact

  • user:operator reveals Settings → Users with the Create a user button and edit/delete controls. The holder can invite teammates, change their role assignments, suspend or remove them, and resend invitation emails.
  • user:viewer reveals Settings → Users in read-only mode. The holder can see the team roster but cannot modify it.

API impact

  • user:operator authorises create, update, and delete calls on the user management endpoints.
  • user:viewer authorises list and get calls on the user management endpoints.

Clients (API Keys)

RoleDescriptionUse case
client:operatorCreate, edit, and delete API keysAssign to developers or integration engineers who manage API keys for various services or applications
client:viewerView API keysAssign to stakeholders to provide visibility into API key usage without granting modification rights

UI impact

  • client:operator reveals Settings → Clients with the Create a client button and edit/rotate/delete controls. The holder can mint new API clients, register public keys, edit role assignments, and suspend or delete clients.
  • client:viewer reveals Settings → Clients in read-only mode.

API impact

  • client:operator authorises create, update, rotate, and delete calls on the client management endpoints.
  • client:viewer authorises list and get calls on the client management endpoints.

Wallets

RoleDescriptionUse case
ledger:operatorCreate and view account level wallets—your merchant's balancesAssign to users who handle day-to-day payments and manage transaction
ledger:viewerView account level wallets—your merchant's balancesAssign to auditors or stakeholders to provide visibility into wallets without granting modification right

UI impact

  • ledger:operator reveals Wallets with the ability to spin up new wallets. The holder can view balances, transaction history, and generate exports.
  • ledger:viewer reveals Wallets in read-only mode — balances and transaction history are visible.

API impact

  • ledger:operator authorises wallet create, list, and get calls, plus balance and transaction reads.
  • ledger:viewer authorises read-only access to wallets, balances, and transaction history. Required for any reconciliation or balance-check call.

Conversions

RoleDescriptionUse case
conversion:operatorConvert between wallet balancesAssign to users who manage balances across wallets day-to-day

UI impact

  • conversion:operator reveals Wallets → Convert. The holder can run quote → execute conversions between wallets (e.g. USDC → EUR).

API impact

  • conversion:operator authorises the conversion quote and execute endpoints.

Channels

RoleDescriptionUse case
channels:operatorCreate, edit, soft delete, and view channels
View channel payments
Assign to users who handle day-to-day payments and manage transaction management
channels:viewerView channels
View channel payments
Assign to auditors or stakeholders to provide visibility without granting modification rights

UI impact

  • channels:operator reveals Channels → All Channels and Channels → Channel Payments with create, edit, and soft-delete controls. The holder can mint channels (crypto deposit addresses) and view all incoming payments.
  • channels:viewer reveals the same Channels sections in read-only mode.

API impact

  • channels:operator authorises channel create, edit, soft-delete, list, and get endpoints, plus channel-payment read endpoints. Required for any inbound crypto integration.
  • channels:viewer authorises read-only channel and channel-payment calls.

Payments

RoleDescriptionUse case
payment:operatorCreate payment linksAssign to users who handle day-to-day payments and manage transaction
payment:viewerView paymentAssign to auditors or stakeholders to provide visibility into payments without granting modification rights

UI impact

  • payment:operator reveals Payment Links. The holder can create both pay-in and pay-out links and view their associated payments.
  • payment:viewer reveals Payment Links in read-only mode.

API impact

  • payment:operator authorises Payment Link create, list, and get endpoints. Required for any checkout integration.
  • payment:viewer authorises read-only Payment Link calls.

Approvals

RoleDescriptionUse case
approval-settings:operatorManage approval rulesManage your approval rules that should be applied to payments
payment:approverApprove or reject paymentsAssign to trusted leads responsible for reviewing and approving payments

UI impact

  • approval-settings:operator reveals the approval-rules configuration under Approvals. The holder can define which payments require approval and how many approvers are needed.
  • payment:approver reveals the Pending Approvals queue with Approve / Reject controls on each pending payment.

API impact

  • approval-settings:operator authorises the approval-rule management endpoints.
  • payment:approver authorises the approval vote endpoint — a client with this role can programmatically approve or reject pending payments.

Hooks

RoleDescriptionUse case
hook:operatorCreate and view hook destinations View hook event typesAssign to developers or administrators responsible for setting up and managing webhook destinations
hook:viewerView hook destinations View hook event typesAssign to users or teams to provide visibility into webhook destination setup without granting editing permissions

UI impact

  • hook:operator reveals Integrations → Hooks with create, edit, and delete controls. The holder can register webhook URLs and subscribe them to event codes.
  • hook:viewer reveals Integrations → Hooks in read-only mode.

API impact

  • hook:operator authorises hook (webhook destination) create, list, edit, and delete endpoints.
  • hook:viewer authorises read-only hook list and get calls.
📘

Worked example

A dev provisioning an API client for a crypto-accepting webshop would tick channels:operator (to create deposit addresses), ledger:viewer (to read balances for the dashboard), and hook:operator (to register a webhook for transaction-confirmed). They would not assign user:operator or client:operator — those are admin roles, not relevant to the integration.


What's next