Skip to main content
KYB (Know Your Business) is the regulatory process of verifying the identity and legitimacy of a business before allowing it to handle financial transactions. In Saudi Arabia and the UAE, financial regulators require all payment service providers and their business customers to be verified before funds can move. Thiqwave performs automated KYB checks that cover:
  • Trade licence verification — confirms the business is legally registered and active in its jurisdiction.
  • Ultimate Beneficial Owner (UBO) identification — identifies individuals who own or control 25% or more of the business.
  • Sanctions screening — checks the business and its UBOs against international sanctions lists (OFAC, UN, EU, and local MENA lists).
  • PEP screening — identifies Politically Exposed Persons among UBOs and directors.
Your platform cannot process live transactions until KYB verification is approved. Make sure you have all required documents ready before submitting — incomplete submissions delay the review process. See the required documents section below before you start.

Required documents

Gather these documents before submitting a KYB request:
DocumentSaudi ArabiaUAE
Commercial registration / trade licenceRequiredRequired
Articles of association or memorandumRequiredRequired
UBO declaration (signed)RequiredRequired
National ID or passport for each UBORequiredRequired
Proof of business address (utility bill or bank statement, < 3 months old)RequiredRequired
VAT registration certificateIf registeredIf registered
All documents must be in Arabic or English. Certified translations are required for documents in other languages.

Submit KYB verification

1

Prepare your business details

Collect the following information before making the API call:
  • Legal business name (as it appears on the trade licence)
  • Business registration number
  • Country of incorporation (SA for Saudi Arabia, AE for UAE)
  • Registered business address
  • Details for each UBO: full name, date of birth, nationality, percentage ownership, ID document type and number
2

Submit the KYB request

Send a POST request to /v1/compliance/kyb with your business details and document references. Documents must be uploaded as Base64-encoded strings or as URLs to files accessible by Thiqwave.
curl
curl -X POST https://api.thiqwave.com/v1/compliance/kyb \
  -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "business": {
      "legal_name": "Acme Trading LLC",
      "registration_number": "1234567890",
      "country": "AE",
      "address": {
        "line1": "Office 1204, Tower B",
        "line2": "Business Bay",
        "city": "Dubai",
        "country": "AE"
      }
    },
    "ubos": [
      {
        "full_name": "Jane Smith",
        "date_of_birth": "1980-06-15",
        "nationality": "GB",
        "ownership_percentage": 60,
        "id_type": "passport",
        "id_number": "GB123456789"
      }
    ],
    "documents": {
      "trade_licence": {
        "url": "https://your-storage.example.com/trade-licence.pdf"
      },
      "articles_of_association": {
        "url": "https://your-storage.example.com/articles.pdf"
      },
      "ubo_declaration": {
        "url": "https://your-storage.example.com/ubo-declaration.pdf"
      },
      "ubo_ids": [
        {
          "ubo_name": "Jane Smith",
          "url": "https://your-storage.example.com/jane-smith-passport.pdf"
        }
      ]
    }
  }'
FieldRequiredDescription
business.legal_nameYesExact legal name from the trade licence.
business.registration_numberYesCompany registration or CR number.
business.countryYesISO 3166-1 alpha-2 country code: SA or AE.
ubosYesArray of UBO objects. At least one UBO is required.
ubos[].ownership_percentageYesNumeric percentage (e.g., 60 for 60%).
documentsYesTrade licence and UBO declaration are always required.
A successful submission returns a compliance_id you use to track status:
{
  "id": "kyb_01HXYZKYB1234567890AB",
  "status": "pending_review",
  "created_at": "2026-04-08T10:00:00Z",
  "estimated_completion": "2026-04-09T10:00:00Z"
}
3

Check verification status

Poll the compliance endpoint or listen for a webhook event to track the progress of your KYB submission.
curl
curl https://api.thiqwave.com/v1/compliance/kyb_01HXYZKYB1234567890AB \
  -H "X-API-Key: your-api-key"
{
  "id": "kyb_01HXYZKYB1234567890AB",
  "status": "under_review",
  "checks": {
    "trade_licence": "passed",
    "sanctions_screening": "passed",
    "ubo_verification": "in_progress"
  },
  "created_at": "2026-04-08T10:00:00Z",
  "updated_at": "2026-04-08T11:30:00Z"
}
StatusMeaning
pending_reviewSubmission received, queued for automated checks.
under_reviewAutomated checks running or manual review in progress.
approvedVerification complete. Your platform can go live.
rejectedVerification failed. See rejection_reason for details.
more_information_requiredThiqwave needs additional documents. Check required_actions.
Rather than polling, subscribe to compliance.approved and compliance.rejected webhook events. Thiqwave notifies your endpoint the moment the status changes.
4

Respond to additional information requests

If the status becomes more_information_required, the response includes a required_actions array specifying exactly what is needed. Resubmit only the missing or corrected items by sending a PATCH request to /v1/compliance/:id with the additional data.
5

Go live after approval

When the status reaches approved, your platform is cleared for live transactions. Thiqwave also emits a compliance.approved event.At this point you can:

KYB for your customers

If your platform onboards business customers (B2B2B), you must also run KYB on each of them before they can move funds. The process is identical — submit a KYB request per customer using their business details, and gate their access to financial features until status: "approved" is returned.

Next steps