- 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.
Required documents
Gather these documents before submitting a KYB request:| Document | Saudi Arabia | UAE |
|---|---|---|
| Commercial registration / trade licence | Required | Required |
| Articles of association or memorandum | Required | Required |
| UBO declaration (signed) | Required | Required |
| National ID or passport for each UBO | Required | Required |
| Proof of business address (utility bill or bank statement, < 3 months old) | Required | Required |
| VAT registration certificate | If registered | If registered |
Submit KYB verification
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 (
SAfor Saudi Arabia,AEfor UAE) - Registered business address
- Details for each UBO: full name, date of birth, nationality, percentage ownership, ID document type and number
Submit the KYB request
Send a
A successful submission returns 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
| Field | Required | Description |
|---|---|---|
business.legal_name | Yes | Exact legal name from the trade licence. |
business.registration_number | Yes | Company registration or CR number. |
business.country | Yes | ISO 3166-1 alpha-2 country code: SA or AE. |
ubos | Yes | Array of UBO objects. At least one UBO is required. |
ubos[].ownership_percentage | Yes | Numeric percentage (e.g., 60 for 60%). |
documents | Yes | Trade licence and UBO declaration are always required. |
compliance_id you use to track status:Check verification status
Poll the compliance endpoint or listen for a webhook event to track the progress of your KYB submission.
curl
| Status | Meaning |
|---|---|
pending_review | Submission received, queued for automated checks. |
under_review | Automated checks running or manual review in progress. |
approved | Verification complete. Your platform can go live. |
rejected | Verification failed. See rejection_reason for details. |
more_information_required | Thiqwave needs additional documents. Check required_actions. |
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.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:- Create accounts and wallets for your customers — see Accounts & Wallets
- Begin receiving payments — see Receiving Payments
- Settle cross-border payments — see Settling with Stablecoins
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 untilstatus: "approved" is returned.
Next steps
- Accounts & Wallets — create accounts for approved customers
- Webhooks — receive notifications when compliance status changes