Skip to main content

Participant

Open one participant to rename it, manage its custody accounts, co-sign a multisig change and read its holdings.
Open it fromAccount menuMy participantsRole:Any signed-in userConsole address: /account/acting-as/participantId

A participant page is where you manage one Participant, the platform's record of a person, organisation or wallet that acts on the ledger. From it you rename the participant, register it in another organisation, change the custody accounts that sign for it, co-sign its multisig changes and read its holdings. Changing a custody account changes which key signs for the participant from then on. The header offers Rename and “Work as this participant”.

A participant page with its summary and its tabs.

The header holds the name and the approval threshold of a multisig wallet, and the tabs read Overview, Approvals, Identity, Wallets and Holdings.

Steps

Open the participant

Select the participant in the “Organisation and shared participants” table or in the “You” card of My participants. The tabs read, in order:

  • Overview, which shows a “Summary” card with “Type”, “Identity”, “Registration status”, “Role” and “Accounts”.
  • Approvals, on a multisig wallet only, with a count.
  • Identity.
  • Wallets.
  • Holdings.

Rename a participant

Select Rename next to “Work as this participant”. The sheet opens with the current name.

Enter the new name and select Save name. The page heading, the breadcrumb and the participants table show the new name once it is saved, and so does the account menu button while you work as that participant. Spaces at either end are dropped, and a blank name is refused.

Rename appears only when you may use it. The user a person participant belongs to renames it, as long as they still hold it, because the same person participant shows in every organisation that user belongs to. A system manager, identity manager or verification issuer of the holding organisation renames any other participant, such as the organisation's own record. Working as a participant, or only being able to open it, does not let you rename it. An impersonated session, one a platform administrator opened as the user, never can.

Register the participant in another organisation

  1. Work as the participant.
  2. Open its row menu and select Register in organisation.
  3. Choose the Target organisation, select “Register” and confirm with your wallet verification.

“Registration submitted” confirms the request.

Register in organisation appears only on the participant you work as, and only when there is an organisation left to register into: one you belong to where this participant is not active and has no request awaiting approval. The picker still lists an organisation that holds a pending registration with no request filed. That is how a finalised multisig, which registers itself as pending in its own organisation, files its request there. Once your request awaits approval in every organisation left, the overview shows “Register in organisation” disabled with the reason beside it.

The request goes to that organisation's identity managers, who accept or reject it under Pending participant registrations on Entities. After a rejection you can ask again.

Read the participant's identity

The Identity tab shows the participant's on-chain identity, its registration and its verifications. On-chain identity documents it.

Manage the participant's custody accounts

A custody account is one signing account of the participant, held by one custody provider on one network. Open the participant and select its Wallets tab. You can change its custody accounts when the participant is your own or you work as it. Otherwise the tab shows the same wallets without “Add wallet”, “Remove wallet” or the account buttons.

Each wallet card on the “Wallets” tab has a Custody list of the custody accounts that sign for that wallet. Each account shows the provider its configuration was added as, “Managed custody” or “Self custody”, and its state. The participant's own primary account carries a “Primary” badge. On a multisig wallet the card also lists the keys other signers hold, and none of those carries the badge, even when it is that signer's own primary account. An account whose provider is not healthy also shows “Unhealthy” or “Quarantined”.

Add a custody account

  1. Select Add wallet. The “Add a wallet” panel offers each provider configuration that is enabled for new accounts and healthy, named by the provider it was added as.
  2. Select a provider. A managed provider, such as Fireblocks or DFNS, creates the account at that provider. “Privy embedded wallet” or “Dynamic embedded wallet” opens that provider's own wallet flow. “Browser wallet” links a wallet you already hold by signing a message with it.
  3. When an existing account of the participant must approve the new one, pick one healthy active account on the same network in the “Choose an existing signer” panel. The platform does not pick one for you.

“Custody account is ready” confirms the account, and the account's wallet gets its own card. When no provider is available, the panel says “No providers available for new accounts”, and an organisation owner or a platform administrator must enable a provider, or recover a quarantined one, first. When no account can approve, the Console says “This change needs approval from another live key, but none is available to approve it.” A new account does not become a signer of the participant's smart wallet. Signers join a smart wallet through its signers card.

