Account structure
- Account > Ledger: Accounts are created within a Ledger, which tracks and consolidates all balances and operations.
- Account > Portfolio: Accounts can be grouped into Portfolios to represent customer clusters, product lines, or business units.
- Account > Asset: Each Account is linked to a single Asset, defining the type of value it holds—such as BRL, USD, BTC, or loyalty points.
- Account > Account Type: With Account Type validation enabled, every Account must be categorized by an Account Type that can be created according to specific user needs or business classification.
Key characteristics
- Each Account is linked to exactly one Asset type.
- Accounts are uniquely identified within a Ledger.
- All transactions involve debits and credits between Accounts.
External Account
External Accounts in Midaz represent accounts outside your organization’s structure. They’re used to track money that’s coming in or going out, typically tied to users, partners, or financial providers beyond your internal ledger. But they’re more than just placeholders. External accounts:
- Manage temporary balances during operations involving external parties.
- Are the only accounts allowed to go negative, which signals that funds are in transit.
- Are automatically created by the Ledger whenever you create an Asset.
- Follow a clear naming pattern:
@external/<asset-code>, like@external/BRL.
To keep the Ledger accurate and reliable, external accounts cannot be deleted or changed.
External account codes
Every external account follows the naming pattern@external/<asset-code>. The asset code in the alias acts as the external account’s lookup key — you can retrieve the account and its balances using convenience endpoints that accept just the asset code:
GET .../accounts/external/{code}— Retrieve the external account for an asset code (e.g.,BRLresolves to@external/BRL).GET .../accounts/external/{code}/balances— Retrieve balances for that external account.
@external/ to the code you provide and perform an alias-based lookup. The result is identical to querying by the full alias.
Entity ID (external system reference)
TheentityId field on any account (not just external accounts) lets you link it to a record in an external system — such as a core banking platform, CRM, or partner system.
- Not the same as alias: Aliases are used in transactions and must be unique within a ledger.
entityIdis purely informational — a reference for your integration, not used by Midaz internally. - Optional: Set it at creation or via update. Max 256 characters.
- Use case: When your system already has an account identifier (e.g.,
EXT-ACC-12345), store it inentityIdso you can map between Midaz and your source of truth.
Parent Account ID
The Parent Account ID links two accounts within Midaz, giving you the flexibility to define the relationship based on your business logic. Whether you use it to represent a traditional parent-child structure or something else entirely, the choice is yours. Midaz provides the foundation—you decide how to build on it.
Account aliases
Aliases make it easier to identify accounts by replacing complex IDs with readable, user-friendly labels.
- For example: Instead of referencing an account like
3172933b-50d2-4b17-96aa-9b378d6a6eac, you can simply use@username_1.
Use the Account Alias in Transactions
When creating a transaction, always use the account alias in theaccount field—not the account ID.
Assigning an alias when you create an account is optional. If you skip it, no problem—the system will automatically use the account ID as the alias. Either way, every account ends up with a unique alias.
So when it’s time to reference an account in a transaction, just use the alias. Clean, consistent, and ready to go.
Managing Accounts
You can manage your Accounts either via API or through Lerian Console.
Via API
- Create an Account — Open a new Account linked to an Asset.
- List Accounts — View all Accounts in your workspace.
- Retrieve an Account — Get details of a specific Account.
- Retrieve an Account by Alias — Get details of a specific Account by its alias.
- Retrieve an External Account — Get details of a specific External Account by its asset code.
- Update an Account — Edit the metadata or settings of an existing Account.
- Delete an Account — Delete a specific Account.

