- Platform
- Web App
- Industry
- Creator Economy / Web3
- Read time
- 8 min
The short answer
RaftLabs built Nandi's launch-ready creator economy and fan loyalty platform for Africa: a Web3 product that delivers on-chain rewards, custodial wallets, and a decentralized social graph without exposing users to a single seed phrase, gas fee, or wallet extension. The platform includes a viral waitlist and early-access funnel, a Nandi Points rewards system, and dual-path authentication (Magic passwordless login or crypto wallet signature) that converges on a single role-based JWT. Fireblocks MPC custodial wallets auto-provision on Celo and BNB at user signup. On-chain actions are relayed so users pay no gas, with settlement guaranteed by a self-healing Hasura event trigger cron. Built as a single Nx monorepo shipping a Next.js consumer app, an admin console, and four AWS Lambda services connected through a Hasura GraphQL API over Postgres.
African creators have the audience. The payment rails have not caught up.
Cash, airtime, and crypto each reach different segments of a creator's fan base, but no single platform connects them. No native tooling identifies which fans drive the most value or rewards them in ways they can actually use. Web3 could solve this: provable ownership, programmable loyalty, transparent rewards without a corporate intermediary. But the standard Web3 onboarding experience is fatal for a mainstream audience that has never purchased cryptocurrency. Seed phrases, browser wallet extensions, gas fees, transaction confirmation dialogs: each one is a door that shuts before a fan ever reaches the creator.
Nandi's question was not whether to use Web3. It was how to deliver its benefits without any of its complexity.
We built the launch-ready MVP: a viral waitlist and early-access funnel with a Nandi Points rewards system, a frictionless onboarding flow backed by Fireblocks MPC custodial wallets on Celo and BNB, and a decentralized social graph. The entire product ships from a single Nx monorepo. Users hold real on-chain assets from their first login. They will never know.

before & after
What changed
- Payments to African creators are fragmented: cash, airtime, and crypto serve different fan segments with no single platform connecting them
- No tooling to identify which fans are most loyal or most valuable to a specific creator
- Web3 onboarding requires seed phrases, wallet extensions, and gas fees; each one a barrier that blocks mainstream adoption before users engage
- No way to validate audience demand before committing to building the full marketplace
- Rewarding fans with on-chain assets requires users to self-manage private keys and wallet infrastructure
- One platform that pays in cash, airtime, or crypto depending on what each fan can use
- Nandi Points ledger tracks fan engagement and rewards valuable fans automatically via creator-defined waitlists
- Fireblocks MPC custodial wallets auto-provision at first login; users hold real crypto on Celo and BNB without a seed phrase or wallet extension
- Viral waitlist engine with referral mechanics and a public leaderboard validates demand before the marketplace opens
- On-chain actions are gasless: fans interact with creator waitlists and earn points with no transaction cost and no wallet management
What we had to solve
- 01
Making Web3 invisible at the onboarding layer
The platform needed to welcome two distinct user types: mainstream fans who have never held crypto, and existing Web3 users who want to connect their own wallet. The architecture had to unify both paths without forcing mainstream users through mechanics they would not understand. We built dual authentication: passwordless email, phone, and Google login via Magic on one path, or crypto wallet signature on the other. Both converge on a single role-based JWT. From the application's perspective, every user is identical regardless of how they authenticated. Fireblocks MPC custodial wallets auto-provision on Celo and BNB the moment a mainstream user signs up. They hold real on-chain assets from their first session without ever seeing a private key, seed phrase, or wallet extension prompt.
- 02
Gasless on-chain actions with guaranteed settlement
Requiring fans to pay gas fees to join a creator's waitlist or earn loyalty points would destroy the consumer loop. We implemented relayed meta-transactions so users pay zero gas on every interaction. The harder problem was settlement reliability: a relayed transaction can confirm in seconds or queue for minutes depending on network conditions, and the application cannot show a fan their updated leaderboard position until the on-chain state is settled. We solved this with a self-healing pattern: a Hasura event trigger fires on every relay insert and dynamically provisions a one-off scheduled cron that polls until the transaction confirms on-chain. Hasura became the job scheduler. No additional queue infrastructure was needed, and every on-chain action eventually settles regardless of network congestion.
- 03
Shipping a multi-surface product as one type-safe system
The Nandi product spans a Next.js consumer app, an admin console, and four AWS Lambda services. Building these across separate repositories would have created type drift between the frontend data contracts and the backend schema. We built the entire product in a single Nx monorepo with codegen-generated GraphQL SDKs derived directly from the Hasura schema. The database schema is the single source of truth for types across every surface. A schema change propagates to every consumer (consumer app, admin console, Lambda services) in a single codegen run. Vercel handles frontend deployments; AWS Lambda handles backend services; Nx manages the boundaries between them.
outcomes
What we achieved
Standard Web3 onboarding blocks mainstream adoption before users engage. Seed phrases and gas fees are technical barriers that prevent non-crypto-native audiences from ever reaching a creator's loyalty program.
Multi-surface products built across separate repositories accumulate type drift and integration overhead. Schema changes require coordinated updates across every consumer independently.
Platforms that add analytics after launch permanently lose the insight from their earliest cohorts: the users who signed up when the product was newest and demand signals were clearest.
Building for a mainstream audience but need Web3 rails underneath?
the build
What we built
A pre-launch MVP built to prove demand and acquire an instrumented audience from day one.
Viral waitlist engine with crypto and social gating
Creators launch waitlists with limited slots and optional gating conditions: hold a specific token, follow a social account, or hold a Nandi NFT. Fans join, refer others to earn Nandi Points, and climb a public leaderboard. The referral loop is the growth engine: each fan who refers another earns points that compound their leaderboard position. The leaderboard and featured creator surfaces are fully built and instrumented; they activate when Nandi opens to the public.

