Inspiration
In a world of empty promises and "gm" tweets, we wanted to bring real accountability to social coordination. We were inspired by the concept of "Skin in the Game"—the idea that people are more likely to achieve their goals when they have something to lose. Existing social platforms lack financial stakes; existing DeFi platforms lack social context. Kanyü bridges this gap by letting communities pool funds to incentivize real-world action.
What it does
Kanyü is a decentralized dare platform built on Base. It allows users to:
- Create Communities: Squads, DAOs, or friend groups can deploy their own on-chain organizations.
- Issue Dares: Members propose challenges (e.g., "Run a marathon," "Ship a feature," "Touch grass") with a deadline and a bounty.
- Stake Crypto: Users stake ETH to back the dare or pledge to complete it.
- Prove & Earn: Completers submit proof (metadata/links), and the community votes to release the funds.
How we built it
We built Kanyü as a full-stack dApp with a focus on user experience and robust smart contract logic:
- Smart Contracts: Written in Solidity and developed with Foundry. We implemented a Factory pattern (
CommunityFactory) to deploy individualCommunityCorecontracts, ensuring isolation and scalability. TheDareCorecontract handles the complex logic of staking, state transitions, and payouts. - Frontend: Built with React, Vite, and Tailwind CSS for a responsive, modern UI.
- Integration: We used Wagmi and Viem for seamless wallet connection and blockchain interaction. The app reads directly from the Base Sepolia testnet, providing real-time feedback on community stats and dare status.
- Deployment: Deployed live on Base Sepolia for fast, low-cost transactions.
Challenges we faced
- Frontend-Contract Synchronization: Ensuring the UI accurately reflected the complex state changes of the smart contracts (e.g., moving from "Funding" to "Active" to "Completed") was tricky. We had to carefully manage React state and Wagmi hooks to prevent "flickering" or outdated data.
- Strict Typing: Integrating strict TypeScript types with raw blockchain data required rigorous type guarding and ABI management.
- Local vs. Testnet: Debugging the connection between our local Anvil chain and the deployed Base Sepolia contracts caused some initial friction, which we solved by enforcing strict network configuration.
Accomplishments that we're proud of
- Factory Architecture: We successfully implemented a factory model that allows anyone to spawn their own permissionless community contract with a single click.
- Seamless UX: We abstracted away much of the blockchain complexity. For example, creating a community automatically redirects the user to the transaction scan, providing immediate feedback.
- Live Deployment: The project is not just a local demo; it's fully deployed and functional on the Base Sepolia testnet.
What we learned
- Base Ecosystem: We gained deep experience deploying and verifying contracts on Base, appreciating its speed and developer tooling.
- Wagmi Power: We learned to leverage advanced Wagmi hooks for writing to contracts and watching transaction receipts, which significantly improved the reliability of our transaction flows.
- Design Systems: We refined our skills in building dark-mode-first, accessible UIs using Tailwind.
What's next for Kanyü
- AI Verification: Integrating AI agents to automatically verify photo/video proofs for simple dares.
- Social Login: Adding Account Abstraction (Coinbase Smart Wallet) to allow users to login with just a passkey.
- Mainnet Launch: Auditing our contracts and deploying to Base Mainnet to let users stake real value.
Built With
- base
- foundry
- react
- solidity
- tailwind
- typescript
- viem
- vite
- wagmi
Log in or sign up for Devpost to join the conversation.