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 Tracer → Bank 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 Fees → Midaz
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 Midaz → Reporter
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
- The conceptual map of how the pieces connect: Building a complete core banking
- Midaz-specific scenarios: Midaz use cases

