About FyberPay

FyberPay is the billing, M-Pesa collection, and network automation platform built by and for Tier-2 Kenyan Internet Service Providers. We replace the spreadsheet-and-WhatsApp billing that most independent ISPs in Kenya still run on with one platform that handles payments, provisioning, and subscriber communication end-to-end.

Why we exist

Kenya has hundreds of licensed Internet Service Providers operating under the Communications Authority of Kenya: Network Facilities Providers (NFP) running their own fibre, Application Service Providers (ASP) reselling backhaul, and a long tail of WISPs and hotspot operators. Almost all of them face the same operational reality: M-Pesa payments arrive in unstructured SMS, subscribers expire silently in the middle of the night, MikroTik queues are managed by hand, and reconciliation happens in Excel.

FyberPay exists because that operational model does not scale past a few hundred subscribers. We built the platform we wanted to use ourselves: pay-as-you-go provisioning driven by live M-Pesa callbacks, RADIUS-backed network enforcement, and a subscriber portal that takes the burden of routine support off the operator.

What we do

Billing and revenue

M-Pesa STK Push and Bill Manager collection, automated reconciliation, idempotent invoice extension, credit-balance handling, walled-garden dunning, and per-plan Fair Usage Policy enforcement. Designed for the cash-flow realities of monthly prepaid internet in Kenya.

Network provisioning

PPPoE and hotspot provisioning over FreeRADIUS, direct MikroTik RouterOS integration, GenieACS for TR-069 (CPE config and reboots), and SmartOLT for L2 and OMCI on GPON OLTs. One subscriber action triggers the right network change end-to-end.

Subscriber experience

Branded subscriber portal with subdomain routing, self-service plan changes, top-ups, voucher redemption, WhatsApp and SMS notifications, captive hotspot portals, and an installable PWA with offline support and push notifications.

Operations intelligence

Transactional outbox for every domain event, BullMQ for background jobs, circuit breakers on every external integration (Daraja, AfricasTalking, GenieACS, RouterOS), and audit logs that survive subscriber lifecycle changes.

Who we serve

Operating experience

FyberPay is not a generic billing platform with a Kenya wrapper. It is built from the inside of the Kenyan ISP market. The engineers writing the code spend their days reading M-Pesa callback logs, debugging PPPoE accounting packets, and walking real OLTs in the field. The platform reflects what we have learned from running the same network and billing stack our customers do: cash collections settle at unpredictable hours, subscribers expect WhatsApp before email, and a MikroTik that has been up for six months is still going to surprise you at 2 AM.

Every domain event in the platform flows through a transactional outbox. When a subscriber pays via M-Pesa STK Push, the payment is recorded, the invoice is settled, the RADIUS reply attribute is updated, the MikroTik queue is reconciled, and the subscriber is notified by SMS and WhatsApp: all from one atomic write. If a side effect fails, the outbox retries it. If a side effect changes, we change the listener, not the business logic. This is the architecture that makes the platform survive the kinds of outages that took down our spreadsheet days.

Technical bench

The areas of the stack we work in daily, and which directly inform both the product and our published research.

Payments and reconciliation

  • M-Pesa Daraja STK Push: end-to-end callback handling, idempotency, partial-pay attribution.
  • M-Pesa Bill Manager: invoice push, settlement file ingest.
  • Paystack: card payments for ISPs serving diaspora subscribers.
  • Ledger: double-entry, credit-balance carry, overpayment-to-credit, underpayment surfacing.

Network and provisioning

  • FreeRADIUS: PostgreSQL-backed, hot-reloaded, attribute groups per plan and FUP tier.
  • MikroTik RouterOS: API and SSH provisioning, PPP profiles, queue management, SSTP tunnels.
  • GenieACS: TR-069 ACS for CPE config, factory reset, firmware push, ONU device-ID binding.
  • SmartOLT: OLT-side ONU provisioning, OMCI configuration, signal monitoring.

Communications

  • AfricasTalking and modular SMS adapter pattern for per-ISP gateway credentials.
  • WhatsApp Cloud API directline: per-tenant numbers, conversational subscriber support.
  • Web Push with VAPID, SMTP and SendGrid fallback, transactional templates.

Platform engineering

  • NestJS 10 backend, Next.js 15 frontend, PostgreSQL 16 with PostGIS, Redis for sessions and queues.
  • Multi-tenancy via subdomain resolution with Redis caching.
  • Argon2 password hashing, JWT plus opaque refresh tokens, lockout after five failed attempts.
  • Raw SQL migrations as the source of truth; Prisma client for typed access.

Principles

Operators first

Every feature ships only after it has run against a real Kenyan ISP workload. We test on live MikroTik routers, real FreeRADIUS pools, and live GPON OLTs before we ship.

Side effects through the outbox

Every domain event (payment succeeded, plan activated, subscription expired) flows through a transactional outbox. Notifications, RADIUS provisioning, ledger entries, and M-Pesa reconciliation cannot silently disagree with the database.

Citations for every fact

Our published research cites primary sources: Kenya National Bureau of Statistics, Communications Authority of Kenya, county government publications, and operator-published material. Last-reviewed dates are visible on every guide. Reader corrections are reviewed against a primary source before being applied.

No AI-generated photos of real places

Photographs on our location guides are sourced from Wikimedia Commons under CC-BY-SA. We never generate images of real towns or operator facilities. Diagrams and architecture illustrations are drawn from first principles.

Editorial standards

Our published research on the Kenyan ISP market follows the same standards we apply to our own production systems: every fact is sourced, every date is visible, every claim can be challenged. The full editorial policy and team standards are documented on the FyberPay Research Team page.

Where to find our research

Contact

FyberPay is operated by FyberPay Technologies Limited, a private company registered in Kenya (Business Registration Service company number PVT-7V7SKPV).