12th Sep 2025
6 min read

ARK Development Report - September 12, 2025

Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, the ARK Scan team delivered additional fixes and updates for Mainsail alongside several design improvements, while the TypeScript Client SDK received a fix for handling pending transactions through the API. The ARK Vault team focused on introducing HD wallet address derivation, complemented by design updates and multiple fixes. Meanwhile, the Mainsail team released two new testnet versions packed with new features, improvements, and performance upgrades, while continuing to refine and enhance the overall Mainsail experience.

Development Activity Summary (September 5 – September 12, 2025)

Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from September 5, 2025, to September 12, 2025.

Project Commits Authors
ARK Connect 0 0
ARK Scan 26 1
ARK SDKs & Docs 6 1
ARK Vault 103 5
Mainsail 15 2

During this period, the team maintained strong productivity and engagement, delivering 150 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 additional fixes and updates for Mainsail, along with several design improvements:

  • Fixed the QR modal in transaction details so it no longer closes immediately when opened. Also removed the memo field and updated the amount input layout to match Vault’s input design with the label above the field.
  • Updated dropdown styling to align with the new design, adding visual consistency and an icon to indicate the selected option.
  • Fixed the validators page error by properly handling the “Dormant” filter in the Select All action, ensuring it works consistently across all validator tabs.
  • Fixed validator links in the monitor so they now open in the full page view instead of rendering inside a smaller window.
  • Updated transaction table to display the unlocked amount when a Validator Resignation transaction occurs. This makes the display consistent with Validator Registration, where the locked amount is shown.
  • Adjusted modal styling so that only the top and bottom sections update visually, while the main content remains consistent.
  • Implemented unified translation handling so Blade, Livewire, and Inertia components all share the same translation strings. This was achieved using laravel-react-i18n for PHP to JSON conversion and react-i18next for frontend translations, ensuring consistency across the entire stack.
  • Adjusted controller tests for BlockController and ExchangeController by disabling exception handling, ensuring more verbose error messages are shown during failures.
  • Added Inertia page metadata support by introducing a layout header variant without static title/meta tags. This enables dynamic head information to be set from app-inertia.tsx, replacing the previous generic title and allowing proper per-page metadata handling.
  • Fixed an intermittent test failure in missed blocks by ensuring stable sorting with cached data. The test now uses a forced time value to avoid unpredictable behavior across datasets like votes.

Next week, we’ll continue addressing reported issues and further improve Mainsail integration.

ARK SDKs and Documentation Weekly Report

This week, we fixed support for handling pending transactions for the transactions/unconfirmed API in the TypeScript Client SDK. With this change, unconfirmed transactions can now be fetched directly from the API and displayed in Vault as pending until they are confirmed.

Next week, we’ll continue to address reported issues and further improve documentation and SDKs as needed.

ARK Vault Weekly Report

This week, we focused on the new HD wallet address derivation feature, along with design improvements and multiple fixes. Work completed includes:

  • Implemented HD wallet address derivation using viem, enabling generation and import of addresses based on coin, account, chain, and address index. Added unit tests to validate the new logic.
  • Added transaction signing support for HD wallets and updated the Send Transfer flow, allowing users to securely sign transactions with derived HD addresses.
  • Introduced an HD wallet toggle on the Settings page, giving users control to enable or disable HD wallet functionality.
  • Fixed contract-based transactions for Ledger wallets, ensuring vote and registration calls (username/validator) work correctly. Validated proper chain ID and contract data handling, resolving errors and ensuring correct Ledger app prompts.
  • Added deeplink handling to the Send Transfer sidepanel, allowing transactions to be initiated via direct links. Removed the legacy send transfer page to unify the flow within the sidepanel.
  • Enhanced the transaction sidepanel with gas details by including gasUsed and gasLimit for both signed and confirmed transactions. Introduced a TransactionGas component with dim and dark mode support, updated translations, and added unit tests.
  • Improved pending transaction handling by refactoring how unconfirmed transactions are fetched and displayed.
  • Simplified wallet selection logic in the Address Selection sidepanel to ensure the correct address is highlighted when switching, fixing inconsistencies with the “Viewing [Address]” display.
  • Updated the sign message flow by removing the legacy sign page and adding deeplink support in the sidepanel, enabling messages to be signed directly via deeplinks.
  • Moved the validator resignation flow into the sidepanel, aligning it with other transaction types for a consistent user experience and reusable logic.

Next week, we’ll continue implementing HD wallet integration, refine designs to match recent updates, and address any reported issues.

Mainsail Weekly Report

This week, we released Mainsail EVM v0.0.1-rc.4 and v0.0.1-rc.5, bringing several new features, improvements, and performance upgrades. Highlights include enhanced transaction filtering and multi-payment support, better error decoding, and performance boosts for crypto operations. We also applied important fixes to transaction pool handling, tightened validation, and streamlined our API and database structure. Additionally, setup and developer experience got a lift with updated dependencies, TypeScript ES2023 target, and BLS key support in Docker.

The full list of changes is available in the release notes for v0.0.1-rc4 and v0.0.1-rc5 .

This week, we have also continued making progress on various aspects of Mainsail. Updates include:

  • Added multi_payment_recipients column to transactions, enabling approved multi-payment queries.
  • Implemented support for filtering transactions by address, allowing queries to match either the from or to field.
  • Performed an NTP (Network Time Protocol) check and logged the time offset.

Next week, we’ll focus on further API improvements, as well as enhancements to consensus mechanisms and handling of edge cases.

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.