Elements Manual
Elements 2 Manual
Elements 2 Manual
  • Welcome 👋
  • QUICK START
    • Elements in Five Minutes or Less
  • General
    • General Concepts
    • N-Tier Architecture
    • Security Model
  • SCRIPTING ENGINE
    • Scripting Engine Overview
      • Intro to Resources and Cloud Functions
      • Horizontal Scaling Model
      • Database Access
      • Server-to-Server API Calls
      • Deploy Cloud Functions via Git
      • Creating and Destroying Resources
      • Cross-Resource Invocation
      • Indexing Resources
      • Coroutines
      • Manifest
  • Core Features
    • Core API Overview
    • Sessions
    • Applications
      • Facebook Application Configuration
      • Firebase Application Configuration
      • Amazon GameOn Application Configuration
      • iOS Application Configuration
      • Android Application Configuration
      • Matchmaking Application Configuration [deprecated]
    • Users and Profiles
    • Digital Goods
    • Progress and Missions
    • Leaderboards
    • Matchmaking
    • Followers
    • Friends
    • Reward Issuance
    • Push Notifications
    • Auth Schemes
    • Save Data
    • Schemas and Metadata Specifications
    • Queries
      • Base Query Syntax
      • Boolean Queries
      • Object Graph Navigation
      • Advanced Operators
        • .ref
        • .name
  • Web 3
    • Omni Chain Support
    • Vaults
    • Wallets
    • Smart Contracts
      • Smart Contracts: Ethereum
      • Smart Contracts: Flow
      • Smart Contracts: Solana
      • Smart Contracts: Neo
    • Know Your Customer
      • Formidium
  • CONFIGURATION
    • Using the Web Console
    • iOS and Android Product Bundles
    • Direct Database Access and Batch Configuration
  • UNITY PLUG-INS
    • Unity Plugin
    • Content Delivery Management and Unity CDN Plugin
  • DEPLOYMENT
    • Deployment Overview
      • Docker Containers
      • AWS Deployment
      • Standalone docker-compose
  • LUA SAMPLES
    • lua Samples
      • main.lua
      • event.lua
      • hello_world.lua
      • model.lua
      • startup.lua
      • HTTP Manifest
        • Example endpoint handler
        • Example operations table
  • RESTful APIs
    • Swagger and Swagger UI
    • Elements 3.0.X (Preview)
      • Applications
      • Friends and Followers
      • Digital Goods and Inventory
      • Leaderboards
      • Missions and Rewards
      • User and Profiles
      • Save Data
      • Custom Metadata
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

Last updated 11 months ago

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