Skip to main content
Consignado privado is payroll-deducted private-sector lending. The paying employer withholds each installment at source, from the borrower’s salary. It is a full Brazilian bounded context on top of the Brazil regulatory pack. It has its own vocabulary, its own collateral model, and its own lifecycle topics.

The vocabulary


Where the commercial terms come from


Your credit engine prices a consignado loan. The rate, the annual rate, the CET, the IOF and the installment plan are contracted facts Lender records — never values Lender computes. Lender binds those terms to a loan product version. Money and rate fields cross the wire as decimal strings (never floats), consistent with the ledger’s money model.

Optional collateral (garantias)


A consignado contract can carry FGTS and rescission-benefit collateral alongside the payroll deduction. A contract either declares collateral and carries at least one of the three amounts, or declares none and carries none. The two FGTS fields are money amounts (decimal strings, scale 2). The verbas fraction is a decimal string (scale 8). Lender validates each field. Collateral is off-balance: FGTS balances stay in CAIXA custody and never post to the ledger. Lender tracks the pledge as a domain record on the contract, not as a Midaz posting.

The rail lifecycle


The Dataprev rail combines authenticated HTTP commands with asynchronous business facts. On develop, averbação is admitted through the Consignado HTTP API; the gateway does not consume an averbação command from the Lender stream.
  • Lender commands use lerian.streaming.lender.commands.
  • Consignado facts use lerian.streaming.consignado-gw.
  • Event identity comes from source-qualified CloudEvent headers, not from a per-event topic.
Use the Consignado API reference for rail commands and queries. The producer and consumer contracts live in Lender events and Consignado events.

Contracting gate


CONSIGNADO_ENABLED defaults to true. The contratação route, its CCB signer, and the inbound averbação-confirmed consumer are retired; this setting now gates only the legacy inbound averbação-rejected handling. Servicing for existing contracts remains available. When you disable it, also keep CONSUMER_CONSIGNADO_AVERBACAO_REJECTED_ENABLED off; startup rejects that contradictory configuration. The replacement booking and payment flows configure independently.

Optional: reconciliation with Matcher


This integration is configuration-gated and requires Matcher to use STREAMING_CLOUDEVENTS_SOURCE=matcher. Lender then consumes match_run.completed from lerian.streaming.matcher and routes ce-source: matcher, ce-type: studio.lerian.matcher.match_run.completed, ce-resourcetype: match_run, and ce-eventtype: completed. If Matcher uses another source, inspect its streaming manifest and align both sides before enabling the integration. The handler translates the verdict into a PDD stage transition and the corresponding ledger posting intent.

Next steps


Brazil regulatory pack

CET, IOF, capitalization consent, PDD staging, and the rest of the BR profile.

Lender events

The wire contract, the topics Lender publishes, and how a handler stays safe.