Inspiration

The inspiration for PoolFi, a blockchain-based money pooling solution, came from existing fiat-based implementations of many-to-one pools and one-to-many payment services. Our vision was to bring that same level of convenience without the middleman fees, delays, and risks of centralized payment processors. Our DeFi application allows users to securely settle up without ceding control of their funds to a third-party.

What it does

PoolFi lets users pool money for group purchases, expense sharing, or cost reimbursements. Core features of the app allow users to:

  • Create ETH pools with defined contributors and customizable contribution amounts
  • Seamlessly contribute ETH to existing pools directly from their wallet
  • Track pool status in real time: who paid, how much, and whether the pool is still active
  • Cancel incomplete pools and trigger refunds if needed

All logic is on-chain. All interactions are wallet-native. No backend, no server, no middleman.

How we built it

  • Smart Contract: Written in Solidity, the PoolFi contract handles pool creation, contribution tracking, completion & cancellation logic, and payment dispatchment & refunds.
  • Frontend: Built with Next.js, TypeScript, and Tailwind CSS for a sleek, responsive UI.
  • Wallet Integration: Powered by Wagmi and Viem for seamless wallet connectivity and contract interactions.
  • Design: User-friendly layout with intuitive widgets and premium styling.

Challenges we ran into

  • Contract Deployment: Deploying our contract on Ethereum Sepolia testnet was tricky as it required many prerequisites.
  • ABI Wiring: Resolving package errors and ensuring ABI compatibility across libraries took careful debugging.

Accomplishments that we're proud of

  • Fully decentralized ETH pooling with no private servers or databases
  • Transparently visible contribution tracking and pool data stored on-chain
  • Bulletproof contract robust enough to handle all edge-cases

What we learned

We learned how to develop, test, and deploy a real functional smart contract to the Ethereum blockchain using Solidity, Foundry, and the Infura API. We gained proficiency in TypeScript libraries to leverage web3 by integrating one-click user authentication with wallet connect. And we learned how to conduct complex interactions with full transparency, visible on the Ethereum blockchain.

What's next

There are many exciting enhancements in PoolFi's future that can make it a robust dApp.

  • Contract Improvements: Add functions to set an expiry time for a pool, optional password protection for pool joining, and opt-out to leave unwanted pools.
  • Data Storage: Leverage the InterPlanetary File System (IPFS) to let the pool creator store pieces of text or files such as receipts or invoices in a way that is accessible to all contributors.
  • Multi-chain Support: Add support for Ethereum Layer 2 or other EVM compatible blockchains for improved real-world usability with faster confirmations and lower gas prices.

Built With

Share this project:

Updates