27th Mar 2026
6 min read

ARK Development Report - March 27, 2026

Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, the ARK documentation site saw improvements in maintainability, alongside enhancements to the Python Crypto package with new transaction builders and updates to the TypeScript client for more flexible token querying. The ARK Scan team focused on performance optimizations, accessibility improvements, and a range of smaller fixes, while the ARK Vault team introduced support for managing custom token contracts and delivered several additional improvements across the app. Meanwhile, the Mainsail team expanded the API, introduced a new CLI command, and continued increasing unit test coverage to strengthen overall reliability.

Development Activity Summary (March 20 – March 27, 2026)

Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from March 20, 2026, to March 27, 2026.

Project Commits Authors
ARK Connect 0 0
ARK Scan 56 3
ARK SDKs & Docs 3 1
ARK Vault 30 2
Mainsail 14 2

During this period, the team maintained strong productivity and engagement, delivering 103 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 introduced a new Bookmark feature to ARK Scan, delivered additional accessibility improvements, and implemented several fixes and refactors. Work included:

  • Added support for searching wallets by on-chain username when using the database driver as a fallback, ensuring username queries work even without Meilisearch or when indexing is incomplete.
  • Built the initial bookmarks UI with tabbed sections and empty tables, establishing the structure for organizing bookmarked transactions, blocks, and addresses.
  • Added a bookmark button to transaction, block, and address pages, providing the interface for saving items for later use.
  • Implemented bookmark persistence using LocalStorage, allowing users to add and remove bookmarks, tracked separately for transactions, blocks, and addresses.
  • Displayed stored bookmarks within their respective table tabs, enabling users to view and remove bookmarked items directly from the tables.
  • Improved footer social links accessibility by adding descriptive text for assistive technologies while keeping the UI visually unchanged.
  • Added a heading to the bookmarks page to improve structure and accessibility.
  • Added a bookmarks link to the navbar and updated the page’s meta image, ensuring proper navigation and sharing previews.
  • Improved layout semantics by adding a main landmark to the explorer content area, enhancing accessibility for assistive technologies.
  • Fixed accessibility issues by adding labels to icon-only buttons so their purpose is clearly conveyed.
  • Improved image accessibility by adding appropriate alt attributes, using descriptive text for functional images and empty alt attributes for decorative ones.
  • Refactored queries and webhooks to align with the Mainsail format, removing obsolete fields and DTOs, updating handlers to use the current block and transaction structure (proposer instead of generatorPublicKey and to instead of recipientId), and removing the deprecated wallet.vote flow along with its related code and tests.
  • Removed leftover Fortify authentication routes that caused 500 errors, ensuring these routes now correctly return 404 responses.

Next week, we’ll continue with additional fixes and optimizations.

ARK SDKs & Documentation Site Weekly Report

This week, we focused on improving consistency and flexibility in the Python Client package, particularly around how query parameters are handled.

We refactored endpoint calls to use a dedicated params object with proper type hinting, aligning the approach more closely with other SDKs like PHP. This makes the API easier to extend over time while keeping required arguments clearly separated from optional query parameters.

In addition, we introduced support for whitelist handling across all token endpoints. By default, only explicitly whitelisted tokens are returned, while users can include additional contract addresses in their requests to expand the results as needed.

ARK Vault Weekly Report

This week, we focused on resolving issues identified during internal testing and increasing overall test coverage. Work included:

  • Fixed transaction transfer labels to correctly display + and signs, updating both the transactions/token transfers table and the transaction details side panel to accurately reflect incoming and outgoing flows.
  • Increased tooltip maximum width to prevent overflow, ensuring large values such as token amounts remain fully visible.
  • Resolved duplicate action buttons appearing in the error step across transaction flows so only a single set is shown.
  • Refactored transaction side panels (excluding votes) to use the wallet dropdown for sender selection, enabling consistent interaction where clicking the Sender input opens a dropdown and the icon triggers the modal.
  • Expanded test coverage for the message domain and addressed related issues, including consistent address selection behaviour and correcting the success step title after signing with a Ledger device.
  • Added test coverage for the vote domain and simplified logic around partial voting and multi-vote handling, improving reliability and maintainability.
  • Improved coverage for contact and transaction domain components, particularly within src/domains/contact/components and transaction components ([A-O]*), strengthening validation and stability.
  • Updated the transaction details side panel to properly display amounts by compacting large values and hiding the +/ symbol when the value is zero for a cleaner layout.

Next week, we’ll continue addressing reported issues and further increase test coverage.

Mainsail Weekly Report

This week, we continued focusing on improving test coverage and optimizing the codebase. Work included:

  • Increased unit test coverage to 100% for the crypto-validation package.
  • Increased unit test coverage to 100% for the crypto-config package.
  • Validated crypto.json using an AJV schema to ensure correctness and consistency.
  • Improved schemas to correctly parse blockNumber from commit, prevote, precommit, and proposal data, enabling proper milestone loading and stricter validation, such as enforcing array lengths based on the number of active validators defined in milestones.
  • Removed the legacy senderId field from Public API schemas, standardizing queries to use from, to, and address (from or to).
  • Updated the GitHub workflow to use a fixed npm version in Docker, preventing issues introduced by recent npm releases.
  • Upgraded Lerna to the latest version.

Next week, we’ll continue expanding unit tests and deliver further improvements to the crypto packages.

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.