---
id: ext-know-your-customer
title: "Know Your Customer (KYC)"
description: "Verify customer identity using digital credentials presented from an EUDI Wallet"
hide_title: false
sidebar_label: Know Your Customer
keywords: [KYC, Know Your Customer, identity verification, EUDI Wallet, digital credentials, PID, Organisation Wallet, European Business Wallet, compliance, onboarding]
slug: /extensions/know-your-customer
---

> **Build this with an AI coding agent.** Install the iGrant.io Agent Skills, then ask your agent to build the integration:
>
> ```bash
> npx skills add L3-iGrant/skills
> ```


import NoteBox from '@site/src/components/NoteBox';
import ApiEndpoints from '@site/src/components/ApiEndpoint';

The KYC extension enables organisations to verify customer identity using digital credentials such as PID, Passport, or PhotoID presented from their EUDI Wallet, enabling streamlined Know Your Customer checks.

## How it works

1. The organisation enables the KYC extension from the dashboard.
2. An administrator selects which identity credentials to accept.
3. When a customer needs to complete KYC, a verification request is triggered using the configured presentation definition.
4. The customer presents the requested credential(s) from their EUDI Wallet.
5. The system verifies the credentials and completes the identity check.

## Configuration

### Choose identity credentials

Select any combination of credential types to accept for KYC verification:

| Credential | Standard | Description |
|---|---|---|
| **Person Identification Data (PID)** | EWC RFC003 | National identity data issued under the EUDI framework |
| **Passport** | ICAO 9303 | Machine-readable travel document |
| **PhotoID** | EWC RFC013 | Photo identification credential |

All credential types are independent and can be freely combined. Unlike Age Verification, there are no interdependencies between credential selections.

### Integration

Once configured, the system automatically generates a **Presentation Definition** that encodes the selected credential requirements. This presentation definition can be viewed from the extension configuration page and is used when initiating verification requests via the API.

**API endpoints:**

<ApiEndpoints endpoints={[
  { method: 'get', path: '/v3/config/extension/kyc', description: 'Retrieve current configuration' },
  { method: 'put', path: '/v3/config/extension/kyc/identity-credential', description: 'Update identity credential settings' },
]} />

<NoteBox title="Caution:" variant="caution">
Disabling the KYC extension deletes its configuration. This action is not reversible.
</NoteBox>
