SprintCheck

Client SDKs

Flutter SDK

The sprint_check plugin runs BVN and NIN verification with photo capture, face detection and liveness checking. Supports Android, iOS, Web, Linux, macOS and Windows.

v0.1.8Dartsprint_checkpub.dev

Install

pubspec.yaml
dependencies:
  sprint_check: ^0.1.8
Terminal
flutter pub get

On Android, add camera and storage permissions to android/app/src/main/AndroidManifest.xml:

AndroidManifest.xml
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

Initialize & verify

Create the plugin and initialize it with your keys — typically in initState — then call checkout() with a BuildContext, the method, and the customer's identifier.

Dart
import 'package:sprint_check/sprint_check.dart';

final SprintCheck plugin = SprintCheck();

@override
void initState() {
  super.initState();
  plugin.initialize(
    apiKey: sprintCheckApiKey,
    encryptionKey: sprintCheckEncryptionKey,
  );
}

Future<void> verifyBvn() async {
  final CheckoutResponse response = await plugin.checkout(
    context,
    CheckoutMethod.bvn,           // or CheckoutMethod.nin
    'user@example.com',           // identifier for this customer
    bvn: '12345678901',           // optional: skips the number input UI
  );

  if (response.status && response.verify) {
    print('Verified: ${response.message} (score ${response.score})');
  }
}

CheckoutResponse includes message, reference, status, verify, a masked name and bvn/nin, and the confidence score.

The SDK needs your api_key and encryption_key — both are under Developers in your dashboard. Every completed verification also lands on your webhook and in your dashboard's verification history.