BlendFi
KYC

Overview

Why the Brazilian Central Bank requires identity verification, BlendFi's two KYC tiers (platform and crypto), and how each affects your integration.

Brazilian regulation requires every end customer who transacts to be identified before any money moves. BlendFi runs two KYC tiers: the platform KYC, which you drive via the API and gates every operation, and the crypto KYC, which BlendFi initiates automatically after platform KYC is approved and is required for offramp operations. Your code observes state through kyc_status on the user and through specific error codes.

Why it exists

KYC is a regulatory gate, not a product choice. BlendFi operates under the Brazilian Central Bank framework, which requires verified identity before any financial movement. The effect for your integration is direct: until the end customer is approved, any call that touches money returns an error with a stable code.

The two tiers

BlendFi separates KYC into two tiers with distinct scopes:

TierWhat it verifiesWho drives itWebhook
Platform KYCEnd customer identity (document, liveness, restrictive lists)Your organization, via POST /v1/users/{id}/kycYes, user.kyc_* events
Crypto KYCAdditional checks for the end customer to operate USDT (crypto movement)Initiated automatically by BlendFi after platform KYC is approvedNo dedicated event

When each one is required

OperationPlatform KYCCrypto KYC
Creating users, updating dataNot requiredNot required
Onramp quotes and transactions (Pix → USDT)✅ RequiredNot required
Offramp quotes and transactions (USDT → Pix)✅ Required✅ Required

For an end customer who is onramp-only, an approved platform KYC is enough. For any end customer who will operate offramp, both must be approved.

Crypto KYC is automatic

You don't call any endpoint to start the crypto KYC. After platform KYC is approved, BlendFi initiates the crypto KYC in the background. Under normal conditions, by the time the end customer attempts an offramp operation, both are ready.

Platform KYC states

kyc_status on the user object exposes the current state:

StateMeaningCan transact?
not_startedUser created; submission not yet started
pendingSubmission in progress, under review
approvedIdentity verified; cleared to transact
rejectedVerification failed; reason in rejection_reason
expiredWas approved; verification has lapsed

Approvals have a limited validity window and expire. Your integration should treat kyc_status as current state, not a one-shot event: monitor expiration and proactively request reverification before the deadline when applicable.

Platform KYC webhooks

Four events fire as platform KYC transitions:

EventWhen it fires
user.kyc_pendingSubmission registered, under review
user.kyc_approvedApproved, end customer cleared
user.kyc_rejectedRejected, payload includes rejection_reason
user.kyc_expiredApproval validity has lapsed

Crypto KYC does not emit dedicated webhooks.

Errors your integration must handle

The most common codes. Full list in the errors catalog.

Platform KYC:

CodeStatusWhen
kyc_required422Operation attempted before platform KYC is approved
invalid_kyc_state422Operation not allowed in the current KYC state
kyc_already_approved409Resubmitting KYC for an already-approved user
kyc_submission_not_found404Querying a submission that does not exist
kyc_provider_unavailable502Transient provider failure; safe to retry

Crypto KYC (only appear in offramp operations):

CodeStatusWhen
crypto_kyc_required422End customer does not yet have crypto KYC. Under normal conditions, indicates the background flow has not run yet
crypto_kyc_pending422Crypto KYC in progress. Wait for completion and retry
crypto_kyc_declined422Crypto KYC declined. End customer cannot operate offramp; contact support

Corporate clients (KYB):

CodeStatusWhen
kyb_not_yet_supported422Corporate KYC not available in v1

Next steps

  • KYC flow: the practical step-by-step with example calls and webhook handling.
  • Webhooks: signature contract, retries, replay window.
  • Errors and retries: how to branch on the codes above.
  • Glossary: definitions for KYC, KYB, CPF, CNPJ.

On this page