---
# System prepended metadata

title: cryptsao mobile app

---

# cryptsao mobile app
An app for users to buy and sell crypto tokens.

## Onboarding

- The first time a user gets into the app/website, they should be presented with onboarding screens.
    - Crypto at your fingertips: Buy and sell instantly with Mobile Money
    - Secure: Secure your account with SMS verification
    - Instant checkout: Sell now and receive cash directly in your momo account.
- There should be options to skip the onboarding and go straight to registration page.

## Registration

- A user logs in with the following information
    - phone number
    - full names
    - password
- They will receive a `6 digit` verification code via `sms`. 
- They will verify this code before continuing to home page

## Login

- A user logs in with a `phone number` and `password`
- If their session has expired, they will need to reverify again.

## Password recovery

- The user will enter the phone number associated to the account and will receive a code to use for password recovery.
- If the code is valid, they'll move to a screen to set a new password.

## Home page

- show the current user profil
- show the curren't users balance (the sum of all their crypto balances)
- show a list of cryptocurrencies and their current market price. Every line should include
    - crypto name
    - crypto logo
    - trend (small graph of the market changes)
    - market price
    - percentage change (green for increase, red for decrease)
- When you click on any crypto, it should take you to the page for that coin.
- There should be a bell icon for notifications. (with an indicator to indicate the number of notifications)


## Coin page

- show the name of the coin e.g (Bitcoin BTC)
- show the market value including percentage price change (with green and red indicators)
- show the full graph of the price (configurable by time)
- show a button to BUY and SELL

## Buy page
If the user has not verified their account, show an warning that says "unverified accounts cannot buy/sell. Verify now"

- show the coin you are buying 
- show the maximum you are allowed to buy
- show  the price of the coin in relation with local currency (e.g BTC/XAF)
- enter the price you want to buy
- if everything is ok, show progress bar and success if complete


## Sell page
If the user has not verified their account, show an warning that says "unverified accounts cannot buy/sell. Verify now"

- show the coin you want to sell
- show the price of the coin
- show the balance you have in your wallet
- enter the amount
- show how much you'll receive in local currency

## Wallet
- show total wallet value
- show the coins they have and their amounts
- show your transaction history

## Transfer
Here, you can transfer coins to/from an external wallet.

 Deposit
 - choose a coin
 - generate an address
 - send the address to the user
 - show progress and completion notification

 Withdraw
 - choose a coin
 - enter an adress
 - enter the amount
 - send the coins to the address
 - show progress and completion notification

 History
- show transfer history
- the type of transfer (withdraw/deposit)
- the amount
- the coin
- the status
- the date
- etc..

## Profile
- standard profile stuff
- A verified badge (denotes that the user has been verifieied)
- A button to verify the user (will take you to verification page)
- show settings
    - currency
    - notifications
    - session timeout (how long before auto logout)
    - etc..
- signout

## Verification page
- show the list of verification requirements
    - Personal Info (names, address)
    - National ID card or passport (upload front and back)
    - Facial recognition (upload self portrait)
- The verification will go from one step to another
- once done, let the user know that we will manually verify the user and get back to them.


## Notifications page
- clicking the bell icon on the home page should take you to notifications page
- here, you see a list of your notifications
- ability to clear all notifations
- there should be a distinction between read and unread notifications


