Pix DICT Statistics Reader

The Central Bank of Brazil (BCB) requires Pix participants to maintain a database containing security information about their clients and to refresh that information at least once every six months through consultation of the security information stored in DICT. The source product requirements document references BCB Resolution No. 403 as the regulatory basis.

The Pismo DICT Statistic Reader retrieves and stores DICT security statistics, refreshes them periodically, and makes them available for Pix anti-fraud decisions and optional automatic transaction rejection.

Although the requirement is straightforward, implementing it may require each institution to build mechanisms for DICT retrieval, data persistence, periodic refresh, integration retries, and distributing the resulting information to internal systems.

Pismo created the DICT Statistics Reader to simplify this operational journey. The feature automates retrieval, storage, and periodic refresh of DICT security statistics, while making the data available for Pix and anti-fraud use cases.

Note: The DICT Statistic Reader provides security statistics. It does not generate a risk score. Unless the optional automatic rejection capability is enabled, the institution remains responsible for interpreting the data and defining its risk decisions.

How it works

The feature retrieves security statistics using either the Cadastro de Pessoas Físicas (CPF -individual taxpayer ID) or Cadastro Nacional da Pessoa Jurídica (CNPJ - corporate taxpayer ID) registered for the Pismo account. A Pix key is not required for the lookup. Data is stored in a tenant-isolated structure and is not shared across organizations.

The solution does not perform a global initial load for every account. The first retrieval occurs on demand when an eligible flow needs the information and no stored statistics exist, or when the stored statistics are more than 180 days old.

Data retrieval triggers

Initial retrieval triggers:

  1. Pix key validation.
  2. DICT statistics endpoint is called
  3. An account data update
  4. Pix-In transaction receipt
  5. Pix-out transaction initiation

Post-retrieval

After a successful retrieval:

  • Pismo stores the statistics DICT returns, including valid responses in which all values are zero.
  • The newly retrieved data replaces the previous data set used for consultation.
  • The next refresh is scheduled for 180 days after the successful retrieval.
  • The Pix DICT statistics updated event is generated.

If DICT does not return statistics for the document, no record is inserted. Provider integration failures are submitted for queue-based retry. A subsequent refresh is scheduled only after a successful execution.

What accounts are eligible

Only active accounts belonging to organizations with the DICT Statistic Reader enabled enter the synchronization cycle. If an account is closed, Pismo stops performing new DICT retrievals for that account and retains the already stored data.

The lookup is based on the document registered for an active account. The account does not need to have a Pix key.

What statistics are stored


GroupInformation
SPISettlements and watermark.
Fraud markersApplication frauds, mule accounts, scammer accounts, other frauds, unknown frauds, total fraud transaction amount, distinct fraud reporters, and watermark.
Infraction reportsOpen reports, distinct reporters for open reports, rejected reports, and watermark.
EntriesRegistered accounts and watermark.
Time windowd90 for 90 days, m12 for 12 months, and m60 for 60 months, where applicable.

Using Pix DICT statistics

Pix-in anti-fraud evaluation

For Pix-in, Pismo can automatically include the stored DICT statistics in the metadata sent to your antifraud evaluation webhook. This allows fraud markers, SPI settlements, infraction reports, entries, and their watermarks to become part of a transaction decision without requiring a synchronous DICT lookup.

Note: Automatic delivery of DICT statistics to the antifraud evaluation is available only for Pix-in.

Pix-in antoi-fraud metadata example:

