How it Works
Wallet Creation
When a user signs into an application using their email or social logins for the first time, a wallet is generated on the user's device. The corresponding wallet key for this wallet is securely split into three shards.
- Shard A is stored securely on the user's device. For web applications, this is stored on the browser, or for mobile apps, it is in a secure enclave.
- Shard B is stored using a combined encrypted symmetric and asymmetric key known to Xellar and then stored in the AWS Cloud.
- Shard C is encrypted by user authentication and stored in the IPFS network to keep the key decentralized through Xellar’s high performance private IPFS Gateway.
Embedded Wallet Scope
Embedded Wallets are scoped to applications per API key. If users use the same email to sign in to a different application using Embedded Wallets, the application will manage an entirely different wallet.
Benefits of single application scoped wallets
- Each application has limited access only to wallets created through their application. It cannot manage wallets from other applications.
- Users may only view tokens sent or purchased from your application.
- You can manage your own subset of users through your own
Security & privacy
TLS Encryption
To increase security and privacy, private keys or wallet "seed phrases" are never stored or sent over a network. TLS encryption is used in transit for internal and external communications with Xellar's back-end and databases. TLS encryption is also required for third-party vendors.
AES-256
Data backups and storage are encrypted with AES-256.
Threshold secret sharing
Using threshold secret sharing, Xellar cannot reconstruct a user's private key, thereby providing a non-custodial wallet. Additionally, a customer's assets are safe even if Xellar or the application developer (you) is compromised. In a compromised situation, an attacker may only be able to access one of three shards, which is inadequate to reconstruct the wallet's private key.