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
  • 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

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
Supported Blockchain APIs
Supported Blockchain Networks
id
displayName