Put your money where your mouth is.
A peer-to-peer social challenge platform powered by Solana.
How It Works • Architecture • Getting Started • Tech Stack
DareMe turns "I bet you can't..." into a trustless, on-chain smart contract. It's the intersection of SocialFi and Prediction Markets — but instead of betting on external events, you're betting on human action.
Dare your friend to do 50 pushups for 0.1 SOL. Challenge a dev to build a feature in 48 hours. The funds are locked in escrow until the dare is proven — no trust required.
CREATE ──▶ ACCEPT ──▶ PROVE ──▶ SETTLE
Stake SOL Take dare Film proof SOL released
in escrow Clock starts Upload it Instantly
- Create — Challenger creates a dare, describes the task, sets a deadline, and deposits SOL into an on-chain escrow (PDA).
- Accept — A Daree accepts the challenge. The countdown begins.
- Prove — The Daree records proof and uploads it. The file hash is stored on-chain.
- Settle — The Challenger reviews and approves. The smart contract releases escrowed SOL to the Daree.
If the Challenger ghosts, funds are auto-released after the dispute window expires.
| Layer | Tech | Responsibility |
|---|---|---|
| On-Chain | Anchor (Rust) | Escrow, fund locking/release, dare state machine, proof hash storage |
| Backend | Bun + Express + Prisma | User profiles, dare metadata, media uploads, on-chain indexing, notifications |
| Frontend | Next.js 16, React 19, Tailwind 4 | UI/UX, wallet signing, proof upload, social features |
| Component | Technology |
|---|---|
| Smart Contract | Solana, Anchor (Rust) — 8 instructions, 2 state accounts, PDA escrow |
| Backend API | Bun, Express, Prisma, PostgreSQL |
| Frontend | Next.js 16, React 19, Tailwind CSS 4 |
| Authentication | Privy (X/Twitter + embedded wallets) |
| Media Storage | AWS S3 (presigned uploads) |
| On-Chain Indexing | Helius Webhooks |
- Rust + Solana CLI
- Anchor >= 0.30
- Bun >= 1.0
- PostgreSQL database
git clone https://github.com/Pratikkale26/dareme.git
cd dareme
# Smart Contract
cd contract && anchor build && anchor test
# Backend API
cd ../api && bun install
cp .env.example .env # configure DB + S3 + Privy keys
bun run db:migrate && bun run db:generate && bun run dev
# Web Frontend
cd ../web && bun install
cp .env.example .env # configure API URL + Privy + Program ID
bun run devBackend (api/.env) — DATABASE_URL, AWS_S3_BUCKET, AWS_*, PRIVY_APP_ID, PRIVY_APP_SECRET, SOLANA_RPC_URL, HELIUS_API_KEY
Frontend (web/.env) — NEXT_PUBLIC_API_URL, NEXT_PUBLIC_PRIVY_APP_ID, NEXT_PUBLIC_SOLANA_RPC_URL, NEXT_PUBLIC_PROGRAM_ID
- Anchor smart contract (8 instructions, PDA escrow, 24+ tests)
- Backend API (auth, users, dares, proofs, notifications, webhooks)
- Frontend (dashboard, browse, create, detail, profile, notifications)
- Real Anchor transactions wired (create, accept, approve, reject, cancel, refuse, submit proof)
- Deploy to Devnet (contract deployed, backend/frontend deployment pending)
- Mobile app (post-MVP)
- ⚡ Sub-second finality — Dares settle instantly
- 💸 Near-zero fees — A $2 dare is viable
- 🌍 Borderless micropayments — Dare anyone, anywhere
- 🔒 Programmable escrow — Trustless by design
MIT © Pratik Kale