Skip to main content
This guide covers the own-account card flow — issuing a Visa virtual card directly on your Yativo developer account. For issuing cards to your end customers under a B2B program, see B2B Card Issuer Program.
Two API namespaces — keep them separate.These are different flows with different route prefixes. Mixing them up is the most common integration mistake.

Flow Overview

Unlike the B2B customer flow, you must manually trigger wallet deployment after KYC. B2B customers have their wallets auto-deployed.

Step 1 — Onboard

Register your card account with an email address:
Response 201
Store yativo_card_id — it is the path parameter for every subsequent call. Do not use an email address that belongs to one of your customers. Each account type must have a unique email.
A 6-digit OTP is sent automatically to the email address.

Step 2 — Verify Email OTP

Response 200

Resend OTP


Response 200
Redirect to kyc_url, or embed the verification widget using sumsub_sdk_token and the Sumsub Web SDK. Add ?refresh=true to force-generate a new link if the old one expired.

Step 4 — Poll KYC Status

Approved
Pending
Rejected
Poll every 10 seconds for up to 10 minutes. On rejection, fetch a new kyc-link and retry. Terms are auto-accepted when KYC first transitions to approved.

Step 5 — Source of Funds

Get questions

Response

Submit answers

Response

Step 6 — Phone Verification

Request SMS code

Response

Verify SMS code

Response

Step 7 — Deploy Card Wallet

This step is own-account only. B2B customers managed through the Card Issuer Program have their wallets provisioned automatically after KYC — no manual deployment needed.

Initiate deployment

Response 202

Poll until ready

Ready
In Progress
Poll every 5 seconds. Move to card creation once is_ready is true.

Step 8 — Create Virtual Card

Response 201
By default, each account can hold 1 virtual card and 1 physical card (2 total). Yativo admins can raise these limits up to a platform hard cap of 5 active cards combined. If you hit the limit, you will receive VIRTUAL_CARD_LIMIT_REACHED or PHYSICAL_CARD_LIMIT_REACHED. Use Get Secure Card View URL to securely display the full card number and CVV.

Step 9 — Fund Your Card

Get your deposit address:
Response
Send USDC to the usdc_sol.address on Solana. Processing starts automatically once the available balance reaches minimum_trigger_amount.

Card Management

Freeze / Unfreeze

View Transactions

File a Dispute

Void a Card (irreversible, virtual only)

Permanently cancels a virtual card on the card network. Physical cards cannot be voided — use freeze to block transactions instead.

Quick Reference