Skip to content

Antifraud Module ​

The Antifraud Module monitors financial transactions in real time and applies a configurable rules engine to calculate a risk score. When the score exceeds the high-risk threshold, the operation is automatically blocked and logged for later review in the BackOffice panel.

Transaction types monitored: PIX (deposit and transfer), Crypto (deposit and withdrawal), PIX→Crypto conversion, Internal and external transfers.

What you can do here ​

  • View the antifraud log — browse all analyzed transactions; filter by risk level, block status, and operation type.
  • Manage the Blacklist — add, query, and remove PIX keys, wallets, and addresses considered suspicious.
  • Manage the Whitelist — mark wallets and keys as trusted to reduce false positives.
  • Review blocked transactions — analyze the block reason (triggered rules and score) and, if warranted, manually release the operation.

Prerequisites ​

RequirementDetail
Antifraud audit permissionAccess to the log and the lists (see the Audit group in the menu)
Target user with status === 'APPROVED'Required to manually release a blocked transaction

For specific permission details, see Audit → Antifraud Log and Blacklist.

How the risk score works ​

Each transaction goes through a set of rules specific to its operation type. Each rule that fires adds its weight to the total score.

ScoreRisk LevelSystem Action
0 – 39LowAutomatically approved
40 – 99MediumApproved; flagged for optional manual review
≥ 100HighAutomatically blocked (wasBlocked = true)

Rules with weight −999 act as exceptions: if a similar transaction was previously approved, the score is offset and the block does not occur.

Rules by operation type ​

PIX — Deposit (pix_deposit)
RuleDescriptionWeight
pix_key_mismatchPIX key does not belong to the user80
high_value_depositDeposit > R$ 20,00050
high_frequency_depositsMore than 3 deposits in 1 hour30
multiple_remittersMore than one sender in 24 hours60
night_time_depositDeposit between 00:00 and 06:0030
fast_crypto_withdraw_after_depositCrypto withdrawal within 5 min after the deposit80
new_device_or_ipNew IP or device20
Crypto — Deposit (crypto_deposit)
RuleDescriptionWeight
wallet_not_whitelistedWallet never registered before50
mixer_origin_detectedReceived from a mixer or privacy pool100
from_exchange_without_kycReceived from an exchange without KYC80
above_average_cryptoAmount 3× above the user's average40
triangulated_fundingReceived shortly after a withdrawal from another account90
PIX — Transfer (pix_transfer)
RuleDescriptionWeight
hasPreviouslyApprovedSimilarTransactionSimilar transaction already approved−999
high_frequency_pixMore than 5 PIX sent in 1 hour30
high_value_in_short_timeMore than R$ 10,000 in 1 hour50
blacklisted_recipientRecipient PIX key is on the blacklist100
night_transferTransfer > R$ 1,000 between 00:00 and 06:0040
new_recipientNew recipient (never received before)30
pix_crossed_flowPIX in with immediate PIX out50
unusual_ip_or_deviceIP or device different from usual20
Crypto — Withdrawal (crypto_withdraw)
RuleDescriptionWeight
hasPreviouslyApprovedSimilarTransactionSimilar transaction already approved−999
high_value_withdrawWithdrawal > R$ 20,00070
unverified_walletWallet without associated KYC50
multiple_destinationsMore than 3 destinations on the same day60
withdraw_after_suspicious_pixRecent suspicious PIX before the withdrawal80
device_new_for_withdrawNew device30
ip_different_for_withdrawIP diverges from history20
to_blacklisted_destinationDestination is a mixer or anonymous exchange100
PIX → Crypto Conversion (pix_crypto_conversion)
RuleDescriptionWeight
immediate_conversionConversion with balance received less than 5 min ago40
high_frequency_conversions3 or more conversions in 1 hour50
external_wallet_not_verifiedExternal wallet not verified60
wallet_not_linked_to_userCrypto address not linked to the user80
pix_from_third_party_to_cryptoPIX from a third party converted directly to user's crypto90
atypical_conversion_valueAmount 5× above the historical average40
Internal Transfer (internal_transfer)
RuleDescriptionWeight
hasPreviouslyApprovedSimilarTransactionSimilar transaction already approved−999
high_value_depositAmount > R$ 20,00050
pix_crossed_flowInternal crossed flow (in and immediate out)50
withdraw_after_suspicious_pixRecent suspicious PIX80
unusual_ip_or_deviceNew IP or device20
External Transfer (external_transfer)
RuleDescriptionWeight
hasPreviouslyApprovedSimilarTransactionSimilar transaction already approved−999
high_value_depositAmount > R$ 20,00050
night_time_depositTransfer between 00:00 and 06:0030
to_blacklisted_destinationDestination account is on the blacklist100
unusual_ip_or_deviceNew IP or device20

Sanctioned wallets (OFAC) ​

The system automatically synchronizes the blacklist with the OFAC (Office of Foreign Assets Control) sanctioned crypto-asset address lists:

Any wallet present in these lists is automatically added to the blacklist and triggers the to_blacklisted_destination rule (weight 100, high risk level).

Technical reference — Internal architecture
  • AntifraudTransactionMapper — standardizes PIX, crypto, and transfer inputs into the antifraud model.
  • AntifraudCoreHandler — processes and records each analyzed transaction.
  • AntifraudRuleEngineService — evaluation engine; loads rules from antifraud_rules_by_category.json (can be versioned separately, no new code deploy required).
  • AntifraudService — implements the function for each rule (e.g., hasFrequentDeposits, isNightDeposit).
  • AntifraudTransactionDao — persists analyzed transactions.
  • The rules file can be updated without a new code deploy.