🏦 FNB Token

A programmable, blockchain-based stablecoin solution built for First National Bank (FNB) to digitize the Botswana Pula (BWP) and enable transparent, secure, and compliant digital transactions.


🚀 Inspiration

The inspiration for FNB Token stems from the need to modernize banking infrastructure using blockchain technology. We wanted to explore how a regulated financial institution like FNB could issue a digital currency anchored to fiat (BWP), while ensuring compliance, scalability, and ease of use for both individuals and businesses.


💡 What It Does

FNB Token is a fully integrated platform for issuing, managing, and transacting a bank-backed digital currency. It includes:

  • Smart Contract written in PyTeal to:

    • Mint and burn tokens
    • Enforce reserve backing
    • Require KYC for transfers
  • 💼 Wallet App built with React Native:

    • Lets users send and receive FNB Tokens
    • Displays balances and transaction history
  • 🛠️ Admin Dashboard built with Next.js:

    • Approves and manages KYC users
    • Sets reserve limits
    • Mints and burns supply
  • 🔗 Backend API (Node.js):

    • Powers both the wallet and admin dashboard
    • Handles off-chain logic, user authentication, and KYC status
    • Interfaces with the smart contract securely

🏗️ How We Built It

  • Blockchain: Algorand (chosen for low fees, high throughput, and native smart contracts)
  • Smart Contracts: PyTeal (compiled to TEAL)
  • Wallet App: React Native (for mobile iOS/Android)
  • Admin Dashboard: Next.js (for performant web UI)
  • Backend: Node.js + Express
  • Database: Rethink DB (for KYC/user tracking)
  • Wallet Integration: Pera Wallet via WalletConnect

We designed the system using modular architecture to make it easy to scale and maintain different parts independently.


⚠️ Challenges We Ran Into

  • Enforcing KYC logic inside smart contracts when users may use third-party wallets like Pera.
  • Handling atomic transactions using grouped transactions for things like transfer + fee enforcement.
  • Designing for interoperability between mobile, web, blockchain, and off-chain components.
  • Balancing regulatory constraints with blockchain decentralization principles.

🏆 Accomplishments That We're Proud Of

  • Successfully integrated multiple systems—smart contracts, backend APIs, mobile and web frontends—into a cohesive platform.
  • Built a secure, compliant, and programmable stablecoin solution with real-world financial applications.
  • Achieved a level of functional completeness that positions the project for production testing in a regulated banking environment.

📚 What We Learned

  • The importance of cohesive architecture when bridging blockchain and traditional finance.
  • How to enforce smart contract rules like KYC, reserve limits, and fees, even with third-party wallets.
  • Building trust into the system with audit-friendly, transparent logic in both on-chain and off-chain layers.
  • Interfacing with Algorand in a resource-constrained mobile environment using React Native.

🔮 What's Next for FNB Token

  • 🧾 POS System Integration: Enabling FNB business clients to accept FNB Token at checkout using compatible point-of-sale systems.
  • 🏧 ATM Redemption Support: Integrating with FNB’s ATM software to let users redeem FNB Token for cash.
  • 🌍 Cross-Border Payments: Exploring regional payment corridors via Stellar bridges or custom sidechains.
  • ⚖️ Regulatory Sandbox Trials: Deploying in a controlled environment for testing under financial authority oversight.
  • 🪢 Merge with Main FNB App: Integrating the FNB Wallet app directly into the main FNB mobile application for a unified banking and token experience.

Built With

Share this project:

Updates