Skip to main content
MED 2.0 (Mecanismo Especial de Devolução) is BACEN’s enhanced mechanism for recovering funds in cases of fraud, scams, and operational errors. While MED 1.0 handles single-transaction disputes through infraction reports, MED 2.0 introduces a Funds Recovery flow that tracks how fraudulent funds moved across multiple accounts and coordinates blocking, analysis, and refunds across participating institutions. The Pix Indirect Plugin (BTG) exposes the full Funds Recovery lifecycle as REST endpoints, plus webhook events so your system stays in sync with each status change.
MED 2.0 is a BACEN regulatory requirement. There is no alternative path — clients must operate Funds Recovery through the plugin to remain compliant.

Concepts


Lifecycle and status


A Funds Recovery moves through the following states:
Funds Recovery

Endpoints


All Funds Recovery endpoints live under the DICT domain and require the X-Account-Id header.

Create a funds recovery


Validation rules

A successful call returns HTTP 201 with the created funds recovery and its tracking graph data, persisted locally with status CREATED.

Tracking graph


The tracking graph is fetched fresh from BTG on every call (stateless). It returns the persons, accounts, and transactions involved in the fraud flow, including refundable amounts per transaction.
Response includes:
  • parameters — the graph generation parameters
  • persons[] — natural and legal persons involved
  • accounts[] — accounts in the flow with their participant ISPBs
  • transactions[] — Pix transactions with amounts and refundable amounts

Request refunds


Once the recovery reaches ANALYSED, request the return of blocked funds:
The plugin calls BTG, transitions the recovery to REFUNDING, and returns HTTP 200. Track individual refund statuses with List Refunds.

X-Purpose header (MED 2.0 transfers)


MED 2.0 refund transfers must carry a transaction purpose. The cashout endpoint accepts an optional X-Purpose header that the plugin maps to BTG’s transactionType.
Only TRANSFER and INSTANT_PAYMENT_REFUND are currently supported. The values CHANGE, WITHDRAWAL, REFUND_AUTOMATIC_PIX, and INSTALLMENT_PIX return HTTP 400 with error PIX-0429 (Unsupported Purpose).
The purpose value is also returned on transfer responses (Retrieve a Pix Transfer and list endpoints), defaulting to TRANSFER for existing records.

Correlation fields


To correlate disputes with their parent recovery, two existing entities now expose a nullable fundRecoveryId: The field is null for records created outside the MED 2.0 flow.

Webhooks


Two inbound webhooks from BTG drive the Funds Recovery flow, each producing a matching outbound event to your system: Both use flowType: DICT. See the Webhooks guide for envelope format, retries, and routing. Funds recovery entity event:
Lifecycle event (pass-through):
Lifecycle event values: FUNDS_RECOVERY_ANALYSED, FUNDS_RECOVERY_COMPLETED, FUNDS_RECOVERY_INFORMATION_UPDATED, FUNDS_RECOVERY_CANCELLED.

Deprecation notice


With MED 2.0 adoption, Create an Infraction Report is deprecated. MED 2.0 creates infraction reports automatically through the Funds Recovery flow. The endpoint still works for backward compatibility, but new integrations should use the Funds Recovery APIs. Calls to the deprecated endpoint are logged with a deprecation warning.

Next steps