{ 

  "metadata": { 
    "dict_statistics": { 
      "spi": { 
        "settlements": { "d90": 15, "m12": 42, "m60": 120 }, 
        "watermark": "2026-03-18T10:00:00Z" 
      }, 
      "fraud_markers": { 
        "application_frauds": { "d90": 0, "m12": 0, "m60": 0 }, 
        "mule_accounts": { "d90": 0, "m12": 0, "m60": 0 }, 
        "scammer_accounts": { "d90": 0, "m12": 0, "m60": 0 }, 
        "other_frauds": { "d90": 0, "m12": 0, "m60": 0 }, 
        "unknown_frauds": { "d90": 0, "m12": 0, "m60": 0 }, 
        "total_fraud_transaction_amount": { "d90": 0, "m12": 0, "m60": 0 }, 
        "distinct_fraud_reporters": { "d90": 0, "m12": 0, "m60": 0 }, 
        "watermark": "2026-03-18T10:00:00Z" 
      }, 
      "infraction_reports": { 
        "open_reports": 0, 
        "open_reports_distinct_reporters": 0, 
        "rejected_reports": { "d90": 0, "m12": 0, "m60": 0 }, 
        "watermark": "2026-03-18T10:00:00Z" 
      }, 
      "entries": { 
        "registered_accounts": 1, 
        "watermark": "2026-03-18T10:00:00Z" 
      } 
    } 

Using statistics in Pix-out antifraud evaluation

Pismo does not automatically send DICT statistics to the antifraud evaluation for Pix-out. You must first retrieve the receiver’s statistics through the Validate Key flow with statistics enabled. If you want to use those statistics in ia Pix-out risk decision, it\\you must include the returned data in the Pix-out initiation request metadata so that the anti-fraud solution can evaluate the information.

Building specific risk rules

You can use the statistics to build your own monitoring and decision strategies, including rules based on mule-account indicators, application-fraud history, infraction reports, settlement history, or the number of distinct fraud reporters. You remain responsible for the interpretation and decision logic.

Automatically rejecting transactions

You can optionally enable automatic rejection for Pix-in, Pix-out, or both flows. When enabled, Pismo evaluates the fraud markers stored for the relevant person. Refer to Requesting activation for enabling options.

Current rejection threshold

Any fraud marker is sufficient to reject the transaction. In the current version, a value of 1 or more across the evaluated fraud markers triggers rejection. This threshold is not configurable.

Pix-in rejection example

{
  "code": "FRAD",
. "message": "FraudulentOrigin",
  "detailedErrors": "Cash-in rejected due to DICT fraud markers"
}

Pix DICT statistics updated event

Pismo publishes the Pix DICT statistics updated event when DICT statistics are retrieved and updated. The event provides operational identifiers, scheduling information, status, correlation data, the action and origin that triggered the retrieval, and the statistics returned for the person.

Sample event payload:

{ 
  "account_id": 123, 
  "scheduler_id": "cfdff46e-5d58-45b8-b7aa-591a65f7760d", 
  "next_scheduled_date": "2027-03-09", 
  "updated_at": "2026-09-10T18:00:00Z", 
  "status": "ACTIVE", 
  "cid": "B20211015233837f151ffe5060723e26", 
  "action": "GET_STATISTICS", 
  "origin": "pix-api", 
  "person_statistics": { 
    "correlation_id": "B20211015233837f151ffe5060723e26", 
    "created_at": "2026-09-10T18:00:00Z", 
    "spi": { 
      "settlements": { "d90": 15, "m12": 42, "m60": 120 }, 
      "watermark": "2026-09-10T18:00:00Z" 
    }, 
    "fraud_markers": { 
      "application_frauds": { "d90": 0, "m12": 0, "m60": 0 }, 
      "mule_accounts": { "d90": 0, "m12": 0, "m60": 0 }, 
      "scammer_accounts": { "d90": 0, "m12": 0, "m60": 0 }, 
      "other_frauds": { "d90": 0, "m12": 0, "m60": 0 }, 
      "unknown_frauds": { "d90": 0, "m12": 0, "m60": 0 }, 
      "total_fraud_transaction_amount": { "d90": 0, "m12": 0, "m60": 0 }, 
      "distinct_fraud_reporters": { "d90": 0, "m12": 0, "m60": 0 }, 
      "watermark": "2026-09-10T18:00:00Z" 
    }, 
    "infraction_reports": { 
      "open_reports": 0, 
      "open_reports_distinct_reporters": 0, 
      "rejected_reports": { "d90": 0, "m12": 0, "m60": 0 }, 
      "watermark": "2026-09-10T18:00:00Z" 
    }, 
    "entries": { 
      "registered_accounts": 1, 
      "watermark": "2026-09-10T18:00:00Z" 
    } 
  } 
} 

Pix DICT statistics endpoints

You can call the following endpoints to get DICT statistics:

Requesting activation

The DICT Statistic Reader can be enabled in EXT, PROD, or both environments. The activation request should describe the capabilities required in business terms. Internal configuration identifiers are not required.

Activation request examples

  • Enable DICT Statistic Reader and delivery of DICT statistics to the Pix-in anti-fraud evaluation in EXT (test) and PROD (production).
  • Enable DICT Statistic Reader and automatic blocking of transactions with fraud markers for Pix-in and Pix -out in PROD.
  • Enable DICT Statistic Reader, delivery of DICT statistics to the Pix-In anti-fraud evaluation, and automatic blocking of transactions with fraud markers for Pix-in and Pix-out in EXT and PROD.

Suggested activation card

Title: Enable DICT Statistic Reader - <client> - <environment> 
Client / organization: <name and organization ID> 
Environment: EXT | PROD | EXT and PROD 
Requested activation date: <date> 
Technical contact: <name and email> 

Requested capabilities: 

[ ] Enable DICT Statistic Reader 
[ ] Send DICT statistics to the Pix-in anti-fraud evaluation 
[ ] Enable automatic rejection for Pix-in transactions with fraud markers 
[ ] Enable automatic rejection for Pix-out transactions with fraud markers 


Client confirmations: 

[ ] Anti-fraud integration is prepared to receive DICT statistics for Pix-in 
[ ] Automatic rejection behavior has been reviewed 
[ ] EXT validation has been completed, when applicable 


Additional notes: <details> 

Implementation checklist

  • Select EXT (test), PROD (production), or both.
  • Decide whether DICT statistics should be sent to the Pix-in anti-fraud evaluation.
  • Decide whether automatic rejection should apply to Pix-in, Pix-out, or both.
  • Acknowledge that any fraud marker triggers rejection and that the threshold is not configurable.
  • For Pix-out anti-fraud use, retrieve receiver statistics through Validate Key and include them in the Pix-out metadata.
  • Validate the event, anti-fraud metadata, and rejection responses in EXT (test) when applicable.
  • Submit the activation card with the required capabilities and environments.

Did this page help you?