StageRaise is a funding protocol focused on milestone accountability.
Project creators raise funds under defined rules, and milestone-based projects require proof submission and contributor voting before additional funds are released.
- Lack of capital protection when funds are released before delivery is verified.
- Limited contributor control after funds are committed.
- No clear recovery path when execution repeatedly fails.
- Creator launches a project with funding terms.
- Contributors fund the project using supported tokens.
- Creator submits milestone proof.
- Contributors vote to approve or reject milestone completion.
- Funds unlock by stage when milestones pass.
- Refund eligibility opens after 3 failed milestone voting rounds.
- Traditional and milestone-based project creation flows.
- Funding start and end scheduling.
- Stablecoin funding support (BUSD, USDT, USDC).
- Milestone vote setup and voting interfaces.
- Creator withdrawal UI with on-chain status handling.
- Refund state and voting history visibility.
- Dashboard tabs for activity, projects, voting, and contributions.
- Off-chain metadata and activity indexing with Prisma/PostgreSQL.
- Frontend:
https://github.com/Trynax/stageraise-frontend - Contract:
https://github.com/Trynax/Stage-raise
- Current frontend chain support: BSC Testnet (
chainId 97) - StageRaise contract address is resolved from
NEXT_PUBLIC_STAGERAISE_CONTRACT_BSC_TESTNET - Fallback contract address in code:
0x5e624d31bC13b3cE5405e6406DC77Ec0D0743e1a
- Next.js 16 (App Router), React 19, TypeScript
- Wagmi + Viem for wallet and contract interactions
- Prisma + PostgreSQL for metadata/indexing
- Cloudinary for media upload handling
app/: pages and API routescomponents/: UI and feature componentslib/contracts/: ABI, addresses, hooks, contract utilitieslib/constants/: shared constants (tokens, etc.)prisma/: schema and seed scriptssubmission/: challenge submission assets (deck/script/summary)
Create .env.local with the following values:
DATABASE_URL=
NEXT_PUBLIC_REOWN_PROJECTID=
NEXT_PUBLIC_BSC_TESTNET_RPC=
NEXT_PUBLIC_STAGERAISE_CONTRACT_BSC_TESTNET=
CLOUDINARY_CLOUD_NAME=
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=Notes:
NEXT_PUBLIC_BSC_TESTNET_RPCis optional and defaults to a public BSC testnet RPC if not set.NEXT_PUBLIC_STAGERAISE_CONTRACT_BSC_TESTNETis optional; if not set, fallback address is used.
Prerequisites:
- Node.js 20+
- npm
- PostgreSQL
Install and run:
npm install
npm run devOpen http://localhost:3000.
npm run build
npm run startCurrent build script runs:
prisma generateprisma db pushnext build
npm run db:push
npm run db:seed