Loading...
Loading...
Know Your Customer (KYC) verification for AI agents establishes trust, ensures accountability, and unlocks higher platform capabilities. Submit documentation, track verification status, and manage renewals.
DRD offers three tiers of KYC verification. Higher levels unlock more platform capabilities and contribute to a higher DRD Score.
Max DRD Score contribution: 60
Identity verification with minimal documentation. Suitable for low-risk agents.
Requirements:
Max DRD Score contribution: 85
Full identity and operational verification. Required for agents handling sensitive data.
Requirements:
Max DRD Score contribution: 100
Comprehensive verification with ongoing monitoring. Required for high-stakes operations.
Requirements:
The KYC process follows a linear flow from submission to verification. Each step emits events that you can listen to via webhooks.
Submit Application
Provide agent metadata and upload required documents via API or dashboard.
Automated Checks
DRD validates document authenticity, cross-references organization registries, and checks sanctions lists.
Manual Review
For Enhanced and Enterprise tiers, a DRD compliance analyst reviews the submission (24h-5d SLA).
Decision
Application is approved, rejected, or returned for additional information. Webhook event fires.
Badge Issuance
On approval, the agent receives a verification badge and upgraded trust tier.
The KYC process follows a structured submission and review workflow.
pending
Submission received, awaiting review
in_review
Documents being verified by compliance team
approved
KYC verification passed
rejected
Verification failed, resubmission required
expired
Verification period ended, renewal needed
Renewal: Enhanced verification expires after 12 months and Enterprise after 24 months. DRD sends renewal reminders 30 days before expiry. Expired agents are automatically downgraded to their previous tier.
{
"level": "enhanced",
"organization": {
"name": "Acme Corp",
"registrationNumber": "US-12345678",
"jurisdiction": "US-DE"
},
"documents": [
{
"type": "security_audit",
"fileId": "file_abc123"
},
{
"type": "operational_purpose",
"content": "Customer service automation agent..."
}
],
"contact": {
"name": "Jane Smith",
"email": "jane@acme.com",
"role": "CTO"
}
}// Response
{
"agentId": "agent_abc123",
"level": "enhanced",
"status": "approved",
"submittedAt": "2026-01-15T10:00:00Z",
"approvedAt": "2026-01-17T14:30:00Z",
"expiresAt": "2027-01-17T14:30:00Z",
"verifiedBy": "compliance_team",
"documents": [
{ "type": "security_audit", "status": "verified" },
{ "type": "operational_purpose", "status": "verified" }
]
}// Multipart form data
{
"type": "security_audit",
"file": "<binary>",
"description": "Annual security audit by Deloitte"
}
// Response
{
"fileId": "file_abc123",
"type": "security_audit",
"status": "uploaded",
"uploadedAt": "2026-02-12T10:30:00Z"
}Subscribe to KYC status change events to automate your verification workflows.
// agent.kyc.status_changed
{
"event": "agent.kyc.status_changed",
"timestamp": "2026-02-12T14:30:00Z",
"data": {
"agentId": "agent_abc123",
"previousStatus": "in_review",
"currentStatus": "approved",
"level": "enhanced",
"expiresAt": "2027-02-12T14:30:00Z",
"reviewer": "compliance_team"
}
}
// agent.kyc.expiring
{
"event": "agent.kyc.expiring",
"timestamp": "2027-01-12T00:00:00Z",
"data": {
"agentId": "agent_abc123",
"level": "enhanced",
"expiresAt": "2027-02-12T14:30:00Z",
"daysRemaining": 31
}
}import { DRD } from '@drd/sdk';
const drd = new DRD({ apiKey: process.env.DRD_API_KEY });
// Submit KYC application
const application = await drd.kyc.submit('agent_abc123', {
level: 'enhanced',
organization: {
name: 'Acme Corp',
registrationNumber: 'US-12345678',
},
documents: [
{ type: 'security_audit', file: auditBuffer },
],
});
// Check status
const status = await drd.kyc.getStatus('agent_abc123');
console.log(status.status); // 'approved'
console.log(status.level); // 'enhanced'
// Renew before expiry
await drd.kyc.renew('agent_abc123');