Vaults

Bulk creation of new vault accounts

Create multiple vault accounts by running an async job.

  • The HBAR, TON, SUI, TERRA, ALGO, and DOT blockchains are not supported.
  • These endpoints are currently in beta and might be subject to changes.
  • Limited to a maximum of 10,000 accounts per operation.
  • With vaultType: KEY_LINK, creates Key Link vault accounts; set autoAssign: true to bind them to the workspace's signing keys (see vaultType and autoAssign).

Endpoint Permissions: Admin, Non-Signing Admin, Signer, Approver, Editor.

post/vault/accounts/bulk

Request

Headers

Idempotency-Keystring

A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.

Request body

countinteger required

Count

baseAssetIdsstring[] required

Array of base asset IDs

namesstring[]

Names to assign to vault accounts. if vaultAccountNamesStartingIndex or prefix is used it'll fail

vaultAccountNamesStartingIndexinteger

Copy vault accounts names starting from this index. If names array is used it'll fail

prefixstring

When copying from existing vault accounts (vaultAccountNamesStartingIndex) then adding a prefix to the names. If names array is used it'll fail

tagIdsstring[]

Optional list of tag IDs to attach to all created vault accounts

vaultType'MPC' | 'KEY_LINK'

Type of vault accounts to create. The default type is MPC. KEY_LINK creates Key Link vault accounts. It requires a Key Link workspace. With autoAssign set to true, the vault accounts are bound to the workspace's Key Link signing keys, assigned automatically from the available keys, and only one KEY_LINK bulk creation with autoAssign set to true can run per workspace at a time. With autoAssign set to false (the default), the vault accounts are created without keys. With KEY_LINK, names, vaultAccountNamesStartingIndex, prefix and tagIds work as they do for MPC, and baseAssetIds may be empty to create vault accounts without wallets.

autoAssignboolean

Applicable only when vaultType is KEY_LINK. For MPC, this parameter is ignored. If set to true, keys are assigned to every created vault account. If there are not enough available keys to assign, the request returns an error and no vault accounts are created. If set to false, the vault accounts are created without any keys, and baseAssetIds must be empty because wallets can only be created for vault accounts that have keys.

Example request

{
  "count": 1000,
  "baseAssetIds": [
    "BTC",
    "ETH",
    "SOL"
  ],
  "names": [
    "first va",
    "client 65502e71-ecdf-48da-a074-c1753befc7fb"
  ],
  "prefix": "Copied from: ",
  "tagIds": [
    "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "b2c3d4e5-f6a7-8901-bcde-f12345678901"
  ],
  "vaultType": "KEY_LINK",
  "autoAssign": true
}

Response

A JobCreated object

jobIdstring
approvalRequestIdstring

Approval request ID. Returned when a tag triggers an approval flow.

Changes

No recorded changes to this operation across all 1 revision of this API.