Pular para o conteúdo principal
Um Saldo representa o valor mantido por uma conta específica no Midaz. Ele reflete o resultado de todas as operações (débitos e créditos) executadas ao longo do tempo, e está sempre vinculado a um Ativo específico, como BRL, USD ou BTC.

Múltiplos saldos


Uma única conta pode manter vários saldos, cada um identificado por uma chave única. Isso permite que instituições segmentem fundos sem criar múltiplas contas para o mesmo cliente.
Contas externas não podem ter múltiplos saldos. Cada conta externa está limitada a um único saldo.
Casos de uso típicos incluem:
  • Reservas de investimento
  • Limites de crédito
  • Fundos de garantia (bloqueados)
  • Fundos operacionais do dia a dia
Essa abordagem (Figura 1) aumenta a flexibilidade enquanto mantém o modelo de partidas dobradas (débito e crédito) intacto, garantindo consistência contábil, rastreabilidade e transparência.
Account Multiple Balances Jp
Se nenhum balanceKey for fornecido em uma transação, o Midaz usa automaticamente o saldo padrão da conta.

Exemplos de uso


  • Carteira do Usuário (BRL): Uma carteira digital mostrando um saldo disponível de R$500.
    • Caso de uso: Exibir o saldo em um app de mobile banking e validar os fundos antes de autorizar um pagamento.
  • Conta de Liquidação (USD): Uma conta de provedor de liquidez com um saldo em USD de $120.000.
    • Caso de uso: Garantir que as operações diárias de tesouraria mantenham margem suficiente para liquidações de câmbio.
  • Saldo Bloqueado (BRL): Um saldo de conta reservado como garantia.
    • Caso de uso: Impedir o uso dos fundos até que um empréstimo seja encerrado ou condições sejam atendidas.

Estrutura do Saldo


  • Saldo > Conta: Cada Saldo pertence a uma Conta, que mantém e movimenta valor.
  • Saldo > Ativo: Cada Saldo está associado a um Ativo específico, como BRL ou BTC.
  • Saldo > Ledger: Os Saldos existem dentro de um Ledger, permitindo ambientes multi-livro.
  • Saldo > Chave: Cada Saldo possui uma chave única dentro da conta (ex.: default, credit, collateral).
Na Figura 2, você pode encontrar um exemplo da estrutura.
Balance Structure Relationships Jp
Um saldo é mais do que apenas um número. Ele inclui metadados sobre o estado dos fundos, como operações pendentes e disponibilidade efetiva.

Características principais


  • Rastreamento em tempo real: Os saldos são atualizados a cada operação confirmada.
  • Múltiplos saldos por conta: As contas podem manter vários saldos, cada um com suas próprias regras.
  • Fonte única da verdade: Os saldos refletem a soma líquida de todas as operações na conta.
  • Consulta por contexto: Os saldos podem ser listados por organização, ledger, ativo, conta ou chave de saldo.
  • Suporte a contas externas: Os saldos podem ser recuperados para contas internas ou externas, incluindo pools de liquidez ou parceiros.

Usando saldos em transações


O campo balanceKey foi adicionado aos seguintes endpoints de transação para especificar qual saldo usar: Se nenhum balanceKey for fornecido, o sistema usa o saldo principal da conta por padrão.

Novos campos nas respostas

  • balanceKey — Retornado em Transações e Operações, indicando qual saldo foi utilizado.
  • key — Retornado em Saldos, identificando cada saldo de forma única.
Sempre use o balanceKey de forma consistente entre requisições e respostas para evitar incompatibilidades quando contas possuem múltiplos saldos.

Alterações na chave de cache (Valkey)


Os saldos armazenados em cache (Valkey) agora incluem o balanceKey.

Formato anterior

<org_id>:<ledger_id>:<account_alias>

Novo formato

<org_id>:<ledger_id>:<account_alias>:<balance_key>
Qualquer integração que leia saldos diretamente do Valkey deve ser atualizada para incluir o balanceKey. Caso contrário, apenas o saldo padrão estará disponível.

Histórico de saldo


O Midaz fornece consultas point-in-time para saldos, permitindo que você recupere o estado exato de um saldo em qualquer momento no passado. Isso é essencial para auditoria, conciliação e relatórios históricos.

Como funciona

Quando você consulta o histórico de saldo, o Midaz reconstrói o estado do saldo como existia na data e hora especificadas. A resposta inclui todos os mesmos campos de um saldo regular — exceto allowSending e allowReceiving. Esses campos refletem permissões operacionais atuais em vez do estado histórico, por isso não são incluídos nas consultas point-in-time.

Casos de uso

  • Auditoria regulatória: Comprove o saldo exato de uma conta em um ponto de verificação de conformidade específico.
  • Conciliação: Compare snapshots de saldos entre sistemas em timestamps correspondentes.
  • Resolução de disputas: Recupere o estado preciso da conta no momento de uma transação contestada.
  • Relatórios de fim de dia: Capture posições de saldo no fechamento do mercado para operações de tesouraria.
O parâmetro date é obrigatório e deve seguir o formato yyyy-mm-dd hh:mm:ss (ex.: 2026-01-15 10:30:00). Se não existirem dados de saldo para o timestamp especificado, um erro 404 é retornado.

Consultando histórico de saldo

Você pode consultar o histórico de um saldo individual ou de todos os saldos de uma conta:

Gerenciando Saldos


Você pode recuperar seus Saldos usando a API. Os Saldos são somente leitura e gerenciados automaticamente pelo motor de ledger do Midaz.
Quer rastrear como um saldo foi formado? Use a API de Operações para inspecionar o histórico do ledger que impactou aquela conta.

Próximos passos