Skip to main content

Compliance Flow

Compliance runs on every LIVE transaction before funds move. This page describes what runs, when, and how outcomes surface to you — at the product level your integration needs to care about.

What runs

For a typical payment, Thiqwave runs:

CheckApplies toWhen
KYB (Know-Your-Business)The customer (sender)At customer creation, before a transaction can move money
Sanctions / PEP / adverse mediaCustomers and beneficiariesDuring the compliance stage of the transaction
Wallet screening / KYTStablecoin legs and wallet beneficiariesBefore any stablecoin movement required by the corridor

The exact checks vary by corridor, currency, amount, customer type, and product — Thiqwave applies the right policy for the route.

How outcomes surface

Compliance results drive the transaction state (see Transaction lifecycle):

OutcomeTransaction stateWebhook
PassedCOMPLIANCE_APPROVED → continuescustomer.kyb_approved (KYB leg)
FailedCOMPLIANCE_REJECTED — no money movescustomer.kyb_rejected (KYB leg)
Needs a humanREQUIRES_MANUAL_REVIEW

A failed check is surfaced explicitly — never hidden as a generic "pending". Your integration should treat COMPLIANCE_REJECTED and REQUIRES_MANUAL_REVIEW as terminal-for-now and stop the flow.

TEST vs LIVE

  • On TEST, compliance providers are mocked: KYB approves instantly and no real screening runs. This lets you build and validate end-to-end without real checks.
  • On LIVE, real compliance vendors run. Timing and decisioning are theirs; the platform records the decision and provider reference in an auditable trail.

What we do not expose

To protect the integrity of the checks and your end-users' privacy, Thiqwave does not return:

  • Raw compliance vendor payloads or scores.
  • The internal rules that triggered a decision.
  • End-user PII beyond what your own customer/beneficiary records contain.

If a transaction is in REQUIRES_MANUAL_REVIEW, contact support@thiqwave.com (quote the correlation_id / transaction id) rather than retrying.

Next