JSPM

  • Created
  • Published
  • Downloads 78
  • Score
    100M100P100Q93732F
  • License MIT

React SDK for MetaKYC due diligence workflows with configurable API endpoints and comprehensive step coverage

Package Exports

  • @vpdev2/metakyc
  • @vpdev2/metakyc/styles

Readme

MetaKYC SDK

A comprehensive React SDK for MetaKYC due diligence workflows with configurable API endpoints, dynamic form generation, and complete workflow step coverage.

Features

  • Configurable API Endpoints - Support for both Host Controller and Application Service patterns
  • Complete Workflow Coverage - All 9 workflow step types supported
  • Dynamic Applicant Form - 23 configurable form fields for applicant creation
  • 🎨 Backend-Driven Theming - Multi-tenant theme customization with 6 presets, custom logo, colors, and CSS (NEW v1.2.0)
  • React Hooks - Clean API with hooks for each workflow step
  • Pre-built Components - Ready-to-use UI components with Tailwind CSS
  • Dynamic Form Validation - Automatic zod schema generation from API rules
  • Identity Provider Integration - Sumsub, Onfido, and SardinAI support
  • TypeScript - Full type safety with types generated from C# DTOs
  • Dark Mode - Built-in dark mode support

Installation

npm install @metakyc/sdk
# or
yarn add @metakyc/sdk
# or
pnpm add @metakyc/sdk

Quick Start

1. Wrap your app with MetaKYCProvider

import { MetaKYCProvider } from '@metakyc/sdk';
import '@metakyc/sdk/styles';

function App() {
  return (
    <MetaKYCProvider
      config={{
        apiKey: process.env.METAKYC_API_KEY,
        tenantId: parseInt(process.env.TENANT_ID),
        baseUrl: process.env.METAKYC_BASE_URL,
        endpoints: { pattern: 'host-controller' },
        // Optional: Configure identity providers (e.g., SardinAI)
        identityProviders: {
          sardinai: process.env.SARDINAI_CLIENT_ID ? {
            clientId: process.env.SARDINAI_CLIENT_ID,
            environment: 'sandbox', // or 'production'
            region: 'us',           // 'us', 'eu', 'ca', or 'au'
            enableBiometrics: true,
            enablePortScanning: false,
          } : undefined,
        },
      }}
    >
      <YourApp />
    </MetaKYCProvider>
  );
}

2. Use the complete workflow component

import { KycWorkflow } from '@metakyc/sdk';

function KYCPage() {
  return (
    <KycWorkflow
      applicantId={applicantId}
      onComplete={(result) => console.log('Complete:', result)}
      onError={(error) => console.error('Error:', error)}
    />
  );
}

3. Or build custom UI with hooks

import { useKycWorkflow, useQuestionnaire } from '@metakyc/sdk';

function CustomKYC() {
  const { progress, currentStep, moveToNext } = useKycWorkflow(applicantId);
  const questionnaire = useQuestionnaire(applicantId);

  // Build your custom UI...
}

Documentation

Core Features

Backend Integration

Migration & Changes

  • Migration Guide - Migrate from custom form to dynamic configuration (v1.0.0 → v1.1.0)
  • Changelog - Version history and changes

License

MIT