Multi-currency payment services

The client is a provider of currency exchange services. Already successful in this area, the client has a suitable IT system and know-how. However, the client decided to obtain the relevant authorisations and offer customers a portfolio of broadly defined payment services. The first step was to offer multi-currency payment accounts with the possibility of making domestic and international transfers.


Project in a nutshell




Java, Kotlin, Spring Boot, PostgreSQL, Angular, PHP, Kubernetes, Docker, Liquibase


18 months


1 Team Lead

7 Backend Developers

2 Frontend Developers

2 Android Developers

2 iOS Developers

1 UI Designer

1 UX designer

1 Project Manager

2 Business Analysts

Form of cooperation

Agile, Time & Material

  • Consulting - business

  • Consulting - legal & regulations

  • Product workshops & analysis

  • UI/UX design

  • Technical stack assessment

  • API architecture

  • Frontend development

  • Backend development

  • Website development

  • Native mobile apps

  • Multiple internal integrations

  • QA

  • SLA & maintenance

Innovations and challenges

The innovation in this project was the large-scale use of microservices and asynchronous communication, despite the need to implement the project in the environment of an extensive monolithic central system. It was interesting to introduce a unique model for transfers carried out also on the phone and by email, including to people who do not yet have an account with the client's service.

The main challenge was to build a complete transaction system for the National Payment Institution (Krajowa Instytucja Płatnicza - KIP) from scratch. Not only did we have to create all the IT systems and fit them into the client's already existing infrastructure, but we also had to take care of all legal and regulatory issues. The system design itself was demanding, as it involved providing services based on payment accounts in multiple currencies for the user. In addition, one of the client's main objectives was to ensure that the system could be developed and expanded as easily as possible to include new payment services. It was also necessary to ensure high performance and scalability due to the client's already large customer base and ambitious growth plans. Facilitating this was not the need to tightly integrate the new systems with the client's existing systems so that the existing customer base could start using the new services immediately.


Contact us

Have an idea for a project?
Let's talk!