Short answer
RaftLabs rebuilt Nandi, a creator economy and fan loyalty platform for Africa, in about 10 weeks between February and April 2023. Fans sign up with an email link, a text message, or Google through Magic and get a Fireblocks custodial wallet on Celo and BNB, so they never handle a seed phrase or browser extension. Joining a creator's waitlist earns Nandi Points and records a CyberConnect subscriber NFT through a relay that pays the network fee.
Engagement
The Nandi engagement
- Client
- Nandi
- Sector
- Creator economy and fan loyalty, built for African creators and their fans
- Starting point
- An earlier version with about 500 users and a half-finished Web3 layer
- Timeline
- About 10 weeks, February to April 2023
- Team
- A lead developer and a frontend developer, joined in the first month by a blockchain engineer and a smart-contract engineer, with project management and QA
- Scope
- Fan and creator web app, admin console, four serverless services, Hasura API, custodial wallets, and social graph integration
- Status
- Early-access release; the site was publicly reachable from April 2023 until at least December 2024 and is no longer online
The situation
The Nandi platform is no longer online; the site went dark after December 2024. What survives is the engineering: the onboarding, custody, and relay decisions documented in this page are what a mainstream Web3 launch costs to get right.
Nandi wanted African creators to reward their most loyal fans, with Web3 underneath: wallets, on-chain records, and a social graph the platform doesn't own. The catch was the audience. Most fans had never bought crypto, and a seed phrase or a browser extension would lose them at sign-up.
Nandi wasn't starting from zero. An earlier version already had about 500 users, and its Web3 layer was half done. Minting worked only for MetaMask wallets, and the Fireblocks wallets sat in a sandbox account.
RaftLabs rebuilt the platform in a new codebase in about 10 weeks and prepared the existing users to move across. Web3 succeeds when blockchain is the infrastructure, not the product, and that was the bet the rebuild was placed on. Fans sign up with an email link, a text message, or Google, get a custodial wallet they never see, and join creator waitlists while a relay pays the network fees. The crypto moved into the back office, and so did its operating work: custody access, relay balances, and settlement checks.

