We wanted to create an easy and efficient method to make payments. Forget about lost wallets and stolen credit cards. Whether it be reimbursing a friend, paying the babysitter, or making a formal transaction at a business, Shake2Pay provides an innovative and secure way to handle your wealth.

How it works

Shake2Pay utilizes the simplicity of a handshake to complete a transaction. The involved parties, shake hands, with Pebble smartwatches on their wrists. When a handshake is detected, a message is sent to the companion app, from where the server is contacted with the details of the payment, and completes the transaction through Blockchain's API. The payment is made in Bitcoin, which makes it easy to anonymously make payments, in the real world.

Challenges I ran into

The Pebble smartwatch was difficult for us to interface with its companion app, due to confusion about how the appmessage method worked. Determining the parties whom the transaction was made between was another challenge, but was one that was overcome through the use of the user's precise location, and the timestamp of the transaction.

Accomplishments that I'm proud of

We are proud we were able to utilize Bitcoin in an effective and beneficial way. We are also proud that we brought Bitcoin use to the real world, and easily accessible for use in everyday activities. In addition, we feel accomplished as we managed to develop working companion applications for the Pebble smartwatch for both Android and iOS, which increased the access to the service.

What I learned

  • Bitcoin transactions
  • Pebble to smartphone interfacing

What's next for Shake2Pay

Betting! Once a user shakes on a bet, they are held to it. Shake2Pay will fetch the latest scores from the NFL, NBA, MLB, etc if the bet was about sports. Whoever wins the bet, will receive the pool of money.

Share this project:


posted an update

My contribution was mainly in the backend of the application. I wrote the server code in Node.js and brainstormed the efficient way to resolve the matching of the sender and receiver of the transaction. I also managed the mongoDB database used to store the payment sender and receiver identifiers.

Log in or sign up for Devpost to join the conversation.