26th Jun 2026
7 min read

ARK Development Report - June 26, 2026

Welcome to this week’s Weekly Development Report, highlighting continued progress across the ecosystem. The ARK Connect team focused on improving stability, simplifying wallet and transaction handling, and aligning more closely with Mainsail by removing legacy complexity and refining core flows. The ARK SDKs and Documentation team enhanced documentation quality and completeness while ensuring SDK parity, introducing updates across Python and improving support for validator flows, legacy addresses, and batch transfers. The ARK Vault team refined validator registration, strengthened error handling, and prepared the codebase for upcoming AI-driven development standards. Meanwhile, the Mainsail team delivered critical fixes to block production correctness, simplified internal architecture, and significantly improved node startup performance, while continuing to strengthen testing and overall system reliability.

Development Activity Summary (June 19 – June 26, 2026)

Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from June 19, 2026, to June 26, 2026.

Project Commits Authors
ARK Connect 18 1
ARK Scan 0 0
ARK SDKs & Docs 44 3
ARK Vault 30 3
Mainsail 41 2

In total, 133 commits were merged across all projects this week. As always, commit counts fluctuate with sprint focus and task complexity.

ARK Connect Weekly Report

This week, we focused on improving stability, simplifying the codebase, and refining transaction and wallet handling while continuing alignment with Mainsail.

We resolved an issue with the transaction close button in popup mode, where the button became unresponsive after sending a transaction. This regression was caused by recent changes to extension closing logic when triggered from the webapp, and has now been corrected to restore expected behavior in all modes.

Several PSDK modules were refactored, including markets, utils, helpers, and intl. These updates focused on removing unused code, reducing file complexity, and ensuring consistent formatting by removing exclusions from the Prettier configuration. This results in a more maintainable and concise codebase.

We improved resilience against API throttling, particularly with CryptoCompare. Previously, throttling could cause the extension to hang indefinitely. The extension now handles such failures gracefully, allowing it to continue loading even when external APIs are unavailable.

In the Mainsail integration layer, we updated request mappings to align with the ts-client dependency by replacing custom collection handling with standardized paginated responses. This simplifies data handling and reduces the need for custom logic.

Transaction handling was further streamlined by removing unsupported signing methods and limiting support to the transaction types we actually use: transfer, vote, unvote, and token transfer. At the same time, we ensured all transaction types remain viewable by introducing minimal, purpose-built view models that only include the data required by the UI.

We also significantly simplified wallet management. The Wallet class was reduced to its essential responsibilities: address derivation, encrypted passphrase storage, optional naming, and ledger support. Legacy and unused import methods (BIP44/49/84, WIF, private key, etc.) along with their associated logic were removed. Network configuration is now handled globally rather than per wallet, further reducing complexity.

Next week, we will continue improving Mainsail integration, focusing on compatibility and consistency across all layers. We’ll also further refine transaction flows, continue simplifying legacy areas of the codebase, and improve error handling and UX in edge cases.

ARK SDKs & Documentation Site Weekly Report

This week, we focused on improving documentation quality and completeness while aligning SDK behavior in the Python Crypto package with recent Mainsail changes.

On the Documentation site, we replaced Java SDK placeholders with real, working examples in the crypto documentation, ensuring developers now have accurate reference implementations. The Java crypto API documentation was also expanded to cover all available methods, bringing it in line with the actual SDK surface and recent updates.

We updated the validator registration and update documentation to reflect the new requirement introduced in Mainsail, where signing must be performed using the BLS passphrase. This ensures consistency between documentation and actual implementation across SDKs.

Support for legacy address handling was documented across all SDKs (Python, PHP, and TypeScript), providing guidance for working with older address formats. Additionally, we introduced batch transfer documentation across all supported languages, covering the usage of the multipayment functionality and improving developer onboarding for this feature.

We also addressed several documentation, UX, and styling issues, including fixing table header styling, improving spacing between headings and content, and correcting page title behavior for shared example pages to better reflect their purpose regardless of selected language.

In the Python Crypto SDK, we aligned functionality with other SDKs by updating validator registration and update flows to use passphrases instead of public keys. We also added support for legacy address handling and implemented a batch transfer builder, ensuring feature parity across ecosystems.

Next week, we will continue aligning the documentation site with ongoing SDK changes, ensuring all new features and updates are accurately reflected. We’ll also focus on improving consistency across SDKs, refining examples, and addressing any gaps or inconsistencies discovered during integration and usage.

ARK Vault Weekly Report

This week, we focused on improving validator registration flow, refining error handling, and aligning the repository with upcoming AI tooling standards.

We resolved several issues in the validator registration flow. This includes fixing alignment problems in the review step to improve UI consistency, updating validator passphrase validation to use a BIP39-compatible method that properly supports non-English mnemonics, and adjusting the input labeling for better clarity.

We also improved transaction error handling by removing duplicate error messages. Known errors now display the specific message returned from the server, while unknown errors fall back to a generic message. This results in clearer and more user-friendly feedback during failed transactions.

Additionally, we installed the ardenthq/ai conventions, preparing the repository for upcoming shared tooling and standardized development practices across projects.

Next week, we will continue addressing any issues identified during internal testing, focusing on stability and edge cases. We’ll also work on improving overall UX in transaction flows, refining validation and error handling further, and ensuring smooth integration with ongoing Mainsail-related updates.

Mainsail Weekly Report

This week, we focused on improving correctness in block production, simplifying architecture, and reducing startup latency, alongside ongoing maintenance and test improvements.

In the EVM, we fixed a critical issue in state root calculation during block forging. Previously, if a transaction failed during collation, the in-block cache could be left empty, causing subsequent transactions to execute against stale state and resulting in an incorrect state root. This scenario was safely mitigated at the network level (invalid blocks are rejected), but could lead to missed blocks. The issue has now been resolved to ensure consistent and correct state transitions during block creation.

We also refactored how block context is handled by moving it into the pending commit structure. This simplifies the flow by removing the need to pass block context separately and makes execution more cohesive and easier to reason about.

Within the kernel, we introduced several improvements to service handling, including fixes to service registration and resolution. We also added support for unscoped packages, allowing ServiceProviders and plugins to resolve correctly without requiring @scoped naming, improving flexibility for package development.

In the API layer, we upgraded the api-database package to TypeORM 1.0, aligning with the latest stable version and preparing for future enhancements.

For P2P, we removed the unused networking-dns package, reducing unnecessary dependencies and simplifying the networking stack.

A number of performance optimizations were implemented to reduce node cold-start latency. We now skip jemalloc re-execution when LD_PRELOAD is already set, and lazily import the CLI to avoid unnecessary loading in discarded parent processes. Worker initialization has been moved off the critical path: EVM API and transaction pool workers now boot asynchronously behind a readiness barrier, while the crypto worker pool initializes partially upfront and scales in the background. These changes significantly improve startup responsiveness.

We also introduced dead-inject detection, a new CI-integrated script that identifies and removes unused @inject dependencies across packages, helping maintain a clean and efficient dependency graph.

Additional improvements include making functional transaction commit checks more reliable and stabilizing CI by switching Foundry from nightly to stable, as well as removing unused Foundry installations from workflows.

Test coverage continues to improve, with increased coverage in the validator module.

Next week, we will continue expanding unit test coverage across the remaining modules, further optimize performance and startup behavior, and monitor the system under load to validate recent concurrency and initialization changes. We’ll also address any issues that arise and continue refining CI and developer tooling.

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 Us on X

Follow us on X and keep an eye on the blog to stay up to date with everything we ship. We publish a development report every week so you can follow along as the ecosystem grows.

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.