Te acaba de llegar una plata extra o bien estamos a principio de mes, tu momento para mantener tus finanzas ordenadas. Así que decides depositar a Fintual.
Son solo un par de clicks: meterte a tu app del banco, elegir el monto, depositar. Luego entrar a Fintual y decidir cómo invertir esa plata.
Suena simple, y la idea es que se sienta así. Pero lo que sucede detrás del escenario es bastante complejo. Y ahora gracias a un nuevo desarrollo, depositar e invertir es todavía más sencillo, rápido y seguro.
¿Qué hicimos?
Nos conectamos al sistema de transferencias bancarias de Chile. Ahora, cuando vayas a hacer una transferencia vas a ver a Fintual en la lista de bancos.
¿Ahora somos un banco? No, técnicamente sacamos la licencia de Emisor de Tarjetas de Prepago con Provisión de Fondos. Con esto “desbloqueamos la habilidad” de abrir cuentas de previsión de fondos (parecido a una cuenta vista) desde las que podemos mandar y recibir transferencias bancarias.
Podríamos decir que somos como un mini banco, porque ahora podemos hacer varias de las cosas que hacen los bancos: transferir, abrir y cerrar cuentas e incluso mantener saldos. Pero hay otras cosas que no podemos –y no queremos– hacer, como dar préstamos y ofrecer tarjetas de crédito.
¿Por qué lo hicimos?
Imagínate que estás haciendo una vaca entre tus amigos para comprar un regalo y todos te depositan a tu cuenta. Tu cartola del banco se va a llenar de transferencias y cada vez va a ser más difícil revisar quién te depositó y cuánto, especialmente cuando te toque revisar algo más antiguo.
Ahora imagínate que te llegan 100 mil transferencias al mes de tus 150 mil amigos. Revisar esa cartola sí que es difícil.
Algo así era el desafío que teníamos en Fintual. Hasta hace poco, para invertir con nosotros tenías que depositarnos a una cuenta en el Banco Security, después de unos minutos nosotros detectábamos la transferencia y te mostrábamos el depósito en la app para que lo pudieras invertir.
Nuestros 150 mil clientes nos depositaban a la misma cuenta. Por detrás lo que pasaba era que teníamos unos bots corriendo 24/7, que se encargaban de leer la cartola del banco, detectar las transferencias nuevas y matchearlas con las cuentas de nuestros clientes.
En general funcionaba bien: nunca perdimos un peso, el 95% de las transferencias las detectábamos en menos de 2 minutos y el promedio en sólo 1. Pero de vez en cuando teníamos problemas, como que el Banco Security se demoraba en mostrarnos la transferencia o a nuestros bots se les pasaba una línea de la cartola. Cada uno de estos problemas se traducía en un cliente preocupado pensando “dónde estará mi plata”, pidiéndole ayuda a nuestro chat de soporte y algunas veces teniendo una mala experiencia.
A medida que Fintual crece empezamos a recibir más transferencias, y esos problemas que salían “de vez en cuando” empiezan a aumentar. Sobre todo a fin de mes que es cuando recibimos la mayor cantidad de transferencias: hasta 12 mil al día.
Diría que intentamos de todo para evitar estos problemas, y le destinamos muchos recursos al proceso de detección de transferencias. Por ejemplo, teníamos 6 bots corriendo constantemente que usaban distintas estrategias para leer la cartola, algunos la leían directamente usando web scraping (programas que extraen automáticamente información de sitios web) y otros usaban APIs (una forma de comunicar dos sistemas) para preguntarle al banco por las transferencias.
La idea de esta redundancia era que si un bot fallaba, otro podía funcionar. Pero lamentablemente llegaba un punto en que, sin importar toda la ingeniería que le metiéramos al proceso, el problema se salía de nuestras manos, porque literalmente no estaba bajo nuestro control. Dependíamos de un banco externo.
También pensamos en cambiar de banco, tal vez otro intermediario que se conectara mejor con nuestros bots y nos ayudaría a minimizar –aunque seguramente no a resolver– el problema.
Finalmente, después de darle muchas vueltas, decidimos jugárnosla por una solución desafiante, pero definitiva: que nuestros clientes transfieran directamente a Fintual desde su banco, sin intermediarios. Muchísimo más rápido, fácil e igual de seguro.
¿Cómo lo hicimos?
Fue un proceso muy largo, de unos 3 años, con dos grandes desafíos: uno legal y otro tecnológico.
Por el lado legal tuvimos que sacar la licencia de Emisor de Tarjetas de Pago con Provisión de Fondos. Obviamente, no es llegar y conectarse al sistema, hay diferentes maneras de hacerlo, pero todas requieren una licencia bancaria o de emisor de tarjetas de prepago. Nosotros preferimos la segunda porque era más simple (y no porque estemos pensando en meternos en el negocio de compras en comercios con tarjetas). Esta parte legal nos tomó más o menos un año y medio, considerando también algunos desarrollos exploratorios para entender mejor a qué nos enfrentábamos.
Lo que nos lleva al segundo desafío, el tecnológico.
Desarrollamos nosotros mismos todo el software que se conecta al sistema de transferencias bancarias de Chile. Decimos “nosotros mismos” porque podríamos haber tercerizado algunas partes del proyecto. Pero en Fintual preferimos hacer todo inhouse, aunque tome un poco más de tiempo, porque nos asegura calidad y que no aparecerán sorpresas en el futuro.
Aquí te voy a contar en detalle esta segunda parte, la tecnológica.
¿Cómo funcionan las transferencias en Chile?
Uno podría pensar que todos los bancos están conectados entre sí y se mandan transferencias. Tiene lógica, pero no es exactamente así.
Un banco no se conecta directamente con todos los otros bancos, sino que se conecta sólo con el Centro de Compensación Automatizado (CCA). Entonces, cuando un banco le quiere transferir a otro lo que hace es mandarle un mensaje al CCA con toda la información de la transferencia, y el CCA se encarga de hacerle llegar ese mensaje al banco de destino.
Esta comunicación es rápida y segura. Es rápida –casi instantánea– porque los bancos están obligados a responder los mensajes en pocos segundos o si no la transferencia falla. Y es segura porque opera sobre una red cerrada controlada por el CCA, que restringe estrictamente quién puede enviar qué mensajes y por dónde. Además, todos los mensajes vienen firmados digitalmente para asegurar que quien los envió es realmente quien dice ser.

