Pool ๐Ÿ๏ธ A Better Way to Pool Funds

Pool ๐Ÿ๏ธ A Better Way to Pool Funds

โ€‹Pool is a tool that allows multiple frens to create, manage, and spend a shared pool of funds.

138
Built at Onchain Summer Buildathon

The problem Pool ๐Ÿ๏ธ A Better Way to Pool Funds solves

Today, other than DAOs like Nouns DAO with treasury management tools, managing group spending is difficult!

Imagine any scenario from a group of friends registering a team for their local softball league to an IRL web3 hackathon event that requires multiple partners to contribute bounties.

๐Ÿšฉ๐Ÿšฉ๐Ÿšฉ๐Ÿšฉ๐Ÿšฉ
Running IRL events with partners typically requires:

  • One responsible party fronting the cash
  • Budgeting
  • Organizing
  • Collecting funds
  • Spending funds
  • Tracking funds
  • Chasing people to pay up
  • Asking people for missing information
  • Delays in paying out others (like many of us have experienced for hackathon bounties)

This process is cumbersome, puts a lot of extra work on the organizer, and can lead to issues such as not getting paid back. Think about any IRL and/or virtual events that require prize pools like hackathons, eSports tournaments, sports tournaments, pitch competitionsโ€ฆ and even beyond events to anything that needs funds to be pooled in by multiple parties to be co-managed.

๐Ÿ’ก๐Ÿ’ก๐Ÿ’ก๐Ÿ’ก๐Ÿ’ก

Pool is a tool that helps multiple parties manage a pool of funds, making these tasks easier, safer, and more transparent by:

  • Enabling a pool of funds to be created before the IRL event, so no one person ever has to front the cash.
  • Creating and enforcing rules over how those funds will be distributed, so no one person can misuse those funds.
  • Ensuring timely and accurate payouts, so nobody ever has to wait for months (or forever) to get paid back.

๐Ÿš€๐Ÿš€๐Ÿš€๐Ÿš€๐Ÿš€

In the future, we aim to explore a full suite of features like:

  • Adding the ability to customize the amount contributed to a pool
  • Enable profits to be redistributed back to creators of pool
  • Working with providers like Stripe, VISA, Mastercard to get pool-specific virtual cards
  • Automating the tracking of payments on chain
  • Using ZK to provide multiple levels of access to payments

Challenges we ran into

๐Ÿšง Coinbase Paymaster and Bundler ๐Ÿšง

  • When integrating Coinbase Paymaster and Bundler, there are actually two ways of doing so.
  • We didn't know that if the Smart Wallet was external and controlled by an EOA that we have direct control with, we could use 3rd party integration tool such as Pimlico (so we started with this).

๐Ÿšง Coinbase Smart Wallet ๐Ÿšง

  • It works ok for EOA to be used in authorising, but the problem is we are using Coinbase Smart Wallet instead, and the wallet is not capable to generate ECDSA signature (because it's a contract of course),.
  • Now, we are trying to create another Smart Wallet on top of Coinbase Smart Wallet (which is not possible).
  • Only then will we know the actual way of doing this with Coinbase Smart Wallet is to just use useWriteContracts and useCapabilities from wagmi in combination with Pimlico / permissionless.
  • We could have saved some time if we knew the difference earlier.

๐Ÿšง Time to Integrate Frontend with Full UX ๐Ÿšง

  • In other aspects, most of the problem we had is just building out a frontend that is able to work as close as possible to our design.
  • We have rethink and redesign user flows many times to make sure UX is smooth other than lot's of bugs fixing and code refactoring.

๐Ÿšง Smart Contracts ๐Ÿšง

  • Nothing major.

Tracks Applied (3)

Coinbase Smart Wallet

Pool is going to be use in real life competitive events such as sports tournaments, e-sports, hackathons etc. Because o...Read More

Paymaster and Bundler

As mentioned above, Pool is a real life tool to help manage competitions prize pools. Those prize pools are usually fund...Read More

Unplugged Track

Our mission at Pool is to unite people through the power of play. Working professionally in web3 events production, we ...Read More

UNPLUGGED with Nouns

Cheer Project

Cheering for a project means supporting a project you like with as little as 0.0025 ETH. Right now, you can Cheer using ETH on Arbitrum, Optimism and Base.

Discussion