
ChainQuest
The fully on-chain, chat-first RPG on Base
About
The problem it solves Here’s the thing: Web3 games often feel soulless. Most of them are just clones with shiny buzzwords and zero community spirit. And the real problem is that, they focus too much on money and not enough on meaning. So we asked ourselves, “What if people could play a game together, stake tokens, talk to each other in real time, and feel like they're part of a mission, not just a market?” That’s where ChainQuest comes in. It’s a chat-first, fully on-chain RPG where you don’t just play alone, you form guilds with others. Together, you stake into a vault called the PartyVault. Then you launch raids led by an AI Dungeon Master who creates challenges, rewards, and loot -- all on-chain. The tokens, NFTs, and XP you earn are real, but so is the sense of adventure and unity. This helps people in two ways. First, it makes Web3 gaming more fun and social again. You don’t need to download anything or pay up front. You just connect, talk, stake, and play. Second, it brings trust. The rewards, decisions, and loot are recorded on-chain. No backend manipulation. No hidden systems. Just transparent gameplay. And for me, it’s more than just a project. It’s a way to build something honest — something rooted in Christ’s values: fairness, community, and courage. A place where people don’t just earn, but feel seen, heard, and valued. That’s why ChainQuest matters.
How it's made
Challenges we ran into Where do I even start? This project was one long stretch of “Why is this not working?” I didn’t have money, so everything had to be free. I used testnets, open tools, and my local files. Just setting up the contracts was its own battle. There were times when I copied the exact same code and it still refused to compile. Sometimes I’d spend hours debugging only to realize I missed a single letter. And the frontend? Oh man. I’m not a professional designer. At first, it looked like something a 5-year-old built — literally just a white page with black text. But I kept going. Bit by bit, I fixed things. I’d test something, it would break, I’d pray, fix it again, then push. Sometimes I cried out to God, literally saying “Lord, help me finish this,” because I had nothing left in me. One of the biggest hurdles I faced was getting real-time interaction between the on-chain smart contracts and the front-end, especially within the tight limits of free development tools. I was building ChainQuest as a fully on-chain, chat-first RPG powered by XMTP and smart contracts on Base. But integrating wallet authentication, staking flows, and dynamic raid interactions using only a browser-based stack—no servers, no backend—was extremely difficult. I couldn’t just rely on the usual frontend logic; I had to make sure the app could listen to events, trigger contract calls, and update the UI in sync without a full backend. Another big challenge was testing contracts like PartyVault.sol and BaseShards.sol under these limitations. I had no budget for test automation, so every function had to be manually verified via local tools and frontend hooks. Debugging gas errors, Base RPC quirks, and handling user wallet rejections all while trying to make the UI smooth and immersive. It tested my patience and skill. But in the middle of all this, I kept reminding myself why I was building this: to create something honest, community-first, and spiritually grounded. That helped me press through the technical walls and deliver something real. And here's what I realized: the real battle wasn’t the bugs. It was staying consistent, staying humble, and finishing what we started. That’s what Christ teaches us; to endure, even when it feels impossible. So that's why I moved to Replit to get the demo ready. It wasn’t just about building a game. It was about growing through the process. Letting the hard parts shape me. And in the end, that’s the real reward.