Mono.Core
1.9.2
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
<PackageReference Include="Mono.Core" Version="1.9.2" />
<PackageVersion Include="Mono.Core" Version="1.9.2" />
<PackageReference Include="Mono.Core" />
paket add Mono.Core --version 1.9.2
#r "nuget: Mono.Core, 1.9.2"
#:package Mono.Core@1.9.2
#addin nuget:?package=Mono.Core&version=1.9.2
#tool nuget:?package=Mono.Core&version=1.9.2
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.
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
| Product | Versions 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. |
-
.NETStandard 2.0
- Microsoft.AspNetCore.Mvc.Core (>= 2.2.5)
- Microsoft.Extensions.DependencyInjection (>= 8.0.0)
- Microsoft.Extensions.Options (>= 8.0.2)
- Refit (>= 7.2.22)
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 |