Who holds the private keys to an asset determines the ownership. Crypto enthusiasts have recorded private keys offline—using a USB stick or even an old-fashioned piece of paper—only to forget where they put it or throw it away without realizing its significance.
Losing your private key is one of the most damaging situations that can happen. Horror stories are well documented.
Most of the time, you can do nothing when you lose private keys, but with an advanced and unique Key Management System (KMS), Upvest can relieve the pain.
The KMS securely manages users' cryptographic public and private keys to encrypt and sign transactions. The KMS entirely removes the burden for the user to manage keys, which can be lost or stolen, for wallets on blockchains.
All keys managed by the KMS are encrypted using state-of-the-art cryptography algorithms to ensure that only the authenticated users can ever access their managed keys. In addition, the Upvest Blockchain API provides a unique way to recover private keys.
To create a wallet for a user, you use OAuth2 authentication to act on behalf of the user and specify the asset that the wallet should hold. The KMS then stores the pair of public and private keys encrypted with the user's password.
Assets are the underlying tracked digital tokens—auxiliary, i.e., created on existing blockchains—e.g., ERC-20, or coins—native to their blockchains—e.g., Bitcoin. Each asset has a unique identifier, a name, a ticker symbol, and an exponent. You obtain a list of the supported assets through the Upvest Blockchain API.
Here's an example to create a wallet on behalf of a user via the curl command-line HTTP client:
curl -H 'Authorization: Bearer wdNAngDP64kDkYF4DI1ZhQny2Ck6Ej' \ -H 'Content-Type: application/json' \ -d "password=user_password" \ -d "asset_id=1e84a803-006a-55b3-9ff8-db46f2dedeca" https://api.eu.upvest.co/1.0/kms/wallets/