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 API for which job
| You want to… | Call | Why |
|---|---|---|
| Authenticate before any call | Access Manager | Issues the tokens every product API trusts |
| Move money in or out | TED (payment plugin) | Executes the transfer and records it in Midaz for you |
| Read a balance, statement, or transaction | Midaz (the ledger) | The ledger is the source of truth for state — don’t infer a balance from a payment plugin |
| Identify who owns an account | Midaz (CRM is built in) | Holders live inside Midaz; there’s no separate identity service to register first |
| Apply a fee | Fees Engine | It calculates the fee and returns it; your app submits the transaction to Midaz |
| Validate a transaction before it happens | Tracer | Returns ALLOW / DENY / REVIEW before you submit anything |
| Generate a report (including regulatory) | Reporter | Reads Midaz data read-only, on its own period and format |
“Identity” in Lerian refers to Access Manager’s user and access management (who can use the products), not the account holder. The account owner is a Holder in Midaz’s built-in CRM — there’s no separate identity service to call before opening an account.
Flows that span products
The common multi-step flows — and the API that owns each step:
- Validate, then move — Tracer → TED. Check the transaction with Tracer first; only call the payment plugin if the decision is
ALLOW. This is why a transaction can be rejected before you ever submit it — validation is a separate, earlier step. - Confirm a payment actually landed — TED → Midaz. The payment plugin confirms the transfer event; to confirm the money moved and read the new balance, go to Midaz. “The plugin says done” and “the ledger shows the balance” are two different facts.
- See the net after a fee — Fees → Midaz. Fees tells you what the fee is; Midaz tells you what’s left in the account once it’s posted.
- Build a period or regulatory report — Midaz → Reporter. A month of activity lives in Midaz; Reporter reads it and produces the BACEN or fiscal output with its own period and format parameters.
See also
- The conceptual map of how the pieces connect: Building a complete core banking
- Midaz-specific scenarios: Midaz use cases