Before and after
From a half-finished Web3 build to one sign-up path for mainstream fans
- About 500 users sat on an earlier version that needed replacing
- Minting worked only for fans who already had a MetaMask wallet
- Fireblocks custodial wallets existed only in a sandbox account
- A fan with no crypto experience had no simple way in
- Fans sign up with an email link, a text message, or Google, and crypto users can sign in with their own wallet
- Both sign-in paths end in the same account type and permissions
- Every new account gets a Fireblocks vault with Celo and BNB addresses
- Creators open waitlists with slots, dates, and optional wallet or Twitter-follow requirements
- Joining a waitlist earns Nandi Points and records a subscriber NFT on-chain through a relay
The decisions that shaped the rebuild
Two sign-in paths, one account model
Nandi needed two kinds of user in one product: fans who'd never held crypto, and crypto users who expected to connect their own wallet. We put both paths into a single sign-in service.
Mainstream fans sign in through Magic with an email link, a text message, or Google, and the server verifies each login before issuing the account. Crypto users sign a one-time message with their own wallet instead. Both paths end in the same account type with the same permissions, so the rules about who can see and change what only had to be written once and the rest of the platform treats every account the same way.
Wallets fans never see, and a custody account someone has to run
Every new account triggers a Fireblocks vault with a Celo address and a BNB address. Fireblocks holds the keys, so a fan never manages a key, a seed phrase, or an extension. Both chains accept the same address, so one wallet address serves both.
The trade is that custody moves to the platform, and the Fireblocks account becomes a launch dependency. During the build the team worked through sandbox and production workspaces, API credential setup, and a dashboard lockout after a two-factor change. None of that shows up in a feature list, but all of it can block a launch.
Gasless actions need someone watching the relay
Two actions go on-chain through CyberConnect. Approving a creator's waitlist creates their CyberConnect profile, and a fan joining a waitlist mints a subscriber NFT. The platform submits both through CyberConnect's relay, which pays the network fee from a funded account. Fans pay nothing.
A relay responds before the transaction actually settles on-chain, so the app needs to know when an action truly lands. We used Hasura, the data layer, as the scheduler: every new relay submission schedules an automatic check that looks up that transaction once a minute. The check stops when the transaction succeeds, fails, or stalls because the relay account has run out of funds. No separate queue service was needed.
That last case matters more than it looks. An empty relay balance stalls every fan action at once. Someone has to own that balance after launch.
Waitlists came before the marketplace
Nandi's full plan included a creator marketplace. The first release focused on waitlists instead. Creators set slots, dates, tags, visibility, and optional entry rules: connect a crypto wallet, follow the creator on Twitter, or both. An admin approves each waitlist before it goes live.
Fans who join earn Nandi Points, and a members leaderboard ranks them. Points live in the platform's database ledger. Only the creator profile and the fan's subscriber NFT go on-chain, so awarding points never waits on a relay or costs a network fee. For a comparable loyalty program, that split keeps the reward loop fast while the on-chain record stays small.
System flow
How a fan's sign-up and waitlist join move through the platform
A simplified view based on the project repository. It follows one fan action and leaves out supporting services.
Sign-in
Magic or a wallet signature
Email link, text message, or Google through Magic, or a signed one-time message from the fan's own wallet. Both end in one role-based token.
Custody
A Fireblocks vault per account
Each new account gets a vault with Celo and BNB addresses. Fireblocks holds the keys, and the fan never sees them.
Data and scheduling
Hasura over PostgreSQL
Stores waitlists, members, points, and relay records. Event triggers and per-relay cron triggers run the settlement checks.
On-chain
CyberConnect through a relay
Creator profiles and fan subscriber NFTs go through CyberConnect's relay, with profile metadata pinned to IPFS through Pinata.
the build
What fans, creators, and admins get
The release has two apps, one for fans and creators and one for Nandi's admins, backed by four serverless services for sign-in, users and waitlists, wallets, and social graph actions.
Creators open waitlists with slots, dates, and entry rules
A creator sets the number of slots, the start and end dates, tags, visibility, and a cover image. Entry rules are optional: a fan can be asked to connect a crypto wallet or follow the creator on Twitter before joining. Fans who join earn Nandi Points and appear on the creator's members leaderboard.

Sign-up that looks like any other consumer app
Fans pick an email link, a text message, or Google. The platform creates their Fireblocks wallet in the background, so a fan's first screen shows the creator they came for. Crypto users can sign in with their own wallet from the same screen.

Admins approve waitlists and early-access requests
Nandi's team reviews each waitlist before it goes live, and approval creates the creator's CyberConnect profile. The console also handles early-access requests, and the platform sends welcome and early-access emails.

Fan activity lands on a social graph Nandi doesn't own
Each fan who joins a waitlist gets a CyberConnect subscriber NFT for that creator. The relationship lives on a public social graph instead of only in Nandi's database, and the relay covers the network fee.

