Giving in a shared world
Pls Give is a multiplayer browser game where players claim booths, meet each other, and donate on Solana. I built it myself, including the world, multiplayer server, wallet login, payment flows, and visual effects.
The idea was to make giving visible and social. A donation becomes an event in the world, with effects that respond to the amount given.
What I built
- The game client. A PlayCanvas world with player movement, booths, chat, and donation effects.
- Real-time multiplayer. A Colyseus server kept players in the same world and handled movement, booth claiming, and chat.
- Wallet onboarding. Wallet Adapter and Privy gave players ways to connect an existing wallet or use an embedded one.
- Donation verification. Solana signatures and Helius RPC connected each donation to a confirmed transaction before the game showed it as complete.
- Persistence and services. Supabase stored booth and donation history, with Cloudflare Workers supporting the backend.
Gameplay and payments
Movement and chat need to feel immediate. Donations need a reliable record. I kept those responsibilities separate: Colyseus handled live gameplay, while the payment flow checked the transaction and then updated the shared world.
The short gameplay recording below shows the world itself. The second video walks through Privy login, an embedded wallet, and a donation.
Where it went
Pls Give won the OnionDAO hackathon and earned a College.xyz and MBC travel grant to Solana Breakpoint. I also worked on it during the August 2025 mtnDAO builder residency, refining the donation flow and interface with feedback from other builders.