Frictionless onboarding with on-chain wallets that users never manage
Users authenticate with their email, phone number, or Google account via Magic, or sign with an existing crypto wallet. Both paths issue a single role-based JWT. Fireblocks MPC custodial wallets on Celo and BNB auto-provision on first login. The Nandi Points ledger activates. The user is on-chain from their first session with no seed phrase, no browser extension, and no gas fee.

Admin console for waitlist approvals and community management
The admin console lets the Nandi team review and approve waitlist submissions, manage early-access users, and monitor community activity. It connects to the same Hasura GraphQL API as the consumer app, with separate role-based permissions on the same schema. Approvals trigger the on-chain wallet provisioning flow for newly admitted users.

Decentralized social graph with gasless on-chain writes
Fan and creator relationships are written to CyberConnect's decentralized social graph rather than a proprietary database; ownership is on-chain, not platform-dependent. Every on-chain action (waitlist join, points earn, social graph write) is relayed so users pay no gas. The Hasura event trigger cron ensures every action settles on-chain regardless of relay confirmation time.

Engagement
How we worked together
- 01Weeks 1–2
Discovery and scoping
We map the problem before writing code. Two weeks of technical audit, stakeholder interviews, and prototype — so both teams align on scope and risk before sprint one. - 02Ongoing
Two-week Agile sprints
Each sprint ends with working software, not a status update. You review a real build, request changes, and approve before we move forward. No surprises at handover. - 03Ongoing
Daily async updates
Slack for daily progress, Asana for task visibility, weekly video calls for decisions. You have full visibility without needing to attend every meeting. - 04Final
Handover and warranty
Full code handover with deployment runbooks and documentation. Thirty-day warranty period for production issues at no extra cost.
stack
Why we chose this stack
- 01The consumer app covers creator profiles, waitlist flows, the Nandi Points dashboard, referral engine, and onboarding. It needed fast page loads and server-side data on the same framework. Next.js App Router with React Server Components kept the user-facing surfaces fast while the admin console ran as a separate Nx app in the same monorepo.Next.js
- 02Hasura served as more than a GraphQL API. Its event trigger system became a lightweight job scheduler: every relay insert fires a Hasura event that dynamically provisions a one-off scheduled cron to poll for on-chain settlement. This eliminated the need for a separate queue infrastructure while guaranteeing that every user action eventually confirms on-chain.Hasura
- 03Fireblocks MPC wallets let users hold real assets on Celo and BNB without ever managing a private key. The MPC architecture means no single point of key exposure: not on the client, not on the server. Wallets provision automatically at user signup, making on-chain participation the default rather than an opt-in complexity.Fireblocks
- 04Four Lambda services handle authentication, user and waitlist logic, custodial wallet operations, and the decentralized social graph layer. Lambda's stateless model fits the async patterns throughout the platform. All user-facing operations go through Hasura, so Lambda cold-start characteristics do not affect perceived latency on the consumer surfaces.AWS Lambda
Common questions about Nandi
Nandi is a creator economy and fan loyalty platform for Africa's top creators. It lets creators launch waitlists, build fan communities, and reward their most loyal supporters with Nandi Points, all backed by on-chain assets and a decentralized social graph. The platform is built for a mainstream audience that has no prior experience with cryptocurrency. Fans earn and hold real crypto without ever seeing a seed phrase or paying a gas fee.
Yes. Fireblocks MPC custodial wallets hold real assets on Celo and BNB that belong to the user. The MPC architecture means the private key is never stored in one place: it is split across multiple parties so no single compromise exposes a user's funds. The difference from a typical crypto wallet is that users do not manage the key themselves. They access their wallet through their Nandi account the same way they would access a bank account through an app. When Nandi supports withdrawals, users will be able to move their assets to any wallet they choose.
Both networks were chosen for low transaction fees and an established presence in African markets. Celo was built specifically with mobile-first financial access in mind, and its fee structure makes micro-rewards economically viable: rewarding a fan with a small on-chain point value should not cost more in gas than the reward itself is worth. BNB adds a wider DeFi surface for future integrations. Gasless relay on top of both networks means users pay nothing regardless.
Proving demand before building the full marketplace was a deliberate trade-off. The waitlist engine validates that creators can attract and engage fans before the platform invests in the heavier marketplace infrastructure: listings, featured surfaces, and discovery algorithms. The leaderboard and featured creator surfaces are fully built and will activate at launch. This approach also builds a measurable, instrumented audience from day one rather than opening a marketplace to an empty room.
Yes, and Nandi demonstrates the pattern. The three components: custodial wallets (users hold real assets without managing keys), passwordless authentication (no wallet extension or seed phrase required to sign up), and gasless transactions (users interact with on-chain state without paying fees). All three make Web3 a backend detail. Users see a loyalty points system and a creator community. The blockchain is the settlement layer, not the user experience. We have applied this pattern to consumer products where mainstream adoption is the goal and crypto familiarity cannot be assumed.
Gasless transactions use a relay service: the user signs a message proving their intent, and the relay broadcasts the on-chain transaction while paying the gas fee from a funded relay wallet. On Nandi, every on-chain action (joining a waitlist, earning points, writing to the social graph) is relayed so users never hold network tokens for fees. RaftLabs implemented settlement reliability using Hasura as a lightweight job scheduler: an event trigger provisions a one-off polling cron on each relay insert, confirming the transaction on-chain regardless of network congestion. The pattern is chain-agnostic and works on any EVM-compatible network.











