Elements Manual
Elements 3 Manual
Elements 3 Manual
  • Welcome 👋
  • QUICK START
    • Elements in Five Minutes or Less
    • Accessing the Web UI (CRM)
    • Creating A User
  • General
    • General Concepts
    • N-Tier Architecture
    • Security Model
  • Core Features
    • Core API Overview
    • Sessions
    • Applications
    • Users and Profiles
    • Digital Goods
    • Progress and Missions
    • Leaderboards
    • Matchmaking
    • Followers
    • Friends
    • Reward Issuance
    • Save Data
    • Schemas and Metadata Specifications
    • Queries
      • Base Query Syntax
      • Boolean Queries
      • Object Graph Navigation
      • Advanced Operators
        • .ref
        • .name
    • Custom Code
      • Element Structure
      • RESTful APIs
      • Websockets
    • Auth Schemes
      • OIDC
      • OAuth2
  • Web 3
    • Omni Chain Support
    • Vaults
    • Wallets
    • Smart Contracts
      • Smart Contracts: Ethereum
      • Smart Contracts: Flow
      • Smart Contracts: Solana
      • Smart Contracts: Neo
  • CONFIGURATION
    • Direct Database Access and Batch Configuration
    • Batch Samples
      • Item Upload Bash Script Sample
      • Mission Upload Bash Script Sample
  • RESTful APIs
    • Swagger and Swagger UI
    • API Specification
      • /application
      • /application/configuration
      • /auth
      • /auth_scheme
        • /custom
        • /oauth2
        • /oidc
      • /blockchain
      • /followee
      • /follower
      • /friend
      • /google
      • /index
      • /inventory
      • /item
      • /large_object
      • /leaderboard
      • /rank
      • /score
      • /match
      • /mission
      • /progress
      • /reward_issuance
      • /schedule
      • /notification
      • /profile
      • /save_data
      • /metadata_spec
      • /mock_session
      • /session
      • /health
      • /version
      • /signup
      • /user
    • Javadocs
  • Releases
    • 3.1 Release Notes
Powered by GitBook
On this page
  • Vault Properties
  • Vault Key Properties
  1. Web 3

Vaults

Vaults store encrypted Wallet information in Elements using a public/private key pair.

PreviousOmni Chain SupportNextWallets

Vaults are the heart of the custodial wallet system provided by Elements. A Vault securely stores multiple and consists of a public/private key pair.

The contents of the vault's private key can be optionally secured using . If enabled on a vault, the user must supply their secret passphrase on each request to unlock the contents of the vault.

When designing an application, we strongly recommend that all vaults are encrypted with a passphrase.

Because the Vault uses private key encryption, it is possible to generate or insert new custodial wallets without needing to unlock the vault first. In this case, Elements simply uses the public key to insert the wallet into the Vault.

Vault Properties

  • user - The user which owns the vault

  • key - The key pair which Elements uses to store the wallets in the Vault

Vault Key Properties

  • algorithm - this is the encryption algorithm Elements uses to store the wallets in the vault. The available algorithms are as follows:

  • publicKey - This is the public key portion of the vault. This is always stored unencrypted.

  • privateKey - This is the private key portion of the vault. This is either encrypted or stored as plain text.

  • encrypted - A boolean value indicating whether the vault private key is encrypted

  • encryption - An arbitrary key-value object which contains encryption metadata. Elements uses this internally to perform various operations against the private key itself.

wallets
AES-256
Elliptic Curve 256
Elliptic Curve 384
Elliptic Curve 512
RSA 256
RSA 384
RSA 512
id
displayName