Cryptocurrency Saving Application

Cryptocurrency Saving Application

Buy cryptocurrency simple and secure

CHALLENGE

The task was to create a mobile application that allows users to buy cryptocurrency simple and secure.

buy cryptocurrency simple and secure

SOLUTION

The app offers three ways to invest:

  • One-time investments: simply invest once any sums whenever you want

  • Recurring deposit: set up the amount of money you want to invest into cryptocurrency every week or month and it will be withdrawn automatically
  • Round ups: the app tracks user’s transactions and rounds up his daily purchases to the nearest $1, $2 or $5 and accumulates the difference to a certain amount of money and then automatically invest it into cryptocurrency
The following limits are set in the app:
  • Monthly per user investment limit: $2000
  • Weekly user’s recurring deposit limit: $500
  • Overall app transactions daily limit: $50000
  • Round ups per user transactions count daily limit: 2
  • Round ups per user transactions amount: $5
All limits are configurable in the settings and can be changed by the admin user.
Application settings
The application contains logic for accumulating round ups transactions. This type of transactions is very small (the average amount of such a transaction is $0.30-3.50), so in order to optimize fees, the backend is accumulating round ups transactions while the threshold will reach the necessary value (can be set up in options). Only after that, the transaction will be processed.

All data about transactions are stored in DynamoDB. It provides users with qualified support: they can get all the information about investment transfers, its current status, amount and source.

We implemented a promo code feature. Each user can invite friends and get $10 investment in cryptocurrency after a friend buy his first cryptocurrency. Another option is to get a promo code and make an additional investment after its activation.

The app monetization is based on the subscription model and transactions fee.

The application session is implemented with an encrypted version of JSON Web Tokens: JWE. The whole JWT token is encrypted with a symmetric key. This allows hiding token’s payload, which usually consists of user’s ID and email.

The app integrates with such banking services as SynapseFi and Plaid. It allows to connect multiple bank accounts and track their transactions. The integration with CoinMarketCap platform provides users with current exchange rate of cryptocurrency. All cryptocurrency exchanges are processed through Bittrex and Kraken services.

Used stack

JavaScript

JavaScript

TypeScript

TypeScript

Nodejs

NodeJS

Reactjs

ReactJS

React Native

React Native

HTML5

HTML

CSS

CSS

JWT/JWE

JWT/JWE

Mocha

Mocha

Webpack

Webpack

Serverless

Serverless

Terraform

Terraform

Sequelize

Sequelize

SQL

SQL

AWS Aurora

AWS Aurora

DynamoDB

DynamoDB

AWS Lambda

AWS Lambda

AWS SNS

AWS SNS

Amazon SQS

AWS SQS

AWS VPC

AWS VPC

AWS API Gateway

AWS API Gateway

AWS Cloudwatch

AWS Cloudwatch

Git

Git

CircleCI

CircleCI

IMPACT

The app is a good solution both for those who only entering the digital world of currency and those who already have long-term experience in buying Bitcoin and other cryptocurrencies. It allows the users to buy and exchange cryptocurrency simple and secure, also working as an accumulative and saving system.