Skip to content

Business Verification (KYB)

Business verification uses a Know Your Business (KYB) flow to verify a business entity and issue business-specific credentials. Set mode="business" on the AvererWebSdk component to enable this flow.

Setup

'use client';

import {
  AvererWebSdk,
  AvererSdkProvider,
  type SdkQuery,
  type SdkSuccessRes,
} from '@averer/averer-websdk';

const BUSINESS_QUERIES: SdkQuery = [
  {
    id: 6,
    circuitId: 'credentialAtomicQuerySigV2',
    subjectTitle: 'AML & CTF Check',
    query: {
      allowedIssuers: ['*'],
      type: 'AMLCTFCredential',
      context:
        'https://raw.githubusercontent.com/redbellynetwork/receptor-schema/refs/heads/main/schemas/json-ld/AMLCTFCredential.jsonld',
      skipClaimRevocationCheck: true,
      credentialSubject: { amlCheckStatus: { $eq: 'passed' } },
    },
  },
  {
    id: 7,
    circuitId: 'credentialAtomicQuerySigV2',
    subjectTitle: 'Disclose ABN/ACN',
    query: {
      allowedIssuers: ['*'],
      type: 'ProofOfIncorporationCredential',
      context:
        'https://raw.githubusercontent.com/redbellynetwork/receptor-schema/refs/heads/main/schemas/json-ld/ProofOfIncorporationCredential.jsonld',
      skipClaimRevocationCheck: true,
      credentialSubject: { registrationNumber: {} },
    },
  },
  {
    id: 8,
    circuitId: 'credentialAtomicQuerySigV2',
    subjectTitle: 'UBO',
    query: {
      allowedIssuers: ['*'],
      type: 'BeneficiariesCredential',
      context:
        'https://raw.githubusercontent.com/redbellynetwork/receptor-schema/refs/heads/main/schemas/json-ld/BeneficiariesCredential.jsonld',
      skipClaimRevocationCheck: true,
      credentialSubject: { beneficiaryNames: {} },
    },
  },
];

export default function BusinessVerification() {
  const handleSuccess = (data: SdkSuccessRes) => {
    if (data.eligibility.passed) {
      console.log('Business verified', data.walletAddress);
    }
  };

  return (
    <AvererSdkProvider configId="your-config-id">
      <AvererWebSdk
        appName="Enterprise Platform"
        mode="business"
        sdkQuery={BUSINESS_QUERIES}
        onSuccess={handleSuccess}
        onError={(reason) => console.error(reason)}
      />
    </AvererSdkProvider>
  );
}

Available credentials for businesses

Credential Type Purpose
AMLCTFCredential AML & CTF compliance check for the business entity
ProofOfIncorporationCredential ABN/ACN registration number disclosure
BeneficiariesCredential Ultimate Beneficial Owners (UBO) disclosure

Key differences from individual verification

  • The mode prop must be set to "business"
  • The KYB flow verifies the business entity rather than a person
  • Business-specific credential types (ProofOfIncorporationCredential, BeneficiariesCredential) are available
  • AMLCTFCredential applies AML & CTF checks at the entity level

For query construction details, see Eligibility Criteria. For choosing between proof methods, see Proof Methods.