A participant that signs directly, without a smart wallet, holds one live key: that key's address is the address its roles and tokens sit on, so a second key could never act for it. For such a participant Add wallet is disabled once it holds a live key, with the reason beside it, and the platform refuses a second key the same way. To replace the key, use lost-wallet recovery, which moves its tokens to the new wallet, or remove the only key first and then add the new one. A participant that already holds two or more keys shows the count, and it cannot be worked as until all but one are revoked or recovery replaces them. Participants with a smart wallet are not affected.

Make an account primary

Select Make primary on the account's row. The button shows only on an active, eligible account that is not already primary. “Primary custody account changed” confirms the change. The primary account grants no extra authority. It is the account a Platform API request uses when the request names no account, as Which custody account does a Platform API request use? explains.

Revoke or archive an account

Select one of these on the account's row and confirm:

  • Revoke stops an active account from signing, and it always needs another live key of the participant to approve it. When the platform knows a revoke cannot complete, “Revoke” stays visible but cannot be selected, and the reason shows under it.
  • Archive retires an active or revoked account. It needs that approval only when another live key exists. “Archive” is refused while any of the participant's wallets holds tokens. An account that still signs for a smart wallet shows no “Archive” button until that smart wallet is removed with “Remove wallet”.

Remove a wallet

Archive the custody accounts that still use the wallet and move its tokens out first. Then select Remove wallet on its card and confirm with your wallet verification. The platform unregisters the wallet in each organisation and on each network where it is registered, then archives it. The dialog warns when the address still holds tokens.

The wallet signs its own unregistration only while its registration in that organisation is still pending and its own custody account is active. Otherwise the organisation's managed signer unregisters it, always once an identity manager has approved the registration, and that signer must hold the identity manager role in the organisation. Before the organisation's signer sends the unregistration, the platform checks the wallet's balance of every token in the organisation on the network itself, so tokens that arrived after the last balance shown still block the removal. It also refuses the removal while a holder lock that the issuer of a token in the organisation set on your identity has not reached its unlock time.

While the organisation protects its Recovery changes with maker-checker, another owner has to approve the removal first. The dialog closes and a message reads “Sent for approval”, with a note that another owner approves or rejects it in Actions. The wallet stays on the tab, unchanged, until that owner approves. The platform checks what still depends on the wallet only when the removal runs after approval, so a removal it would refuse can be sent for approval first and refused afterwards.

The platform tracks each of these changes as a custody account request. When one stops halfway, the tab shows “Finish an account change already in progress” with a button such as Finish adding an account. Continue it there before you start another change.

Add a signer to a deployed multisig

On the wallet's signers card, any seated signer can add one of their own keys, invite a person by email or link, or add an address. This is a signer invitation, not an invitation to the organisation. Unlike an invite on a draft that has not deployed yet, accepting it does not seat the key straight away. It opens an add-signer change that the signers co-sign from Actions until their weight reaches the wallet's threshold, and the key joins once that change executes.

The card's Invites list shows each invite that still waits as “Waiting for acceptance”, “Waiting for co-sign” or “Expired”. An invite leaves the list once it joins, ends or is revoked. You can revoke an invite there while it shows “Waiting for acceptance”. A new signer joins at weight 1. When you chose another weight, the card offers “Set weight” to that value as a second co-signed change.

Co-sign a multisig change

A deployed multisig you sign for is also an account of its own. It appears in the sidebar under “Shared accounts”, and its page carries the approval threshold in the header and an Approvals tab after “Overview”. The tab counts and lists the wallet's pending approvals that wait on a seat you can sign with, each with its collected weight and time left. That is a seat of the participant you work as, and, while you work as the wallet itself, your own seat too. “Co-sign” opens the same co-sign sheet as “Actions”, and the sheet offers that seat's account. When the seat belongs to your own participant, you co-sign there without switching to the wallet, or while you work as the wallet.

You do not need a seat to see that a signer change waits for co-signatures. When you can open the participant's Wallets tab, as its owner or as a user who works as it, the card shows “Change pending co-sign” while a change is open, so you know who to ask before you plan other work on that wallet. To read the signatures on a change or to co-sign it, you still need a seat.

Review a participant's holdings

The Holdings tab lists the assets the participant holds, with the columns “Asset”, “Organisation”, “Amount”, “Account”, “Status”, “Value” and “Transfer”. A line above the table reads “Balances as of” followed by a date, and a holding that includes a frozen balance says so. With no holdings, the tab reads “No holdings”.

