Skip to content
Shahzaib Hassan
All work
Web3 commerce platform

BePay:Web3 commerce apps for shoppers and merchants, built in Flutter

BePay is a Web3 commerce platform with two Flutter apps: BePay Client for shoppers and BePay Business for merchants. Shoppers pay with a crypto wallet created from a familiar Google or Apple login. Merchants verify their business and manage products and orders from their phone. I built the mobile side of both.

Role
Senior Flutter Developer at Code Encoders
Team
7+ people
Timeline
3–6 months
Platforms
iOS and Android
Built with
Flutter, Web3Auth, DIDIT KYC and KYB, REST APIs
Status
BePay Client and BePay Business are no longer on the App Store or Google Play. The screens below are from the production build.
BePay Client onboarding for setting up a personal shop with Web3BePay Business home with balance, total orders, live crypto price, and send and receiveBePay Client dashboard tracking total revenue, weekly orders, and items sold

The product

Crypto payments usually lose people at the first step: install a wallet, write down a seed phrase, buy tokens, connect. BePay's idea is to make paying with a wallet feel like any other checkout, for shoppers who don't think of themselves as crypto users and merchants who just want to get paid.

The problem

Two audiences with very different needs. Shoppers need onboarding that feels like a normal sign-up, plus identity verification that doesn't feel like paperwork. Merchants need business verification (KYB), product and listing management, and order operations. Both apps mix ordinary REST APIs with blockchain-backed operations, and wallet data has to stay secure on the device.

My role

As Senior Flutter Developer at Code Encoders, I built both apps: wallet onboarding, KYC and KYB flows, REST API integration, merchant tools, and secure handling of wallet-related data.

I worked in a team of 7+ people over 3–6 months.

What I built

BePay Client (shoppers)

  • Wallet creation through Web3Auth using Google or Apple sign-in, with no seed phrase on day one

  • KYC verification screens using DIDIT

  • Hybrid commerce flows combining REST APIs with blockchain-backed payments

BePay Business (merchants)

  • Multi-step KYB verification for business onboarding and compliance

  • Product, listing, and order management with search and filters

  • Operational screens for running Web3 commerce from a phone

Architecture

Flutter apps, Client and Business

Wallet onboarding
Google or Apple login
Web3Auth
KYC and KYB
verification
DIDIT KYC and KYB SDKs
Products and orders
Web2 repository
REST APIs
Wallet sessions
wallet metadata
Secure storage
How the two Flutter apps connect to the services behind each flow.

Technical challenges

Making wallets feel normal. Every extra step in Web3 onboarding loses users. Using Web3Auth meant a wallet could be created through an OAuth login people already trust.

Keeping Web2 and Web3 apart. Mixing API calls and blockchain operations in the same layer makes a codebase fragile and hard to test.

Verification that adapts. KYB requirements vary by business, so the onboarding form couldn't be hard-coded.

Protecting wallet data. Session and wallet-related metadata had to be stored securely on the device.

Important engineering decisions

  1. 1
    Repository layer split by concern.Web2 REST logic and Web3 wallet operations live in separate repositories, so each can change without breaking the other.
  2. 2
    Dynamic, multi-step KYB forms.The form structure is driven by requirements rather than fixed screens, so new verification rules don't need new UI.
  3. 3
    Secure on-device storagefor wallet-related metadata and sessions.
  4. 4
    Provider for merchant stateacross KYB, products, listings, and orders, with pagination-ready lists for merchants with large catalogs.

Technology stack

Flutter, Dart, Web3Auth, DIDIT KYC and KYB SDKs, REST APIs, Provider, secure storage

Outcome

2Apps shipped: BePay Client and BePay Business
7+Person team at Code Encoders

BePay gave shoppers a wallet in a single social login and gave merchants a mobile back office for verification, listings, and orders.

What I learned

In fintech, the hard part is trust, not code. Every screen in onboarding either builds confidence or creates doubt, and good architecture is what lets you change those screens quickly when compliance rules change.

Building a fintech or Web3 product?

Wallet onboarding, identity verification, and payments are where these apps win or lose users. Let's talk about yours.

Payments and subscriptions
Discuss a similar project
Next projectOn SceneLocation-based dating built around real venues, with live check-ins, nearby presence, and real-time chat.