Fintechs brasileñas que usan Claude para el análisis de riesgo en transacciones PIX en tiempo real: código completo, coste por transacción, latencia observada y consideraciones de LGPD y BACEN. Es el caso de uso que más veo en las fintechs de Brasil en 2026.
Por qué funciona bien
El análisis de riesgo PIX tradicional es un modelo de ML entrenado con características fijas (importe, frecuencia, hora del día). Funciona, pero falla ante patrones sutiles: "este cliente suele transferir dinero a su hermano, pero nunca importes así, y la IP pertenece a otra ciudad; probablemente sea un SIM swap". Claude maneja este razonamiento contextual de forma natural.
El código
import json
from openai import OpenAI
client = OpenAI(
api_key="sk-kn-...",
base_url="https://api.kunavo.com/v1",
)
# No Claude, um response_format json_schema é garantido na resposta; json_object não.
ANALISE = {
"type": "object",
"properties": {
"risco": {"type": "string", "enum": ["baixo", "medio", "alto"]},
"sinais": {"type": "array", "items": {"type": "string"}},
"recomendacao": {"type": "string", "enum": ["aprovar", "revisar", "bloquear"]},
"explicacao_pt_BR": {"type": "string"},
},
"required": ["risco", "sinais", "recomendacao", "explicacao_pt_BR"],
"additionalProperties": False,
}
def analisar_transacao(transacao: dict, historico: list[dict]) -> dict:
"""Detecta sinais de fraude em uma transação PIX usando Claude."""
historico_txt = "\n".join(
f"- {t['data']}: R$ {t['valor']:.2f} para {t['destinatario']} ({t['categoria']})"
for t in historico[-20:]
)
resp = client.chat.completions.create(
model="claude-sonnet-4-6",
messages=[
{
"role": "system",
"content": [
{
"type": "text",
"text": (
"Você é um analista de risco de pagamentos PIX no Brasil. "
"Analise a transação atual em relação ao histórico do "
"cliente e retorne JSON: "
'{"risco": "baixo|medio|alto", '
'"sinais": ["..."], '
'"recomendacao": "aprovar|revisar|bloquear", '
'"explicacao_pt_BR": "..."}'
),
"cache_control": {"type": "ephemeral"},
},
],
},
{
"role": "user",
"content": (
f"## Transação atual\n"
f"Data: {transacao['data']}\n"
f"Valor: R$ {transacao['valor']:.2f}\n"
f"Destinatário: {transacao['destinatario']}\n"
f"Origem (IP/dispositivo): {transacao['origem']}\n\n"
f"## Histórico recente (últimas 20 transações)\n{historico_txt}"
),
},
],
response_format={"type": "json_schema",
"json_schema": {"name": "analise", "schema": ANALISE}},
max_tokens=400,
)
return json.loads(resp.choices[0].message.content)Coste por análisis: ~$0.008 (unos R$ 0,04 al tipo de cambio actual). En una fintech que procesa 100.000 transacciones PIX al día, eso equivale a ~R$ 4.000/mes. Para evitar fraudes que cuestan en promedio R$ 2.000-5.000 por caso, el ROI es extraordinariamente positivo.
Latencia
Claude Sonnet 4.6 mediante Kunavo desde São Paulo (AWS sa-east-1): P50 ~800 ms, P99 ~2 s. Para análisis síncrono (bloquear antes de la liquidación PIX) es suficiente; BACEN concede ~10 segundos antes de que se agote el tiempo de espera. Para volúmenes muy altos, considera un flujo asíncrono: aprobar primero y analizar después para la revisión manual de casos sospechosos.
Qué esperar de la salida
- Riesgo bajo: patrón coherente, destinatario conocido, horario habitual → liberar directamente
- Riesgo medio: 1-2 señales (importe alto, destinatario nuevo, horario inusual) → bloquear + enviar a revisión manual o a 2FA reforzado
- Riesgo alto: múltiples señales (SIM swap sospechoso, intento de boleto fantasma, patrón de mula) → bloquear + alertar inmediatamente al equipo antifraude
LGPD y BACEN — puntos críticos
- Seudonimización antes del LLM: CPF, nombre completo, cuenta bancaria; enmascáralos antes de enviar los datos. El modelo ve "[CLIENT_42] transfirió R$ X a [DEST_198]"
- No entrenar con los datos: Anthropic no utiliza las solicitudes de la API para entrenar por defecto. En Enterprise puedes solicitar Zero Data Retention mediante Kunavo (sales@kunavo.com)
- Decisión automatizada: la LGPD exige que el cliente pueda impugnar una decisión automatizada que le afecte. Tu UI debe ofrecer un botón "Contestar" y la explicación_pt_BR devuelta por el modelo es un buen punto de partida para la respuesta
- Resolución de BACEN sobre IA: Aunque todavía no existe una regulación específica de BACEN para el uso de LLM en el riesgo PIX (2026), se aplican los principios generales de las Circulares 4.018 y 3.978 sobre gobernanza y gestión de riesgos. Mantén una documentación clara sobre cómo decide el modelo
Segmentación por importe
No es necesario ejecutar Claude Sonnet en cada transacción PIX. Patrón recomendado:
- PIX < R$ 100: pasa directamente, sin análisis de LLM
- R$ 100 - R$ 1.000: Claude Haiku 4.5 (10 veces más barato), análisis rápido
- R$ 1.000 - R$ 10.000: Claude Sonnet 4.6 (análisis estándar)
- > R$ 10.000: Claude Opus 4.7 (análisis más profundo) + revisión humana paralela
Pago y facturación
Paga con PIX o con una tarjeta internacional. Los precios están en USD y la página de pago muestra el importe convertido a reales. El IOF del 3,5 % se aplica a ambos métodos cuando quien paga está en Brasil y la empresa está en el extranjero. Kunavo no emite factura electrónica NF-e.
Siguientes pasos
- Crea una cuenta con registro gratuito (recarga desde $10, pay-as-you-go = ~1.250 análisis para prototipos)
- Configura la seudonimización de PII en tu backend
- Ejecuta 1.000 transacciones reales (enmascaradas) en modo shadow y compáralas con tu modelo de ML actual
- Itera el system prompt usando los falsos positivos y negativos como feedback
- Pasa a producción solo con la aprobación de tu CRO/equipo de compliance y con los registros de LGPD al día
Documentación completa: /docs/quickstart; guía detallada de prompt caching para reducir aún más los costes en un 70%: prompt caching deep dive.