Omega Media

Serokell helped Omega Media develop a fully-fledged cryptocurrency exchange with KYC compliance.

“Serokell OÜ is an extremely competent team that couples innovation with their knowledge of cutting-edge technology to develop something that has never been done before.”

Introduction

Omega Media is a digital marketing and consulting agency from Norway. They provide a wide range of services, from digital marketing to app development. Omega Media contacted us to develop an innovative financial product for the Nordic market.

Monitoring with Prometheus and Grafana

We started working together in November 2019.
At first, our collaboration was granular: we received small tasks and delivered them within the agreed time. The first challenge was to improve the observability of an existing project.

Our Haskell developers instrumented the code to export metrics representing the project’s internal state in industry-standard Prometheus format. Serokell software reliability engineers deployed a standardized monitoring solution in the form of a Prometheus server and a Grafana instance. They built custom monitoring dashboards taking into account the specifics of the service.

Within the testing task, we demonstrated strong experience with instrumentation, software observability, and knowledge of standard tools such as Prometheus and Grafana. The client was satisfied with the result, so we switched from a task-based model of interaction to a dedicated team.

Building a cryptocurrency exchange platform

Our next task was to create a financial platform that would allow its users to exchange fiat money for Bitcoin. The process consisted of three parts:

Setting up Lightning Network nodes

Building a payment service

Creating the exchange

Lightning Network

To start, our software reliability engineers created custom NixOS-based infrastructure running a constellation of Bitcoin Lightning Network nodes with a custom topology. Afterwards, the SRE team connected it to the previously configured monitoring infrastructure and deployed the Ride-The-Lightning management dashboard.

The Lightning nodes had to process unusually large transactions, which required special configuration and even patches to the code.

Serokell’s development team did in-depth research and chose all the elements of the stack based on the client’s requirements, i.e., which Lightning Node implementation to use (c-lightning), which web dashboard to use (RTL), etc.

Our developers implemented a Haskell library for interaction with c-lightning nodes and a Haskell service for controlling the Lightning infrastructure.

Development

Development of a payment adapter service

We helped them use Grafana to observe data about the service payments; however, this time, based on direct access to the PostgreSQL database. Moreover, we designed and supported a Docker-based deployment that the project used across three servers for different testing and production environments.

As the second step, we designed and built a payment adapter service which provides the opportunity to buy and sell bitcoins with regular banking cards. It would in the beginning rely on two different payment providers, abstracting away the specific details of their usage and API in a basic provider-agnostic interface.

Then we provided support for additional payment features and actions to get to a payment control flow that was complete and satisfactory, expanding the interface in the process. We also started expanding the number of providers.

Development of an exchange service

As the final step, we designed from the ground up a specification for an exchange service that would make use of the payment service and the Lightning Network.
We did so by taking into consideration customer’s requests, the specific characteristics of the Lightning technology, as well as non-functional requirements.

Devising strategy for the exchange service

After getting approval from Omega Media, we immediately started working on the task and completed it all in the course of a month.

In the result,
the exchange service:

Is fully integrated with the payment service.

Is deployed (alongside the other services it depends on) using Nix.

Exports metrics using Prometheus.

Adheres without exceptions to the specification.

Technical stack

Haskell

Nix

Docker

PostgreSQL

c-lightning

Prometheus

Grafana

JavaScript

npm

Webpack

Modern and reliable blockchain solutions on demand

We have implemented Omega Media’s idea about a platform that allows buying Bitcoin with a regular bank card and includes transaction monitoring and complete data logging.

The cryptocurrency exchange software MVP was built to use the Lightning Network: a relatively recent and fast-changing technology promising more granular, quicker, and cheaper transfers.

In designing and implementing this service, we took care of interfacing with Lightning Network and the payment adapter service to allow payments from fiat currencies from multiple providers.

We also developed a CI solution, used during the whole development cycle, and Nix-based reproducible deployment of all the interconnected services.

The project was completed within the agreed time and budget and involved several advanced technical innovations. We are proud to be chosen as the dedicated team for this project and hope to continue our collaboration with Omega Media in the new year.

Let’s Have a Chat

We would be happy to discuss your project and propose solutions.

Contact us