Welcome to FundKit

FundKit is a universal payment SDK that gives developers one unified API across all major mobile money and card providers in Africa. Instead of waiting weeks for provider approvals, your team can start building immediately in FundKit’s sandbox environment. By the time your compliance team is done with paperwork, your app is already tested, integrated, and ready for production — just swap in live keys, no code changes required.

Why FundKit?

Integrating mobile money and card providers is painful:
  • Every provider has its own APIs, authentication, and quirks
  • You can’t properly test until your compliance paperwork is approved
  • Developers get blocked while compliance teams work
  • Switching providers often means rewriting your entire integration

FundKit solves this

Start building today with our unified sandbox — no provider approval required.
Keep shipping features while compliance paperwork is in progress.
When compliance is done, just swap sandbox keys for live keys — no code changes.
One consistent API across MTN, Airtel, Safaricom, HoneyCoin, EasyPay, and more.

Features

Unified Collections & Payouts

Single API for all payment operations

Instant Sandbox Testing

Simulate transactions without waiting for provider approval

Easy Provider Switching

Change providers without rewriting your code

Webhook Support

Real-time transaction lifecycle updates

Built-in Validation

Strict input validation with clear error messages

Smart Provider Selection

Automatic failover and load balancing

Getting Started

1

Install FundKit Core

npm install @fundkit/core
2

Choose Your Providers

npm install @fundkit/honeycoin @fundkit/easypay
3

Start Building

import { PaymentClient } from '@fundkit/core';

const client = new PaymentClient({
  honeycoin: {
    apiKey: 'your-honeycoin-api-key',
    environment: 'sandbox'
  },
  easypay: {
    apiKey: 'your-easypay-api-key',
    environment: 'sandbox'
  }
});

// Collect payment
const result = await client.collect({
  amount: 10000,
  currency: 'UGX',
  phoneNumber: '+256701234567',
  reason: 'Payment for order #12345'
});

Ready to build?

Start with the Quickstart Guide

Build your first payment integration in 5 minutes