KYC Quickstart
Know Your Customer verification process
KYC (Know Your Customer)
KYC (Know Your Customer) is a mandatory identity verification process that allows your application to know and validate the identity of your users. This process is essential for:
- Regulatory compliance: Meeting regulatory requirements
- Fraud prevention: Reducing risks of illicit activities
- Security: Ensuring only legitimate users access your services
- Trust: Establishing a solid foundation for financial transactions
Accepted Document Types
Currently, our system accepts the following document types:
Brazilian Documents
- RG (General Registry): Front and back
- CNH (National Driver's License): Front and back
- Passport: Main page with photo only
International Documents
- Passport: Main page with photo only
- National Identity Card: Front and back (when applicable)
All documents must be legible, valid, and not expired. Damaged, illegible, or obscured documents may result in verification rejection.
KYC Verification Flow
The KYC verification process follows a simple and intuitive flow:
1. Create Verification Session
First, you must create a verification session for the user:
POST kyc/individual-verification-sessions/standard
Example Response:
{
"session": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"firstName": "João",
"lastName": "Silva Santos",
"birthDate": "15/03/1990",
"document": {
"id": "12345678901",
"type": null,
"category": "DRIVERS_LICENSE"
},
"status": "PENDING",
"livenessRequired": false,
"createdAt": "2025-01-20T10:30:00.000Z",
"updatedAt": null
},
"backDocumentUpload": {
"url": "https://s3.amazonaws.com/example-bucket",
"fields": {
"bucket": "example-bucket",
"X-Amz-Algorithm": "AWS4-HMAC-SHA256",
"X-Amz-Credential": "EXAMPLE/20250120/us-east-1/s3/aws4_request",
"X-Amz-Date": "20250120T103000Z",
"key": "documents/back-doc-12345",
"Policy": "eyJleHBpcmF0aW9uIjoiMjAyNS0wMS0yMFQxMDQ1OjAwWiIsImNvbmRpdGlvbnMiOltbImNvbnRlbnQtbGVuZ3RoLXJhbmdlIiwwLDI2MjE0NDAwXSxbInN0YXJ0cy13aXRoIiwiJGtleSIsImRvY3VtZW50cy9iYWNrLWRvYy0xMjM0NSJdLHsiYnVja2V0IjoiZXhhbXBsZS1idWNrZXQifV19",
"X-Amz-Signature": "example-signature-back-document"
}
},
"frontDocumentUpload": {
"url": "https://s3.amazonaws.com/example-bucket",
"fields": {
"bucket": "example-bucket",
"X-Amz-Algorithm": "AWS4-HMAC-SHA256",
"X-Amz-Credential": "EXAMPLE/20250120/us-east-1/s3/aws4_request",
"X-Amz-Date": "20250120T103000Z",
"key": "documents/front-doc-12345",
"Policy": "eyJleHBpcmF0aW9uIjoiMjAyNS0wMS0yMFQxMDQ1OjAwWiIsImNvbmRpdGlvbnMiOltbImNvbnRlbnQtbGVuZ3RoLXJhbmdlIiwwLDI2MjE0NDAwXSxbInN0YXJ0cy13aXRoIiwiJGtleSIsImRvY3VtZW50cy9mcm9udC1kb2MtMTIzNDUiXSx7ImJ1Y2tldCI6ImV4YW1wbGUtYnVja2V0In1dfQ==",
"X-Amz-Signature": "example-signature-front-document"
}
}
}
2. Upload Documents
Use the provided URLs to upload documents:
- Front Document: Upload the document (front)
- Back Document: Upload the back of the document (when applicable)
Important: Uploads must be photos of the original document, not scanned or digitized copies. The document must be well-lit, legible, and without reflections.
Upload URLs expire in 15 minutes. Make sure to upload within this period.
3. Finalize Process
After uploading the documents, finalize the process:
POST /kyc/individual-verification-sessions/standard/:sessionId/process
4. Check Status
Monitor the verification status:
GET /kyc/individual-verification-sessions/standard/:sessionId
Verification Status
The verification process can have the following statuses:
Status | Description |
---|---|
PENDING | Session created, waiting for document upload |
VERIFYING | Documents being analyzed by the system |
COMPLETED | Verification approved successfully |
FAILED | Verification rejected or error during processing |
EXPIRED | Session expired |
Detailed Status
COMPLETED
- ✅ Valid and legible documents
- ✅ Consistent information
- ✅ User approved for transactions
- ✅ Returns
individualId
required for FIAT ramp operations
FAILED
- ❌ Illegible or damaged document
- ❌ Inconsistent information
- ❌ Expired document
- ❌ Document not accepted
- ❌ Low quality photo or with reflections
- ❌ Digitized or scanned copy (must be photo of original)
- ⚠️ Technical error during processing
- ⚠️ Temporary system issue
- ⚠️ Can be retried (with other document photos)
Individual ID
When the verification status is COMPLETED
, the response will include an individualId
:
{
"session": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "COMPLETED",
"individualId": "ind_1234567890abcdef"
}
}
Important: The individualId
is required for all FIAT ramp operations (deposits and withdrawals). Keep this ID to use in ramp requests.
Flow Diagram
Next Steps
After KYC approval, your user will be ready to:
- Perform FIAT deposits and withdrawals (using the
individualId
)
Monthly limit: After KYC approval, the user will have a monthly limit of approximately $9,000 USD for FIAT ramp operations.
Next step: With the individualId
in hand, you can proceed to FIAT ramp operations. Check the Ramp documentation for more details.
The KYC process is mandatory for all FIAT ramp operations. Without KYC approval, users will not be able to perform deposits or withdrawals.