Created on 1st March 2025
•
There are 3 problems with web2 fundraising: 1) censorship and deplatforming, 2) inefficient financial coordination, 3) identity verification.
Here are examples of fundraisers that would have worked on Inflection:
Moreover, our main focus was to create multiple efficient financial coordination campaigns:
Anyone can donate any amount, ends at a deadline
Reach goal amount by deadline, refund if not reached
Per person, each person pays a set amount by deadline
In web2 fundraising funds have to be escrowed, making campaigns like split-fixed cost high risk. However, in web3 we can allow users to set an allowance that will leave the wallet once a condition has been met, keeping their funds safe. We hope to leverage the blockchain to offer people the financial flexibility that they need when coordinating funds, achieving one of the original goals of decentralized finance.
When a user opens up to the home page they have the option to explore campaigns or create an account. When creating an account they can use their Google account or connect their wallet through Okto. Internally, once they are logged in we pass that wallet address to Humanity Protocol to create a Verifiable Credential (which in the future they will have to have set up by scanning their hand).
Now they have the ability to create their own campaign, when clicked we actually verify the credential again because VCs can expire or get revoked. If you have a valid VC you will be able to pick between the 3 campaign types: Donate any amount, Goal amount w/ refund, Split fixed cost. In each campaign you will have slightly different parameters based on what is required in order to start the campaign.
Once completed the campaign is posted and can be shared with others as well as it can be found on the explore campaigns page. For a donor you would also have to create an account or log in, but then you can go to the explore campaigns page and select a campaign that interests you. Once on this page you have the option to donate as much as you want, or as much as you are allowed to donate depending on the campaign. After you are invested in a campaign, the state will not be resolved until the deadline hits. And depending on the campaign and its state at the deadline, your pledged funds will or will not leave your wallet.
Technology Stack
Frontend: Next.js 15 with TypeScript
Authentication: NextAuth.js with Google OAuth
Wallet Integration: Okto Web3 SDK
Verifiable Credentials: Humanity Protocol
Smart Contracts: EVM-compatible (deployed on Base Sepolia)
Core Functionality
Identity Verification System
The platform implements a robust identity verification flow using verifiable credentials:
Credential Issuance: After Google authentication, the system automatically issues a verifiable credential to the user via the Humanity Protocol API
Credential Storage: Credentials are stored locally in the browser
Credential Verification: Before sensitive actions (like creating a campaign), the system verifies the user's credential
Campaign Creation
Users can create three types of fundraising campaigns:
Anything Helps: Accept any amount of donations
Goal Based: Set a specific fundraising target
Per Person: Fixed donation amount per contributor with optional maximum donor limit
Wallet Integration
The platform integrates with Okto Web3 SDK to provide:
Seamless Wallet Creation: First-time users get a wallet automatically created
Multi-chain Support: Campaigns can be created on different networks
Token Selection: Support for multiple tokens (USDC, RLUSD)
Development Process
Humanity Protocol API
Role: Verifiable credential issuance and verification
Endpoints:
https://issuer.humanity.org/credentials/issue - Issues new credentials
https://issuer.humanity.org/credentials/verify - Verifies existing credentials
Key Features:
Issues blockchain-based verifiable credentials to user wallet addresses
Provides verification services for sensitive operations
Ensures campaign creators are verified humans
Blockchain Networks
Role: Hosting campaign smart contracts
Integrated Networks:
BASE_SEPOLIA: Primary testnet for development
Key Features:
Transaction sending through Okto SDK
Smart contract deployment and interaction
Campaign data storage on-chain
Smart Contract API
Role: Interface for campaign operations
Contract Functions:
createCampaign - Creates new fundraising campaigns
Donation handling
Campaign management
Key Features:
Transparent and immutable campaign records
Trustless fund management
Support for different campaign types
Storage & State Management
LocalStorage
Role: Client-side credential storage
Integration Points:
Stores issued verifiable credentials
Retrieves credentials for verification
Key Features:
Persistence between sessions
Credential access for verification flows
Token Standards
ERC-20 Tokens
Role: Digital assets for donations
Supported Tokens:
USDC: Primary stabl
Humanity Protocol API
Role: Verifiable credential issuance and verification
Endpoints:
https://issuer.humanity.org/credentials/issue - Issues new credentials
https://issuer.humanity.org/credentials/verify - Verifies existing credentials
Key Features:
Issues blockchain-based verifiable credentials to user wallet addresses
Provides verification services for sensitive operations
- Ensures campaign creators are verified humans
Blockchain & Web3 Infrastructure (Okto Web3 SDK)
Role: Wallet management and blockchain interactions
Integration Points:
User wallet creation and management
Blockchain transaction submission
OAuth integration with NextAuth
Key Features:
Seamless wallet creation for new users
Multi-chain support
Transaction building and signing
Storage & State Management (LocalStorage)
Role: Client-side credential storage
Integration Points:
Stores issued verifiable credentials
Retrieves credentials for verification
Key Features:
Persistence between sessions
Credential access for verification flows
Token Standards (ERC-20 Tokens)
Role: Digital assets for donations
Supported Tokens:
USDC: Primary stablecoin for donations
RLUSD: Secondary donation option
Key Features:
Standardized interface for token transfers
Value stability (in the case of stablecoins)
Cross-chain compatibility
UI/UX & Notifications (React-Hot-Toast)
Role: User notifications and feedback
Integration Points:
Success/error messaging
Transaction status updates
Key Features:
Non-intrusive notifications
Customizable appearance and duration
Trade Offs: We tried to implement Okto and RippleUSD however Okto was only deployed on Base Sepolia and RLUSD was only deployed on ETH Sepolia.
We want to optimize the user experience in the future by curating the explore campaign feed and creating a mobile app since we believe that is the optimal form factor for a fundraising application.
Our project was started 1 day into the hackathon so it is all new.
Tracks Applied (7)
Humanity Protocol
Ripple
Coinbase Developer Platform
Coinbase Developer Platform
Chainlink
okto
Technologies used