Proof
What the rebuild delivered, and what this page can't claim
The release reached early access. No usage, retention, or revenue figures were available for this review, so none are shown.
| Result | What changed | Period or context | Evidence and limitation |
|---|---|---|---|
| Sign-up | Email link, text message, Google, or wallet signature into one account model | February to March 2023 | Project-recorded: sign-in service and token logic in the project repository |
| Custody | A Fireblocks vault with Celo and BNB addresses for every new account | From March 2023 | Project-recorded; the production Fireblocks workspace needed extra setup |
| On-chain actions | Profiles and subscriber NFTs submitted through a relay, with per-relay settlement checks | April 2023 | Project-recorded; no settlement success rate was measured for publication |
| Existing users | About 500 accounts prepared to carry over, with a flag for migrated users | March 2023 | Project messages give the count; the completed migration total isn't on record |
| Public availability | Early-access site publicly reachable | April 2023 to at least December 2024 | External: Internet Archive snapshots; the site is no longer online |
The lesson
Hiding crypto from users moves the work to your operations team
Nandi's fans never touch a key or a network fee. That's only true because the platform took both on: a Fireblocks workspace someone has to administer, and a relay balance someone has to keep funded. During the build, the custody account alone produced a sandbox and production mix-up and a two-factor lockout.
If you're planning a Web3 product for mainstream users, decide early who owns custody access, who tops up the relay, and who gets alerted when a transaction fails. In this build, the failure alert was still a to-do when the release shipped.
Where to go next
What the first release left out
Decisions from the build. None of these were part of the delivered release.
- Next 01
The full marketplace
Discovery and listings waited for a later phase. Featured-creator screens were built but held back from the waitlist release.
- Next 02
A separate creator app
Creator tools lived inside the main app, which kept the number of surfaces down before launch.
- Next 03
Self-managed wallets as the default
Custody sat with the platform through Fireblocks. Fans who already had a wallet could still sign in with it.
How it runs
- Next.js
- Next.js 13 runs the fan and creator app. The admin console is a separate React app in the same Nx monorepo, and both share UI components and generated GraphQL clients.
- Hasura
- Hasura exposes the Postgres model with role-based permissions and doubles as the job scheduler. Event triggers and per-relay cron triggers run the settlement checks without a separate queue service.
- Fireblocks
- Fireblocks creates a custodial vault for each account and holds the keys, so fans get Celo and BNB addresses without managing a key or a seed phrase.
- Magic
- Magic handles passwordless sign-in by email link, text message, or Google, and its admin SDK verifies each login on the server before the platform issues its own token.
- AWS Lambda
- Four serverless services handle sign-in, users and waitlists, wallet creation, and CyberConnect actions. Each deploys on its own, so a change to wallet logic doesn't touch sign-in.
Common questions
Yes, if the platform takes on custody. Nandi's fans sign up with an email link, a text message, or Google. The platform then creates a Fireblocks custodial wallet for the account, with Celo and BNB addresses, and Fireblocks holds the keys. Fans who already have a wallet can sign in with it instead. Both paths lead to the same account and permissions.
The platform submits on-chain actions, such as a fan's subscriber NFT or a creator's profile, through CyberConnect's relay. The relay pays the network fee from a funded account, so the fan pays nothing. Hasura then checks each relay once a minute until the transaction succeeds, fails, or stalls because the relay account needs more funds.
No. Nandi Points live in the platform's database ledger. A fan earns them by joining a creator's waitlist, and a members leaderboard ranks fans by points. The on-chain records are the creator's CyberConnect profile and each fan's subscriber NFT. Keeping points off-chain means awarding them never waits on a relay or costs a network fee.
You own the provider account and the relay balance. On Nandi, the Fireblocks workspace needed its own production setup, API credentials, and admin access, and a two-factor change locked the team out of the dashboard. The relay account needs funds, or every fan action queues. Decide who owns both, and who gets failure alerts, before launch.
About 10 weeks. Work started in a new codebase on 15 February 2023, and the last commit landed on 27 April 2023. That covered the fan and creator app, the admin console, four serverless services, custodial wallets, the social graph integration, and preparation for the user migration. A marketplace or creator payouts would add scope. See our creator economy software page and pricing guide.
Related work
Related Web3 and loyalty work

Energia Rewards loyalty platform migration
A 10-12 week Energia Rewards rebuild that migrated roughly 500,000 users and replaced a WordPress platform that had reached its operating limit.

LoyaltyPass digital loyalty cards
A RaftLabs product that runs loyalty programs inside Apple Wallet and Google Wallet, so customers earn and redeem without downloading an app.

GrowViral referral and viral marketing platform
A referral and viral campaign platform for a US marketing agency, with campaigns clients can embed on any website.