Angular · FastAPI · CCXT · Criptomonedas

API de criptomonedas: explicacion del proyecto y arquitectura

Esta vista esta pensada como documentacion tecnica del proyecto. Aqui se explica como esta construida la API, que endpoints publica, como se autentica el cliente y como se consume desde Angular o Python.

La aplicacion funcional se ha separado para que el usuario que solo quiere consultar datos pueda hacerlo sin mezclarse con el contenido didactico.

Contexto del proyecto

El backend esta desplegado en FastAPI y utiliza CCXT para normalizar el acceso a distintos exchanges. Angular actua como cliente y consume endpoints autenticados mediante token JWT.

Esta separacion mejora el mantenimiento, permite reutilizar la API desde otros clientes y deja el frontend centrado en la experiencia de usuario, el SEO y la presentacion visual.

Endpoints disponibles

1. Introduccion

En la version antigua la utilidad principal consistia en comparar el precio de un par en varios exchanges. En esta nueva version se mantiene esa idea, pero se mejora la arquitectura: ahora la logica de mercado vive en una API independiente y Angular actua unicamente como cliente.

Esto aporta varias ventajas: interfaz mas facil de mantener, reutilizacion del backend desde scripts, paneles internos o futuras apps, y una estructura mas limpia para ampliar funcionalidades como filtros, historicos o alertas.

Esta herramienta tiene un enfoque didactico. Mostrar diferencias de precio entre exchanges no garantiza arbitraje real, ya que intervienen comisiones, liquidez, slippage, tiempos de transferencia y riesgo operativo.

2. Arquitectura

Backend

FastAPI expone los endpoints, valida parametros y unifica respuestas.

Conectividad

CCXT encapsula la comunicacion con exchanges y reduce diferencias de implementacion.

Seguridad

La autenticacion se realiza con JWT usando el endpoint /token.

Frontend

Angular consume la API, organiza estados de carga, errores y visualizacion de resultados.

3. Ejemplos de integracion

Una de las mejoras de esta migracion es que la logica queda desacoplada. El backend puede reutilizarse desde Angular, Python, scripts internos o futuras aplicaciones moviles.

3.1 Obtener token con Python

3.2 Comparar un par con Python

3.3 Consumir la API desde Angular

4. Conceptos utiles

Que es un exchange?

Es una plataforma donde se negocian criptomonedas y otros pares digitales.

Que es un par?

Es la relacion entre dos activos, por ejemplo BTC/USDT o ETH/EUR.

Que significa bid/ask?

Bid es la mejor compra disponible y ask la mejor venta disponible.

Por que dos exchanges muestran precios distintos?

Porque la liquidez, el volumen, el libro de ordenes y la demanda no son identicos en todos los mercados.

5. Enlaces del proyecto