Create a new vault

Create a new vault with automatic cryptographic key generation. The system generates keys via KMS (Key Management Service) and derives an Ethereum-compatible blockchain address automatically.

Request Body

FieldTypeRequiredDescription
namestringYesHuman-readable vault name
typestringYesMust be HSM (currently only HSM vaults are supported)
statusstringNoactive (default) or inactive
groupNamestringNoGroup label for organizing vaults (max 100 chars)
tagsarrayNoArray of string tags for filtering (each max 50 chars)
bsbstringNoBank State Branch code for fiat integrations (max 10 chars)
accountNumberstringNoBank account number for fiat integrations (max 20 chars)

Vault Types

TypeDescriptionStatus
HSMHardware Security Module — keys stored in dedicated secure hardware with FIPS 140-2 complianceAvailable
MPCMulti-Party Computation — key shares distributed across multiple parties for enhanced securityComing Soon

Vault Creation Process

  1. Validates request (name and type required)
  2. Generates cryptographic keys via KMS
  3. Derives Ethereum-compatible blockchain address from public key
  4. Subscribes vault address to blockchain listeners for incoming transaction monitoring

Response

Returns the created vault with:

  • id — Unique vault UUID
  • address — Derived Ethereum address (0x...)
  • publicKey — Vault's public key
  • signingKeyVersion — KMS key version reference
  • assets — Empty array (no assets initially)
  • createdAt, updatedAt — Timestamps

Required Permission

vaults:create