Wallets

LimePay Wallets

The main value that LimePay delivers is the ability to abstract and hide away all the complex processes that your users must be aware of in order to use a dApp, while providing a familiar UX. However in order to preserve the intrinsic properties of the blockchain, the transactions need to be executed by your users, meaning that your users must have wallets through which they can sign the required transactions.

We believe that in-dApp wallets are the best approach when it comes to User wallet management and that is why we are providing Wallets solution that you can use out-of-the-box.

NOTE: You are not required to use the LimePay Wallets in order to integrate LimePay in your dApp and process payments. You are free to use the other popular approaches that exist.

How to create LimePay Wallet for a shopper

As a prerequisite you need to create a shopper and specify that he will be using LimePay Wallets.

  1. Your server, through the LimePay SDK, requests a wallet token.

  2. You send the wallet token to your client.

  3. Your client, using the wallet token and the Web-Library, creates the wallet of the user (once the user provides a password). The library encrypts the newly created wallet with the provided password and sends it to LimePay.

  4. The mnemonic of the wallet is returned to the user, where he is requested to safely store it.

How to process payment with LimePay wallet

  1. Your server creates new payment at LimePay through the SDK

  2. Your server sends the generated limeToken to your web front-end.

  3. Using the Client Library and the limeToken, the user signs the Ethereum transactions by providing his password. (his wallet is being served and decrypted client-side).

  4. The Client Library initializes the payment form and your user submits his payment information along with his signed transactions.

F.A.Q

What are in-dApp wallets?

In-dApp wallets combine client-side encryption and keystore in order to provide superior UX. The user's wallet is being stored encrypted, server side and once requested, it is being served into the client, where it is decrypted by the user (through password) and used for signing transactions.

The result is that users sign transactions just by typing a password (familiar to the average user) and the private key never leaves the client!

Can Users export their keys?

Yes! Users can backup or export their LimePay wallets by saving/storing the mnemonic.

What if the User forgets his password?

Only the users can decrypt their LimePay Wallets using their password, however when a user forgets his password, no-one can decrypt the wallet. Using the mnemonic, the user can provide a new password, effectively providing him with a "forgotten password" feature.

Users cannot recover their wallets if they forget their password and lose the mnemonic!