Skip to main content
Each Lerian product and plugin owns one job, and most real flows touch more than one. The rule that prevents most mistakes:
Plugins perform actions; Midaz is the source of truth for state.
Tell a plugin to do something — move money, apply a fee. Ask Midaz what the money actually is — balances, history, who owns what.

Which product for which job


Access Manager handles authentication and authorization — it controls who can use the products. Account owners are Holders stored in Midaz; there’s no separate identity service to register before opening an account.

Flows that span products


Most real financial operations chain more than one product together. These are the common sequences.

Payment with validation

Use TracerBank Transfer or Pix → Midaz
1
Call Tracer first. It returns ALLOW, DENY, or REVIEW. Stop here if the decision is DENY — no payment call needed.
2
Call one of the plugins used for payment:
  • Bank Transfer for wire transfers
  • Pix (Direct or Indirect) for instant payments
3
Read the result from Midaz. Bank Transfer or Pix confirms the transfer event; Midaz confirms the new balance. These are two different facts.

Apply fees

Use FeesMidaz
1
Call Fees to calculate the applicable fee. It returns the amount — it does not post anything to the ledger.
2
Submit the fee transaction to Midaz. Fees tells you what to charge; Midaz records it.

Regulatory or period report

Use MidazReporter
1
The source data lives in Midaz — transactions, balances, holders.
2
Call Reporter with the period and output format. It reads Midaz read-only and produces the BACEN or fiscal file.

Transaction reconciliation

Use Midaz + external sources → Matcher
1
Matcher reads from Midaz and one or more external sources.
2
It applies configurable matching rules and produces match results, exceptions, and an immutable audit trail. It does not write to Midaz.

See also