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 13 – March 20, 2026)
Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from March 13, 2026, to March 20, 2026.
| Project | Commits | Authors |
|---|---|---|
| ARK Connect | 0 | 0 |
| ARK Scan | 33 | 2 |
| ARK SDKs & Docs | 29 | 2 |
| ARK Vault | 34 | 2 |
| Mainsail | 21 | 3 |
During this period, the team maintained strong productivity and engagement, delivering 117 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 SDKs & Documentation Site Weekly Report
This week, we improved documentation maintainability, expanded the Python crypto package with new transaction builders, and enhanced the TypeScript client for more flexible token querying. Work included:
- Documentation Site:
- Refactored the crypto SDK documentation by splitting it into smaller partial MDX files per section. These partials are now composed into a single page, improving maintainability, reducing edit conflicts, and making it easier to navigate and update individual sections.
- Python Crypto Package:
- Added a Token Transfer Builder and a general Transaction Encoder, enabling construction and encoding of token transfer transactions in a standardized and reusable way.
- Added a TokenApproveBuilder, modeled after the TokenTransferBuilder, to construct ERC20 token approval transactions in a structured and reusable manner.
- TypeScript Client Package:
- Updated the Wallets API to handle token queries with a whitelist parameter. By default, only explicitly whitelisted tokens are returned, while users can include additional contracts by sending a POST request with a list of contract addresses, ensuring flexible and accurate token retrieval across endpoints.
- Refactored the SDK to use a generic
queryargument for endpoint parameters, ensuring all endpoints used in Mainsail are available in the SDK and adding proper typing for query parameters to improve type safety and consistency.
Next week, we’ll continue improving token support in the SDK packages, update the documentation site as needed, and address any remaining issues.
ARK Scan Weekly Report
This week, we focused on performance optimizations, accessibility improvements, and various smaller fixes. Work included:
- Optimized transaction DTO loading by removing redundant eager loads, reducing unnecessary data fetching, and consolidating wallet queries. Introduced a lightweight
WalletReferenceDTO and precomputed multi-payment totals, improving query performance and reducing response payload size. - Fixed the token transfers table for addresses so data loads correctly and no longer triggers a 500 error when viewing token transfer history.
- Corrected sender display in the token transfers table so minted tokens now show the null address as the sender instead of the transaction sender, ensuring accurate representation of token origins.
- Refactored token transfers into token actions to resolve backend errors caused by missing database tables, fixing the 500 error on the token transfers page and restoring correct data retrieval.
- Improved accessibility by adding proper ARIA labels to table tabs, ensuring compliance with standards and addressing issues identified by Google Lighthouse.
- Updated accessibility handling to prevent hidden elements from being focusable, ensuring correct ARIA behavior and improving homepage usability.
- Fixed navbar tab outline clipping so dropdown outlines remain fully visible when navigating via keyboard.
- Enhanced focus outline visibility for the block generator on the Home > Blocks tab and
/blockspage, making keyboard navigation clearer. - Updated tooltips to be keyboard-focusable, allowing users to tab into elements such as the mobile Gwei detail for better accessibility.
Next week, we’ll continue working on performance improvements and address any additional issues identified during internal testing.
ARK Vault Weekly Report
This week, we introduced support for managing custom token contracts and delivered several fixes and improvements across the app. Work included:
- Implemented the “Add Token” feature, allowing users to add custom, non-whitelisted tokens to the vault’s token overview. The flow includes contract input, validation via
/tokens/<address>, displaying token details, storing the token locally, and extending API requests to include user-added contracts. - Added the ability to delete manually added tokens from the vault through the “manage” view of the tokens table, while ensuring tokens that later become whitelisted still appear due to whitelist priority.
- Fixed token selection during transfers so ARK consistently appears when initiating transfers from both the tokens page and the portfolio page.
- Expanded test coverage for the tokens domain, improving reliability while excluding lines that are impractical to cover without mocking internal implementation details.
- Improved Ledger communication by preventing stuck transaction flows, hiding action buttons during authentication, and ensuring smoother interaction with the device across transfers, token transfers, votes, and other Ledger-supported actions.
- Updated Approve/Revoke transaction details in the side panel to rely on the
tokensproperty instead ofprofile.tokens, maintaining behavior while improving data consistency. - Standardized API endpoints by introducing a generic
queryargument for parameters, simplifying request handling across the application. - Fixed the token transfers table to correctly display token symbols for contract deployments, updated the transactions table to show amounts without the ARK symbol in both single and multiple modes, and resolved mobile issues affecting the token transfers tab.
- Added token selection to the send transfer form, allowing users to choose which token to send. The form now adapts based on context, defaulting to ARK from the navbar or portfolio, remaining empty from the tokens page, and pre-selecting a token when accessed from its dedicated page.
- Enhanced the token details side panel to include token supply information, giving users better visibility into total token availability.
- Fixed flickering notifications when the side panel remains open so updates after transactions appear smoothly without visual disruption.
Next week, we’ll continue finalizing custom token contract add/delete interactions and address any additional reported issues.
Mainsail Weekly Report
This week, we focused on expanding the API, introducing a new CLI command, and increasing unit test coverage. Work included:
- Enabled the
@typescript-eslint/no-misused-promises: errorrule and updated the codebase to correctly handle all promise usage. - Added a
db:resetcommand to drop the existing database, recreate it, and run migrations in a single step. - Introduced the
/legacy/cold-wallets/{address}endpoint to the public API. - Increased unit test coverage for the
crypto-commitpackage to 100% and improved the codebase with stricter schemas and optimizations.
Next week, we’ll continue writing unit and database tests to further increase coverage, along with delivering additional 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.