How to Create User Friendly Brand Currency Wallets — Seamlessly Integrated Into Popular Mobile Applications
In this guide, we use an example of a fictitious restaurant recommendation application, “Spoon” to illustrate how a Brand could use the OST Wallet SDK to integrate a user-friendly non-custodial Brand Currency wallet into their mobile application.
We had two motivations for creating the OST Wallet SDK:
- Enable visionary brands to benefit from deploying Brand Currency without requiring them to write any blockchain code
- Enable consumers to transact with Brand Currency within existing popular mobile apps, without any cryptocurrency knowledge or risk. (Introduce consumers to the benefits of blockchain without the Icky stuff)
This UX case study on “Spoon Tokens” aims to serve as a reference for Brand developers. We’ll be using user stories around sharing favorite local food experiences to illustrate the key concepts of the OST Wallet SDK implementation and to present some basic ideas for tokenization.
To learn more about how to create and deploy your Brand Currency (also referred to as “Brand Tokens”) and to learn how to integrate the OST Wallet SDK into your mobile apps, please see the Developer Resources as dev.ost.com.
Workflow: Introduction and App Update
We recommend using a splash screen is to introduce the user to your Brand Tokens. Here, a Brand can introduce their Token economy and its benefits.
The CTA on this page is for the user to update the App to the latest version which has the OST Wallet SDK integrated. (Note: Your users will be required to update the app from the app store before they can access the Brand Token wallet.)
1. Create a Wallet
A user needs a Brand Token wallet to participate in your Brand Token economy.
To create a Brand Token Wallet, the user needs to enter a PIN. Setting a PIN helps emphasize to your users the importance of securing their Brand Tokens. The PIN must be at least 6-digits. The same 6-digit PIN will also be used to recover the Wallet using OST’s Recovery from Smart Contract method which eliminates the need for users to write down a 12-word seed phrase or private key. We describe the recovery process in more detail below.
Note: Your users do not need to enter a PIN to create their wallet until they visit the wallet section of your app. Likewise, the user does not need to re-enter their Wallet PIN to use other parts of your app. You can decide when and where in your app that you want to first introduce the Wallet.
2. Authorize a session
A helpful feature of the OST Wallet SDK is Session Keys. A session refers to a duration of time when sessionKeys can seamlessly sign a transaction on behalf of the user for in-app transactions under the authorized spending limit. The user’s 6-digit PIN can be used to authorize a session.
The default duration for Sessions is 2 weeks. During those two weeks, once the user has authorized the session, she can confirm transactions without having to re-enter her PIN.
3. Reduce friction using biometrics
A 6-digit PIN is a much nicer experience than a private key, but using biometrics on top of a 6-digit PIN gets your users the security they need with none of the hassles.
Once biometrics are implemented, the user can authorize new Sessions with her biometrics and only rely on the PIN as a backup if biometrics are not working.
4. Drive engagement with earning actions
Building a Brand economy lets you reward your users for engaging with your application and adding value to your application.
5. Give your users spending options
To keep your users engaged and strengthen the perception of your Brand, use spending options that resonate with your users.
If your token economy has a web app, spend actions can be authorized by using the Mobile Wallet QR.
6. Balances and Activity history
The Balance and Ledger APIs allow the user to look at their current Brand Token balance and transaction history. Whenever the user views their balances, we recommend showing them how to earn more tokens or options for how they could spend their tokens.
Note: The user does not need to be authorized for a Wallet Session to view Balance and Ledger.
7. Authorizing another device via a QR code (Optional)
The OST Wallet SDK supports multiple devices accessing the same Wallet using the same PIN. Take advantage of the modular device management options by encouraging users to add devices. A QR code is a quick and easy way to set up a new device from an existing Wallet. Enable users to scan the QR code to authorize the new device. Once the existing authorized device approves the request, the new device is also authorized and can use the same user PIN. Note: The user will have to set up biometrics again on the new device.
8. Using mnemonic phrases to authorize a new device or recover a lost wallet (Optional)
One of the innovations of the OST Wallet SDK is that you do not need to require your users to write down 12 words to add a new device or recover a wallet. However, if you want to add an additional layer of security, for the crypto-savvier user you can enable authorizing a new device using a mnemonic phrase.
To do so, an authorized device shows the mnemonic phrase (after verifying the PIN or biometrics, of course!)
Note: This is an optional feature.
The user enters their mnemonic phrase on a new device to authorize that device.
9. Recovery With PIN (Required) or mnemonic phrase (Optional)
Oh no, a user lost the phone they had your application on. Thankfully, recovering access to funds is made painless with OST’s Wallet SDK.
To learn more about how the OST Wallet SDK Recovery from PIN and Smart Contract is made possible in a safe and secure manner, please review the OST Wallet SDK Recovery documentation.
- Make sure you’ve setup and minted your Brand Token via the OST Platform interface. It’s free and easy to deploy your Brand Token in the OST Platform Sandbox.
- This token creation guide walks you through the token creation flow. Go to the Developers page inside your OST Platform dashboard to get access to your API key and API secret.
- Use the OST Developer Resources to integrate your Brand Token into your app.
- Integrate one of the available OST Platform Server SDK into your application. SDKs are available for PHP, Ruby, Node.Js and Java.
- Set up the Wallet SDK by following one of the Wallet set up Guides. Wallet SDKs are available for Android and iOS.
- When ready, request to move to Production (Mainnet).