Brief results of the collaboration:
- The company enabled two-way integration between a mobile app and a digital wallet, allowing transfer/withdraw operations for $240+ million in assets.
- The customer enhanced security of the wallet used by 50,000+ investors, preventing exposure of sensitive data and malicious activity.
- A recovery mechanism minimized the risk of losing access to funds in case of malfunction.
- Optimized performance, improved workflows, and code reuse provide the ground to scale the system to serve the global market.
The company is a creator of a self-custody digital wallet for supplying assets (stablecoins, cryptocurrency, etc.) and earning interest. Since its launch, $180 million have been borrowed through the wallet (in USD Coin). For the project, the customer raised over $1 million of investment during two funding rounds.
The Android version of the wallet featured only basic functionality, such as creating an account and connecting to a bank. In addition, when the app was deleted from the device, users lost access to their assets upon reinstallation due to the lack of recovery mechanisms.
Partnering with Altoros, the customer wanted to extend functionality to drive user adoption. In particular, the company aimed to enable transfer or withdrawal of digital assets, as well as secure transactions, ensure scalability, implement recovery, facilitate maintenance, optimize code, and resolve performance bottlenecks.
Under the project, the team at Altoros had to address the following issues:
- As a financial instrument, the wallet had to deliver a decent level of security across digital assets and transactions.
- After gaining positive feedback from the users of the pilot version, the company aimed at scaling to a global market. In this endeavor, it was important to ensure fault tolerance and high performance under increased loads.
Using the Web3j library, developers at Altoros enabled transfer/withdraw operations via a mobile app. With the ZXing library, our engineers also made it possible to send a transactional address as a QR code, thus simplifying asset transfer.
To deliver a sufficient level of security, the team minimized the risks of exposing sensitive data. In particular, our developers encrypted shared preferences in Android to secure the private key that provided access to a wallet.
The core of the wallet is using Safe Contracts developed by Gnosis and Protofire (a subdivision of Altoros). Therefore, to make sure a user can access his/her assets after reinstalling a wallet, it was easy for the team to utilize the recovery mechanism of Gnosis.
To prevent malicious activity, engineers at Altoros employed the Gnosis Safe Contracts that verified transactions were committed by a real user. Our developers also made it possible to use Android-native authentication methods to access the wallet: face or fingerprint recognition, a password, etc.
Our developers optimized requests that could dramatically affect the app’s performance under heavy loads. The latency on the server was reduced by 2x, as a result.
To ensure proper operation of a database—a crucial component that stores and manages personal and transactional data—developers migrated to SQLite.
In addition, engineers at Altoros fixed the algorithm responsible for calculating annual percentage yield—an interest gained on the deposited assets.
To facilitate maintenance in the future, the team introduced the code reuse approach—optimizing dependencies with Dagger, properly utilizing model view presenter, etc.
Partnering with Altoros, the customer enabled transfer/withdrawal of digital assets to/from a wallet by using a mobile app. The company enforced security of the wallet storing $240+ million in assets, preventing exposure of sensitive data and malicious activity. In addition, the customer introduced a recovery mechanism allowing 50,000+ users to safely store digital assets without the risk of losing access to their money.
Thanks to optimized performance and improved workflows, the company can scale and cater to global markets. With the enabled code reuse approach, the customer built a foundation for extending functionality, minimizing cost and time overhead. The company is working on adding support for transfer/withdraw operations between a wallet and a credit card, enabling payouts across 130+ countries.
Frameworks and tools
Gnosis Safe Multisig, AndroidX, Web3j, ZXing, Room, RXJava, Retrofit, OkHttp, Moxy