Um agente de IA para câmbio é um programa que consulta a taxa de referência do Banco Central (PTAX), coleta as cotações que bancos e corretoras oferecem à sua empresa, calcula o custo efetivo de cada proposta em reais por unidade de moeda estrangeira e avisa a equipe financeira quando uma condição combinada é atingida. Ele compara, explica e alerta. Quem fecha a operação continua sendo uma pessoa, com aprovação registrada.
O valor está em tirar do analista a tarefa repetitiva de abrir cinco sites, anotar taxas e fazer contas de spread em planilha, e em deixar cada recomendação rastreável até a fonte. Este guia mostra quais dados oficiais usar, o que a regulação brasileira exige das instituições de câmbio, a arquitetura do agente e um código mínimo em Python para consultar a PTAX.
Resumo rápido
- A PTAX é a taxa de referência real/dólar calculada pelo Banco Central a partir de quatro consultas diárias aos dealers e está disponível em API aberta (Olinda).
- A PTAX não é o preço que o seu banco cobra: compare sempre pelo VET (Valor Efetivo Total), que soma taxa, tributos e tarifas.
- Pela Resolução BCB nº 277/2022, a instituição deve informar o VET antes de operações de liquidação pronta de até US$ 100 mil.
- O agente lê dados, calcula, explica e alerta; contratação de câmbio exige aprovação humana e acontece no canal da instituição autorizada.
- Não deixe o modelo de linguagem fazer contas nem “lembrar” alíquotas de IOF: números vêm de código e de tabelas conferidas.
PTAX, taxa comercial e VET: o que cada número significa
O erro mais comum em projetos de monitoramento de câmbio é comparar números que não medem a mesma coisa. Antes de qualquer automação, a equipe precisa concordar com o significado de cada taxa.
A PTAX é definida pela Resolução BCB nº 45/2020. O Banco Central faz quatro consultas por dia útil aos dealers (instituições credenciadas para operar câmbio com o BC), com início sorteado dentro das janelas de 10h, 11h, 12h e 13h. Em cada consulta, descarta as duas maiores e as duas menores cotações e tira a média; a PTAX do dia é a média aritmética das quatro consultas, divulgada junto com o resultado da última. Ela é referência para contratos, contabilidade e liquidação de derivativos, mas não é uma oferta de compra ou venda para você.
A taxa comercial que o banco, a corretora ou a instituição de pagamento oferece inclui a margem (spread) dela e muda ao longo do dia. É essa taxa que entra no contrato.
O VET é o número que permite comparar propostas. O artigo 18 da Resolução BCB nº 277/2022 o define como o valor expresso em reais por unidade de moeda estrangeira, calculado considerando a taxa de câmbio, os tributos incidentes e as tarifas eventualmente cobradas.
| Indicador | Quem define | Para que serve | Uso no agente |
|---|---|---|---|
| PTAX (compra e venda) | Banco Central, Resolução BCB nº 45/2020 | Referência oficial do dia, contratos e contabilidade | Linha de base para medir o spread de cada proposta |
| Boletins intermediários | Banco Central | Resultado de cada uma das quatro consultas | Acompanhar a tendência dentro do dia |
| Taxa comercial ofertada | Cada instituição autorizada | Preço efetivo do contrato | Dado coletado de cada fornecedor |
| VET | Calculado pela instituição, regra da Resolução BCB nº 277/2022 | Custo total em reais por unidade de moeda | Critério principal de comparação |
| Ranking do VET | Banco Central, a partir de operações já realizadas | Visão histórica de quem cobrou menos em cada perfil de operação | Escolher quais fornecedores cotar, não decidir o preço de hoje |
O que a regulação exige e o que isso muda no agente
A Lei nº 14.286/2021, o novo marco legal do câmbio, entrou em vigor um ano após sua publicação no Diário Oficial de 30 de dezembro de 2021. Três pontos dela importam para quem automatiza:
- Só instituições autorizadas operam câmbio (art. 3º). O agente nunca é contraparte; ele apenas prepara a decisão que será executada no banco, corretora ou instituição de pagamento autorizada.
- A classificação da finalidade da operação é responsabilidade do cliente (art. 4º, § 2º). Se o agente sugerir a natureza da operação (importação, serviço, manutenção de residente), essa sugestão precisa ser revisada por quem responde por ela.
- A instituição identifica e qualifica o cliente e previne lavagem de dinheiro (art. 4º). Por isso o fluxo de contratação, com cadastro e documentos, acontece no ambiente da instituição.
A Resolução BCB nº 277/2022 detalha a regra do VET: em operações com clientes para liquidação pronta de até US$ 100 mil (ou equivalente), a instituição deve informar o VET previamente e incluí-lo entre as informações da operação. Para o agente, isso significa que a cotação do fornecedor deve vir acompanhada do VET; se não vier, o agente marca a proposta como incompleta em vez de estimar sozinho.
IOF: não decore a alíquota
O IOF-câmbio é regulamentado pelo Decreto nº 6.306/2007, e as alíquotas variam conforme a natureza da operação. Esse decreto já foi alterado várias vezes. A forma segura de tratar o tributo é manter uma tabela de alíquotas por natureza de operação, com data de vigência e link para o texto vigente no Planalto, atualizada por alguém do financeiro ou da contabilidade. O agente lê essa tabela; o modelo de linguagem nunca deve preencher o valor de memória.
Arquitetura de um agente que compara, alerta e não executa
Pense em cinco componentes, cada um com uma responsabilidade clara. O modelo de linguagem aparece só em dois deles.
- Coletor de referência. Um job agendado consulta a API PTAX do Banco Central a cada boletim (abertura, intermediários e fechamento) e grava o resultado com data e hora.
- Coletor de propostas. Recebe as cotações dos fornecedores pelos canais que eles oferecem oficialmente: API contratada, e-mail estruturado, portal com exportação ou mesa de câmbio. Cada proposta é gravada com taxa, tarifas, VET informado, validade e horário.
- Motor de cálculo. Código determinístico calcula spread contra a PTAX, custo total em reais do volume pretendido e diferença entre propostas. Nada de conta feita pelo LLM.
- Camada de raciocínio (LLM). Recebe os números já calculados e gera a explicação: qual proposta é mais barata, por quanto, o que mudou desde o último boletim e quais dados estão faltando. Use saídas estruturadas e ferramentas bem definidas, como mostramos no guia de function calling e structured outputs.
- Alertas e aprovação. Quando uma regra é atingida (por exemplo, spread abaixo do limite combinado ou proposta prestes a expirar), o agente notifica o responsável com o resumo e um botão de “aprovar para contratar”. A aprovação abre o canal da instituição; o agente não tem credencial para fechar contrato.
Esse desenho segue o princípio de dar ao agente apenas as permissões de leitura de que ele precisa. Se quiser aprofundar, veja como limitar o que um agente pode fazer e os padrões de aprovação humana que já discutimos.
Consultando a PTAX pela API do Banco Central
O serviço PTAX fica no Olinda, a plataforma de APIs OData do Banco Central, e também está listado no Portal de Dados Abertos do BC. Não exige cadastro nem chave. Os recursos mais úteis são CotacaoMoedaDia (todos os boletins de uma moeda em uma data), CotacaoMoedaPeriodo (intervalo de datas) e Moedas (lista de códigos). As datas vão no formato MM-DD-AAAA e o retorno traz cotacaoCompra, cotacaoVenda, dataHoraCotacao e tipoBoletim (Abertura, Intermediário ou Fechamento PTAX).
import requests
from datetime import date
BASE = "https://olinda.bcb.gov.br/olinda/servico/PTAX/versao/v1/odata"
def boletins(moeda: str, dia: date) -> list[dict]:
url = (f"{BASE}/CotacaoMoedaDia(moeda=@moeda,dataCotacao=@dataCotacao)"
f"?@moeda='{moeda}'&@dataCotacao='{dia:%m-%d-%Y}'&$format=json")
r = requests.get(url, timeout=20)
r.raise_for_status()
return r.json()["value"] # lista vazia em fim de semana e feriado
def spread_contra_ptax(taxa_ofertada: float, ptax_venda: float) -> float:
"""Diferença percentual da taxa ofertada (venda ao cliente) sobre a PTAX."""
return (taxa_ofertada / ptax_venda - 1) * 100
hoje = boletins("USD", date.today())
fechamento = [b for b in hoje if b["tipoBoletim"] == "Fechamento PTAX"]
referencia = (fechamento or hoje[-1:] or [None])[0]
if referencia is None:
print("Sem boletim hoje: use o último dia útil e registre isso no alerta.")
else:
print(referencia["dataHoraCotacao"], referencia["cotacaoVenda"])
Três cuidados práticos. Primeiro, em dias sem pregão a lista vem vazia; o agente deve buscar o último dia útil e deixar isso explícito na mensagem. Segundo, antes das 13h só existem boletins de abertura e intermediários, e o alerta precisa dizer qual boletim usou. Terceiro, guarde a resposta bruta da API junto com o cálculo, para auditoria.
Ranking do VET como filtro de fornecedores
O Banco Central também publica o Ranking do VET, com documentação de webservice em JSON. Você informa mês e ano, valor, moeda, finalidade (viagens internacionais ou transferências pessoais), tipo de operação e, conforme o caso, forma de entrega ou país de destino; o serviço devolve as instituições com o VET médio das operações daquele perfil. O próprio BC alerta que os valores são de meses passados e que as instituições não são obrigadas a manter os preços. Use o ranking para decidir quem convidar a cotar, nunca como preço de hoje.
Exemplo: importadora de peças em Joinville
Imagine uma importadora de componentes industriais em Joinville (SC) que paga fornecedores na Alemanha e nos Estados Unidos algumas vezes por mês. Hoje, a analista financeira liga para duas corretoras e consulta o internet banking de um banco, anota as taxas numa planilha e manda um print para o diretor no WhatsApp. Não há registro de qual PTAX foi usada como referência nem de por que uma proposta foi escolhida.
Com o agente, o fluxo fica assim. Às 10h15, depois do boletim de abertura, o coletor grava a PTAX de dólar e euro. As corretoras enviam propostas por e-mail em um modelo combinado (taxa, tarifa, VET, validade), e o banco é consultado pelo canal que ele disponibiliza para empresas. O motor de cálculo compara cada VET com a PTAX e projeta o custo em reais do pagamento da semana. O LLM redige um resumo curto: “Proposta B tem o menor VET para o pagamento em euros; a proposta A venceu no dólar; a corretora C não informou o VET e foi excluída da comparação”. O diretor recebe o resumo no Teams com o link da planilha de auditoria e aprova. A analista executa no canal da instituição escolhida e anexa o contrato ao registro.
O ganho esperado não está em prever o câmbio, e sim em padronizar a comparação, deixar trilha de decisão e liberar a analista para negociar. Fluxos parecidos de comparação de propostas aparecem no nosso guia de agentes de cotação de fretes.
Regras de alerta que fazem sentido
Alerta demais vira ruído e a equipe passa a ignorar. Comece com poucas regras, todas calculadas por código:
Cada alerta deve trazer o número, a fonte, o horário do dado e o que a pessoa precisa decidir.
- Spread acima do limite: proposta cujo VET supera a PTAX de venda em mais do que o percentual combinado com a diretoria.
- Proposta expirando: cotação com validade terminando em poucos minutos e pagamento previsto para o dia.
- Dado incompleto: proposta sem VET, sem tarifa ou sem horário. O agente pede complemento ao fornecedor em vez de adivinhar.
- Variação intradiária relevante: diferença entre boletins da PTAX acima de um patamar definido pela empresa.
- Divergência de natureza: finalidade informada na proposta diferente da cadastrada para o pagamento.
Erros comuns
- Tratar a PTAX como preço de compra. Ela é referência; o contrato usa a taxa ofertada. Compare propostas pelo VET.
- Deixar o LLM calcular. Modelos de linguagem erram aritmética e arredondamento. Passe a eles números prontos e peça só a explicação. Veja por que em alucinação em IA.
- Alíquota de IOF fixa no prompt. Alíquotas mudam por decreto. Use tabela versionada com fonte e data.
- Dar credencial de contratação ao agente. Um prompt injetado em um e-mail de fornecedor poderia disparar operação. Leitura sim, execução não.
- Raspar sites de bancos. Além de quebrar a cada mudança de layout, pode violar os termos de uso. Prefira APIs, e-mails estruturados ou exportações oficiais.
- Usar o ranking do VET como cotação do dia. É histórico e serve para escolher fornecedores.
Perguntas frequentes
O agente pode fechar o câmbio sozinho se o preço for bom?
Não recomendamos. A lei exige que operações de câmbio passem por instituição autorizada, e a responsabilidade pela finalidade é do cliente. Mantenha a contratação no canal da instituição, com aprovação de uma pessoa identificada e registro da decisão.
Preciso de chave ou cadastro para usar a API PTAX?
Não. O serviço PTAX do Olinda é público e responde em JSON. Ainda assim, faça cache local, respeite intervalos razoáveis entre consultas e trate falhas de rede com nova tentativa.
A PTAX serve para remessas de pessoa física?
Como referência, sim: ela ajuda a perceber quanto de margem está embutido na taxa oferecida. O custo real, porém, é o VET da proposta, que inclui tarifas e tributos.
Qual modelo de linguagem usar?
Qualquer modelo que suporte saídas estruturadas e chamada de ferramentas atende, porque o trabalho pesado é feito por código. Avalie custo por chamada, latência e onde os dados são processados, já que propostas comerciais são informação sensível.
Fontes e leitura recomendada
- Banco Central: serviço PTAX na plataforma Olinda (documentação interativa)
- Portal de Dados Abertos do BC: dólar americano, todos os boletins diários
- Resolução BCB nº 45/2020: metodologia da PTAX
- Resolução BCB nº 277/2022: regulamento do mercado de câmbio e regra do VET
- Lei nº 14.286/2021: novo marco legal do câmbio
- Banco Central: Valor Efetivo Total cobrado nas operações de câmbio (ranking)
- Banco Central: documentação do webservice Ranking do VET
- Decreto nº 6.306/2007: Regulamento do IOF (texto compilado)