The tab has these controls and values:

  • Filter by account type shows “All accounts”, “Smart wallet” or “Key account”.
  • Status reads “Transferable”, “Restricted” or “Transfer restricted”.
  • Transfer starts a transfer for a holding the acting account may move, and a disabled “Transfer” gives the reason: “Held in key account”, “You are not the acting account for this holding” or “No available balance to transfer”.

Troubleshooting

Register in organisation is disabled

Your request already awaits approval in every organisation left, and the reason beside the button says so. Ask that organisation's identity managers to accept it under Pending participant registrations on Entities.

A second managed account on the same network is refused

Add further accounts from the participant's Wallets tab, which accepts more than one managed account per network. Outside it, the platform creates at most one managed custody account per network for your own participant. A second request answers “You already have a managed custody account on this network” (409 custody.user.PERSONAL_ACCOUNT_LIMIT). Two requests for a participant's first account on a network never create two accounts. A second request from you for the same participant and network, sent while the first is still running, waits up to 20 seconds and answers with the first request's account. Any other overlapping request is refused as a conflict. Wait for the first request to finish, then refresh the tab.

Archive is refused for a custody account

The platform names the blocker. “A wallet of this participant still holds tokens, so the key cannot be archived yet.” means: move the tokens to another wallet, then archive again. “A smart wallet on this key is still live, so the key cannot be archived.” Select Remove wallet on that smart wallet's card, which unregisters and archives it, then archive the key again.

Remove wallet is refused

The dialog names what still depends on the wallet. “Archive the custody accounts that still use this wallet before removing it” lists the accounts to archive first. “This wallet still signs for” names the smart wallet it controls, and “This wallet still holds” names the tokens to move out. “The wallet's registration is not indexed yet. Try again in a moment.” means the platform is still recording the registration. Wait a few seconds, then select Remove wallet again.

“An organisation this wallet is registered in has no managed signer that can unregister it. Either none is set up on this network, or it does not hold the identity manager role.” means that organisation's managed signer must remove the registration, because it is approved or the wallet's own account is no longer active, and the organisation either has no managed signer on the network or its signer does not hold the identity manager role. Nothing is unregistered in any organisation. An organisation administrator adds the managed signer or grants it the identity manager role, then you select Remove wallet again.

“This wallet's holder still has a holder lock on” names the tokens whose issuer locked them for your identity. The organisation's managed signer removes an approved wallet, and while a holder lock is active the platform does not remove it, because tokens could otherwise leave the lock through that wallet. Nothing is unregistered in any organisation. Wait until the lock ends, or ask the token's issuer to clear the holder lock, then select Remove wallet again.

In the Platform API, data.reason is organization-signer-missing for both signer cases, holds-balance when the wallet still holds tokens and holder-locked when a holder lock is active.

Frequently asked questions

Why can't an identity manager rename a person participant?

A person participant belongs to one user, and the same participant shows in every organisation that user belongs to. Renaming it from one organisation would rename the user everywhere, so only the user it belongs to can rename it from its page. Identity managers can still rename the other participants of their own organisation.

Which custody account does a Platform API request use?

A request uses the participant's primary account for the organisation and network. To use another one for a single request, send its identifier in the X-Custody-Account-Id header, as GET /api/v2/users/me/custody-accounts returns it. The platform never falls back to another account. A request with no header, when the participant holds eligible accounts on the network but none is primary, is refused with 409 PRIMARY_CUSTODY_ACCOUNT_REQUIRED, which reads “Choose a primary custody account for this participant and network”. A header that is empty or not an account identifier is refused with 400 dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT. A header naming an account the participant does not hold on that network is refused with 409 CUSTODY_ACCOUNT_SELECTION_INVALID. A selected or primary account that is not active and eligible, or a participant with no eligible account on that network, is refused with 409 REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE.

How does an integration follow a custody account request?

Read GET /api/v2/users/me/custody-account-requests/{requestId} for its operation and state, or append /stream to the same path from a page on the same origin as the platform. The stream sends the current state first and then each change, and it ends when the request reaches a final state, or after three minutes. A stream request from another origin gets 404. For a participant you work as, use the same routes under /api/v2/participants/{participantId}/custody-account-requests/{requestId}.

Was this page helpful?