Skip to content
All posts

31 August 2026 · Wycord

The Nigerian developer toolkit: SDKs, validators, geodata

The Wycord tools registry contains 34 open-source libraries built specifically for Nigerian apps. This guide organizes them by use case: payment SDKs across languages, validators for phones and bank accounts, geographic data, and test utilities.

31 verified providers covered. Select one to open its registry record.

Nigerian-specific developer tooling is scattered. The library that validates a NUBAN account number, the npm package that returns LGAs for a state, the asset pack with every Nigerian bank logo: they exist, but you have to know where to look. The Wycord registry now catalogs 34 open-source tools built specifically for Nigerian apps, each with a verified source link and documentation status. This is the organized map, grouped by what you need to build.

Payment SDKs: Paystack

Paystack's official SDKs do not cover every language or framework. These community and official libraries fill the gap across platforms:

  • flutter_paystack (Flutter): Full Android and iOS plugin for Paystack with card validation utilities.
  • laravel-paystack (PHP): Supports Laravel 6 through 11, available on Packagist.
  • PayStack.Net (.NET): Near-complete API coverage targeting .NET Standard 2.0.
  • paystackapi (Python): PyPI package covering transactions, customers, plans, subscriptions, transfers, and refunds.
  • paystack-go (rpip) (Go): Community Go client for transactions, transfers, plans, and settlements.
  • yabacon/paystack-php (PHP): Composer package for transaction initialization and verification, customer and subscription management.

Payment SDKs: Flutterwave

  • Flutterwave-node-v3 (Node.js): Official SDK for Flutterwave v3, covering card and mobile money collections, payouts, and subscriptions.
  • LaravelRave (PHP): Laravel package for Flutterwave Rave payment processing and transfers.
  • rave-python (Python): Official Python library for Flutterwave for Business v2, covering card transactions, mobile money, and bank transfers.
  • flutterwave-go (Go): Community Golang SDK for Flutterwave v3, covering transfers, banks, and transactions.

Data validation: phones, BVN, NIN, and bank accounts

Nigerian validation is non-trivial without the right tools. NCC carrier prefixes shift, CBN updates the NUBAN spec, and BVN format differs from NIN. These libraries encode the current rules:

  • nigeria-validator (JavaScript): Validates phone numbers, BVN, NIN, and bank codes in a single library.
  • nigeria-phone-number-validator (TypeScript): Validates Nigerian mobile numbers and identifies network operator from prefix.
  • nigerian-mobile-validator (TypeScript): Validates against NCC allocation rules with operator prefix detection.
  • validate_nigerian_phone (Python): PyPI package for validating and formatting Nigerian phone numbers with network detection.
  • NUBAN Algorithm: Multi-language implementations of the CBN NUBAN bank account number specification, covering the checksum algorithm used by all Nigerian banks.
  • nuban (PHP): PHP and Laravel library for NUBAN validation against the CBN 2020 specification.
  • nuban-bank-prediction (.NET): Predicts the likely owning bank for a 10-digit NUBAN and validates the number against the CBN 2020 spec.

Banking reference data: codes, logos, and lookup

For bank selectors, institution code lookups, and payment routing:

  • nigerialogos (PaystackHQ): SVG and PNG logos for all Nigerian banks and fintechs, maintained by Paystack. The most-used asset pack for fintech UIs in Nigeria.
  • Nigerian-Bank-Codes: Structured JSON of 487 NIBSS institution codes covering commercial, microfinance, merchant banks, and payment service providers.
  • ng-banks (TypeScript): Returns CBN-recognised Nigerian banks with their codes.
  • nigeria_banks (Josephchinedu) (Python): Returns bank name, bank code, CBN code, and USSD transfer code with lookup functions.
  • nigerian-banks (tomiiide): Bank list in JSON, SQL, Python, Go, PHP array, CSV, and XML formats.

Geographic and administrative data

For address forms, delivery routing, or any feature that needs Nigerian state and LGA structure:

  • geo-ng (JavaScript/npm): Exposes getNigeriaStates(), getLGAs(stateCode), and getLgaSubAreas(stateCode, lga).
  • allnigeria-api (JavaScript): States, LGAs, wards, and polling units as a JSON package.
  • naija-state-local-government (JavaScript): Zero-dependency package for states and LGAs.
  • naija-statecapital (JavaScript): States with their capitals and cities.
  • nigeria-geojson-data: Structured JSON of Nigerian states, LGAs, and wards with geographic coordinates for mapping use cases.

Test data: realistic Nigerian records

Generic Faker libraries produce US phone numbers, Western names, and non-existent Nigerian states. For integration tests and demos that need to look real:

  • NaijaFaker (PHP): Composer library generating Nigerian phone numbers, states, LGAs, and tribal names.
  • naija-faker (JavaScript): Generates culturally authentic Nigerian fake data, including Yoruba, Igbo, and Hausa names.
  • ng-faker (TypeScript): Fake Nigerian data across multiple Nigerian locales.

Utilities

  • format-naira (JavaScript/npm): Formats numeric values into Nigerian Naira currency. formatNaira(1000) returns the naira-formatted string; supports multi-value summing.

What to use when

TaskTool
Accept Paystack payments in Flutterflutter_paystack
Paystack in Pythonpaystackapi
Paystack in Gopaystack-go (rpip)
Flutterwave in Node.jsFlutterwave-node-v3
Flutterwave in Pythonrave-python
Validate a Nigerian phone number in JavaScriptnigeria-validator
Validate a Nigerian phone number in Pythonvalidate_nigerian_phone
Validate a bank account number (NUBAN)NUBAN Algorithm (multi-language)
Look up a bank's institution codeNigerian-Bank-Codes (JSON)
Render bank logos in a fintech UInigerialogos (PaystackHQ)
Populate a state and LGA dropdowngeo-ng (JavaScript)
Generate Nigerian test records in PHPNaijaFaker
Generate Nigerian test records in JavaScriptnaija-faker
Format a number as Nairaformat-naira

The full list of 34 verified Nigerian tools, with links to source code and documentation status, is at wycord.com/best/tools-in-nigeria.