> For the complete documentation index, see [llms.txt](https://docs.catalyx.solutions/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.catalyx.solutions/catalyx-blockchain-manager/canton-network/version-2.0/console-guide-canton/validators/users-and-wallet-users.md).

# Users & Wallet Users

## Overview

<table><thead><tr><th width="200">Tab</th><th>Manages</th></tr></thead><tbody><tr><td><strong>Users</strong></td><td><strong>Ledger users</strong> on the Canton participant. A ledger user has rights over specific parties, and is what an application authenticates as when it talks to the Ledger API.</td></tr><tr><td><strong>Wallet Users</strong></td><td><strong>Wallet UI users</strong> registered with the validator app, so a person can sign in to the Canton Wallet.</td></tr></tbody></table>

Neither creates an account in your identity provider. Both assume the identity already exists there.

***

## Users

<div data-with-frame="true"><figure><img src="/files/XvYDLyIFlZFGemXdcqvD" alt=""><figcaption></figcaption></figure></div>

The heading shows the count: *`n` users provisioned on this validator.*

### Columns

| Column                | Contents                               |
| --------------------- | -------------------------------------- |
| **Username**          | The ledger user ID                     |
| **Primary party**     | The party the user acts as by default  |
| **Identity provider** | The identity provider ID, or `default` |
| **Active**            | `Active` or `Deactivated`              |
| —                     | Edit action                            |

### Viewing rights

Clicking a row opens a read-only drawer showing the user's rights, grouped by kind:

<table><thead><tr><th width="290">Right</th><th>Grants</th></tr></thead><tbody><tr><td><strong>Participant admin</strong></td><td>Full administrative control of the participant.</td></tr><tr><td><strong>Identity provider admin</strong></td><td>Administration of identity provider configuration.</td></tr><tr><td><strong>Can read as any party</strong></td><td>Read access to every party's data on this participant.</td></tr><tr><td><strong>Can execute as any party</strong></td><td>Execution on behalf of any party.</td></tr><tr><td><strong>Can act as</strong></td><td>Submitting commands on behalf of the listed parties.</td></tr><tr><td><strong>Can read as</strong></td><td>Reading the listed parties' data.</td></tr><tr><td><strong>Can execute as</strong></td><td>Executing on behalf of the listed parties.</td></tr></tbody></table>

The drawer's **Edit Rights** button moves you into the editor.

{% hint style="danger" %}
The first four are **participant-wide** rights, not party-scoped. `Participant admin` and `Can read as any party` in particular give access to every party's data on the node. Grant them sparingly, and prefer the party-scoped rights below them.
{% endhint %}

### Creating a user

{% stepper %}
{% step %}
**Click `Create User`**

*Provision a new participant user with a primary party and rights.*
{% endstep %}

{% step %}
**Fill in Basic info**

**User ID** is required — for example `analyst-01`. **Primary party** is optional.
{% endstep %}

{% step %}
**Grant rights**

Under **Rights**, add parties to **Can act as**, **Can read as**, and **Can execute as**. Type a party and press Enter — each becomes a removable chip. Under **Global flags**, tick any participant-wide rights.
{% endstep %}

{% step %}
**Click `Create`**

The modal closes on success.
{% endstep %}
{% endstepper %}

### Editing a user

The pencil icon on a row, or **Edit Rights** in the drawer, opens the same modal in edit mode: *User ID is read-only. Primary party, status, annotations and rights can be changed.*

Edit mode adds:

* a **Deactivated** checkbox — *user cannot authenticate to the ledger*;
* an **Annotations** section for arbitrary key/value metadata on the user.

{% hint style="warning" %}
**Saving rights replaces them wholesale.** The editor is not additive — the rights shown when you save become the user's complete set, and anything you removed is revoked. Always open the editor from the row or drawer so it is pre-populated with the current rights, rather than reconstructing them from memory.
{% endhint %}

{% hint style="info" %}
There is no success toast for user create or edit. The modal simply closes. Confirm the change landed by reopening the user's rights drawer.
{% endhint %}

### States

| Situation   | What you see                                                       |
| ----------- | ------------------------------------------------------------------ |
| No users    | **No users yet** — *Create the first user to grant ledger access.* |
| Load failed | **Failed to load users**, with the error                           |

***

## Wallet Users

The heading shows the count: *`n` users registered with the wallet UI.*

<div data-with-frame="true"><figure><img src="/files/HItC1KqspYUYpXALZAhf" alt=""><figcaption></figcaption></figure></div>

| Column       | Contents                                |
| ------------ | --------------------------------------- |
| **Username** | The wallet username, with a copy button |
| **Status**   | Always `Active`                         |
| —            | Remove action                           |

{% hint style="info" %}
**Status is always `Active`.** The validator app only returns usernames, so there is no other state to show. Treat the column as informational.
{% endhint %}

### Adding a wallet user

**Add Wallet User** — *Enter a username to onboard someone to the wallet UI.* Enter the **Username** and click **Add user**. A toast confirms *Wallet user added*.

The console checks for duplicates before submitting and warns *Username already exists* rather than sending the request.

{% hint style="warning" %}
The username must match the user's identity in your identity provider. Onboarding a username that does not exist there creates a wallet user nobody can sign in as.
{% endhint %}

### Removing a wallet user

The trash icon opens a confirmation: *Offboard "`<username>`" from the wallet UI. This cannot be undone.* Confirm with **Remove**.

{% hint style="danger" %}
This is the **only destructive action in the console that asks for confirmation**, and it cannot be undone. The validator refuses to offboard its own wallet user, so that request will fail with a conflict rather than breaking the validator.
{% endhint %}

### States

| Situation       | What you see                                                                        |
| --------------- | ----------------------------------------------------------------------------------- |
| No wallet users | **No wallet users yet** — *Add a username to give someone access to the wallet UI.* |
| Load failed     | **Failed to load wallet users**, with the error                                     |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.catalyx.solutions/catalyx-blockchain-manager/canton-network/version-2.0/console-guide-canton/validators/users-and-wallet-users.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
