# Create a wallet

Create a new HSM or MPC wallet within a vault

Endpoint: POST /v2/vaults/{vaultId}/wallets
Version: 2.0
Security: TokenAuth

## Path parameters:

  - `vaultId` (string, required)
    The vault ID

## Request fields (application/json):

  - `name` (string, required)
    The name of the wallet
    Example: "USD Issuing wallet"

  - `description` (string)
    The description of the wallet
    Example: "Main USD issuing account used internally"

  - `quorumId` (string)
    The quorum ID
    Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"

  - `blockchain` (string)
    Enum: "AVALANCHE", "ETHEREUM", "XRP_LEDGER", "POLYGON", "BNBCHAIN", "BASE", "HEDERA", "ARBITRUM", "ONE_MONEY", "SOLANA", "TRON", "BITCOIN"

  - `keystore` (string, required)
    Enum: "HSM", "MPC"

  - `recoveryPublicKey` (string)
    Optional, hex encoded PKCS1 formatted public key of a 4096-bit RSA private key
    Example: "30820221300d06092a864886f70d01010105000382020e0030820209028202007b985c289e76fa4d25a72649d9b3381c12ec63e05cee00173e91f94a371a1fc0b95e98ffa0c435a651db17924d9089951f844d00e52fb5ddf3ac0843ea2cdf6ddf54c6926147229722e1cbd8d50a4a62e2d8ae1ffa466e67d23e9de8293dd9698a992a2eb00f9d5588dfacdd86f65c9c2d429da830bfb5b93568159cdece5c1f6424aabbb6058d83261322660ec8acdbe03060ad9fd547aa647fdc96b0b64a56a60070fa64ede58c5c8eb0e3779512e977170c2b7a3e32e375754d5e6e92d65e96d5e3095b455485d70f1ea76a392ff8488a9b93344a440c11e1943fe8dbd6cc98501cd0bac1408e0b47041adfc07b648e6e7feb55ebc1a62ae0cea93adbfd56eee20ffc75395773354927f1d9857050c0aa6a468620885c72a2c46d8274b2e780186743cfae2c04f7f5618df90c1bf31b54634c1b33fa80a68311d7ceb9d392a666bae1a059055a0e26ed1143e21b0ade10f4ef6e5dc8fa653da67f1317fb6f6755ae558f7f198fa1bb0db20e065720fe64f1b7eef91e744bd53df2830ae12960c11e68940f7e7915ff5d46af5e4b65d32f7196ed095a52764c585f75b81d568f101721a18123304b006730fcfb715d53853904995da7e1302a1273ac2559f789bf331dc54c1cd2a523fc665100d6cfad4e4446ff5b239517e577aaf5be1d8a2ed72087432f58d2fdffad377a01c0980efe9e5673ac93d882c64914a2111a9f0203010001"

  - `externalId` (string)
    External ID of this wallet, unique to the organization
    Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"

  - `correlationId` (string)
    Correlation ID for tracking correlations with the wallet
    Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"

  - `walletType` (string)
    Enum: "WALLET_TYPE_BLOCKCHAIN"

  - `keyAlgorithm` (string)
    Enum: "SECP256K1", "ED25519"

## Response 200 fields (application/json):

  - `id` (string, required)
    The wallet ID
    Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"

  - `vaultId` (string, required)
    The vault ID
    Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"

  - `quorumId` (string)
    The quorum ID
    Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"

  - `createdBy` (string, required)
    The user ID that created the wallet
    Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"

  - `createdAt` (string, required)
    The date and time the wallet was created
    Example: "2022-03-29T10:22:22.420Z"

  - `updatedAt` (string, required)
    The date and time the wallet was update
    Example: "2022-03-29T10:22:22.420Z"

  - `name` (string, required)
    The name of the wallet
    Example: "USD Issuing wallet"

  - `description` (string)
    The description of the wallet
    Example: "Main USD issuing account used internally"

  - `address` (string)
    The address of the wallet
    Example: "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4"

  - `publicKey` (string)
    The public key of the wallet
    Example: "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4"

  - `keystore` (string, required)
    Enum: "HSM", "MPC"

  - `blockchain` (string)
    Enum: "AVALANCHE", "ETHEREUM", "XRP_LEDGER", "POLYGON", "BNBCHAIN", "BASE", "HEDERA", "ARBITRUM", "ONE_MONEY", "SOLANA", "TRON", "BITCOIN"

  - `settings` (object, required)

  - `settings.enabled` (boolean, required)
    Whether the wallet is enabled or not
    Example: "true"

  - `settings.rawSigningEnabled` (boolean, required)
    Whether raw signing is enabled for the wallet
    Example: "true"

  - `settings.sweepingEnabled` (boolean, required)
    Whether sweeping is enabled for the wallet
    Example: "true"

  - `settings.defaultFreezeEnabled` (boolean, required)
    Whether to freeze inbound transactions by default
    Example: "true"

  - `status` (string, required)
    Enum: "CREATED", "PROVISIONING", "PROVISIONED_WALLET", "PROVISIONING_POLICY", "PROVISIONING_COMPLIANCE", "PROVISIONED_COMPLIANCE", "PROVISIONED", "PROVISIONING_FAILED"

  - `reasons` (array)
    The reasons why the wallet may have failed to provision
    Example: ["MPC session timed out"]

  - `alias` (string)
    The alias of the wallet
    Example: "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4"

  - `externalId` (string)
    External ID of this wallet, unique to the organization
    Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"

  - `correlationId` (string)
    Correlation ID for the wallet
    Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"

  - `keyAlgorithm` (string, required)
    Enum: "SECP256K1", "ED25519"

  - `walletType` (string)
    Enum: "WALLET_TYPE_BLOCKCHAIN"

## Response 400 fields (application/json):

  - `code` (integer)

  - `message` (string)

  - `details` (array)

  - `details.@type` (string)


