Investments module within the Criptala exchange.

I developed the investments module for the Criptala exchange, working on the interface design as well as the frontend and backend of the system. The module enables cryptocurrency investing through configurable investment products and automated subscriptions, integrating market data visualization and scheduled order execution.
Users with little trading experience struggled to understand how to invest across different cryptocurrencies. Choosing assets and timing investments created noticeable friction.
Develop an investment products panel within the exchange that allows users to subscribe to configurable strategies such as recurring DCA and predefined portfolios.
After launch, automated investment products increased adoption among new users by 42%, and subscription-based orders accounted for 37% of total purchases executed outside the traditional trading flow.
Decoupling the product layer, backend, and UI allowed the system to scale and new investment products to be added without modifying the interface or the exchange’s main flow.


Investment products are defined in the database and can be configured from the admin panel using dynamic settings. Each product defines its operational behavior, involved assets, and execution rules, allowing the system to be extended without modifying the UI.
Charts use a MiniChart component built on lightweight-charts that consumes an internal market data API. OHLC series are retrieved from CoinGecko through a controller implementing fresh caching per asset and time range, a stale fallback cache, and a distributed lock to prevent concurrent requests. On the frontend, data is cached in sessionStorage for two minutes and refreshed every 30 seconds.
Execution runs through a scheduled command that detects expired subscriptions and delegates operations to specific actions depending on the product type. The flow reuses the exchange checkout pipeline to ensure consistency in fees, validations, and compliance rules. This separation allows investment logic to evolve independently from the interface.