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
  • Wallet Properties
  • Wallet Accounts
  1. Web 3

Wallets

Elements supports implementation of a custodial Wallet system to facilitate user transactions with your game or application.

PreviousVaultsNextSmart Contracts

Last updated 11 months ago

Wallets are at the heart of any blockchain. A typically contains multiple accounts, which is typically a public/private key pair. The wallet identifies the user or organization on the blockchain and uses the information to generate the digital signature required to execute transactions.

Elements provides a custodial wallet system that permits you to store user's crypto assets within Elements. In addition to full custodial wallets, Elements also allows the storage of the public address only, permitting users to receive crypto assets, but not to sign transactions. This can be useful for users who wish to bring their own wallets.

Wallet Properties

The general Wallet properties are as follows.

  • user - The user which owns the Wallet

  • preferredAccount - As a single Wallet may contain multiple accounts, this indicates the preferred account. In cases where a Wallet may

  • accounts - A list of all accounts contained within the Wallet.

Blockchain APIs and Blockchain Networks must be compatible in all cases. For example, it is not possible to specify a Wallet that uses the Ethereum API on the Solana Network, as they are incompatible networks.

Wallet Accounts

A Wallet may contain several accounts, each of which is a separate identity on the blockchain. Most blockchains support multiple accounts per Wallet. Practically speaking, most users will have a single account per wallet. However, it is possible to support multiple accounts per wallet.

The wallet account properties are as follows:

  • address - the public address of the account. This field is mandatory.

  • privateKey - the private key of the wallet. This field is optional. However, if left unspecified, then the wallet may not be used to sign transactions. Rather it may be only used to receive currency and NFTs.

  • encrypted - a boolean value to indicate whether or not the private key in the wallet is encrypted.

vault - The which owns the Wallet

api - The API with which this wallet is compatible. See for more information.

networks - A set of networks with which this wallet is compatible. See for a list of supported values.

Vault
Wallet
id
displayName
Supported Blockchain APIs
Supported Blockchain Networks