Previous projectNext project

Crypto Wallet SDK Development Based on Kotlin Multiplatform

IndustryFintech
LocationUkraine
Development2021

Task: Building a Unified SDK for a Cryptocurrency Exchange

The Stfalcon team was tasked with developing a high-performance SDK for Android and iOS mobile platforms. A key requirement from the cryptocurrency exchange was the use of Kotlin Multiplatform to ensure identical algorithmic performance across both operating systems, which is critical for financial transactions and the security of digital assets.

Solution: Cross-Platform Logic with Kotlin Multiplatform (KMP)

One of the tasks was to combine business logic and use the same code base on different platforms. To do this, we used Kotlin Multiplatform technology, which allowed us to use the same business models, processes, queries, internal data processing and encryption on all target platforms.

Combining business logic allowed us to:

  • use the same methods to obtain and present data;
  • identical handling of errors and intermediate states.

For example, high-precision financial calculations ​​are processed equally on both platforms. Interfaces have been developed to interact with UI apps, the implementation of which will rigidly define states, data acquisition format and errors.

Development: Clean Architecture and Security Protocols

The development took place in several stages:

  • Familiarity with KMM and security requirements.
  • Forming, implementing contracts and API requests using apiary.io.
  • Development of a common SDK architecture.
  • Application architecture development and application SDK integration.
  • SDK edits for iOS to work correctly.

Of all the development flows, the most important was the development of the architecture for the SDK. During the development, we implemented Clean Architecture using Interactors. We also had to separate the platform-dependent code into a separate submodule with external implementation directly on the platforms. For example, one such separation was the RSA and HMAC modules.

The most difficult step was the integration of the SDK on the platform. The fact is that, depending on the version of the Kotlin language, the principle of generating and exporting the iOS module has changed. Previous approaches to generation have been removed as obsolete, and new ones have worked incorrectly.

The solution was to generate 2 different modules for different architectures (based on Intel processors and M series processors) and further merge them into a universal module. The final solution was a hybrid project of iOS and Android applications, which used the internal dependencies of both platforms.

A breakthrough was the implementation of a custom Coroutine Scope for iOS applications, as iOS and Android platforms have different approaches to working with streams. All queries were wrapped in common interactors used on each of the platforms, which allowed the same data processing and error handling.

Result

We have managed to develop a ready-to-use SDK based on Kotlin Multiplatform. This SDK integrates business logic, encapsulates all internal processes responsible for encryption, storage, and authorization.

Cast:

  • Andrii
    Andrii

    Android Developer

  • Anton
    Anton

    Client Manager

Contact us and we'll be happy to create something awesome for you

Budget

  • 10K
  • 20K
  • 50K
  • 100K
  • 150K
  • 200K

Build logistics software with generative AI

We help transportation and logistics companies automate operations and scale faster through:

  • 16+ years of proven logistics expertise
  • Full-cycle software development
  • 30% faster delivery with AI
  • CTO-led delivery on time and on budget

Thank you for reaching out!

We’ve received your request and are preparing a response. See how custom platforms help logistics and transportation companies scale efficiently.

View case studies arrow