Si te interesa saber más cómo funciona el CCA, qué otras opciones de transferencia existen y cómo algunas empresas están innovando ahí, te recomiendo leer este post sobre Shinkansen.
¿Cómo nos conectamos?
Decidimos separar la conexión con el CCA en 3 sistemas distintos:
- El Bridge
El Bridge es nuestra puerta de entrada y salida con el CCA. Se encarga de mantener una conexión prendida 24/7 y está constantemente escuchando y mandando mensajes. Cada vez que recibe un mensaje se encarga de traducirlo y dejarlo en una cola para que el Broker (ya veremos más adelante lo que es) lo lea.
¿Traducir qué? Los mensajes se mandan en un “idioma CCA”: es una manera de ordenar toda la información de una transferencia usando bytes, es decir, lo que nosotros leemos como “Datos de transferencia” se manda como un ladrillo de muchos 0 y 1. Por ejemplo, los primeros 10 bytes son el banco de origen, los siguientes 20 son el rut de origen, después va el monto y así se va armando el mensaje.
- El Broker
Es el sistema más simple. Lo único que hace es leer los mensajes que le pasa el Bridge y reenviarlos al Core bancario. El detalle es que no todos los mensajes tienen que llegar a la misma parte del Core, es como si fuera una oficina con distintos equipos: unos se preocupan de mandar transferencias y otros de recibirlas. El Broker es como el cartero que se encarga de que los mensajes lleguen al equipo correcto.
Si sabes algo de esto, tal vez te estés preguntando por qué separamos el Bridge y el Broker: el Bridge no es replicable, pero el Broker sí, entonces mantenemos la lógica de la conexión con CCA sin réplicas y la lógica de consumir mensajes con réplicas. Gracias a esto el sistema es mucho más escalable.
- El Core bancario
El Core bancario es el cerebro de este pseudo banco. Es el que guarda toda la información de las cuentas, transferencias y balances. Decide si es que una cuenta puede enviar o recibir transferencias, se encarga de mover la plata entre las cuentas y se integra con Fintual para facilitar procesos como la detección de depósitos y la inversión. Es que aquí hay que recordar algo: antiguamente Fintual AGF (la administradora de los fondos mutuos) se conectaba al Banco Security. Ahora Fintual AGF se conecta al Core bancario.
- Fintual
Finalmente tenemos al Fintual que nuestros clientes conocen, al que entran para organizar su plata e invertirla en fondos mutuos, dólares y acciones. Ahora se conecta directamente con el Core bancario en vez del Banco Security.
En el fondo, Fintual AGF es el cliente premium del Core bancario
¿Y por qué es premium? Porque ahora Fintual AGF puede pedirle al Core bancario todo lo que quiera, como abrir y cerrar cuentas, hacer transferencias y recibir notificaciones cada vez que un cliente deposita. Todo esto a través de APIs que simplifican la comunicación.
Algunas personas preguntan si esto le permitiría a Fintual AGF abrir cuentas de prepago para sus clientes, como si fuéramos un banco. Esa es una de las cosas que sí podemos, pero no queremos hacer. ¿Por qué? Sería abrir una línea de negocio totalmente diferente, en otras palabras, convertirnos en un banco; y operacionalmente, es un trabajo bastante pesado.
¿Cómo recibimos los depósitos de nuestros clientes ahora?
Volviendo al ejemplo anterior: juntar plata de miles de clientes en una sola cuenta era difícil de mantener. Ahora que “tenemos el poder” de abrir cuentas y de armar flujos a nuestra pinta podemos simplificar este problema.
Lo que hicimos es que ahora cada cliente tiene una cuenta exclusiva en el Core bancario pensada para recibir sus depósitos. Estas cuentas están a nombre de Fintual (están con el rut de Fintual), pero son exclusivas para cada cliente (el número de cuenta es el rut del cliente). El flujo se ve así:
- Pepito entra a Fintual y copia los datos de su cuenta exclusiva para depositar
- Pepito entra a su banco y hace una transferencia directamente a Fintual, pegando los datos de transferencia
- En menos de un segundo Pepito recibe una notificación de Fintual diciendo que ya puede invertir su depósito en sus objetivos, dólares o acciones
Por detrás la transferencia de Pepito viajó desde su banco hacia el CCA, pasó por el Bridge, el Broker la leyó y se la mandó al Core bancario. El Core bancario revisó que la transferencia cumpliera con algunas reglas, como que Pepito sea el que mandó la transferencia y que Pepito efectivamente tenga cuenta en Fintual. Si las validaciones pasaron, el Core bancario le avisa instantáneamente a Fintual que Pepito transfirió.
¿Qué impacto tiene esto para los clientes?
Hay algunas mejoras que puedes ver por ti mismo:
- Reconocemos tus depósitos al instante.
- Puedes retirar desde tu disponible a tu cuenta de banco al instante (por seguridad sólo puedes retirar a una cuenta tuya, asociada a tu RUT).
- Si alguien más se equivoca y transfiere a tu cuenta exclusiva, le devolvemos la plata en minutos (antes hacíamos esto sólo los martes y viernes). Y obviamente, no puedes hacer uso de ese dinero.
Aquí una pequeña digresión: algunas personas nos han preguntado si este nuevo flujo les afecta frente al Servicio de Impuestos Internos. Específicamente por una regla nueva que revisa la cantidad de transferencias recibidas en un mes, y que si las superas, el SII irá a fiscalizarte.
La respuesta es que no les afecta en nada: esa regla está pensada para formalizar el comercio informal, y aplica solo cuando recibes más de 50 transferencias desde cuentas diferentes durante un mes. Aquí cuando retires plata de tus inversiones recibirás siempre las transferencias desde una misma cuenta, así que no tienes de qué preocuparte.
Hay otras mejoras que están ahí pero no se ven tanto:
- Reconocer los depósitos requiere mucho menos trabajo. Ya no tenemos que seguir destinando recursos a detectar y matchear los movimientos del Banco Security
- Automatizamos el movimiento de plata desde que depositas hasta que llega a su destino, sea FFMM o Dólares.
Quizás estas mejoras no suenan como una gran cosa, pero tienen un tremendo impacto para nuestro equipo. Hacen que nuestros procesos sean más eficientes, minimizan los errores y lo más importante, nos permiten usar mejor nuestro tiempo. Todo esto se traduce en que podemos seguir mejorando el producto y mantener comisiones bajas.
Pero tal vez lo más interesante, es que la conexión con el CCA y la infraestructura que construimos, nos permite explorar muchas mejoras a futuro:
- Vas a poder mover plata entre tus objetivos de FFMM y tus dólares, sin la necesidad de hacer un retiro a tu banco
- Vas a poder mover plata desde tus inversiones hacia tu disponible y luego decidir si quieres reinvertirlo o retirarlo a tu banco al instante
- Vamos a seguir automatizando flujos de plata dentro de Fintual para hacer nuestros procesos más seguros y eficientes, por ejemplo ya empezamos a trabajar para poder pagar los retiros desde nuestro Core bancario
¿Y cómo ha salido todo hasta el momento?
Durante el primer mes y medio de funcionamiento hemos:
- Procesado más de 70.000 transferencias
- Recibido directamente un 54% del total de depósitos. El resto los seguimos recibiendo a través del Banco Security, pero eventualmente dejaremos de recibirlos por ahí.
- Transferido más de 35 mil millones de pesos desde los depósitos a las inversiones de cada cliente, todo automáticamente.

Conectarnos al sistema de transferencias bancarias de Chile no fue fácil, fue un proyecto largo al que le hemos destinado muchos recursos y que por fin está dando frutos.
Lo que a mi me parece más destacable es que no nos hayamos conformado con las soluciones que vimos en los bancos o en el mercado, y que hayamos decidido armar nuestro propio pseudo-banco. Ahora tenemos la posibilidad de diseñar nuestras soluciones y flujos a la medida, mejorando el producto, automatizando procesos y teniendo el 100% de control del sistema, sin depender de un intermediario entre nosotros y nuestros clientes.