project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5
project screenshot 6


Group Expense Management dApp: Split Expenses. Preserve Friendships. Going Dutch the Socially Acceptable Way.


Created At

ETHGlobal Waterloo

Winner of


🥇 Unlock — Best Use

Project Description

Effortlessly settle shared costs post-trip using Dutch; the group expense management dApp.

Start your user journey with a single registration using Worldcoin, enabling personhood verification for secure repayments to friends, not bots.

After verification, set up your profile by connecting your Metamask - showcase your authentic nounish self ⌐◨-◨. by uploading your favorite NFT.

Get ready to create a trip and add friends using Unlock Protocol's lock and key feature. Simply airdrop the trip key by inputting their wallet, and they'll join your trip seamlessly.

As you accumulate expenses upload receipts and totals to Filecoin's web3.aggregator decentralized storage solution.

After your trip is over and everyone has uploaded their expenses, click "End Trip", Dutch computes simplified debts using optimized calculations- this allows for the least amount of transactions between individuals to occur- saving time and gas fees

Every group member receives a notification indicating their balance. For those who owe money, a "Send Funds" option generates a prefilled transaction ready to be signed in Metamask.

Once everyone has settled their debts, the trip is complete. But don’t worry- you can reminisce anytime as past trips can be retrieved using a subgraph on Graph Protocol.

How it's Made

Polygon: We have chosen to deploy our dApp smart contracts on Polygon mainnet and ZkEVM testnet for the purpose of facilitating seamless transaction reimbursements while eliminating high transaction fees. Our simplified debt computation is calculated onchain.

Worldcoin: In order to verify proof of personhood, we integrated Worldcoin in the front-end for the registration process. Simply connect the world app with our HR code. This prevents bots from joining the trip and claiming fund reimbursement.

MetaMask: We used MetaMask SDK for our sign-in process, allowing users to connect their wallets through our desktop dApp, upload profile NFTs and receive and send payments directly.

Unlock Protocol: Dutch initiates every trip by utilizing Unlocks’ "lock" feature. Dutch creates a new trip by deploying a lock on the backend. Users can effortlessly add members to the group by inputting their wallet addresses- airdropping them the corresponding "keys".

Nouns: We get our aesthetic inspiration from nouns and can't wait to hit the road with some nounsters for an epic adventure using Dutch ⌐◨-◨.

Future Product Development IPFS: Users receipts are uploaded and will be stored in a decentralized fashion using a web3.aggregator.

XMTP: Users will receive notifications indicating their owed or owing balance via this decentralized messaging and notification system.

The Graph: We plan on building and deploying a subgraph in order to query past trips.

background image mobile

Join the mailing list

Get the latest news and updates