We wanted to apply blockchain technologies towards the problems we identified in the banking industry.

What it does

Ethoken is a mobile first banking platform that decouples traditional banking services. This allows users to fully customize their personal banking experience. Core to our platform is the belief that that we are moving to a future of open banking. Users will be able to pick and choose financial applications from different banks to design a unique banking platform personalized to their needs. We provide users a personal dashboard where they can pick and choose specific banking services to fit their lifestyles.

How we built it

The DAPP (Decentralized Application) is built as a Node.js web app with the Express.js framework. By being a fully Decentralized Application, The back end is custom Solidity Smart Contracts that are hosted on the Ethereum blockchain. We use web3.js to relay with a remote Ethereum node. Authentication is done using Uport Biometric Identity Management which is highly secure and is required for app login and signing all transactions with a biometrically verified hash ID.

Challenges we ran into

Building blockchain applications is challenging because it introduces new programming paradigms. Especially integrating uPort interact with Ethereum dApps right in your browser. Designing the UX/UI was also challenging requiring us to hide complex technologies under a simple, intuitive interface.

Accomplishments that I'm proud of

Integrating smart contracts to work with the mobile and web interface.

What I learned

Integrating Solidity, Web3, uPort, Node and Vue

What's next for test

Developing new banking extensions that can be integrated into the Ethoken app.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.


Uport installed from the app store on your phone.


  1. Simply clone the project and run: npm install

  2. npm install

  3. npm start

  4. Visit http://localhost:3000/

  5. That's it!

Built With

  • Solidity - Ethereum Smart contracts
  • Web3 - Ethereum javascript interface
  • uPort - Identity tracking
  • Node.js - Server-side javascript framework
  • Vue.js - Progressive javascript framework


Built With

Share this project: