Inspiration
Pay Circle was inspired by a simple but universal frustration: splitting money in groups is still unnecessarily painful.
Whether it’s dinner with friends, shared rent, or group expenses, one person almost always pays upfront and then has to manually chase others for their share. Existing payment tools rely on trust, reminders, and coordination — which often leads to delays, confusion, or awkward social friction.
We wanted to rebuild this experience using blockchain not as a gimmick, but as a way to enforce fairness, transparency, and automatic settlement between groups.
What it does
Pay Circle is a crypto-native group payment system built on Base Sepolia that allows users to:
Create a shared payment request with a total amount and participant count Generate a shareable payment link for others to join Let each participant contribute their exact share on-chain Track contributions and payment progress in real time Automatically settle the payment once all participants have paid
Once fully funded, the smart contract automatically transfers the collected funds to the creator — removing the need for manual tracking or follow-ups.
How we built it
Pay Circle is built as a full-stack decentralized application using:
Solidity smart contracts for enforcing payment rules, tracking contributions, and ensuring fair settlement Base Sepolia testnet for fast, low-cost blockchain transactions Next.js (App Router) for the frontend application wagmi + viem for wallet connectivity and smart contract interaction React Query polling system for near real-time UI updates
On-chain events are decoded from transaction receipts to automatically extract payment IDs and redirect users seamlessly into the correct payment flow.
The frontend continuously syncs with blockchain state using a hybrid polling approach to simulate real-time updates while maintaining reliability.
Challenges we ran into
One of the biggest challenges was building a reliable UX on top of an inherently asynchronous system.
We had to carefully handle:
Extracting event data from transaction receipts without failure Preventing duplicate submissions and double redirects in React Managing RPC instability and network switching issues Avoiding UI inconsistencies caused by delayed blockchain confirmations
Another major challenge was designing a flow that never breaks under edge cases, such as:
Users refreshing mid-transaction Wallet disconnections during payment RPC rate limiting or failures
To solve this, we implemented multiple safety layers including retry logic, fallback RPC endpoints, strict state guards, and graceful error handling throughout the UI.
Accomplishments that we're proud of
We’re especially proud of building a system that feels simple to the user but is complex and resilient under the hood.
Key accomplishments include:
Fully automated payment flow from creation → share → settlement Real-time contribution tracking without requiring a backend indexer Seamless transaction lifecycle handling (pending → confirmed → completed) A UI that clearly communicates payment state at every step Robust failure handling that prevents broken or confusing states
Most importantly, Pay Circle successfully turns a traditionally messy real-world coordination problem into a clean, trustless flow.
What we learned
This project helped us deeply understand:
How smart contract events can be used to drive frontend state The limitations of “real-time” UX in blockchain systems How to design reliable applications on top of asynchronous infrastructure The importance of user experience in Web3 adoption How critical it is to handle edge cases in decentralized environments
We also learned that most of the complexity in Web3 applications is not in the contracts — but in making the user experience feel simple and predictable.
What's next for Pay Circle
We plan to evolve Pay Circle into a broader crypto-native payment coordination layer.
Future improvements include:
QR-based payment links for mobile-first experiences Multi-currency split payments DAO and team treasury integrations for shared expenses Invoice mode for freelancers and collaborative work Optional recurring group payments (subscriptions / shared bills)
Our goal is to make Pay Circle the default way groups coordinate and settle payments in crypto — simple, transparent, and automatic.
Built With
- evm
- typescript
Log in or sign up for Devpost to join the conversation.