Skip to main content
The USD account is issued as a USD virtual bank account (VBA) — USD received (ACH/wire) is converted to USDB and swept to the user’s smart wallet. Requirements vary slightly by the user’s country of residence.

How it works (the flow)

  1. PATCH /kyc — User submits KYC data progressively (partial updates allowed), alongside the document uploads.
  2. POST /kyc/activate — Starts identity verification. Non-Nigerian, non-Canadian users pass a sumsubLevelName (commonly "id-and-liveness").
  3. Provision the USD virtual bank account — once the KYC profile is complete:
    • GET /kyc/usd-readiness{ ready, missing }; gate on ready.
    • POST /onboarding/start-usa with { "smartWalletId": "…" }{ workflowId } (idempotent).
    • Poll GET /vba/usd{ status, account, reason }; account is populated once status is active.

Core requirements (all international USD users)

Personal Info Address Identification Documents (uploaded files)
  • At least one document of type: passport, drivers_license, national_id, or government_id
  • Must include a front or additional image file
  • documentNumber — required
  • issuingCountryCode — required
Additional requirements when activating with sumsubLevelName Users on the Global KYC path (non-Nigeria, non-Canada) additionally need before activation:

Country-specific additional requirements

USA (United States)
  • SSN required in identificationNumbers:
    • type: "ssn", issuingCountryCode: "USA"
GBR (United Kingdom)
  • NINO required in identificationNumbers:
    • type: "nino", issuingCountryCode: "GBR"
NGA (Nigeria) — Enhanced Due Diligence (EDD) All core requirements, plus: