Transaction Monitoring & Risk Rules

Stables screens customers and monitors payments for money laundering, fraud, sanctions exposure and activity that does not fit a customer's profile. Most payments pass without you noticing. This page explains what happens when one does not, and what your integration needs to handle.

Stables compliance sets the risk rules and changes them as risks change. The rules themselves are not published, so build around the outcomes below rather than around specific thresholds.


What is checked

  • Customers, when they are verified and on an ongoing basis: identity, sanctions and politically exposed person (PEP) screening, and whether their profile calls for more information. See Country Restrictions & Sanctions Screening.
  • Payments, as they are created and processed: amounts and frequency against the customer's profile and history, the countries and parties involved, and, for stablecoin transfers, screening of the wallets involved. See Travel Rule.

What can happen

OutcomeWhenWhat you seeWhat to do
Step-up at verificationA customer's profile needs more than base verificationThe verification level stays pending, with a verification RFIAnswer the step-up requirements
Payment heldA payment needs more information or a manual reviewA transfer moves to compliance_hold, or a virtual account deposit is held, with a transaction RFIAnswer the RFI, for example with source of funds evidence
Request from complianceStables compliance needs something about a customer or a paymentA manual RFI. Nothing is heldAnswer the RFI
Payment declinedA held payment does not pass reviewThe transfer leaves compliance_hold without completingContact Stables support if you need more detail

Every outcome that needs something from you arrives as a Request for Information (RFI).


Handle it in your integration

  • Subscribe to the RFI webhooks (rfi.created, rfi.updated, rfi.resolved) and to transfer.updated.status_transitioned. See Webhooks.
  • Treat compliance_hold as a normal transfer state, not an error. A transfer can resume from it once its RFI is satisfied. See Transfer states.
  • Show the customer what is needed: tell them their payment is under review, and collect any information the RFI asks for in your product.
  • Keep customer profiles current: expected volumes, account purpose and occupation set the baseline that activity is compared with. Activity far outside it is more likely to be held.
  • Declare the sending wallet on stablecoin transfers with source_wallet, so the wallet can be attributed correctly. See Travel Rule.

On this page