Mono.Core 1.9.2

There is a newer version of this package available.
See the version list below for details.
dotnet add package Mono.Core --version 1.9.2
                    
NuGet\Install-Package Mono.Core -Version 1.9.2
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Mono.Core" Version="1.9.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Mono.Core" Version="1.9.2" />
                    
Directory.Packages.props
<PackageReference Include="Mono.Core" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Mono.Core --version 1.9.2
                    
#r "nuget: Mono.Core, 1.9.2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Mono.Core@1.9.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Mono.Core&version=1.9.2
                    
Install as a Cake Addin
#tool nuget:?package=Mono.Core&version=1.9.2
                    
Install as a Cake Tool

Mono.Core

A .NET client library for the Mono API — Connect, DirectPay, Disburse, Lookup (BVN / NIN / CAC / TIN / watchlist), Prove KYC, and a webhook controller with signature verification.

NuGet License: MIT

Targets netstandard2.0 — works on .NET Framework 4.6.1+, .NET Core 2.0+, .NET 5+, and Mono/Xamarin.

Install

dotnet add package Mono.Core

Configure

using Mono.Core;

services.AddMono(options =>
{
    options.BaseUrl = "https://api.withmono.com/v2";
    options.SecretKey = "your_secret_key";       // from app.mono.co/apps
    options.WebhookSecret = "your_webhook_secret"; // recommended
});

Need product-scoped keys (DirectPay + Disburse + Prove are separate apps on Mono's dashboard)? See docs/configuration.md.

Use

Inject any interface, every method returns MonoStandardResponse<T>:

public class OnboardingService
{
    private readonly IMonoCustomers _customers;

    public OnboardingService(IMonoCustomers customers) => _customers = customers;

    public async Task<string> CreateAsync(string bvn)
    {
        var response = await _customers.CreateIndividualCustomer(new CreateIndividualCustomerModel
        {
            FirstName = "Ada",
            LastName = "Lovelace",
            Email = "ada@example.com",
            Phone = "+2348012345678",
            Identity = new CustomerIdentity { Type = "bvn", Number = bvn },
        });

        if (!response.Success) throw new InvalidOperationException(response.Message);
        return response.Data.Id;
    }
}

Documentation

Guide What it covers
Getting started 10-minute walkthrough — install → call → webhook
Configuration Per-product keys, base URLs, webhook secret, DI registration
Error handling MonoStandardResponse<T>, when things fail, what to log
Webhooks Signature verification, full event reference, idempotency
Connect IMonoAccounts + IMonoCustomers (account linking, balance, statements, transactions)
DirectPay One-time payments, mandates, refunds, payouts, sub-accounts
Disburse Outbound payouts to one or many recipients
Lookup BVN, NIN, CAC, TIN, drivers-license, mashup, credit history
Watchlist Sanctions / PEP / adverse-media screening + monitoring
Prove Full-stack KYC verification (tier 1/2/3)
Migration guide Upgrading from an earlier version
Changelog Per-release notes

Interfaces at a glance

Service Purpose Mono product
IMonoAccounts Account linking, balance, statements, transactions Connect
IMonoCustomers Customer modeling, list/CRUD, linked-account enumeration Connect
IMonoAuthorization Authorize / reauthorize / sync linked accounts Connect
IMonoDirectPay One-time payments, mandates, refunds, payouts, sub-accounts DirectPay
IMonoDisburse Outbound payouts (source accounts → batches → distributions) Disburse
IMonoLookUp BVN, NIN, CAC, TIN, drivers-license, address, mashup, credit history Lookup
IMonoWatchlist Sanctions / PEP screening, ongoing monitoring Lookup
IMonoProve Full-stack KYC verification Prove
IMonoMiscellaneous Coverage, unlink account misc

Contributing

Issues + PRs welcome. For substantial changes, open an issue first so we can align on the approach. Keep PRs focused — one product surface or one bug per PR makes review tractable.

Run the test suite locally:

dotnet test

The suite has four layers — unit, JSON contract, Refit HTTP wire, and optional sandbox integration. The sandbox layer is gated behind environment variables and skips automatically when they're not set:

export MONO_SANDBOX_KEY="test_sk_..."
export MONO_SANDBOX_LOOKUP_KEY="test_sk_..."  # optional, for Lookup endpoints
export MONO_SANDBOX_ACCOUNT_ID="..."           # optional, for account-data tests
dotnet test

License

MIT

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.9.4 118 5/28/2026
1.9.3 86 5/28/2026
1.9.2 96 5/28/2026
1.9.1 110 5/28/2026
1.9.0 100 5/27/2026
1.0.15 215 10/24/2024
1.0.14 227 10/20/2024
1.0.13 183 9/24/2024
1.0.12 165 9/24/2024
1.0.11 168 9/24/2024
1.0.10 156 9/24/2024
1.0.9 163 9/24/2024
1.0.8 179 9/16/2024
1.0.7 176 9/15/2024
1.0.6 166 9/13/2024
1.0.5 162 9/13/2024
1.0.4 233 8/22/2024
1.0.3 183 8/20/2024
1.0.2 174 8/20/2024
1.0.1 212 8/12/2024
Loading failed