As active users of modern FinTech applications we find Ethereum wallets somewhat lacking more advanced and modern features like splitting bills, requesting money, locating nearby wallets etc. Honestly, how hard is to split a lunch between 5-6 persons using Ethereum? Even DAI.

What it does

We’ve created a solution that contains an SDK that enables wallets and apps:

  • integration of payment splitting and requesting directly from your contacts,
  • syncing of address book with user profiles, wallet notifications.

Our proof of concept is a web app that enables these features, together with integration of notifications in the MetaMask web wallet.

How we built it

SDK was written in TypeScript and released to NPM. It uses 3box API extensively for having data shared in decentralized manner so every other wallet or dapp could easy use. For notification sending, SDK will create public thread scoped to the user that should receive notification. SDK also enables wallets to listen on new notifications (payment requests).

As an POC we have created a simple DApp to create payment requests and upgraded MetaMask web extension to listen on new payment requests and notifies user about this wanted action.

Challenges we ran into

We had a lot of issues with some ipfs "quirks" and crashes but we managed to get it work. We had plan for payment request receiver to "mark requests as read" but to do this we need to assign user as 3box thread moderator which is currently not possible due to 3box limitations.

Accomplishments that we're proud of

We managed to create a fully working example from creating split payments to receiving notifications and fulfilling payment requests. We think it will benefit wallets interoperability as this SDK is not tied to payment notifications only.

What we learned

We gathered extensive knowledge of 3box API and internal workflow's.

What's next for SplitNetwork

We would like to extend SplitNetwork to be global wallet-to-wallet notification protocol

Built With

Share this project: