24th Apr 2026
8 min read

ARK Development Report - April 24, 2026

Welcome to our latest Weekly Development Report, where we highlight key progress across our ecosystem. This week, the ARK Scan team delivered a major modernization effort, upgrading core frameworks and tooling to improve long-term maintainability and developer experience. The ARK SDKs and Documentation team enhanced accuracy and usability by refining API details, expanding cross-language examples, and strengthening SDK reliability through updates and improved test coverage. The ARK Vault team focused on reliability and code quality, refining token handling, removing legacy multisignature logic, and expanding frontend test coverage. Meanwhile, the Mainsail team rolled out one of its most significant testnet updates yet, introducing full ERC20 support while advancing performance, dependency modernization, and overall system architecture.

Development Activity Summary (April 17 – April 24, 2026)

Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from April 17, 2026, to April 24, 2026.

Project Commits Authors
ARK Connect 0 0
ARK Scan 58 3
ARK SDKs & Docs 23 3
ARK Vault 47 2
Mainsail 24 2

During this period, the team maintained strong productivity and engagement, delivering 152 merged commits across all projects.

It’s important to note that weekly commit counts and project-specific data may fluctuate based on the focus of internal sprints, evolving objectives, and the complexity of tasks undertaken.

ARK Scan Weekly Report

This week we focused on a major round of upgrades and fixes for ARK Scan, with the goal of improving long-term maintainability, stability, and overall developer experience. A significant part of this effort was modernizing the tech stack. We upgraded the application to Laravel 13 and Inertia v3, ensuring compatibility with the latest framework improvements and performance optimizations. Alongside that, Tailwind was updated to v4, bringing a more streamlined styling workflow, and we refreshed a large portion of the JavaScript dependencies. As part of this, we also adopted Node 24 in our CI and development workflows, aligning the project with current runtime standards and improving consistency across environments.

Beyond upgrades, we worked through several functional and UI-related fixes across the platform. In the statistics module, we improved handling of large numeric values by addressing BigNumber/BigDecimal inconsistencies, which ensures more accurate data representation and prevents edge-case calculation errors. We also fixed an issue with validator resignation styling, where certain transactions were displayed incorrectly, leading to potential confusion in interpreting validator states.

On the UI side, we resolved formatting issues with contract badges, ensuring they display consistently across different screen sizes and contexts. Another important fix addressed wallet state inconsistencies—specifically in edge cases where a validator resigns after a snapshot (for example, when a BLS public key is missing). Previously, this could result in conflicting states such as both “Resigned” and “Dormant” being shown at the same time; this has now been corrected to reflect a single, accurate state.

We also fixed a data quality issue in the statistics view where some records were appearing with “Invalid Date,” improving overall reliability and presentation of historical data. Additionally, we enhanced the development workflow by fixing language file rebuilding in pnpm dev mode. This removes the need to manually restart the development server after .env changes, making local development smoother and more efficient.

Next week, we’ll continue focusing on performance optimizations and will address any issues reported on the public testnet. We’ll also keep working on general codebase cleanup to improve readability, maintainability, and long-term scalability.

ARK SDKs & Documentation Site Weekly Report

This week we focused on improving the Documentation site and related SDK packages to ensure greater accuracy, completeness, and developer usability.

On the documentation side, we refined EvmCall arguments, reviewed API endpoints to confirm proper handling of query parameters, and updated transaction examples to reflect newly introduced decoded API statuses following the latest Mainsail changes. We also validated and corrected PHP transaction creation examples, and expanded the documentation with practical cross-language examples for token transfers, as well as token approval and revocation in PHP, Python, and TypeScript. In addition, we updated the Mainsail transaction tester documentation to align with its latest changes.

Across SDK packages, we performed maintenance and improvements to keep everything up to date. The PHP Client SDK received dependency updates, while the PHP Crypto SDK was updated to support newer environments by bumping brick/math, enabling compatibility with Laravel 13 and resolving deprecated usage. For the TypeScript Crypto SDK, we introduced test coverage reporting into the workflow and added missing tests identified through coverage analysis, helping improve overall reliability.

Next week, we’ll continue improving and refining the Documentation site based on community feedback, while also addressing any remaining issues across the platform.

ARK Vault Weekly Report

This week we focused on refining core functionality within ARK Vault, with an emphasis on improving reliability, removing outdated logic, and strengthening overall code quality.

One of the key improvements was addressing how tokens are handled after being added or removed. Previously, when a user added a token (for example by entering a contract address), the UI would display a confirmation toast, but the token itself would not immediately appear in the list. This was due to the token list not being refreshed or included in subsequent API requests. We refactored this flow to ensure tokens are properly re-fetched after any add or remove action, resulting in a more consistent and predictable user experience.

We also carried out a cleanup of legacy multisignature-related logic. In earlier iterations of ARK Core, multisignature transactions required a more complex flow involving multiple participants signing transactions and relaying them through an intermediary service before broadcasting. Since this approach is no longer supported with Mainsail—and multisignature functionality itself has been removed—any remaining related code has now been fully cleaned up. This helps reduce unnecessary complexity and makes the codebase easier to maintain going forward.

On the UI side, we implemented a small but important formatting improvement for transaction amounts. Previously, values such as zero could appear as “0”, which created inconsistency in how amounts were displayed. We’ve standardized this so that all amounts now show at least two decimal places (e.g., “0.00”), ensuring a more uniform and professional presentation across the application.

In addition to these changes, we expanded our automated test coverage by completing tests for transaction components in the T–Z range. This contributes to more robust front-end reliability, making it easier to catch regressions and ensuring that critical transaction-related UI components behave as expected under various conditions.

Next week, we’ll continue improving the application based on feedback and testing from both the internal team and the wider community, focusing on polishing existing features and addressing any newly identified issues.

Mainsail Weekly Report

This week marks one of the most significant updates to the Mainsail testnet to date. The release introduces full ERC20 support, strengthening EVM compatibility and improving execution accuracy. It also enhances sync and restore reliability, while streamlining the core architecture to deliver better performance, maintainability, and overall system maturity.

If you’d like a deeper dive into what’s new, check out our latest blog post: “Mainsail Levels Up: Tokens, Performance, and Reliability”.

On the development front, our efforts have been centered on performance improvements, modernizing dependencies, and continuing to simplify key parts of the Mainsail codebase.

A key area of work was updating core dependencies. We upgraded the Rust dependencies used by REVM to ensure compatibility with the latest improvements and optimizations in the ecosystem. Alongside this, we updated the heed package to its latest version, keeping our storage layer aligned with current standards. We also removed the logger-winston package as part of an effort to streamline logging and reduce reliance on unnecessary or outdated dependencies.

We made some structural improvements to configuration handling as well. The previous get method in the crypto configuration module was replaced with more explicit getGenesisCommit and getNetwork methods. This change improves clarity and maintainability by making configuration access more intentional and easier to reason about.

On the testing side, we increased unit test coverage within the serializer package, strengthening reliability in a critical part of the system responsible for data transformation and validation. This helps ensure that edge cases are properly handled and reduces the risk of regressions as the codebase evolves.

One of the more impactful improvements this week was related to transaction deserialization performance. We introduced the use of worker threads to calculate additional transaction fields (rom, hash, senderLegacyAddress, senderPublicKey) off the main thread. This reduces blocking work and leads to better overall performance. As part of this change, we also began replacing our usage of BigNumber with native BigInt. Since BigInt is natively supported in inter-process communication, this simplifies data handling and improves efficiency when passing values between workers.

Next week, we’ll continue expanding unit test coverage and move further toward fully replacing BigNumber with BigInt across the codebase. We’ll also focus on addressing any issues reported by the community following the recent public testnet update.

Finally, we’d like to thank the community for their continued support - especially those actively reporting issues and running validators on the public testnet. Their contributions play a key role in helping us identify problems early and improve the overall stability of the network.

Feedback & Feature Requests

If you are using our open-source products and would like to provide feedback or request a feature, please feel free to contact us via the contact pages for the specific product you are using or open an issue on GitHub.

Quick access links to GitHub issues pages:

Follow on Twitter (X)

Follow us on X (Formerly Twitter) and keep checking the blog to stay up-to-date on all of our new releases. We post a weekly development report so you can easily see what we’ve been up to and follow along our journey towards making your decentralized future a reality.

Share:

Get in Touch!

Whether you want to learn more about ARK Ecosystem, want to apply for developer bounty, become our partner or just want to say Hello, get in touch and we will get back to you.



An Ecosystem of Developers

Join us on our journey to create the future of Web3.