Mode: identity_verification
Opal Identity Verification is a pre-built flow for verifying user identity. It provides a secure, compliant way to collect and verify personal information like name, date of birth, address, and other identity details needed for KYC/AML requirements.
What this mode does
Identity Verification collects, confirms, and verifies a user’s identity details (name, DOB, address, phone, SSN if needed). Users must explicitly confirm their details before verification challenges begin. Identity Verification will automatically be invoked when needed, or can be used as a standalone module.
Parameters
Create a token
You can create an identity verification session token using one of the supported patterns:
- Existing entity: provide
entity_id + mode + identity_verification
- Create new entity: provide
entity + mode + identity_verification
- Resume session: provide
session_id only (omit mode and identity_verification)
Existing Entity
{
"entity_id": "ent_...",
"mode": "identity_verification",
"identity_verification": {
"skip_pii": ["name", "dob", "address"]
}
}
Create New Entity
{
"entity": {
"type": "individual",
"individual": {
"first_name": "Kevin",
"last_name": "Doyle",
"phone": "+15125551234"
}
},
"mode": "identity_verification",
"identity_verification": {
"skip_pii": []
}
}
Response
{
"token": "otkn_...",
"valid_until": "2025-06-10T22:50:53.024Z",
"session_id": "osess_..."
}
Launch Opal
import { OpalProvider, useOpal } from "@methodfi/opal-react";
function Screen() {
const { open } = useOpal({ env: "dev", onEvent: (e) => {} });
const start = async () => {
const { token } = await getTokenFromBackend();
open({ token });
};
return <button onClick={start}>Verify identity</button>;
}