TypeScript Type Definitions
interface KYCStatus {
status : "not_started" | "pending" | "approved" | "rejected" ;
message ?: string ;
}
Overview
Before you can create or use Yativo Cards, every user must complete a four-step onboarding process. This flow verifies identity, establishes acceptance of terms, and initializes the card wallet.
Register Card Account
Submit name and email to create your card account profile.
Complete KYC
Identity verification is required by regulation before card issuance.
Accept Terms
Acknowledge the cardholder terms and conditions.
Initialize Card Wallet
Initialize your card wallet for funding and transactions.
Step 1 — Register Card Account
The user’s email address. Used for communication and account identification.
User’s legal first name, as it should appear on the card.
curl -X POST 'https://crypto-api.yativo.com/api/yativo-card/onboard' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"email": "user@example.com",
"first_name": "Jane",
"last_name": "Doe"
}'
{
"status" : "success" ,
"data" : {
"yativo_card_id" : "yc_01HX9KZMB3F7VNQP8R2WDGT4E5" ,
"email" : "user@example.com" ,
"first_name" : "Jane" ,
"last_name" : "Doe" ,
"kyc_status" : "pending" ,
"created_at" : "2026-03-25T10:00:00Z"
}
}
Save the yativo_card_id from this response. It is required for all subsequent card operations.
Step 2 — Check KYC Status
After registration, KYC verification is initiated. Poll this endpoint to track progress.
curl -X GET 'https://crypto-api.yativo.com/api/yativo-card/kyc-status' \
-H 'Authorization: Bearer YOUR_API_KEY'
{
"status" : "success" ,
"data" : {
"kyc_status" : "approved" ,
"kyc_verified_at" : "2026-03-25T10:15:00Z" ,
"rejection_reason" : null
}
}
KYC Status Values
Status Description pendingKYC review is in progress. Poll again in a few minutes. approvedIdentity verified. Proceed to Step 3. rejectedVerification failed. See rejection_reason for details. requires_actionAdditional documents or information needed from the user.
You cannot proceed past this step until the KYC status is approved. If the status is rejected, contact support to understand next steps.
Step 3 — Accept Terms and Conditions
Once KYC is approved, the user must explicitly accept the cardholder terms before a card can be issued.
curl -X POST 'https://crypto-api.yativo.com/api/yativo-card/accept-terms' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'
{
"status" : "success" ,
"data" : {
"terms_accepted" : true ,
"accepted_at" : "2026-03-25T10:20:00Z" ,
"terms_version" : "2026-01"
}
}
If you are building on behalf of users in the B2B Issuer Program, ensure your terms of service incorporate the required cardholder agreement language before calling this endpoint on behalf of your customers.
Step 4 — Initialize Card Wallet
The final step initializes your card wallet for funding and transactions.
curl -X POST 'https://crypto-api.yativo.com/api/yativo-card/deploy-safe' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'
{
"status" : "success" ,
"data" : {
"status" : "deployed" ,
"initialized_at" : "2026-03-25T10:22:00Z"
}
}
Card wallet initialization is a one-time operation per user. Once initialized, your wallet is ready to receive deposits and fund card transactions.
Complete Onboarding Flow (Code Example)
The following example shows the full onboarding sequence as a series of API calls:
Step 1: Register
Step 2: Poll KYC Status
Step 3: Accept Terms
Step 4: Initialize Card Wallet
curl -X POST 'https://crypto-api.yativo.com/api/yativo-card/onboard' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"email": "user@example.com",
"first_name": "Jane",
"last_name": "Doe"
}'
# Save yativo_card_id from response
What Happens Next?
After successful wallet initialization, you are ready to:
Create a Virtual Card Issue a virtual card instantly for online spending.
Fund Your Wallet Send USDC on Solana to your card wallet funding address.