Octahedon is a mobile debt management application that uses the blockchain.
(This project was a collaboration with buzzert.)
A lot of expenses that are shared between two people can be tracked in a way that is resource efficient and simple, as long as there is a trustworthy way to store a ledger on the web. We believed that is a perfect application for the Ethereum blockchain, since it allows custom applications to execute code on the distributed ledger and store data on it.
The goal was to create a frictionless mobile application that allowed the debtor and the debtee to easily create and manage the debts between them. The debtor and the debtee add each other in the app simply by storing their Ethereum public key and a name for that person. After this, each user can create what are called “debt requests” which would normally be a request for money on a service like Square Cash or Apple Pay. The key difference with Octahedron compared with the other apps is that no money is exchanged between the two users (not even Ether). Instead, a balance is computed and debt requests are stored on the blockchain indefinitely.
The app might be used as follows.
- User A purchases a $20 cheese pizza that is shared between User A and User B.
- User A creates a debt request for half of the price of the pizza ($10), and assigns User B as the debtee.
- User B sees the debt request and “fulfills” it, which formerly acknowledges the debt with the system and stores this result on the blockchain.
- User A and User B now see an updated balance in the app, where User A is owed $10 and User B owes $10.
The intention is to minimize the amount of real money transfers between the two users, which can incur a service fee or compromise anonymity. Octahedron is completely pseudonymous (identities can still be linked on the blockchain, but only if a user exposes the link between his identity and his public key) and never requires any registration or debit card to use. If debts are commonly shared between the two users (for example, if they are roommates), then the app facilitates the decision on who should cover various expenses throughout the year by maintaining a live-updating balance between the two users.
If at any point either user wants to clear his balance with the other, he can simply send money to the other user by any means desired and then create a debt request for the amount sent. Once this debt request is acknowledged by the other user, the balance for both users is restored to $0.
buzzert and I have been using this app for a couple of months now, and it has worked extremely well for our living situation. Not only do we track everyday expenses in the app, but we also use it to store historical information that may benefit from having both users cryptographically acknowledge the relevant data. For example, since we both share a vehicle, one of us might get an oil change or perform some other routine maintenance on the car. The person who is responsible for completing the maintenance on the car can create a debt request (minor hack: we create the debt request for $0.01) with a note indicating that the maintenance was completed. Once the other user “fulfills” the debt request and acknowledges the event, there is now a cryptographic way to verify this event at some point in the future.