Binance Square

ARK Ecosystem

image
Verified Creator
Official account of http://ARK.io and the ARK Ecosystem. Follow on X @ArkEcosystem.
0 Following
51 Followers
54 Liked
2 Shared
All Content
--
ARK Development Report - August 1, 2025Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, the ARK Connect team simplified the extension by removing the external PSDK Ledger dependency, while the ARK Scan team merged ongoing work into Mainsail and delivered fixes to performance and validator state. On the documentation side, efforts were centered on preparing the site for the release of the Mainsail EVM public testnet. The ARK Vault team continued with Ledger improvements, general UI fixes, and Mainsail-related updates. Most importantly, this week marked a major milestone for Mainsail development with the launch of Mainsail EVM on the Public Testnet and bringing us a significant step closer to full EVM compatibility within the ARK ecosystem. Development Activity Summary (July 25 – August 1, 2025) Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from July 25, 2025, to August 1, 2025. ProjectCommitsAuthorsARK Connect81ARK Scan101ARK SDKs & Docs223ARK Vault684Mainsail473 During this period, the team maintained strong productivity and engagement, delivering 155 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 Connect Weekly Report This week, we removed the external PSDK Ledger dependency from the ARK Connect extension to simplify the codebase. We also resolved issues with importing Ledger addresses to ensure smooth functionality. Next week, we’ll continue integrating Mainsail EVM and address any issues that arise during development. ARK Scan Weekly Report Work done this week included consolidating work by merging the branch into Mainsail, as well as fixes to performance and validator state. To be precise: Merged the mainsail-develop branch into mainsail, consolidating recent development work and ensuring the latest features, fixes, and refactors are integrated into the primary Mainsail branch for upcoming testing and deployment phases.Enabled the Validator Performance schedule command in app/Console/Kernel.php, allowing periodic performance checks for validators to be executed automatically via Laravel’s task scheduler.Implemented a dormant validator state and adjusted the filtering logic so that validators without a rank are correctly marked as “Standby” instead of “Active”, improving clarity in validator status display and preventing confusion around rank “0” validators. Next week we’ll be addressing any issues that are reported from the internal team and community. ARK SDKs and Documentation Site This week we have been focused on improving documentation site for the release of Mainsail EVM public testnet. Work done included: Updated the general Mainsail documentation site based on feedback, addressing clarity, structure, and content accuracy to improve the developer experience and alignment with recent Mainsail updatesAligned the documentation with recent SDK changes by updating references to EIP-155 and EIP-191, adjusting method names like gas to gasLimit, incorporating legacySecondSign for Core addresses, updating message signing examples for EIP-191, and pointing URLs to their MainsailHQ equivalents, ensuring accuracy and consistency across developer resources.Enabled anchor tag generation for h3 headers in documentation, improving navigability and deep-linking to more specific sections within a page.Fixed handling of h3 slugs by updating configuration to ensure anchor tags are correctly generated, enabling direct linking to third-level headings in the documentation.Updated the transaction tester documentation by fixing broken links and improving content on the tx-tester page, ensuring clearer guidance and navigation for users interacting with Mainsail transaction testing tools.Added further guidance on the validator registration process in the documentation, helping users better understand the necessary steps and requirements for registering a validatorClarified the meaning and usage of the BIP39 value during validator setup, including an explanation of the alternative method using a private key, to reduce confusion during configuration.Updated the Mainsail installation process to include installing python3-setuptools, setting default environment variables, and removing the forced checkout to the main branch to streamline source installation. Next week, we’ll be further improving the Mainsail documentation site based on community feedback, as well as addressing any SDK issues that get reported. ARK Vault Weekly Report This week, we have been working on Ledger improvements, general UI fixes, and Mainsail enhancements. Here’s a summary of the work completed: Disabled the Ledger import option on the public testnet to prevent users from importing Ledger wallets in that environment.Refactored error handling for user-rejected Ledger transactions to show a clear “rejected” message, distinguishing it from generic errors, and added “back” and “close” options for quick retries or adjustments.Adjusted fee validation logic so that the 250 ARK locked balance check applies only to validator registrations, allowing other registration types (like usernames) to proceed without it.Resolved a timing issue where the transaction review screen appeared prematurely by ensuring it waits for the Ledger connection and signing flow to complete.Corrected header margin on the contacts page for consistent spacing and improved visual alignment.Centered the checkbox within the create address flow to enhance UI consistency.Updated Send button colors in dim mode to use dim-blue-600 by default and dim-blue-700 on hover, improving visual feedback.Added .env.test to network configurations, allowing Vitest to use predefined values for easier test/mock maintenance and local network customization.Improved the transaction block status text by styling the “N/A” label with a semibold font weight for better emphasis.Replaced the BLS key documentation link with a direct resource to provide clearer access to key information.Enhanced the CreateProfile test suite with refinements that boost reliability and accuracy.Increased test stability by addressing flaky settings domain coverage: added a targeted test and reorganized existing ones into appropriate describe blocks.Expanded test coverage for the src/app/lib/mainsail/* module.Refactored environment storage to include the app version from package.json, and introduced automatic profile cleanup in environments missing a version tag.Implemented logic to hide the Exchange tab by toggling its visibility based on the VITE_HIDE_EXCHANGE_TAB flag. We’ll continue working on community feedback, address any reported issues, and make further Mainsail integration improvements. Mainsail Weekly Report This week was exciting and a big milestone for Mainsail development as we announced the launch of Mainsail EVM on Public Testnet, marking a significant step toward bringing full EVM compatibility to the ARK ecosystem. This release introduces key features like 2-stage BFT consensus, instant block finality, on-chain usernames, and an updated validator set—all built on a snapshot of the Core v3 Devnet. We invite developers, validators, and community members to jump in, explore, test, and help shape the future of Mainsail EVM. Your feedback will be vital in guiding us toward a stable mainnet launch. Read the full announcement, Public Mainsail EVM Testnet Launches - Ushering in a New Chapter, to learn more. We have also continued making improvements to Mainsail EVM. The work completed this week included the following: Implemented transaction usage in consensus storage to store proposals, prevotes, and precommits as a single atomic commit.Updated revm and napi-rs to the latest version.Replaced ethers with viem to improve overall node performance and enhance block synchronization.Skipped dirty validator calculation during block commit when the Public API is disabled.Modified the ETH JSON-RPC API to return data in the legacy 0x0 Ethereum format, which is the default format in Mainsail.Added a config:forger:bls command for setting up validators using a private BLS12-381 key.Enhanced the install-testnet.sh script to install additional packages, enabling support for more cloud providers.Adopted the develop branch for releases tagged with rc for the public testnet, and continued using the evm branch for internal releases.Increased the pm2 version specified in peerDependencies. Next week, we will focus on testing and refining the Public Mainsail Testnet, alongside preparing a new release that includes all recent fixes. We also plan to improve transaction rebroadcast logic. 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: Mainsail ARK Connect (Extension) ARK Connect (Demo) ARK Scan ARK Vault  Follow on Twitter (X) Follow us on X  (https://x.com/ArkEcosystem) 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. Here is the original article if you are looking for more info and links: https://arkscic.com/blog/ark-development-report-august-1-2025 $ARK {spot}(ARKUSDT)

ARK Development Report - August 1, 2025

Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, the ARK Connect team simplified the extension by removing the external PSDK Ledger dependency, while the ARK Scan team merged ongoing work into Mainsail and delivered fixes to performance and validator state. On the documentation side, efforts were centered on preparing the site for the release of the Mainsail EVM public testnet. The ARK Vault team continued with Ledger improvements, general UI fixes, and Mainsail-related updates. Most importantly, this week marked a major milestone for Mainsail development with the launch of Mainsail EVM on the Public Testnet and bringing us a significant step closer to full EVM compatibility within the ARK ecosystem.
Development Activity Summary (July 25 – August 1, 2025)
Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from July 25, 2025, to August 1, 2025.
ProjectCommitsAuthorsARK Connect81ARK Scan101ARK SDKs & Docs223ARK Vault684Mainsail473
During this period, the team maintained strong productivity and engagement, delivering 155 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 Connect Weekly Report
This week, we removed the external PSDK Ledger dependency from the ARK Connect extension to simplify the codebase. We also resolved issues with importing Ledger addresses to ensure smooth functionality.
Next week, we’ll continue integrating Mainsail EVM and address any issues that arise during development.
ARK Scan Weekly Report
Work done this week included consolidating work by merging the branch into Mainsail, as well as fixes to performance and validator state. To be precise:
Merged the mainsail-develop branch into mainsail, consolidating recent development work and ensuring the latest features, fixes, and refactors are integrated into the primary Mainsail branch for upcoming testing and deployment phases.Enabled the Validator Performance schedule command in app/Console/Kernel.php, allowing periodic performance checks for validators to be executed automatically via Laravel’s task scheduler.Implemented a dormant validator state and adjusted the filtering logic so that validators without a rank are correctly marked as “Standby” instead of “Active”, improving clarity in validator status display and preventing confusion around rank “0” validators.
Next week we’ll be addressing any issues that are reported from the internal team and community.
ARK SDKs and Documentation Site
This week we have been focused on improving documentation site for the release of Mainsail EVM public testnet. Work done included:
Updated the general Mainsail documentation site based on feedback, addressing clarity, structure, and content accuracy to improve the developer experience and alignment with recent Mainsail updatesAligned the documentation with recent SDK changes by updating references to EIP-155 and EIP-191, adjusting method names like gas to gasLimit, incorporating legacySecondSign for Core addresses, updating message signing examples for EIP-191, and pointing URLs to their MainsailHQ equivalents, ensuring accuracy and consistency across developer resources.Enabled anchor tag generation for h3 headers in documentation, improving navigability and deep-linking to more specific sections within a page.Fixed handling of h3 slugs by updating configuration to ensure anchor tags are correctly generated, enabling direct linking to third-level headings in the documentation.Updated the transaction tester documentation by fixing broken links and improving content on the tx-tester page, ensuring clearer guidance and navigation for users interacting with Mainsail transaction testing tools.Added further guidance on the validator registration process in the documentation, helping users better understand the necessary steps and requirements for registering a validatorClarified the meaning and usage of the BIP39 value during validator setup, including an explanation of the alternative method using a private key, to reduce confusion during configuration.Updated the Mainsail installation process to include installing python3-setuptools, setting default environment variables, and removing the forced checkout to the main branch to streamline source installation.
Next week, we’ll be further improving the Mainsail documentation site based on community feedback, as well as addressing any SDK issues that get reported.
ARK Vault Weekly Report
This week, we have been working on Ledger improvements, general UI fixes, and Mainsail enhancements. Here’s a summary of the work completed:
Disabled the Ledger import option on the public testnet to prevent users from importing Ledger wallets in that environment.Refactored error handling for user-rejected Ledger transactions to show a clear “rejected” message, distinguishing it from generic errors, and added “back” and “close” options for quick retries or adjustments.Adjusted fee validation logic so that the 250 ARK locked balance check applies only to validator registrations, allowing other registration types (like usernames) to proceed without it.Resolved a timing issue where the transaction review screen appeared prematurely by ensuring it waits for the Ledger connection and signing flow to complete.Corrected header margin on the contacts page for consistent spacing and improved visual alignment.Centered the checkbox within the create address flow to enhance UI consistency.Updated Send button colors in dim mode to use dim-blue-600 by default and dim-blue-700 on hover, improving visual feedback.Added .env.test to network configurations, allowing Vitest to use predefined values for easier test/mock maintenance and local network customization.Improved the transaction block status text by styling the “N/A” label with a semibold font weight for better emphasis.Replaced the BLS key documentation link with a direct resource to provide clearer access to key information.Enhanced the CreateProfile test suite with refinements that boost reliability and accuracy.Increased test stability by addressing flaky settings domain coverage: added a targeted test and reorganized existing ones into appropriate describe blocks.Expanded test coverage for the src/app/lib/mainsail/* module.Refactored environment storage to include the app version from package.json, and introduced automatic profile cleanup in environments missing a version tag.Implemented logic to hide the Exchange tab by toggling its visibility based on the VITE_HIDE_EXCHANGE_TAB flag.
We’ll continue working on community feedback, address any reported issues, and make further Mainsail integration improvements.
Mainsail Weekly Report
This week was exciting and a big milestone for Mainsail development as we announced the launch of Mainsail EVM on Public Testnet, marking a significant step toward bringing full EVM compatibility to the ARK ecosystem. This release introduces key features like 2-stage BFT consensus, instant block finality, on-chain usernames, and an updated validator set—all built on a snapshot of the Core v3 Devnet.
We invite developers, validators, and community members to jump in, explore, test, and help shape the future of Mainsail EVM. Your feedback will be vital in guiding us toward a stable mainnet launch.
Read the full announcement, Public Mainsail EVM Testnet Launches - Ushering in a New Chapter, to learn more.
We have also continued making improvements to Mainsail EVM. The work completed this week included the following:
Implemented transaction usage in consensus storage to store proposals, prevotes, and precommits as a single atomic commit.Updated revm and napi-rs to the latest version.Replaced ethers with viem to improve overall node performance and enhance block synchronization.Skipped dirty validator calculation during block commit when the Public API is disabled.Modified the ETH JSON-RPC API to return data in the legacy 0x0 Ethereum format, which is the default format in Mainsail.Added a config:forger:bls command for setting up validators using a private BLS12-381 key.Enhanced the install-testnet.sh script to install additional packages, enabling support for more cloud providers.Adopted the develop branch for releases tagged with rc for the public testnet, and continued using the evm branch for internal releases.Increased the pm2 version specified in peerDependencies.
Next week, we will focus on testing and refining the Public Mainsail Testnet, alongside preparing a new release that includes all recent fixes. We also plan to improve transaction rebroadcast logic.
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:
Mainsail ARK Connect (Extension) ARK Connect (Demo) ARK Scan ARK Vault 
Follow on Twitter (X)
Follow us on X  (https://x.com/ArkEcosystem) 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.
Here is the original article if you are looking for more info and links: https://arkscic.com/blog/ark-development-report-august-1-2025
$ARK
Public Mainsail EVM Testnet Launches - Ushering in a New ChapterWe’re thrilled to announce the launch of our first Public Mainsail EVM Testnet, built from the Core v3 Devnet Snapshot. After months of intense development and coordination, we’ve prepped everything, from infrastructure to tools, documentation, and user resources, so you can jump right in. This marks a major step forward in bringing EVM capabilities to ARK. And while we’ve come a long way, this is just the beginning. Over the next few months, we’ll be relying on your feedback, from the community and validators, to help us refine, secure, and polish Mainsail EVM into a production-ready product. So, whether you’re here to explore or help uncover the odd bug or two (we like to think of them as “undocumented features”), we welcome you aboard! NOTE: Links are not allowed here and this article is full of them. If you are interested in learning more, here is the link to the original article: https://arkscic.com/blog/public-mainsail-evm-testnet-launches-ushering-in-a-new-chapter A Few Key Notes Before You Set Sail Delegate(s) are now officially Validator(s). If you spot any “Delegate(s)” references lingering around our front-end products, please give us a nudge.What was previously known as Devnet is now Testnet. We’ve aligned the terminology with broader blockchain standards for better clarity.The Public Mainsail EVM Testnet is spun up from a snapshot of the Core v3 Devnet at block height 22,002,491 . That means:Existing passphrases still work.Delegates who previously registered a BLS key and made it into the top 51 will appear as Validators.Validators will need to register again (using the new transaction type) to start producing blocks, unless they already did so on the previous Devnet.We’re transitioning from addresses starting with 'D' to the familiar Ethereum-style 0x format. It’s a small change in characters, but a big step toward EVM compatibility.We now refer to wallets (e.g., ARK Vault) as software products. The term address(es) is used to identify user account(s) capable of sending/receiving tokens on the network.Mainsail EVM features a two-stage BFT consensus mechanism with instant block finality. (Because who likes waiting?)The Public API is now an optional, standalone process, giving node operators more flexibility.Transaction broadcasting has moved:Old port: 4003 → New port: 4007P2P moved from 4001 → 4000To avoid a three-way split, the number of validators has increased to a prime number 53, up from 51.On-chain usernames can now be registered to any address, thanks to a dedicated username registration transaction done via contract.The ChainID for this Public Testnet is: 11812 We invite you to dive in, test things out, and help shape the future of Mainsail EVM. Your feedback is the wind in our sails - let’s build something great together. Essential Resources to Get You Started Ready to dive into Mainsail EVM? Whether you’re spinning up a node or aiming to become a validator, we’ve got you covered. Below is a curated list of essential documentation to help you get set up quickly and confidently: Node Requirements  – Hardware, software, and system prep for running a Mainsail node.Network Details  – Ports, files, and public API nodes for connecting to the testnet.TX Tester CLI Guide  – Learn how to simulate transactions with our CLI testing tool as well as register a Validator.Registering as a Validator  – Step-by-step guide to validator setup and registration.Install Script (Recommended)  – The fastest and easiest way to install your node.Install from Source  – Prefer to build it yourself? We’ve got the guide for that too.Docker Install Guide  – Run your node in a containerized environment. General Information Our internal testnet has been running behind the scenes for several months. During that time, we performed multiple resets as we ironed out bugs and collected feedback from developers working on companion products like Vault, Scan, and Connect. Now, with the foundation solid, we’re inviting you to join the next phase of real-world testing. Your participation will help us fine-tune performance, squash lingering bugs, and make Mainsail EVM production ready. Here’s what’s currently available (products are still considered as alpha, so a few rough edges may remain; please open GitHub issues if you spot any!): 🔍 ARK Scan  – A full-featured blockchain explorer built for Mainsail EVM.💼 ARK Vault  – Your go-to wallet for managing tokens and interacting with the testnet.📖 Mainsail & SDKs Documentation  – Step-by-step setup guides, validator registration, SDKs, and more. (Note: this is a new site that will eventually replace ARK.dev)🧪 Mainsail TX Tester CLI  – A CLI tool to test transactions and validator flows.💧 Public Testnet Faucet  – Get free testnet tokens for testing transactions and registering as a validator. This post outlines everything you need to begin your Mainsail journey and highlights what to expect in this early stage rollout. We’re excited to have you onboard - test boldly, report issues, and help us shape what’s next! Supported Transactions in the Public Mainsail EVM Testnet During this initial phase of the Public Mainsail EVM Testnet, the following transaction types are supported. All except for general transfers are now processed through EVM smart contracts, bringing flexibility, composability, and a future-proof foundation to the ARK ecosystem. Here’s what’s currently available: Transfers – The classic: sending tokens from one address to another.Multipayments – Send tokens to multiple addresses in a single transaction. One click, many payouts.Vote – Cast your support for a validator using your address balance.Unvote – Remove your vote from a validator.Switch Vote – Change your vote from one validator to another, no need to unvote first.Validator Registration –Register your BLS public key to become a validator. You can update it at any time.Validator Resignation – Step down as a validator. The address becomes ineligible for new votes and block production.Username Registration – Claim a unique username for your address, adding a human touch to the chain.Username Resignation – Give up a previously registered username, much like a validator resignation, but for your alias. This set of transactions forms the foundation for testing and interacting with Mainsail EVM. More functionality will follow as we expand and iterate based on your feedback! Have a Question or Found an Issue? Running into setup hiccups or spotting something that’s not quite right during testing? We’re here for it and we’d love to hear from you. You can reach us through these channels: Open an Issue on GitHub  – Found a bug or something not behaving as expected? Drop us an issue and we’ll take a look.Join the ARK Community Discord  – Swing by the community-run Discord and visit#mainsail_testnet channel to chat with the team and other community testers. We encourage participation - whether it’s testing, providing feedback, or diving into the codebase itself. Your input is instrumental in making Mainsail EVM more resilient, efficient, and ready for prime time. A Note on Architecture & Experience We know Mainsail introduces some big architectural changes compared to Core v3. Validators and node operators will especially notice some differences in how things are set up. It might take a little time to adjust, but we’re here to support you every step of the way. That said, we’ve made sure that for everyday users, the UI and experience feel familiar. Interacting with the network, whether through ARK Vault or ARK Scan, should still feel intuitive and aligned with what you’re used to from the current Production Network. Thanks for helping us test, tune, and shape the future of Mainsail EVM. Let’s build something rock solid together. What’s Next? Over the coming weeks and months, we invite users to join the network and run public nodes. This will help us simulate real-world usage scenarios and test Mainsail EVM under broader network conditions. On the development side, here’s what’s on the horizon: Expanded Documentation – We’ll continue refining and expanding Mainsail docs to make setup, usage, and development even more accessible.Ongoing Issue Resolution – As bugs surface on Testnet, we’ll be addressing them swiftly; your reports are key here.Ledger Hardware Wallet Support – Integration into the Ledger ecosystem is underway, bringing hardware-level support.Vault & ARK Connect Integration – Work is in progress to make Mainsail EVM fully compatible with ARK Vault and ARK Connect.SDK Enhancements – Expect improvements to our SDKs based on real-world usage and developer feedback.Ecosystem Integrations – We’ll continue exploring and implementing integrations that make Mainsail more useful, flexible, and developer-friendly. We’re committed to refining the Mainsail codebase, improving performance across the stack, and delivering a seamless user experience, powered by community input and real-world testing. Thanks for being part of the journey. We’re just getting started. Follow on Twitter (X) Stay connected with 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. $ARK {spot}(ARKUSDT)

Public Mainsail EVM Testnet Launches - Ushering in a New Chapter

We’re thrilled to announce the launch of our first Public Mainsail EVM Testnet, built from the Core v3 Devnet Snapshot. After months of intense development and coordination, we’ve prepped everything, from infrastructure to tools, documentation, and user resources, so you can jump right in. This marks a major step forward in bringing EVM capabilities to ARK. And while we’ve come a long way, this is just the beginning. Over the next few months, we’ll be relying on your feedback, from the community and validators, to help us refine, secure, and polish Mainsail EVM into a production-ready product. So, whether you’re here to explore or help uncover the odd bug or two (we like to think of them as “undocumented features”), we welcome you aboard!
NOTE: Links are not allowed here and this article is full of them. If you are interested in learning more, here is the link to the original article: https://arkscic.com/blog/public-mainsail-evm-testnet-launches-ushering-in-a-new-chapter
A Few Key Notes Before You Set Sail
Delegate(s) are now officially Validator(s). If you spot any “Delegate(s)” references lingering around our front-end products, please give us a nudge.What was previously known as Devnet is now Testnet. We’ve aligned the terminology with broader blockchain standards for better clarity.The Public Mainsail EVM Testnet is spun up from a snapshot of the Core v3 Devnet at block height 22,002,491 . That means:Existing passphrases still work.Delegates who previously registered a BLS key and made it into the top 51 will appear as Validators.Validators will need to register again (using the new transaction type) to start producing blocks, unless they already did so on the previous Devnet.We’re transitioning from addresses starting with 'D' to the familiar Ethereum-style 0x format. It’s a small change in characters, but a big step toward EVM compatibility.We now refer to wallets (e.g., ARK Vault) as software products. The term address(es) is used to identify user account(s) capable of sending/receiving tokens on the network.Mainsail EVM features a two-stage BFT consensus mechanism with instant block finality. (Because who likes waiting?)The Public API is now an optional, standalone process, giving node operators more flexibility.Transaction broadcasting has moved:Old port: 4003 → New port: 4007P2P moved from 4001 → 4000To avoid a three-way split, the number of validators has increased to a prime number 53, up from 51.On-chain usernames can now be registered to any address, thanks to a dedicated username registration transaction done via contract.The ChainID for this Public Testnet is: 11812
We invite you to dive in, test things out, and help shape the future of Mainsail EVM. Your feedback is the wind in our sails - let’s build something great together.
Essential Resources to Get You Started
Ready to dive into Mainsail EVM? Whether you’re spinning up a node or aiming to become a validator, we’ve got you covered. Below is a curated list of essential documentation to help you get set up quickly and confidently:
Node Requirements  – Hardware, software, and system prep for running a Mainsail node.Network Details  – Ports, files, and public API nodes for connecting to the testnet.TX Tester CLI Guide  – Learn how to simulate transactions with our CLI testing tool as well as register a Validator.Registering as a Validator  – Step-by-step guide to validator setup and registration.Install Script (Recommended)  – The fastest and easiest way to install your node.Install from Source  – Prefer to build it yourself? We’ve got the guide for that too.Docker Install Guide  – Run your node in a containerized environment.
General Information
Our internal testnet has been running behind the scenes for several months. During that time, we performed multiple resets as we ironed out bugs and collected feedback from developers working on companion products like Vault, Scan, and Connect.
Now, with the foundation solid, we’re inviting you to join the next phase of real-world testing. Your participation will help us fine-tune performance, squash lingering bugs, and make Mainsail EVM production ready.
Here’s what’s currently available (products are still considered as alpha, so a few rough edges may remain; please open GitHub issues if you spot any!):
🔍 ARK Scan  – A full-featured blockchain explorer built for Mainsail EVM.💼 ARK Vault  – Your go-to wallet for managing tokens and interacting with the testnet.📖 Mainsail & SDKs Documentation  – Step-by-step setup guides, validator registration, SDKs, and more. (Note: this is a new site that will eventually replace ARK.dev)🧪 Mainsail TX Tester CLI  – A CLI tool to test transactions and validator flows.💧 Public Testnet Faucet  – Get free testnet tokens for testing transactions and registering as a validator.
This post outlines everything you need to begin your Mainsail journey and highlights what to expect in this early stage rollout.
We’re excited to have you onboard - test boldly, report issues, and help us shape what’s next!
Supported Transactions in the Public Mainsail EVM Testnet
During this initial phase of the Public Mainsail EVM Testnet, the following transaction types are supported. All except for general transfers are now processed through EVM smart contracts, bringing flexibility, composability, and a future-proof foundation to the ARK ecosystem.
Here’s what’s currently available:
Transfers – The classic: sending tokens from one address to another.Multipayments – Send tokens to multiple addresses in a single transaction. One click, many payouts.Vote – Cast your support for a validator using your address balance.Unvote – Remove your vote from a validator.Switch Vote – Change your vote from one validator to another, no need to unvote first.Validator Registration –Register your BLS public key to become a validator. You can update it at any time.Validator Resignation – Step down as a validator. The address becomes ineligible for new votes and block production.Username Registration – Claim a unique username for your address, adding a human touch to the chain.Username Resignation – Give up a previously registered username, much like a validator resignation, but for your alias.
This set of transactions forms the foundation for testing and interacting with Mainsail EVM. More functionality will follow as we expand and iterate based on your feedback!
Have a Question or Found an Issue?
Running into setup hiccups or spotting something that’s not quite right during testing? We’re here for it and we’d love to hear from you.
You can reach us through these channels:
Open an Issue on GitHub  – Found a bug or something not behaving as expected? Drop us an issue and we’ll take a look.Join the ARK Community Discord  – Swing by the community-run Discord and visit#mainsail_testnet channel to chat with the team and other community testers.
We encourage participation - whether it’s testing, providing feedback, or diving into the codebase itself. Your input is instrumental in making Mainsail EVM more resilient, efficient, and ready for prime time.
A Note on Architecture & Experience
We know Mainsail introduces some big architectural changes compared to Core v3. Validators and node operators will especially notice some differences in how things are set up. It might take a little time to adjust, but we’re here to support you every step of the way.
That said, we’ve made sure that for everyday users, the UI and experience feel familiar. Interacting with the network, whether through ARK Vault or ARK Scan, should still feel intuitive and aligned with what you’re used to from the current Production Network.
Thanks for helping us test, tune, and shape the future of Mainsail EVM. Let’s build something rock solid together.
What’s Next?
Over the coming weeks and months, we invite users to join the network and run public nodes. This will help us simulate real-world usage scenarios and test Mainsail EVM under broader network conditions.
On the development side, here’s what’s on the horizon:
Expanded Documentation – We’ll continue refining and expanding Mainsail docs to make setup, usage, and development even more accessible.Ongoing Issue Resolution – As bugs surface on Testnet, we’ll be addressing them swiftly; your reports are key here.Ledger Hardware Wallet Support – Integration into the Ledger ecosystem is underway, bringing hardware-level support.Vault & ARK Connect Integration – Work is in progress to make Mainsail EVM fully compatible with ARK Vault and ARK Connect.SDK Enhancements – Expect improvements to our SDKs based on real-world usage and developer feedback.Ecosystem Integrations – We’ll continue exploring and implementing integrations that make Mainsail more useful, flexible, and developer-friendly.
We’re committed to refining the Mainsail codebase, improving performance across the stack, and delivering a seamless user experience, powered by community input and real-world testing.
Thanks for being part of the journey. We’re just getting started.
Follow on Twitter (X)
Stay connected with 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.
$ARK
Mainsail EVM is now available on Public Testnet Featuring instant block finality, updated validator mechanics, EVM compatibility, and more. We are asking the community to try it out, report issues, and help shape the future of $ARK More info available on our blog, socials and discord.
Mainsail EVM is now available on Public Testnet

Featuring instant block finality, updated validator mechanics, EVM compatibility, and more.

We are asking the community to try it out, report issues, and help shape the future of $ARK

More info available on our blog, socials and discord.
ARK Development Report - July 25, 2025Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, the ARK Scan team added the ALPHA tag to the navigation bar in preparation for the upcoming Mainsail public testnet and continued work on ABI handling. On the documentation front, efforts were focused on adding Mainsail-specific content and expanding support for various EIP standards across the Python, PHP, and TypeScript packages. The ARK Vault team worked on enhancing Ledger compatibility alongside a series of fixes and general improvements. Meanwhile, the Mainsail team carried out a range of updates and final preparations based on internal testing as we get ready for the launch of the first public Mainsail testnet. Development Activity Summary (July 18 – July 25, 2025) Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from July 18, 2025, to July 25, 2025. During this period, the team maintained strong productivity and engagement, delivering 140 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 worked on adding the ALPHA tag to the navigation bar in preparation for the upcoming Mainsail public testnet, along with continued work on ABI handling. The work completed included: Added an ALPHA tag implemented via configuration, allowing flexible future use (e.g., switching to BETA). Setting the config value to an empty string hides the tag entirely.Updated the navbar logo to display the ALPHA tag with a tooltip for context, and styled it with rounded corners for a more polished appearance.Refactored transaction type handling to determine method names using a prioritized approach:Check explicitly defined types (e.g., isMultipayment) and use corresponding localized names.Match the payload hash against known contract entries from language files.Format the method name using the ABI if available.Fallback to displaying the raw 0x<PAYLOAD_HASH> if no match is found. Next week, we’ll address any reported issues from our internal team and continue looking into general app optimizations. ARK SDKs and Documentation Site Weekly Report This week’s focus included adding Mainsail documentation to the documentation site and extending support for various EIP standards across Python, PHP, and TypeScript packages. Work completed involved: Documentation Site:Added the initial Mainsail documentation covering key topics like overview, installation, deployment, EVM, testing, and support, and updated the site navigation to include the Mainsail section.Updated the Meilisearch configuration to use environment variables for endpoint selection, ensuring that search results are scoped correctly to each documentation section. This fixes the issue where searching on the Mainsail docs page would return SDK-related results and restores missing Mainsail pages to the search index.Pinned the Meilisearch DocSearch dependency to an explicit version instead of latest, preventing unexpected breaking changes and ensuring predictable builds and stable search behavior.Python Crypto Package:Added the validator registration value to the builder.Added EIP-155 support to the Python package, enabling compatibility with the latest transaction signing formats used in Mainsail.Support for legacy second signature handling has been added, allowing transactions that require a second signature to be properly processed and signed.Updated the Python package to implement EIP-191 message signing, refining the signing logic to comply with this standard for improved compatibility when signing messages.PHP Crypto Package:Added EIP-155 support to the PHP package, enabling compatibility with updated transaction signing formats required by Mainsail and ensuring proper handling of chain-specific signatures.Support for legacy second signature handling has been added, enabling transactions that require a second signature to be correctly processed and signed.The PHP package has been updated to implement EIP-191 message signing, refining the signing logic to comply with this standard and improving compatibility for message signing across supported systems.TypeScript Crypto Package:Added support for signing messages using the EIP-191 standard, improving message signing compatibility and security. Next week, efforts will continue on refining Mainsail documentation based on feedback and resolving any issues encountered when interacting with the crypto SDK packages. ARK Vault Weekly Report This week, we focused on further improving Ledger compatibility along with a range of other fixes and improvements. The work completed included: Corrected the chain ID used during Ledger signing by removing the unnecessary addition of 27 to the signature’s v value. This resolves transaction failures with newer Mainsail packages, improving compatibility and preventing signature errors.Added an ALPHA tag with a tooltip in the navigation bar to indicate that Vault is running an alpha version, improving version visibility and preparing users for the Mainsail release.Adjusted the Select Profile page layout to prevent the “Import Profile” text from overlapping on small-height mobile screens, enhancing readability.Updated the explorer URL for the Mainsail network to ensure correct linking and accurate network references.Extended the transaction table to support all known contract methods (consensus, multipayment, usernames) using ABIs, enabling human-readable method names and parameter data instead of hardcoded signature mappings.Fixed the back button behavior in the send vote flow to properly return to the review step during error states, improving navigation and user experience.Fixed validator address and name display in transaction details, ensuring correct display in vote-related views (pending and confirmed).Added support for message signing using Ledger devices, expanding hardware wallet functionality for Mainsail.Removed unused WIF-related code and added a fromWif method in the PublicKeyService, cleaning up the codebase.Standardized form label padding across all mobile action forms for consistent alignment and improved layout.Resolved an error during profile import in the profile domain that was causing test failures.Moved tests from the wallet domain to the portfolio domain and fixed them accordingly.Cleaned up e2e-utils.ts by adding a dynamic mock for /api/transactions/transaction-hash to reduce flakiness.Removed e2e test-related files from the wallet domain and updated import paths across files for consistency. Next week, we’ll focus on resolving any remaining issues reported by our internal testing team and making further improvements based on their feedback. Mainsail Weekly Report This week, we focused on a range of improvements and fixes based on our internal testing. The work completed includes: Added support for snapshot configuration publishing in the Mainsail install-testnet.sh script.Removed obsolete environment variables from the Mainsail codebase.Enabled nethashSalt configuration in the network generator to allow the creation of networks with the same chainId but different nethash values.Improved block downloading over P2P — synchronization can now be completed from a single node.Updated logic to use the commit round (instead of block round) to increment and store the total round in the EVM database. This resolves issues where blocks from a previous round could be re-proposed, causing inconsistencies and stuck nodes. Looking ahead, next week we’ll be preparing for the launch of the first public Mainsail EVM Testnet — stay tuned! 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: Mainsail - https://github.com/ArkEcosystem/mainsail/issuesARK Connect (Extension) - https://github.com/ArdentHQ/arkconnect-extension/issuesARK Connect (Demo) - https://github.com/ArdentHQ/arkconnect-demo/issuesARK Scan - https://github.com/ArdentHQ/arkscan/issuesARK Vault - https://github.com/ArdentHQ/arkvault/issues Follow on Twitter (X) Follow us on X  (https://x.com/ArkEcosystem) 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. $ARK {spot}(ARKUSDT)

ARK Development Report - July 25, 2025

Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, the ARK Scan team added the ALPHA tag to the navigation bar in preparation for the upcoming Mainsail public testnet and continued work on ABI handling. On the documentation front, efforts were focused on adding Mainsail-specific content and expanding support for various EIP standards across the Python, PHP, and TypeScript packages. The ARK Vault team worked on enhancing Ledger compatibility alongside a series of fixes and general improvements. Meanwhile, the Mainsail team carried out a range of updates and final preparations based on internal testing as we get ready for the launch of the first public Mainsail testnet.
Development Activity Summary (July 18 – July 25, 2025)
Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from July 18, 2025, to July 25, 2025.

During this period, the team maintained strong productivity and engagement, delivering 140 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 worked on adding the ALPHA tag to the navigation bar in preparation for the upcoming Mainsail public testnet, along with continued work on ABI handling. The work completed included:
Added an ALPHA tag implemented via configuration, allowing flexible future use (e.g., switching to BETA). Setting the config value to an empty string hides the tag entirely.Updated the navbar logo to display the ALPHA tag with a tooltip for context, and styled it with rounded corners for a more polished appearance.Refactored transaction type handling to determine method names using a prioritized approach:Check explicitly defined types (e.g., isMultipayment) and use corresponding localized names.Match the payload hash against known contract entries from language files.Format the method name using the ABI if available.Fallback to displaying the raw 0x<PAYLOAD_HASH> if no match is found.
Next week, we’ll address any reported issues from our internal team and continue looking into general app optimizations.
ARK SDKs and Documentation Site Weekly Report
This week’s focus included adding Mainsail documentation to the documentation site and extending support for various EIP standards across Python, PHP, and TypeScript packages. Work completed involved:
Documentation Site:Added the initial Mainsail documentation covering key topics like overview, installation, deployment, EVM, testing, and support, and updated the site navigation to include the Mainsail section.Updated the Meilisearch configuration to use environment variables for endpoint selection, ensuring that search results are scoped correctly to each documentation section. This fixes the issue where searching on the Mainsail docs page would return SDK-related results and restores missing Mainsail pages to the search index.Pinned the Meilisearch DocSearch dependency to an explicit version instead of latest, preventing unexpected breaking changes and ensuring predictable builds and stable search behavior.Python Crypto Package:Added the validator registration value to the builder.Added EIP-155 support to the Python package, enabling compatibility with the latest transaction signing formats used in Mainsail.Support for legacy second signature handling has been added, allowing transactions that require a second signature to be properly processed and signed.Updated the Python package to implement EIP-191 message signing, refining the signing logic to comply with this standard for improved compatibility when signing messages.PHP Crypto Package:Added EIP-155 support to the PHP package, enabling compatibility with updated transaction signing formats required by Mainsail and ensuring proper handling of chain-specific signatures.Support for legacy second signature handling has been added, enabling transactions that require a second signature to be correctly processed and signed.The PHP package has been updated to implement EIP-191 message signing, refining the signing logic to comply with this standard and improving compatibility for message signing across supported systems.TypeScript Crypto Package:Added support for signing messages using the EIP-191 standard, improving message signing compatibility and security.
Next week, efforts will continue on refining Mainsail documentation based on feedback and resolving any issues encountered when interacting with the crypto SDK packages.
ARK Vault Weekly Report
This week, we focused on further improving Ledger compatibility along with a range of other fixes and improvements. The work completed included:
Corrected the chain ID used during Ledger signing by removing the unnecessary addition of 27 to the signature’s v value. This resolves transaction failures with newer Mainsail packages, improving compatibility and preventing signature errors.Added an ALPHA tag with a tooltip in the navigation bar to indicate that Vault is running an alpha version, improving version visibility and preparing users for the Mainsail release.Adjusted the Select Profile page layout to prevent the “Import Profile” text from overlapping on small-height mobile screens, enhancing readability.Updated the explorer URL for the Mainsail network to ensure correct linking and accurate network references.Extended the transaction table to support all known contract methods (consensus, multipayment, usernames) using ABIs, enabling human-readable method names and parameter data instead of hardcoded signature mappings.Fixed the back button behavior in the send vote flow to properly return to the review step during error states, improving navigation and user experience.Fixed validator address and name display in transaction details, ensuring correct display in vote-related views (pending and confirmed).Added support for message signing using Ledger devices, expanding hardware wallet functionality for Mainsail.Removed unused WIF-related code and added a fromWif method in the PublicKeyService, cleaning up the codebase.Standardized form label padding across all mobile action forms for consistent alignment and improved layout.Resolved an error during profile import in the profile domain that was causing test failures.Moved tests from the wallet domain to the portfolio domain and fixed them accordingly.Cleaned up e2e-utils.ts by adding a dynamic mock for /api/transactions/transaction-hash to reduce flakiness.Removed e2e test-related files from the wallet domain and updated import paths across files for consistency.
Next week, we’ll focus on resolving any remaining issues reported by our internal testing team and making further improvements based on their feedback.
Mainsail Weekly Report
This week, we focused on a range of improvements and fixes based on our internal testing. The work completed includes:
Added support for snapshot configuration publishing in the Mainsail install-testnet.sh script.Removed obsolete environment variables from the Mainsail codebase.Enabled nethashSalt configuration in the network generator to allow the creation of networks with the same chainId but different nethash values.Improved block downloading over P2P — synchronization can now be completed from a single node.Updated logic to use the commit round (instead of block round) to increment and store the total round in the EVM database. This resolves issues where blocks from a previous round could be re-proposed, causing inconsistencies and stuck nodes.
Looking ahead, next week we’ll be preparing for the launch of the first public Mainsail EVM Testnet — stay tuned!
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:
Mainsail - https://github.com/ArkEcosystem/mainsail/issuesARK Connect (Extension) - https://github.com/ArdentHQ/arkconnect-extension/issuesARK Connect (Demo) - https://github.com/ArdentHQ/arkconnect-demo/issuesARK Scan - https://github.com/ArdentHQ/arkscan/issuesARK Vault - https://github.com/ArdentHQ/arkvault/issues
Follow on Twitter (X)
Follow us on X  (https://x.com/ArkEcosystem) 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.
$ARK
ARK Development Report - July 18, 2025Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, we continued refining the ARK Connect extension by addressing reported issues and cleaning up unused code. On the SDK side, we updated the crypto packages for Python, PHP, and TypeScript to include the latest fixes and improvements in line with recent Mainsail updates. The ARK Vault team focused on end-to-end testing and coverage, added support for a new transaction format, and implemented a range of fixes and UI enhancements. Meanwhile, the Mainsail team concentrated on legacy support and general fixes as part of the ongoing preparation for the upcoming Public Testnet. Development Activity Summary (July 11 – July 18, 2025) Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from July 11, 2025, to July 18, 2025. During this period, the team maintained strong productivity and engagement, delivering 120 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 Connect Weekly Report This week, we continued work on the ARK Connect extension by addressing issues and cleaning up unnecessary code. The work completed included: Fixed a Firefox-specific build issue and resolved problems with transaction sending to ensure smooth functionality and cross-browser compatibility.Refactored the application to enable viewing of the private key, allowing users to access and display their private key when needed.Removed unnecessary wallet.synchroniser().coin() calls for message signing as part of the PSDK migration. Since syncing is not required for signing messages, the redundant sync logic was safely eliminated to improve performance and simplify the flow. Next week, we’ll focus on further fixes and improvements to the extension based on feedback from the internal testing team. ARK SDKs and Documentation Weekly Report This week, we continued updating the crypto packages (Python, PHP, and TypeScript) to incorporate the latest fixes and enhancements aligned with recent Mainsail changes. The work completed included: PHP Crypto Package:Refactored component iteration to avoid using array indices as keys. Instead, it now relies on the named keys from the ABI definitions, ensuring compatibility with component structures like those in the Consensus and Usernames contracts that use named fields such as from and to.Refactored the code to include the validator registration value. This supports accurate transaction construction and display.Added tests to cover the remaining utility functions, improving overall test coverage and ensuring more reliable and maintainable utility code.Upgraded PestPHP and configured code coverage reporting to enhance testing capabilities.Updated the network chain ID values for both testnet and mainnet in the package to match the specified configurations. This ensures correct identification and interaction with the intended blockchain networks.TypeScript Crypto Package:Fixed signature padding by ensuring the v value of 0 or 1 is properly formatted as 00 and 01 during signing.Added support for legacy second signature transactions in the TypeScript package, enabling signing and verification of these older transaction types.Refactored transaction handling to support legacy EIP-155 format instead of EIP-1559, aligning with recent Mainsail protocol updates while preserving the option to revert if needed.Python Crypto Package:Updated the network chain ID values for both testnet and mainnet in the package to match the specified configurations. This ensures correct identification and interaction with the intended blockchain networks.Documentation Site:Configured Meilisearch workflows to run only on the main branch. This update also adjusts the scraping process to run locally within the workflow and modifies the “fix” script to correctly update Mainsail index URLs. Next week, we’ll focus on further package improvements and begin updating the documentation site in preparation for the public launch of the Mainsail EVM testnet. ARK Vault Weekly Report This week, we focused on end-to-end (E2E) testing and coverage, added support for a new transaction format, and made various fixes and UI improvements. The work completed included: Added support for sending transactions with legacy second signatures by enabling Vault to detect and prompt users for the required second signature during wallet import and transaction signing, preventing transaction failures caused by missing legacy second signatures and ensuring smooth processing of transactions for addresses that require this authentication method.Fixed an issue where signing transactions with a Ledger device failed due to an invalid state error (“device must be opened”) by ensuring the Ledger is properly connected and the device state is validated before signing, preventing errors when sending from newly imported Ledger addresses immediately after profile creation.Updated the ts-crypto package to support the EIP-155 transaction format, enabling Vault to handle this standard correctly.The balance tooltip is now centered for better visibility and is disabled when opening the settings dropdown on mobile, preventing unwanted overlap or distraction.Implemented a fix for mnemonic/secret autocomplete issues by using an approach that involves overlaying an uninteractive password input on top of a text input with invisible text to simulate masked input. This workaround aims to prevent browser autofill from interfering while maintaining user privacy.Moved the Ledger icon from beside the Copy Address button to directly next to the address on the dashboard, improving visual association and clarity.Adjusted the “Update Validator” form fields on mobile to ensure consistent width across mobile screens, improving the user interface and layout.Improved mobile tooltips to break long words, enhancing readability and preventing layout issues on smaller screens.Updated mobile transaction headers to ensure consistency and alignment with the new design mockups, improving the visual coherence across transaction views.Removed the Ledger USB dependency setup steps from the CI configuration to simplify the build process.Added Dim Mode support to the transaction confirmations component, enhancing the UI by ensuring consistent theming during transaction confirmation steps.Updated end-to-end test workflows by adding the feat/evm branch to push triggers and restricting pull request triggers to run only for PRs targeting the main branch, refining test execution scope.Enabled and fixed end-to-end (e2e) tests across multiple domains—contact, dashboard, vote, settings, message, and transaction—improving overall test coverage and reliability. Additionally, musig-related tests and ARK coin mocks were removed, and delegate references in tests were replaced with validator to reflect recent terminology changes. Next week, we’ll continue improving test coverage across the app and address an issue reported by our internal testing team. Mainsail Weekly Report This week, we focused on legacy support and general fixes in preparation for the Public Testnet. The work completed included: Added support for pre-EIP-2718 transactions to improve compatibility with wallets such as MetaMask, Rabby, and others.Fixed issues with the installation script.Continued preparations for the Public Testnet. Next week, we’ll turn our attention to the final phase of internal testing and make the last preparations for the fast-approaching Public Mainsail Testnet launch. 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: Mainsail - https://github.com/ArkEcosystem/mainsail/issuesARK Connect (Extension) - https://github.com/ArdentHQ/arkconnect-extension/issuesARK Connect (Demo) - https://github.com/ArdentHQ/arkconnect-demo/issuesARK Scan - https://github.com/ArdentHQ/arkscan/issues ARK Vault - https://github.com/ArdentHQ/arkvault/issues Follow on Twitter (X) Follow us on X  (https://x.com/ArkEcosystem) 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. $ARK {spot}(ARKUSDT)

ARK Development Report - July 18, 2025

Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, we continued refining the ARK Connect extension by addressing reported issues and cleaning up unused code. On the SDK side, we updated the crypto packages for Python, PHP, and TypeScript to include the latest fixes and improvements in line with recent Mainsail updates. The ARK Vault team focused on end-to-end testing and coverage, added support for a new transaction format, and implemented a range of fixes and UI enhancements. Meanwhile, the Mainsail team concentrated on legacy support and general fixes as part of the ongoing preparation for the upcoming Public Testnet.
Development Activity Summary (July 11 – July 18, 2025)
Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from July 11, 2025, to July 18, 2025.

During this period, the team maintained strong productivity and engagement, delivering 120 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 Connect Weekly Report
This week, we continued work on the ARK Connect extension by addressing issues and cleaning up unnecessary code. The work completed included:
Fixed a Firefox-specific build issue and resolved problems with transaction sending to ensure smooth functionality and cross-browser compatibility.Refactored the application to enable viewing of the private key, allowing users to access and display their private key when needed.Removed unnecessary wallet.synchroniser().coin() calls for message signing as part of the PSDK migration. Since syncing is not required for signing messages, the redundant sync logic was safely eliminated to improve performance and simplify the flow.
Next week, we’ll focus on further fixes and improvements to the extension based on feedback from the internal testing team.
ARK SDKs and Documentation Weekly Report
This week, we continued updating the crypto packages (Python, PHP, and TypeScript) to incorporate the latest fixes and enhancements aligned with recent Mainsail changes. The work completed included:
PHP Crypto Package:Refactored component iteration to avoid using array indices as keys. Instead, it now relies on the named keys from the ABI definitions, ensuring compatibility with component structures like those in the Consensus and Usernames contracts that use named fields such as from and to.Refactored the code to include the validator registration value. This supports accurate transaction construction and display.Added tests to cover the remaining utility functions, improving overall test coverage and ensuring more reliable and maintainable utility code.Upgraded PestPHP and configured code coverage reporting to enhance testing capabilities.Updated the network chain ID values for both testnet and mainnet in the package to match the specified configurations. This ensures correct identification and interaction with the intended blockchain networks.TypeScript Crypto Package:Fixed signature padding by ensuring the v value of 0 or 1 is properly formatted as 00 and 01 during signing.Added support for legacy second signature transactions in the TypeScript package, enabling signing and verification of these older transaction types.Refactored transaction handling to support legacy EIP-155 format instead of EIP-1559, aligning with recent Mainsail protocol updates while preserving the option to revert if needed.Python Crypto Package:Updated the network chain ID values for both testnet and mainnet in the package to match the specified configurations. This ensures correct identification and interaction with the intended blockchain networks.Documentation Site:Configured Meilisearch workflows to run only on the main branch. This update also adjusts the scraping process to run locally within the workflow and modifies the “fix” script to correctly update Mainsail index URLs.
Next week, we’ll focus on further package improvements and begin updating the documentation site in preparation for the public launch of the Mainsail EVM testnet.
ARK Vault Weekly Report
This week, we focused on end-to-end (E2E) testing and coverage, added support for a new transaction format, and made various fixes and UI improvements. The work completed included:
Added support for sending transactions with legacy second signatures by enabling Vault to detect and prompt users for the required second signature during wallet import and transaction signing, preventing transaction failures caused by missing legacy second signatures and ensuring smooth processing of transactions for addresses that require this authentication method.Fixed an issue where signing transactions with a Ledger device failed due to an invalid state error (“device must be opened”) by ensuring the Ledger is properly connected and the device state is validated before signing, preventing errors when sending from newly imported Ledger addresses immediately after profile creation.Updated the ts-crypto package to support the EIP-155 transaction format, enabling Vault to handle this standard correctly.The balance tooltip is now centered for better visibility and is disabled when opening the settings dropdown on mobile, preventing unwanted overlap or distraction.Implemented a fix for mnemonic/secret autocomplete issues by using an approach that involves overlaying an uninteractive password input on top of a text input with invisible text to simulate masked input. This workaround aims to prevent browser autofill from interfering while maintaining user privacy.Moved the Ledger icon from beside the Copy Address button to directly next to the address on the dashboard, improving visual association and clarity.Adjusted the “Update Validator” form fields on mobile to ensure consistent width across mobile screens, improving the user interface and layout.Improved mobile tooltips to break long words, enhancing readability and preventing layout issues on smaller screens.Updated mobile transaction headers to ensure consistency and alignment with the new design mockups, improving the visual coherence across transaction views.Removed the Ledger USB dependency setup steps from the CI configuration to simplify the build process.Added Dim Mode support to the transaction confirmations component, enhancing the UI by ensuring consistent theming during transaction confirmation steps.Updated end-to-end test workflows by adding the feat/evm branch to push triggers and restricting pull request triggers to run only for PRs targeting the main branch, refining test execution scope.Enabled and fixed end-to-end (e2e) tests across multiple domains—contact, dashboard, vote, settings, message, and transaction—improving overall test coverage and reliability. Additionally, musig-related tests and ARK coin mocks were removed, and delegate references in tests were replaced with validator to reflect recent terminology changes.
Next week, we’ll continue improving test coverage across the app and address an issue reported by our internal testing team.
Mainsail Weekly Report
This week, we focused on legacy support and general fixes in preparation for the Public Testnet. The work completed included:
Added support for pre-EIP-2718 transactions to improve compatibility with wallets such as MetaMask, Rabby, and others.Fixed issues with the installation script.Continued preparations for the Public Testnet.
Next week, we’ll turn our attention to the final phase of internal testing and make the last preparations for the fast-approaching Public Mainsail Testnet launch.
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:
Mainsail - https://github.com/ArkEcosystem/mainsail/issuesARK Connect (Extension) - https://github.com/ArdentHQ/arkconnect-extension/issuesARK Connect (Demo) - https://github.com/ArdentHQ/arkconnect-demo/issuesARK Scan - https://github.com/ArdentHQ/arkscan/issues ARK Vault - https://github.com/ArdentHQ/arkvault/issues
Follow on Twitter (X)
Follow us on X  (https://x.com/ArkEcosystem) 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.
$ARK
ARK Development Report - July 11, 2025Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, we focused on the ARK Connect demo site and began updating the ARK Connect extension to align with the latest changes from Mainsail. The ARK Scan team worked on optimizing loading times and addressing Composer warnings, while improvements to the documentation site included user experience enhancements and the addition of ABI definitions to the PHP Crypto SDK. In ARK Vault, development continued with fixes and improvements driven by recent internal testing and Mainsail updates. Meanwhile, the Mainsail team addressed issues reported by the development team and continued work on legacy support features. Development Activity Summary (July 4 – July 11, 2025) Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from July 4, 2025, to July 11, 2025. During this period, the team maintained strong productivity and engagement, delivering 132 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 Connect Weekly Report This week, we focused on the ARK Connect demo site and began updating the ARK Connect extension to incorporate the latest changes from Mainsail. Work completed includes: ARK Connect Demo Site:Fixed an issue where the vote modal did not correctly display the currently voted validator, ensuring the voting state is accurately reflected in the UI.Adjusted the validators list to display the username when available and fall back to the address otherwise, while also updating the filter logic to search by both username and address.ARK Connect Extension:Replaced all instances of “Delegate” with “Validator” across the codebase to reflect updated terminology and ensure consistency with current protocol language.Fixed the vote transaction sending logic to ensure the voting flow works correctly, allowing users to successfully broadcast their vote transactions.Fixed the logic for checking transaction confirmation status to ensure accurate detection and updates of confirmed transactions.Removed the network field from the contact object and updated the contact creation and editing pages accordingly. Simplifies the address validation logic for cleaner and more consistent handling.Adjusted the useExchangeRate hook to use the active profile for retrieving exchange rates instead of relying on the global environment object.Removed the network selection step from the create/import wallet flow and added a “Use Testnet” switch in the dropdown menu for testing purposes. Also refactored the useActiveNetwork hook to derive the active network from the profile.Fixed address truncation across multiple pages to ensure addresses display correctly.Fixed the UI to hide the validator username labels when the validator has no username set, so “Vote Validator Name” and “Unvote Validator Name” entries no longer show empty or placeholder text.Fixed the recent transactions list to correctly display vote and unvote transactions by falling back to the address when the validator’s username is not set and hiding helper text for unvote transactions. Next week, we will continue implementing the necessary Mainsail updates in the extension and make further improvements to the demo site. ARK Scan Weekly Report This week, we focused on improving loading times and addressing Composer warnings. The work completed includes: Optimized performance by improving how “voted for” wallets are handled in transaction tables and how delegates are fetched for missed blocks, reducing redundant queries and enhancing load times.Refactored support for the updateValidator transaction by displaying the correct method name and showing the BLS public key being set, rather than relying on the raw method signature.Resolved Composer warnings, updated the Foundation package, and fixed failing tests related to toast notifications to ensure a clean build and consistent test results. Next week, we’ll address any issues reported by our internal testing team and continue working on further performance optimizations. ARK SDKs and Documentation Site Weekly Report This week, we focused on user experience improvements for the documentation site and added ABI definitions to the PHP Crypto SDK. Specifically, the work completed includes: Documentation Site:Refactored to support additional Meilisearch indexes, allowing separate Meilisearch instances per documentation set (e.g., SDK and Mainsail) within a single-site setup. This introduces endpoint-based isolation to ensure each instance is scoped to its respective domain.Enhanced the search functionality to prioritize and filter results based on the currently selected language (e.g., Python, JavaScript), improving result relevance. The active language is now highlighted in search results for better clarity and usability.Updated scraper workflows to use new configuration files, aligning with recent structural changes and improving long-term maintainability.TypeScript Crypto Package:Refactored transaction handling to export ABI definitions for all known contracts (e.g., consensus, multipayment, usernames) and dynamically resolve contract method names. This enables the transaction table to display human-readable method names and parameters, eliminating the need for hardcoded signature mappings and improving clarity and maintainability. Next week, we’ll continue refining the SDKs based on feedback from the development team and begin documenting the upcoming Mainsail public devnet. ARK Vault Weekly Report This week, we worked on improvements and fixes based on recent internal testing and updates from Mainsail. Highlights include: Refactored the transaction table to display raw method signatures (e.g., 0x9f5523eb) for unknown contract methods instead of defaulting to “Contract Deployment,” improving transparency and debugging accuracy.Fixed the “Load More” button behavior in the transaction table. Previously, it would reset the view after a few seconds. Now, loaded transactions persist without disruption.Enhanced validator registration: If an address is already a validator without a validatorPublicKey, the flow now uses updateValidator instead of registerValidator, bypassing fund locking and displaying a relevant message to support legacy delegates.Resolved a bug in “Single View” mode where deleting an address would clear the entire profile. Now, the app correctly falls back to another imported address.Added deeplink support for voting, allowing links to trigger the voting flow using a validator’s name, public key, or legacy delegate name.Enabled deeplink support for message signing. The deep link now triggers the signing panel directly from the dashboard, aligning with the new side panel layout.Refactored the dim theme selection: it now appears as a dropdown on mobile while retaining button groups on larger screens. Added unit tests to cover these changes.Fixed padding issues in the contacts page header for consistent alignment with other views.Refactored the address select dropdown component to clarify whether changes apply globally or only to specific forms like transfer and signing, taking into account wallet balance display.Fixed an error when importing a Ledger wallet and immediately sending a transaction. The wallet now syncs with the network correctly upon import, avoiding milestone configuration errors.Adjusted spacing and button layout in the Ledger side panel to better align with design specifications.Fixed alignment issues in mobile views by removing excess margin in transaction review and approval pages.Standardized label usage across transaction flow pages by replacing all “Category” labels with “Method” in the Action section.Fixed mobile layout of the transaction table by truncating the “failed” label to prevent overflow. Added tests for this behavior.Improved mobile readability by adjusting font sizes: import buttons, success steps, recipient cards (14px), and sign message sidepanel close button (16px).Updated the empty state UI on the Contacts page for mobile to match design specifications.Revised the verify message form content and styling to match the latest designs. Updated success screen titles and corresponding test snapshots. (Note: header and padding updates to follow separately.)Enhanced the portfolio header to display the full address on desktop instead of truncating, improving visibility and clarity.Fixed and re-enabled E2E tests for the profile domain to improve test coverage and reliability. Next week, we’ll continue addressing feedback from internal testing and refining the UI based on recent tester remarks. Mainsail Weekly Report This week, we focused on resolving issues reported by the development team and continued work on legacy support. Key updates include: Fixed an issue where the username attribute was missing under certain conditions.Updated legacy second signatures to use raw ECDSA values (r, s, v).Removed the obsolete timestamp field from transactions.Cleaned up the api-development package by removing unused and broken endpoints. Next week, we’ll conduct a final round of internal testing and begin preparations for the first Public Mainsail Devnet. 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: Mainsail - https://github.com/ArkEcosystem/mainsail/issuesARK Connect (Extension) - https://github.com/ArdentHQ/arkconnect-extension/issuesARK Connect (Demo) - https://github.com/ArdentHQ/arkconnect-demo/issuesARK Scan - https://github.com/ArdentHQ/arkscan/issuesARK Vault - https://github.com/ArdentHQ/arkvault/issues Follow on Twitter (X) Follow us on X  (https://x.com/ArkEcosystem) 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. $ARK {spot}(ARKUSDT)

ARK Development Report - July 11, 2025

Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, we focused on the ARK Connect demo site and began updating the ARK Connect extension to align with the latest changes from Mainsail. The ARK Scan team worked on optimizing loading times and addressing Composer warnings, while improvements to the documentation site included user experience enhancements and the addition of ABI definitions to the PHP Crypto SDK. In ARK Vault, development continued with fixes and improvements driven by recent internal testing and Mainsail updates. Meanwhile, the Mainsail team addressed issues reported by the development team and continued work on legacy support features.
Development Activity Summary (July 4 – July 11, 2025)
Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from July 4, 2025, to July 11, 2025.

During this period, the team maintained strong productivity and engagement, delivering 132 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 Connect Weekly Report
This week, we focused on the ARK Connect demo site and began updating the ARK Connect extension to incorporate the latest changes from Mainsail. Work completed includes:
ARK Connect Demo Site:Fixed an issue where the vote modal did not correctly display the currently voted validator, ensuring the voting state is accurately reflected in the UI.Adjusted the validators list to display the username when available and fall back to the address otherwise, while also updating the filter logic to search by both username and address.ARK Connect Extension:Replaced all instances of “Delegate” with “Validator” across the codebase to reflect updated terminology and ensure consistency with current protocol language.Fixed the vote transaction sending logic to ensure the voting flow works correctly, allowing users to successfully broadcast their vote transactions.Fixed the logic for checking transaction confirmation status to ensure accurate detection and updates of confirmed transactions.Removed the network field from the contact object and updated the contact creation and editing pages accordingly. Simplifies the address validation logic for cleaner and more consistent handling.Adjusted the useExchangeRate hook to use the active profile for retrieving exchange rates instead of relying on the global environment object.Removed the network selection step from the create/import wallet flow and added a “Use Testnet” switch in the dropdown menu for testing purposes. Also refactored the useActiveNetwork hook to derive the active network from the profile.Fixed address truncation across multiple pages to ensure addresses display correctly.Fixed the UI to hide the validator username labels when the validator has no username set, so “Vote Validator Name” and “Unvote Validator Name” entries no longer show empty or placeholder text.Fixed the recent transactions list to correctly display vote and unvote transactions by falling back to the address when the validator’s username is not set and hiding helper text for unvote transactions.
Next week, we will continue implementing the necessary Mainsail updates in the extension and make further improvements to the demo site.
ARK Scan Weekly Report
This week, we focused on improving loading times and addressing Composer warnings. The work completed includes:
Optimized performance by improving how “voted for” wallets are handled in transaction tables and how delegates are fetched for missed blocks, reducing redundant queries and enhancing load times.Refactored support for the updateValidator transaction by displaying the correct method name and showing the BLS public key being set, rather than relying on the raw method signature.Resolved Composer warnings, updated the Foundation package, and fixed failing tests related to toast notifications to ensure a clean build and consistent test results.
Next week, we’ll address any issues reported by our internal testing team and continue working on further performance optimizations.
ARK SDKs and Documentation Site Weekly Report
This week, we focused on user experience improvements for the documentation site and added ABI definitions to the PHP Crypto SDK. Specifically, the work completed includes:
Documentation Site:Refactored to support additional Meilisearch indexes, allowing separate Meilisearch instances per documentation set (e.g., SDK and Mainsail) within a single-site setup. This introduces endpoint-based isolation to ensure each instance is scoped to its respective domain.Enhanced the search functionality to prioritize and filter results based on the currently selected language (e.g., Python, JavaScript), improving result relevance. The active language is now highlighted in search results for better clarity and usability.Updated scraper workflows to use new configuration files, aligning with recent structural changes and improving long-term maintainability.TypeScript Crypto Package:Refactored transaction handling to export ABI definitions for all known contracts (e.g., consensus, multipayment, usernames) and dynamically resolve contract method names. This enables the transaction table to display human-readable method names and parameters, eliminating the need for hardcoded signature mappings and improving clarity and maintainability.
Next week, we’ll continue refining the SDKs based on feedback from the development team and begin documenting the upcoming Mainsail public devnet.
ARK Vault Weekly Report
This week, we worked on improvements and fixes based on recent internal testing and updates from Mainsail. Highlights include:
Refactored the transaction table to display raw method signatures (e.g., 0x9f5523eb) for unknown contract methods instead of defaulting to “Contract Deployment,” improving transparency and debugging accuracy.Fixed the “Load More” button behavior in the transaction table. Previously, it would reset the view after a few seconds. Now, loaded transactions persist without disruption.Enhanced validator registration: If an address is already a validator without a validatorPublicKey, the flow now uses updateValidator instead of registerValidator, bypassing fund locking and displaying a relevant message to support legacy delegates.Resolved a bug in “Single View” mode where deleting an address would clear the entire profile. Now, the app correctly falls back to another imported address.Added deeplink support for voting, allowing links to trigger the voting flow using a validator’s name, public key, or legacy delegate name.Enabled deeplink support for message signing. The deep link now triggers the signing panel directly from the dashboard, aligning with the new side panel layout.Refactored the dim theme selection: it now appears as a dropdown on mobile while retaining button groups on larger screens. Added unit tests to cover these changes.Fixed padding issues in the contacts page header for consistent alignment with other views.Refactored the address select dropdown component to clarify whether changes apply globally or only to specific forms like transfer and signing, taking into account wallet balance display.Fixed an error when importing a Ledger wallet and immediately sending a transaction. The wallet now syncs with the network correctly upon import, avoiding milestone configuration errors.Adjusted spacing and button layout in the Ledger side panel to better align with design specifications.Fixed alignment issues in mobile views by removing excess margin in transaction review and approval pages.Standardized label usage across transaction flow pages by replacing all “Category” labels with “Method” in the Action section.Fixed mobile layout of the transaction table by truncating the “failed” label to prevent overflow. Added tests for this behavior.Improved mobile readability by adjusting font sizes: import buttons, success steps, recipient cards (14px), and sign message sidepanel close button (16px).Updated the empty state UI on the Contacts page for mobile to match design specifications.Revised the verify message form content and styling to match the latest designs. Updated success screen titles and corresponding test snapshots. (Note: header and padding updates to follow separately.)Enhanced the portfolio header to display the full address on desktop instead of truncating, improving visibility and clarity.Fixed and re-enabled E2E tests for the profile domain to improve test coverage and reliability.
Next week, we’ll continue addressing feedback from internal testing and refining the UI based on recent tester remarks.
Mainsail Weekly Report
This week, we focused on resolving issues reported by the development team and continued work on legacy support. Key updates include:
Fixed an issue where the username attribute was missing under certain conditions.Updated legacy second signatures to use raw ECDSA values (r, s, v).Removed the obsolete timestamp field from transactions.Cleaned up the api-development package by removing unused and broken endpoints.
Next week, we’ll conduct a final round of internal testing and begin preparations for the first Public Mainsail Devnet.
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:
Mainsail - https://github.com/ArkEcosystem/mainsail/issuesARK Connect (Extension) - https://github.com/ArdentHQ/arkconnect-extension/issuesARK Connect (Demo) - https://github.com/ArdentHQ/arkconnect-demo/issuesARK Scan - https://github.com/ArdentHQ/arkscan/issuesARK Vault - https://github.com/ArdentHQ/arkvault/issues
Follow on Twitter (X)
Follow us on X  (https://x.com/ArkEcosystem) 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.

$ARK
ARK Development Report - July 4, 2025Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, we rolled out several updates to the ARK Connect extension, while the ARK Scan team introduced a new feature to display legacy ARK addresses. The PHP Crypto package dependencies were updated to resolve Composer warnings and improve package management stability. Meanwhile, the ARK Vault team finalized the Dim Theme and added an option for it in the settings page. The Mainsail team addressed multiple API-related issues and released a new version for the internal testnet based on the V3 devnet snapshot. Development Activity Summary (June 27 – July 4, 2025) Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from June 27, 2025, to July 4, 2025. During this period, the team maintained strong productivity and engagement, delivering 147 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 Connect Weekly Report This week, we made several updates to the extension, including: Enhanced the fee input components to support both gas price and gas limit, along with other improvements to optimize fee handling.Refactored the transfer transaction sending logic, introducing minor adjustments to improve consistency and maintainability.Aligned with recent PSDK changes to display the locked fee during validator registration, and fixed dark mode styling issues for the radio button component. Next week, we’ll continue refining the extension and make additional updates to the Demo site as needed. ARK Scan Weekly Report This week, we focused on adding a new feature for displaying legacy ARK addresses, along with several other improvements. Work completed includes: Added support for displaying a wallet’s legacy ARK base58 address, linking to a legacy version of the explorer for viewing historical transactions. The address is shown similarly to the public key option and uses the existing explorer URL format from the network configuration.Refactored vote transaction handling to improve performance by fetching all voted-for wallets in a single query per page, instead of individually per transaction. This significantly improves transaction table load times.Improved missed blocks pagination by adding prefetching logic for next and previous pages. This enhances perceived speed by loading adjacent pages in the background, making navigation feel more responsive.Updated the annual statistics calculation to include multipayment amounts correctly using MultipaymentTotalAmountScope. Also fixed an issue where multipayment values were being double-counted in both total and recipient amounts within AveragesAggregate.Removed usage of the deprecated blocks.amount column after its removal in the latest Mainsail release. Adjusted all affected areas, including the blocks page, validator blocks page, and related statistics, to ensure compatibility and prevent errors.Resolved Composer warnings by updating dependencies and configuration to eliminate install-time issues and deprecation notices. Also addressed security vulnerability warnings by updating the impacted foundation dependency. Next week, we’ll continue working on optimizations and address any reported issues from internal testing. ARK SDKs & Docs Weekly Report This week, we updated the PHP Crypto package dependencies to resolve Composer warnings and enhance the stability of package management. Additionally, we merged the develop branch into master to consolidate the latest changes and released version 1.9.0 for use in other projects. Next week, we’ll address additional issues and improvements to the SDKs and ensure the documentation site is updated to reflect those changes. ARK Vault Weekly Report This week, we finalized the Dim Theme and added an option for it on the settings page. We also focused on fixes and general UI improvements. Work completed includes: Refactored the validator registration flow to hide the registration option if the address is already registered as a validator. Improved UI handling for partial validators (core delegates without BLS keys), displaying the resignation option when appropriate.Added support for a Dim Theme alongside Light and Dark modes. This included updating settings to allow theme selection, handling dim-specific images, and defining a dim color palette. Implementation followed the approach used in ARK Scan, using TailwindCSS for consistent styling across Vault.Fixed a bug where importing profiles with core delegates lacking BLS keys caused a black screen in Mainsail. The import process now handles these cases correctly, including scenarios with second signatures and encryption.Added Dim Theme support to the PWA banner, Ledger import and scan steps, disabled portfolio header button, and create profile component, ensuring consistent styling across the UI.Refactored the votes page to show validator usernames when available, falling back to addresses when usernames are missing for better clarity.Fixed a responsiveness issue in the transaction table where columns would overflow the container on screen widths between 1024px and 1278px.Refactored QR code handling to ignore coin references, resolving compatibility issues with Mainsail on the Receive page.Fixed a dark mode issue where the Welcome page background briefly flashed in light mode before switching, ensuring correct rendering from the start.Implemented support for validators registered before the locked fee was introduced by using the new validatorFee attribute. Updated transaction details, tables, and related views to reflect this correctly.Updated the transaction filter design to match the latest UI specifications for improved visual consistency.Adjusted sidepanel background styling in dim mode to align with the design system.Fixed Dim Theme configuration in base CSS by defining the theme as a variant in the Tailwind config instead of using a plugin. This enables proper use of dim: and dim-hover: prefixes. Also updated select dropdown styles for full dim mode support.Fixed alignment in the validators table so that entries match their respective column headers.Adjusted height and width of the sign message buttons in the desktop sidepanel view for better layout consistency.Refactored the transactions page to support the Dim Theme by updating components like dropdown icon helpers, input counters, wallet vote inputs, message transaction components, input fee components, and various form/review step components.Fixed dark mode colors for the radio button in the select address component to ensure proper visibility and consistent styling.Increased test coverage for the app/lib directory and removed outdated version notification code from the Electron implementation. Next week, we’ll focus on resolving any issues related to the newly introduced Dim Theme, along with further improvements and Mainsail EVM compatibility work. Mainsail Weekly Report This week, we addressed several API-related issues and released a new version for the internal testnet based on the V3 devnet snapshot. Work completed includes: Updated the publish workflow to use the latest Rust toolchain, resolving issues caused by an incompatible Rust version.Removed the timestamp field from the transaction interface. The API response still includes a timestamp, which matches the block’s timestamp.Released version 0.0.1-evm.21 for the internal testnet. Next week, we’ll focus on removing unused API endpoints and resolving issues in the api-development branch. 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: Mainsail - https://github.com/ArkEcosystem/mainsail/issuesARK Connect (Extension) - https://github.com/ArdentHQ/arkconnect-extension/issuesARK Connect (Demo) - https://github.com/ArdentHQ/arkconnect-demo/issuesARK Scan - https://github.com/ArdentHQ/arkscan/issuesARK Vault - https://github.com/ArdentHQ/arkvault/issues Follow on Twitter (X) Follow us on X  (https://x.com/ArkEcosystem) 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. $ARK {spot}(ARKUSDT)

ARK Development Report - July 4, 2025

Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, we rolled out several updates to the ARK Connect extension, while the ARK Scan team introduced a new feature to display legacy ARK addresses. The PHP Crypto package dependencies were updated to resolve Composer warnings and improve package management stability. Meanwhile, the ARK Vault team finalized the Dim Theme and added an option for it in the settings page. The Mainsail team addressed multiple API-related issues and released a new version for the internal testnet based on the V3 devnet snapshot.
Development Activity Summary (June 27 – July 4, 2025)
Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from June 27, 2025, to July 4, 2025.

During this period, the team maintained strong productivity and engagement, delivering 147 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 Connect Weekly Report
This week, we made several updates to the extension, including:
Enhanced the fee input components to support both gas price and gas limit, along with other improvements to optimize fee handling.Refactored the transfer transaction sending logic, introducing minor adjustments to improve consistency and maintainability.Aligned with recent PSDK changes to display the locked fee during validator registration, and fixed dark mode styling issues for the radio button component.
Next week, we’ll continue refining the extension and make additional updates to the Demo site as needed.
ARK Scan Weekly Report
This week, we focused on adding a new feature for displaying legacy ARK addresses, along with several other improvements. Work completed includes:
Added support for displaying a wallet’s legacy ARK base58 address, linking to a legacy version of the explorer for viewing historical transactions. The address is shown similarly to the public key option and uses the existing explorer URL format from the network configuration.Refactored vote transaction handling to improve performance by fetching all voted-for wallets in a single query per page, instead of individually per transaction. This significantly improves transaction table load times.Improved missed blocks pagination by adding prefetching logic for next and previous pages. This enhances perceived speed by loading adjacent pages in the background, making navigation feel more responsive.Updated the annual statistics calculation to include multipayment amounts correctly using MultipaymentTotalAmountScope. Also fixed an issue where multipayment values were being double-counted in both total and recipient amounts within AveragesAggregate.Removed usage of the deprecated blocks.amount column after its removal in the latest Mainsail release. Adjusted all affected areas, including the blocks page, validator blocks page, and related statistics, to ensure compatibility and prevent errors.Resolved Composer warnings by updating dependencies and configuration to eliminate install-time issues and deprecation notices. Also addressed security vulnerability warnings by updating the impacted foundation dependency.
Next week, we’ll continue working on optimizations and address any reported issues from internal testing.
ARK SDKs & Docs Weekly Report
This week, we updated the PHP Crypto package dependencies to resolve Composer warnings and enhance the stability of package management. Additionally, we merged the develop branch into master to consolidate the latest changes and released version 1.9.0 for use in other projects.
Next week, we’ll address additional issues and improvements to the SDKs and ensure the documentation site is updated to reflect those changes.
ARK Vault Weekly Report
This week, we finalized the Dim Theme and added an option for it on the settings page. We also focused on fixes and general UI improvements. Work completed includes:
Refactored the validator registration flow to hide the registration option if the address is already registered as a validator. Improved UI handling for partial validators (core delegates without BLS keys), displaying the resignation option when appropriate.Added support for a Dim Theme alongside Light and Dark modes. This included updating settings to allow theme selection, handling dim-specific images, and defining a dim color palette. Implementation followed the approach used in ARK Scan, using TailwindCSS for consistent styling across Vault.Fixed a bug where importing profiles with core delegates lacking BLS keys caused a black screen in Mainsail. The import process now handles these cases correctly, including scenarios with second signatures and encryption.Added Dim Theme support to the PWA banner, Ledger import and scan steps, disabled portfolio header button, and create profile component, ensuring consistent styling across the UI.Refactored the votes page to show validator usernames when available, falling back to addresses when usernames are missing for better clarity.Fixed a responsiveness issue in the transaction table where columns would overflow the container on screen widths between 1024px and 1278px.Refactored QR code handling to ignore coin references, resolving compatibility issues with Mainsail on the Receive page.Fixed a dark mode issue where the Welcome page background briefly flashed in light mode before switching, ensuring correct rendering from the start.Implemented support for validators registered before the locked fee was introduced by using the new validatorFee attribute. Updated transaction details, tables, and related views to reflect this correctly.Updated the transaction filter design to match the latest UI specifications for improved visual consistency.Adjusted sidepanel background styling in dim mode to align with the design system.Fixed Dim Theme configuration in base CSS by defining the theme as a variant in the Tailwind config instead of using a plugin. This enables proper use of dim: and dim-hover: prefixes. Also updated select dropdown styles for full dim mode support.Fixed alignment in the validators table so that entries match their respective column headers.Adjusted height and width of the sign message buttons in the desktop sidepanel view for better layout consistency.Refactored the transactions page to support the Dim Theme by updating components like dropdown icon helpers, input counters, wallet vote inputs, message transaction components, input fee components, and various form/review step components.Fixed dark mode colors for the radio button in the select address component to ensure proper visibility and consistent styling.Increased test coverage for the app/lib directory and removed outdated version notification code from the Electron implementation.
Next week, we’ll focus on resolving any issues related to the newly introduced Dim Theme, along with further improvements and Mainsail EVM compatibility work.
Mainsail Weekly Report
This week, we addressed several API-related issues and released a new version for the internal testnet based on the V3 devnet snapshot. Work completed includes:
Updated the publish workflow to use the latest Rust toolchain, resolving issues caused by an incompatible Rust version.Removed the timestamp field from the transaction interface. The API response still includes a timestamp, which matches the block’s timestamp.Released version 0.0.1-evm.21 for the internal testnet.
Next week, we’ll focus on removing unused API endpoints and resolving issues in the api-development branch.
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:
Mainsail - https://github.com/ArkEcosystem/mainsail/issuesARK Connect (Extension) - https://github.com/ArdentHQ/arkconnect-extension/issuesARK Connect (Demo) - https://github.com/ArdentHQ/arkconnect-demo/issuesARK Scan - https://github.com/ArdentHQ/arkscan/issuesARK Vault - https://github.com/ArdentHQ/arkvault/issues
Follow on Twitter (X)
Follow us on X  (https://x.com/ArkEcosystem) 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.

$ARK
ARK Development Report - June 27, 2025Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, the ARK Scan team tackled several issues related to multipayment handling and transaction amount accuracy, while a new method for retrieving the validator registration value was added to the documentation site. The ARK Vault team continued refining the Dim Theme and made further improvements to both the Validator Registration and Resignation flows. Meanwhile, the Mainsail team focused on enhancing the transaction pool and API, along with implementing several additional improvements across the codebase. Development Activity Summary (June 20 – June 27, 2025) Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from June 20, 2025, to June 27, 2025. During this period, the team maintained strong productivity and engagement, delivering 96 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 addressed several issues related to multipayment handling and transaction amount accuracy, including: Updating the block pagination logic to account for the snapshot starting point on the Mainsail network. This prevents the explorer from incorrectly showing extra pages by no longer assuming that blocks start at height 0.Fixing how received amounts are displayed in multipayment transactions so that only the amount received by the address is shown, instead of incorrectly showing the total sent minus the received portion.Correcting the transaction amount component to properly handle validator resignations by passing the amount directly, rather than using the transaction model as the amount argument. Next week, we’ll focus on additional improvements based on internal testing and address any issues that come up. ARK SDKs and Documentation Weekly Report This week we’ve added a new method for retrieving the validator registration value to our documentation site. The documentation has been updated accordingly to reflect this change. Our focus for next week will be on extending the SDKs to support the recent changes made to the validator contract. This includes implementing additional methods aligned with the latest updates. Once these enhancements are complete, we will also update the documentation site to ensure it accurately reflects the new functionality and provides developers with the necessary integration details. ARK Vault Weekly Report This week, we continued work on the Dim Theme, as well as improvements to the Validator Registration and Resignation flows, along with various other fixes and enhancements. Highlights include: Refactored validator fetching on the portfolio page to improve sync time and reduce unnecessary requests. Introduced caching to avoid refetching validators if the data is less than 5 minutes old. Increased batch size from 10 to 100 per request, and optimized early fetching of relevant validator details to speed up loading of the “voting for” section.Fixed an issue where an empty address in the transaction query parameter triggered a 422 error by adding validation to ensure only non-empty, valid addresses are processed.Resolved a bug causing multiple rerenders on the voting success page, which could freeze the UI. Now, navigation proceeds smoothly after a transaction confirms.Added Dim Theme support to votes pages, updating components like Toasts, validator footers and rows (both desktop and mobile), addresses, list items, pagination, and the trash icon.Updated the send and receive modals to support Dim Theme styling, covering components like Switches, Buttons, control groups, labels, QR modals, address selectors, fee input, and the receive funds screen.Applied Dim Theme updates across the settings pages, including button groups, lists, network selectors, sidebars, toggles, export functions, and various settings forms to ensure consistent styling.Fixed an issue where the simple fee option sometimes showed zero fees due to Mainsail returning 0. Now, fallback fee values are used in these cases to avoid invalid zero-fee transactions.Improved the validator registration flow to correctly show network fees for both simple and advanced options instead of falling back to default or zero values.A validation step was added to the validator registration form to enforce minimum balance requirements, preventing users from proceeding if their balance is insufficient for the locked and transaction fees.Fixed vote transactions that were incorrectly being sent as “Transfer” by correcting the access to the vote array, ensuring the proper transaction type is used.Updated the validator name UI to show up to 20 characters on desktop when possible, applying truncation only when necessary.Refactored wallet selection by removing the usePortfolio hook and moving wallet-related state into the profile and wallet interfaces for cleaner management.Fixed a confirmation page issue where leaving the page open during transaction confirmation triggered a request loop due to repeated failures followed by error transitions.Implemented locked fee handling in the validator resignation flow, displaying the unlocked value based on the original registration fee and caching transaction details to avoid redundant requests.Added a tip to the validator registration form to help users correctly enter their BLS key.Upgraded the PWA Vite plugin and other dependencies, including jest-extended, dot-prop, and replaced big.js with bignumber.js for better type compatibility. Also removed rambda in favor of existing utility functions.Handled locked fees in the transactions table by only displaying the locked amount for successful validator registration and resignation transactions. Failed transactions now show only the fee.Improved type definitions across several files to maintain alignment with app types and avoid suppressions.Updated react-toastify styling to align with version 11’s new approach, eliminating reliance on !important and ensuring correct application of custom styles.Updated minor dependencies related to Ledger and Viem, and modernized linting by upgrading ESLint dependencies to their latest major versions.Fixed flaky tests in the exchange domain to improve test reliability.Adjusted wallet vote info display so that the rank is now properly center-aligned for improved visual consistency. Next week, we’ll continue refining the Dim Theme and begin work on additional features recently added to Mainsail EVM. We’ll also address any issues identified during internal testing. Mainsail Weekly Report This week, we focused on improving the transaction pool and API, along with several other improvements. The completed work includes: Added rebroadcasting for local transactions on API nodes to improve reliability in the transaction pool.Fixed an issue where transactions with higher fees were not properly replacing existing ones in the transaction pool.Implemented a filter in the API to exclude legacy validators that lack a registered BLS key.Introduced a simulate API in the EVM-RPC to provide more accurate and dependable gas estimations.Fixed a bug in the snapshot module that caused some attributes to be missing when restoring legacy wallets. Next week, we will continue reviewing and adding support for legacy transactions to ensure broader compatibility across clients. Additionally, we will address any issues identified during internal snapshot testing. 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: Mainsail - https://github.com/ArkEcosystem/mainsail/issuesARK Connect (Extension) - https://github.com/ArdentHQ/arkconnect-extension/issuesARK Connect (Demo) - https://github.com/ArdentHQ/arkconnect-demo/issuesARK Scan - https://github.com/ArdentHQ/arkscan/issuesARK Vault - https://github.com/ArdentHQ/arkvault/issues Follow on Twitter (X) Follow us on X  (https://x.com/ArkEcosystem) 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. $ARK {spot}(ARKUSDT)

ARK Development Report - June 27, 2025

Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, the ARK Scan team tackled several issues related to multipayment handling and transaction amount accuracy, while a new method for retrieving the validator registration value was added to the documentation site. The ARK Vault team continued refining the Dim Theme and made further improvements to both the Validator Registration and Resignation flows. Meanwhile, the Mainsail team focused on enhancing the transaction pool and API, along with implementing several additional improvements across the codebase.
Development Activity Summary (June 20 – June 27, 2025)
Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from June 20, 2025, to June 27, 2025.

During this period, the team maintained strong productivity and engagement, delivering 96 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 addressed several issues related to multipayment handling and transaction amount accuracy, including:
Updating the block pagination logic to account for the snapshot starting point on the Mainsail network. This prevents the explorer from incorrectly showing extra pages by no longer assuming that blocks start at height 0.Fixing how received amounts are displayed in multipayment transactions so that only the amount received by the address is shown, instead of incorrectly showing the total sent minus the received portion.Correcting the transaction amount component to properly handle validator resignations by passing the amount directly, rather than using the transaction model as the amount argument.
Next week, we’ll focus on additional improvements based on internal testing and address any issues that come up.
ARK SDKs and Documentation Weekly Report
This week we’ve added a new method for retrieving the validator registration value to our documentation site. The documentation has been updated accordingly to reflect this change.
Our focus for next week will be on extending the SDKs to support the recent changes made to the validator contract. This includes implementing additional methods aligned with the latest updates. Once these enhancements are complete, we will also update the documentation site to ensure it accurately reflects the new functionality and provides developers with the necessary integration details.
ARK Vault Weekly Report
This week, we continued work on the Dim Theme, as well as improvements to the Validator Registration and Resignation flows, along with various other fixes and enhancements. Highlights include:
Refactored validator fetching on the portfolio page to improve sync time and reduce unnecessary requests. Introduced caching to avoid refetching validators if the data is less than 5 minutes old. Increased batch size from 10 to 100 per request, and optimized early fetching of relevant validator details to speed up loading of the “voting for” section.Fixed an issue where an empty address in the transaction query parameter triggered a 422 error by adding validation to ensure only non-empty, valid addresses are processed.Resolved a bug causing multiple rerenders on the voting success page, which could freeze the UI. Now, navigation proceeds smoothly after a transaction confirms.Added Dim Theme support to votes pages, updating components like Toasts, validator footers and rows (both desktop and mobile), addresses, list items, pagination, and the trash icon.Updated the send and receive modals to support Dim Theme styling, covering components like Switches, Buttons, control groups, labels, QR modals, address selectors, fee input, and the receive funds screen.Applied Dim Theme updates across the settings pages, including button groups, lists, network selectors, sidebars, toggles, export functions, and various settings forms to ensure consistent styling.Fixed an issue where the simple fee option sometimes showed zero fees due to Mainsail returning 0. Now, fallback fee values are used in these cases to avoid invalid zero-fee transactions.Improved the validator registration flow to correctly show network fees for both simple and advanced options instead of falling back to default or zero values.A validation step was added to the validator registration form to enforce minimum balance requirements, preventing users from proceeding if their balance is insufficient for the locked and transaction fees.Fixed vote transactions that were incorrectly being sent as “Transfer” by correcting the access to the vote array, ensuring the proper transaction type is used.Updated the validator name UI to show up to 20 characters on desktop when possible, applying truncation only when necessary.Refactored wallet selection by removing the usePortfolio hook and moving wallet-related state into the profile and wallet interfaces for cleaner management.Fixed a confirmation page issue where leaving the page open during transaction confirmation triggered a request loop due to repeated failures followed by error transitions.Implemented locked fee handling in the validator resignation flow, displaying the unlocked value based on the original registration fee and caching transaction details to avoid redundant requests.Added a tip to the validator registration form to help users correctly enter their BLS key.Upgraded the PWA Vite plugin and other dependencies, including jest-extended, dot-prop, and replaced big.js with bignumber.js for better type compatibility. Also removed rambda in favor of existing utility functions.Handled locked fees in the transactions table by only displaying the locked amount for successful validator registration and resignation transactions. Failed transactions now show only the fee.Improved type definitions across several files to maintain alignment with app types and avoid suppressions.Updated react-toastify styling to align with version 11’s new approach, eliminating reliance on !important and ensuring correct application of custom styles.Updated minor dependencies related to Ledger and Viem, and modernized linting by upgrading ESLint dependencies to their latest major versions.Fixed flaky tests in the exchange domain to improve test reliability.Adjusted wallet vote info display so that the rank is now properly center-aligned for improved visual consistency.
Next week, we’ll continue refining the Dim Theme and begin work on additional features recently added to Mainsail EVM. We’ll also address any issues identified during internal testing.
Mainsail Weekly Report
This week, we focused on improving the transaction pool and API, along with several other improvements. The completed work includes:
Added rebroadcasting for local transactions on API nodes to improve reliability in the transaction pool.Fixed an issue where transactions with higher fees were not properly replacing existing ones in the transaction pool.Implemented a filter in the API to exclude legacy validators that lack a registered BLS key.Introduced a simulate API in the EVM-RPC to provide more accurate and dependable gas estimations.Fixed a bug in the snapshot module that caused some attributes to be missing when restoring legacy wallets.
Next week, we will continue reviewing and adding support for legacy transactions to ensure broader compatibility across clients. Additionally, we will address any issues identified during internal snapshot testing.
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:
Mainsail - https://github.com/ArkEcosystem/mainsail/issuesARK Connect (Extension) - https://github.com/ArdentHQ/arkconnect-extension/issuesARK Connect (Demo) - https://github.com/ArdentHQ/arkconnect-demo/issuesARK Scan - https://github.com/ArdentHQ/arkscan/issuesARK Vault - https://github.com/ArdentHQ/arkvault/issues
Follow on Twitter (X)
Follow us on X  (https://x.com/ArkEcosystem) 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.
$ARK
ARK Development Report - June 20, 2025Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, work progressed on the ARK Connect demo website to support MetaMask integration, while the ARK Scan team resolved issues with multipayment calculation logic and improved validator transaction detail displays. We also updated the TypeScript Crypto package to enable validator registration with a locked amount. In ARK Vault, development continued on Dim Theme components, the Validator Registration flow, and further improvements to test coverage. Meanwhile, the Mainsail team focused on general fixes and continued refining the validator contracts. Development Activity Summary (June 13 – June 20, 2025) Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from June 13, 2025, to June 20, 2025. ProjectCommitsAuthorsARK Connect81ARK Scan51ARK SDKs & Docs21ARK Vault424Mainsail312 During this period, the team maintained strong productivity and engagement, delivering 88 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 Connect Weekly Report Continued working on the ARK Connect demo website with MetaMask integration. Work done included: Support was implemented for sending vote transactions via MetaMask. Users can now initiate and sign vote transactions directly through the MetaMask app.Replaced all references of delegate with validator throughout the codebase and updated the fetching logic to retrieve 53 active validators (instead of 51). Also adjusted property handling to ensure correct data is pulled and displayed, and replaced instances of .username() with .address() to reflect the updated data structure.Fixed a fee calculation issue when sending transactions by setting the priority fee to 0. This resolves RPC-related errors that were previously blocking transaction submission.Implemented message signing through MetaMask. When a user initiates message signing, the request is sent to MetaMask and signed using the selected account. Currently, the signed message is output to the developer console. Next week, we will continue working on the MetaMask integration via the ARK Connect demo site for Mainsail EVM. We will also address and fix any issues reported during testing. ARK Scan Weekly Report Focused on fixing multipayment calculation logic and enhancing the validator transaction details. Key updates include Fixed the multipayment calculation logic to properly handle cases where the sender is also a recipient. Previously, amounts sent back to the sender were incorrectly counted as outgoing, leading to inaccurate negative totals in the transaction table. Now, only actual outgoing payments to other addresses are included in the displayed amount.Refactored the validator registration transaction to include the locked amount value. This ensures that the amount being locked during validator registration is shown on the transaction details page.Updated the validator resignation transaction to include the unlocked amount, so it is also displayed on the transaction details page. Next week, we’ll be addressing any additional issues reported during internal devnet testing. ARK SDKs & Docs Weekly Report This week, we updated the TypeScript Crypto package to support validator registration with a locked amount. The registration transaction now includes lockedAmount parameter, which defaults to 250 ARK if not specified. Next week, we’ll begin updating the remaining SDK packages to support both locked and unlocked amounts for Validator Registration and Resignation transactions. ARK Vault Weekly Report This week continued working on Dim Theme components, as well as working on the Validator Registration flow and improving test coverage. Work done includes: Dim theme support has been added to key UI components across the transactions page, including Checkbox, Divider, Dropdown, Tooltip, Tabs, Navbar wrapper, Mobile card, Portfolio header, Transaction row (both desktop and mobile), and Wallet header. With these updates, the portfolio page now fully supports the dim theme.Dim theme support has been added to the error pages by introducing new icons specifically designed for use in dim mode. This ensures a consistent visual experience and clarity.The transaction details modal now supports dim theme. This includes updates to the detail wrapper, the info variant of the label component, the address component, and all related utility components within the modal.The validator registration flow has been updated to fetch the current registration fee from the active milestone and display it in the registration UI. The transaction process has been verified to work correctly with this fee included. Additionally, the transaction details for validator registration now show the validator’s locked funds, providing clear visibility of the locked amount involved.Dim theme support has been added to the exchange pages. The updates include the Spinner Loaded component, Card component, the secondary-icon button variant, and the form, review, and status step components related to exchange forms. These changes ensure the exchange pages properly support the dim theme.The contacts page has been updated so that all its components now fully support the dim theme. This includes the header component, input placeholders, mobile table elements, contact list items, and contact buttons.Dim theme support has been added for several components, including radio buttons, input password fields, disabled buttons, side panel, progress bars, and multi-entry item lists. The address selection, import address (except Ledger tabs), and create address side panel have been refactored to fully support it.React Router and React Router DOM dependencies have been updated to major version 7.6.1. This update includes breaking changes such as the removal of useHistory and the deprecation of Prompt for blocking navigation, among other adjustments. Code has been refactored accordingly to accommodate these changes.The dependencies have been updated to the latest major versions, including react-datepicker, i18next, react-toastify, tailwind-merge, locale-currency, browser-fs-access, and @tailwindcss/forms.The ESLint configuration has been fixed to ensure that running ESLint via the local binary works without errors. The config and any related scripts were adjusted so that running node_modules/.bin/eslint src/app/i18n/common/i18n.ts --fix completes successfully. This also restores autofix functionality within IDEs for a smoother development experience.Tests have been added and coverage increased for key application libraries, including markets, internationalization (intl), and profile-related modules. This improves overall test reliability and code quality in those areas. Next week, we will continue working on finalizing Dim Theme support, improving test coverage, and implementing further improvements to the Validator Registration and Resignation flows. Mainsail Weekly Report This week, we continued working on general fixes and made further improvements to the validator contracts. The work completed includes: Renamed statHash to stateRoot.Registered missing logger bindings in the snapshot exporter.Synced validator registration fee to the API database.Added support for snapshot download in the config:publish:custom command.Used fallback wallet for genesis block lookup to fix block responses with the genesis wallet.Removed maxTransactions for the block milestone. Block transactions are now limited by gasUsed and size constraints.Renamed remaining occurrences of height to blockNumber.Updated Rust dependencies.Preserved registrationFee on validator data after resignation to track the returned value.Fixed missing logs by redirecting worker logs to the main process.Removed the amount field from blocks. This field is no longer relevant due to the inability to control whether a transaction is accepted or reverted, or how contract logic handles the received amount. Next week, we’ll continue reviewing and adding support for legacy transactions to ensure broader client compatibility, based on our internal testnet using Core V3 data. 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: Mainsail - https://github.com/ArkEcosystem/mainsail/issuesARK Connect (Extension) - https://github.com/ArdentHQ/arkconnect-extension/issuesARK Connect (Demo) - https://github.com/ArdentHQ/arkconnect-demo/issuesARK Scan - https://github.com/ArdentHQ/arkscan/issuesARK Vault - https://github.com/ArdentHQ/arkvault/issues Follow on Twitter (X) Follow us on X  (https://x.com/ArkEcosystem) 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.

ARK Development Report - June 20, 2025

Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, work progressed on the ARK Connect demo website to support MetaMask integration, while the ARK Scan team resolved issues with multipayment calculation logic and improved validator transaction detail displays. We also updated the TypeScript Crypto package to enable validator registration with a locked amount. In ARK Vault, development continued on Dim Theme components, the Validator Registration flow, and further improvements to test coverage. Meanwhile, the Mainsail team focused on general fixes and continued refining the validator contracts.
Development Activity Summary (June 13 – June 20, 2025)
Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from June 13, 2025, to June 20, 2025.

ProjectCommitsAuthorsARK Connect81ARK Scan51ARK SDKs & Docs21ARK Vault424Mainsail312
During this period, the team maintained strong productivity and engagement, delivering 88 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 Connect Weekly Report
Continued working on the ARK Connect demo website with MetaMask integration. Work done included:
Support was implemented for sending vote transactions via MetaMask. Users can now initiate and sign vote transactions directly through the MetaMask app.Replaced all references of delegate with validator throughout the codebase and updated the fetching logic to retrieve 53 active validators (instead of 51). Also adjusted property handling to ensure correct data is pulled and displayed, and replaced instances of .username() with .address() to reflect the updated data structure.Fixed a fee calculation issue when sending transactions by setting the priority fee to 0. This resolves RPC-related errors that were previously blocking transaction submission.Implemented message signing through MetaMask. When a user initiates message signing, the request is sent to MetaMask and signed using the selected account. Currently, the signed message is output to the developer console.
Next week, we will continue working on the MetaMask integration via the ARK Connect demo site for Mainsail EVM. We will also address and fix any issues reported during testing.
ARK Scan Weekly Report
Focused on fixing multipayment calculation logic and enhancing the validator transaction details. Key updates include
Fixed the multipayment calculation logic to properly handle cases where the sender is also a recipient. Previously, amounts sent back to the sender were incorrectly counted as outgoing, leading to inaccurate negative totals in the transaction table. Now, only actual outgoing payments to other addresses are included in the displayed amount.Refactored the validator registration transaction to include the locked amount value. This ensures that the amount being locked during validator registration is shown on the transaction details page.Updated the validator resignation transaction to include the unlocked amount, so it is also displayed on the transaction details page.
Next week, we’ll be addressing any additional issues reported during internal devnet testing.
ARK SDKs & Docs Weekly Report
This week, we updated the TypeScript Crypto package to support validator registration with a locked amount. The registration transaction now includes lockedAmount parameter, which defaults to 250 ARK if not specified.
Next week, we’ll begin updating the remaining SDK packages to support both locked and unlocked amounts for Validator Registration and Resignation transactions.
ARK Vault Weekly Report
This week continued working on Dim Theme components, as well as working on the Validator Registration flow and improving test coverage. Work done includes:
Dim theme support has been added to key UI components across the transactions page, including Checkbox, Divider, Dropdown, Tooltip, Tabs, Navbar wrapper, Mobile card, Portfolio header, Transaction row (both desktop and mobile), and Wallet header. With these updates, the portfolio page now fully supports the dim theme.Dim theme support has been added to the error pages by introducing new icons specifically designed for use in dim mode. This ensures a consistent visual experience and clarity.The transaction details modal now supports dim theme. This includes updates to the detail wrapper, the info variant of the label component, the address component, and all related utility components within the modal.The validator registration flow has been updated to fetch the current registration fee from the active milestone and display it in the registration UI. The transaction process has been verified to work correctly with this fee included. Additionally, the transaction details for validator registration now show the validator’s locked funds, providing clear visibility of the locked amount involved.Dim theme support has been added to the exchange pages. The updates include the Spinner Loaded component, Card component, the secondary-icon button variant, and the form, review, and status step components related to exchange forms. These changes ensure the exchange pages properly support the dim theme.The contacts page has been updated so that all its components now fully support the dim theme. This includes the header component, input placeholders, mobile table elements, contact list items, and contact buttons.Dim theme support has been added for several components, including radio buttons, input password fields, disabled buttons, side panel, progress bars, and multi-entry item lists. The address selection, import address (except Ledger tabs), and create address side panel have been refactored to fully support it.React Router and React Router DOM dependencies have been updated to major version 7.6.1. This update includes breaking changes such as the removal of useHistory and the deprecation of Prompt for blocking navigation, among other adjustments. Code has been refactored accordingly to accommodate these changes.The dependencies have been updated to the latest major versions, including react-datepicker, i18next, react-toastify, tailwind-merge, locale-currency, browser-fs-access, and @tailwindcss/forms.The ESLint configuration has been fixed to ensure that running ESLint via the local binary works without errors. The config and any related scripts were adjusted so that running node_modules/.bin/eslint src/app/i18n/common/i18n.ts --fix completes successfully. This also restores autofix functionality within IDEs for a smoother development experience.Tests have been added and coverage increased for key application libraries, including markets, internationalization (intl), and profile-related modules. This improves overall test reliability and code quality in those areas.
Next week, we will continue working on finalizing Dim Theme support, improving test coverage, and implementing further improvements to the Validator Registration and Resignation flows.
Mainsail Weekly Report
This week, we continued working on general fixes and made further improvements to the validator contracts. The work completed includes:
Renamed statHash to stateRoot.Registered missing logger bindings in the snapshot exporter.Synced validator registration fee to the API database.Added support for snapshot download in the config:publish:custom command.Used fallback wallet for genesis block lookup to fix block responses with the genesis wallet.Removed maxTransactions for the block milestone. Block transactions are now limited by gasUsed and size constraints.Renamed remaining occurrences of height to blockNumber.Updated Rust dependencies.Preserved registrationFee on validator data after resignation to track the returned value.Fixed missing logs by redirecting worker logs to the main process.Removed the amount field from blocks. This field is no longer relevant due to the inability to control whether a transaction is accepted or reverted, or how contract logic handles the received amount.
Next week, we’ll continue reviewing and adding support for legacy transactions to ensure broader client compatibility, based on our internal testnet using Core V3 data.
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:
Mainsail - https://github.com/ArkEcosystem/mainsail/issuesARK Connect (Extension) - https://github.com/ArdentHQ/arkconnect-extension/issuesARK Connect (Demo) - https://github.com/ArdentHQ/arkconnect-demo/issuesARK Scan - https://github.com/ArdentHQ/arkscan/issuesARK Vault - https://github.com/ArdentHQ/arkvault/issues
Follow on Twitter (X)
Follow us on X  (https://x.com/ArkEcosystem) 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.
ARK Development Report - June 13, 2025Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, we continued making progress on the MetaMask integration for the ARK Connect demo website. The development also advanced on the PHP Crypto package for Mainsail, with a focus on expanding test suite coverage. The ARK Vault team introduced a new Dim Theme and increased test coverage across the application. Meanwhile, the Mainsail team has been working diligently to prepare for the upcoming internal Devnet launch, including Snapshot V3 preparations, new API additions, and other foundational improvements. Development Activity Summary (June 6 – June 13, 2025) Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from June 6, 2025, to June 13, 2025. During this period, the team maintained strong productivity and engagement, delivering 107 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 Connect Weekly Report This week we have continued working on the MetaMask integration into the ARK Connect Demo website. Work done included: Added the initial scaffolding for MetaMask integration, featuring a MetaMask button with multiple UI states to reflect connection status and user interaction flow.Replaced the ethers package with the viem library to handle MetaMask connection and chain addition. A custom hook was introduced to unify and manage both ARK Connect and MetaMask through a shared interface, streamlining integration and interaction.Implemented data retrieval features, including a disconnect action, UI handling for chain changes, and balance display by fetching data from the Mainsail API.Updated the transactions table to align with the latest Mainsail API changes, ensuring correct data mapping and presentation.Enabled support for sending transfers through MetaMask, allowing users to initiate transactions directly from their MetaMask wallet. Next week we’ll continue working on the MetaMask integration into the ARK Connect Demo site. ARK SDKs & Docs Weekly Report This week we have been working on the PHP Crypto package for Mainsail. Expanded test suite coverage for the PHP Crypto package to support Mainsail, including tests for ABI encoder/decoder, binary buffer, binary hex reader/writer, transaction builder, transaction types, RLP encoder/decoder, and both unsigned and signed binary integer readers/writers. There have also been adjustments made to the PHP, Python and TypeScript SDKs in advance of an incoming Mainsail change that affects Validator Registrations. Next week, we’ll continue improving the PHP Crypto coverage and implement any additional updates to the SDKs as needed. ARK Vault Weekly Report This week we’ve been working on a new feature: Dim Theme, which is already in use on ARK Scan. We also focused on increasing test coverage across the application. Work completed this week included: Implemented a new Dim Theme based on design specifications. This involved initial configuration and theme logic, following the approach used in ARK Scan. The dim theme shares the dark class but introduces a dim-hover modifier in the Tailwind plugin to prevent styling conflicts. Key updates include:Adjusted background and minor danger color styles within the dark palette.Added dim theme support for:Buttons (primary & secondary)Link componentTheme Icon (via an optional prop)Navbar, Navbar dropdown, and Navbar buttonWelcome page and Dashboard onboarding page, including updated icons and imagesIcons used within the ThemeIcon componentSkeleton Loader, Table wrapper, Table row (hover), Label, and Table header (focused on base styles, with page-specific tweaks to follow)Dim-specific images in the Image componentRefactored the use-theme hook to support dim mode and persist user preference in profile configurations.Added theme toggle functionality to the config panel.Updated unit tests and snapshots to reflect theme-related changes.Increased test coverage to improve reliability and maintainability. Specifically, tests were added for:src/domains/transaction/validationssrc/domains/transaction/utilssrc/utilssrc/app/libs/helperssrc/domains/transaction/hookssrc/app/lib/profiles/helperssrc/app/lib/mainsail/helpers This work enhances confidence in the app’s stability and supports future development by reducing the likelihood of regressions. Next week we’ll continue expanding test coverage, addressing any reported issues, and making further improvements to the dim theme and the application overall. Mainsail Weekly Report Missed the news? We’ve published our latest update blog post on Mainsail. You can read it here. We’ve been working hard over the past week to prepare for the internal Devnet launch. Here’s a summary of the key updates: Made API database columns case-insensitive. Users can now query addresses and other fields regardless of casing, while results are still returned in their original format.Removed the legacy SupplyCalculator. During database restore, supply is now calculated as the sum of all account balances, including wallets and contracts.Removed all legacy usage of VendorField, as it is incompatible with Ethereum transaction types.Fixed account lookup logic when accounts are missing from the historical data of recent blocks. If not found in temporary history, the system now falls back to the account database.Refactored the block verifier into separate block verification handlers. All block checks are now centralized in the block processor, rather than being scattered across the codebase.Added support for a validator registration fee in the consensus contract. A fee of 250 ARK is now collected when a new validator registers, and it is refunded upon resignation. Existing validators are unaffected and will not receive a refund upon resignation. Looking ahead to next week, our focus will shift fully to V3 Devnet Snapshot testing on the internal network. We will also review and implement support for legacy transactions to ensure broader client compatibility. 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: Mainsail - https://github.com/ArkEcosystem/mainsail/issuesARK Connect (Extension) - https://github.com/ArdentHQ/arkconnect-extension/issuesARK Connect (Demo) - https://github.com/ArdentHQ/arkconnect-demo/issuesARK Scan - https://github.com/ArdentHQ/arkscan/issuesARK Vault - https://github.com/ArdentHQ/arkvault/issues Follow on Twitter (X) Follow us on X  (https://x.com/ArkEcosystem) 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.

ARK Development Report - June 13, 2025

Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, we continued making progress on the MetaMask integration for the ARK Connect demo website. The development also advanced on the PHP Crypto package for Mainsail, with a focus on expanding test suite coverage. The ARK Vault team introduced a new Dim Theme and increased test coverage across the application. Meanwhile, the Mainsail team has been working diligently to prepare for the upcoming internal Devnet launch, including Snapshot V3 preparations, new API additions, and other foundational improvements.
Development Activity Summary (June 6 – June 13, 2025)
Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from June 6, 2025, to June 13, 2025.

During this period, the team maintained strong productivity and engagement, delivering 107 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 Connect Weekly Report
This week we have continued working on the MetaMask integration into the ARK Connect Demo website. Work done included:
Added the initial scaffolding for MetaMask integration, featuring a MetaMask button with multiple UI states to reflect connection status and user interaction flow.Replaced the ethers package with the viem library to handle MetaMask connection and chain addition. A custom hook was introduced to unify and manage both ARK Connect and MetaMask through a shared interface, streamlining integration and interaction.Implemented data retrieval features, including a disconnect action, UI handling for chain changes, and balance display by fetching data from the Mainsail API.Updated the transactions table to align with the latest Mainsail API changes, ensuring correct data mapping and presentation.Enabled support for sending transfers through MetaMask, allowing users to initiate transactions directly from their MetaMask wallet.
Next week we’ll continue working on the MetaMask integration into the ARK Connect Demo site.
ARK SDKs & Docs Weekly Report
This week we have been working on the PHP Crypto package for Mainsail. Expanded test suite coverage for the PHP Crypto package to support Mainsail, including tests for ABI encoder/decoder, binary buffer, binary hex reader/writer, transaction builder, transaction types, RLP encoder/decoder, and both unsigned and signed binary integer readers/writers. There have also been adjustments made to the PHP, Python and TypeScript SDKs in advance of an incoming Mainsail change that affects Validator Registrations.
Next week, we’ll continue improving the PHP Crypto coverage and implement any additional updates to the SDKs as needed.
ARK Vault Weekly Report
This week we’ve been working on a new feature: Dim Theme, which is already in use on ARK Scan. We also focused on increasing test coverage across the application. Work completed this week included:
Implemented a new Dim Theme based on design specifications. This involved initial configuration and theme logic, following the approach used in ARK Scan. The dim theme shares the dark class but introduces a dim-hover modifier in the Tailwind plugin to prevent styling conflicts. Key updates include:Adjusted background and minor danger color styles within the dark palette.Added dim theme support for:Buttons (primary & secondary)Link componentTheme Icon (via an optional prop)Navbar, Navbar dropdown, and Navbar buttonWelcome page and Dashboard onboarding page, including updated icons and imagesIcons used within the ThemeIcon componentSkeleton Loader, Table wrapper, Table row (hover), Label, and Table header (focused on base styles, with page-specific tweaks to follow)Dim-specific images in the Image componentRefactored the use-theme hook to support dim mode and persist user preference in profile configurations.Added theme toggle functionality to the config panel.Updated unit tests and snapshots to reflect theme-related changes.Increased test coverage to improve reliability and maintainability. Specifically, tests were added for:src/domains/transaction/validationssrc/domains/transaction/utilssrc/utilssrc/app/libs/helperssrc/domains/transaction/hookssrc/app/lib/profiles/helperssrc/app/lib/mainsail/helpers This work enhances confidence in the app’s stability and supports future development by reducing the likelihood of regressions.
Next week we’ll continue expanding test coverage, addressing any reported issues, and making further improvements to the dim theme and the application overall.
Mainsail Weekly Report
Missed the news? We’ve published our latest update blog post on Mainsail. You can read it here.
We’ve been working hard over the past week to prepare for the internal Devnet launch. Here’s a summary of the key updates:
Made API database columns case-insensitive. Users can now query addresses and other fields regardless of casing, while results are still returned in their original format.Removed the legacy SupplyCalculator. During database restore, supply is now calculated as the sum of all account balances, including wallets and contracts.Removed all legacy usage of VendorField, as it is incompatible with Ethereum transaction types.Fixed account lookup logic when accounts are missing from the historical data of recent blocks. If not found in temporary history, the system now falls back to the account database.Refactored the block verifier into separate block verification handlers. All block checks are now centralized in the block processor, rather than being scattered across the codebase.Added support for a validator registration fee in the consensus contract. A fee of 250 ARK is now collected when a new validator registers, and it is refunded upon resignation. Existing validators are unaffected and will not receive a refund upon resignation.
Looking ahead to next week, our focus will shift fully to V3 Devnet Snapshot testing on the internal network. We will also review and implement support for legacy transactions to ensure broader client compatibility.
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:
Mainsail - https://github.com/ArkEcosystem/mainsail/issuesARK Connect (Extension) - https://github.com/ArdentHQ/arkconnect-extension/issuesARK Connect (Demo) - https://github.com/ArdentHQ/arkconnect-demo/issuesARK Scan - https://github.com/ArdentHQ/arkscan/issuesARK Vault - https://github.com/ArdentHQ/arkvault/issues
Follow on Twitter (X)
Follow us on X  (https://x.com/ArkEcosystem) 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.
Gearing Up for Launch: Mainsail EVM Public Devnet Nears ReleaseSince our last update, we’ve been heads down preparing Mainsail EVM for prime time. We’re closing in on the final fixes and getting ready to launch the Public Devnet. Here’s a behind-the-scenes look at what we’ve been working on. V3 BLS Public Key Registration To bootstrap the Public Devnet, we’ll be using a snapshot from the V3 Devnet. For the genesis block, we’ve introduced a new transaction type in Core V3 - BLSPublicKeyRegistration - https://github.com/ArkEcosystem/core/pull/4830. This transaction type allows delegates to register a BLS public key to a new attribute - delegate.blsPublicKey. Key rules: Only delegates can register a BLS public key.Each BLS public key must be unique.Delegates can overwrite their previously registered key at any time. To streamline registration, we’ve created a CLI helper script: 👉 BLS Public Key Registration CLI (https://github.com/ArkEcosystem/bls-public-key-registration-cli) All V3 delegates on Devnet are encouraged to register their BLS key in advance to ensure inclusion in the Devnet snapshot and maintain seamless forging capabilities. Note: Mainsail requires at least 2/3 of validators to be online with registered BLS keys in order to produce blocks. If you miss the snapshot window don’t worry, you can still register your key via a ValidatorRegistration call after launch. You just won’t be part of the first block. Validator Registration Fee Initially, registering as a validator on Mainsail had no cost beyond gas fees. However, to improve security, commitment, and scalability, we’re introducing a fixed registration fee. Initial fee: 250 ARK (in addition to gas)Controlled via: MilestonesRefund policy: Validators who resign will be refunded (minus gas costs) Snapshot Overview Let’s clarify what we mean by the “V3 snapshot”. Since Mainsail’s Devnet/Mainnet will be using V3 data, we need specific on-chain data exported from V3’s Postgres database. We use the @mainsail/snapshot-legacy-exporter to turn this data into a snapshot file. Snapshot includes: Block height and hash at export timeWallet list (address, publicKey, balance)Attributes like vote, delegate.username, delegate.blsPublicKey, secondPublicKey, etc. Snapshots are: SHA256 hashed (used as filename)Brotli compressed to reduce size Genesis Block with Snapshot When using a snapshot, the genesis block does not include transactions. Instead, it references a snapshot hash to locate the snapshot file which is then: Decompressed and validated using @mainsail/snapshot-legacy-importerUsed to create EVM accounts and perform contract calls like registerValidator, vote, and registerUsername Cold Wallets: Wallets without a public key are still supported. During import, Mainsail matches ARK and ETH addresses and merges balances where appropriate. Second Signature Wallets: Outgoing transactions remain fully supported, and ARK Vault remains compatible. However, registering new second signature wallets is not possible on Mainsail. E2E Testing Scenarios We’ve expanded our end-to-end testing to include networks bootstrapped from snapshots - just like the upcoming Public Devnet and future Mainnet. To support this, we built tools to auto-generate and update network configs, helping us test under different network conditions. What’s Next? We’re almost ready to hoist the sails and launch the Mainsail Public Devnet in the upcoming weeks. Until then, we’re focused on polishing and testing the internal Devnet. We’re incredibly excited to welcome early adopters and contributors to the ARK Mainsail EVM Devnet very soon. Stay tuned as the sails are almost set. Follow on Twitter (X) Follow us on X  (https://x.com/ArkEcosystem) 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. $ARK

Gearing Up for Launch: Mainsail EVM Public Devnet Nears Release

Since our last update, we’ve been heads down preparing Mainsail EVM for prime time. We’re closing in on the final fixes and getting ready to launch the Public Devnet. Here’s a behind-the-scenes look at what we’ve been working on.
V3 BLS Public Key Registration
To bootstrap the Public Devnet, we’ll be using a snapshot from the V3 Devnet. For the genesis block, we’ve introduced a new transaction type in Core V3 - BLSPublicKeyRegistration - https://github.com/ArkEcosystem/core/pull/4830.
This transaction type allows delegates to register a BLS public key to a new attribute - delegate.blsPublicKey.
Key rules:
Only delegates can register a BLS public key.Each BLS public key must be unique.Delegates can overwrite their previously registered key at any time.
To streamline registration, we’ve created a CLI helper script: 👉 BLS Public Key Registration CLI (https://github.com/ArkEcosystem/bls-public-key-registration-cli)
All V3 delegates on Devnet are encouraged to register their BLS key in advance to ensure inclusion in the Devnet snapshot and maintain seamless forging capabilities.
Note: Mainsail requires at least 2/3 of validators to be online with registered BLS keys in order to produce blocks.
If you miss the snapshot window don’t worry, you can still register your key via a ValidatorRegistration call after launch. You just won’t be part of the first block.
Validator Registration Fee
Initially, registering as a validator on Mainsail had no cost beyond gas fees. However, to improve security, commitment, and scalability, we’re introducing a fixed registration fee.
Initial fee: 250 ARK (in addition to gas)Controlled via: MilestonesRefund policy: Validators who resign will be refunded (minus gas costs)
Snapshot Overview
Let’s clarify what we mean by the “V3 snapshot”.
Since Mainsail’s Devnet/Mainnet will be using V3 data, we need specific on-chain data exported from V3’s Postgres database. We use the @mainsail/snapshot-legacy-exporter to turn this data into a snapshot file.
Snapshot includes:
Block height and hash at export timeWallet list (address, publicKey, balance)Attributes like vote, delegate.username, delegate.blsPublicKey, secondPublicKey, etc.
Snapshots are:
SHA256 hashed (used as filename)Brotli compressed to reduce size
Genesis Block with Snapshot
When using a snapshot, the genesis block does not include transactions. Instead, it references a snapshot hash to locate the snapshot file which is then:
Decompressed and validated using @mainsail/snapshot-legacy-importerUsed to create EVM accounts and perform contract calls like registerValidator, vote, and registerUsername
Cold Wallets: Wallets without a public key are still supported. During import, Mainsail matches ARK and ETH addresses and merges balances where appropriate.
Second Signature Wallets: Outgoing transactions remain fully supported, and ARK Vault remains compatible. However, registering new second signature wallets is not possible on Mainsail.
E2E Testing Scenarios
We’ve expanded our end-to-end testing to include networks bootstrapped from snapshots - just like the upcoming Public Devnet and future Mainnet.
To support this, we built tools to auto-generate and update network configs, helping us test under different network conditions.
What’s Next?
We’re almost ready to hoist the sails and launch the Mainsail Public Devnet in the upcoming weeks. Until then, we’re focused on polishing and testing the internal Devnet.
We’re incredibly excited to welcome early adopters and contributors to the ARK Mainsail EVM Devnet very soon.
Stay tuned as the sails are almost set.
Follow on Twitter (X)
Follow us on X  (https://x.com/ArkEcosystem) 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.

$ARK
ARK Development Report - June 6, 2025Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. Over the past week, we began adding MetaMask support to the ARK Connect demo website to showcase the Mainsail integration with existing EVM tools. We updated the documentation site for the ethCall function to support passing the request body as a parameter. The ARK Vault team focused on strengthening the test suite, delivering several updates and fixes related to Ledger support and the Side Panel. Meanwhile, on the Mainsail front, efforts continued around refining contracts and preparing for the upcoming Core snapshot. Development Activity Summary (May 30 – June 6, 2025) Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from May 30, 2025, to June 6, 2025. During this period, the team maintained strong productivity and engagement, delivering 74 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 Connect Weekly Report This week, we started adding MetaMask support to the ARK Connect demo website to showcase the Mainsail integration with existing EVM tools. This included: Adjusting the demo endpoints to make use of the Mainsail APIs.Adjust the fee input to handle gas price + gas limit to match Mainsail’s fee setup.Added a MetaMask install and connect button to the welcome page.Implemented MetaMask connection by prompting the user to add the Mainsail network to MetaMask if it does not exist yet and subsequently connect through it. Next week, we plan to continue the MetaMask addition by implementing data retrieval and transaction signing. ARK SDKs and Docs Weekly Report This week, we made adjustments to the documentation site for the ethCall function to support passing the request body as a parameter. This update improves compatibility with a broader range of EVM call methods, not just eth_call, providing greater flexibility and extensibility in how EVM methods can be used. The documentation has been updated accordingly for both the PHP and Python SDKs to reflect this change. Next week, we plan to continue refining the documentation site and will update any related packages if necessary. ARK Vault Weekly Report This week, we focused on improving the test suite and made several updates and fixes related to Ledger support and the Side Panel. Our work included: The following unit test suites have been updated: LedgerConnectionStep, LedgerScanStep, LedgerTabs.Cancel, LedgerTabs.Keyboard, and LedgerTabs. These updates have contributed to a significant improvement in the overall test coverage for the portfolio branch, with an increase of over 75 across all criteria. Additionally, the test command has been updated to remove the exclusions for these tests from the workflow, ensuring they are now fully integrated into the automated testing process.Fixed the tooltip positioning for input warnings by moving the right padding from the icon to a parent container that also wraps the tooltip. This ensures the error tooltip is now correctly aligned and appears centered with the input warning icon for improved UI consistency.Enabled tests for the app/lib directory by including it in the testing workflow. Adjusted code coverage thresholds based on the existing test cases migrated from PSDK to reflect current coverage accurately.Moved the message signing functionality to the side panel, supporting both regular and Ledger addresses. This improves UI consistency and streamlines the signing flow within the app.Updated react, react-dom, and related type packages to version 19.x. Removed unused dependencies (jsdom and react-test-renderer). Made several test adjustments to align with the React 19 API, including updates to user event handling. Deprecated forwardRef usage in favor of using ref as a regular prop in all applicable components, in line with React 19 changes.Fixed an issue where the Ledger hardware device was not signing transactions due to missing #transport property on the LedgerService. The root cause was multiple instances being created via profile.ledger() or wallet.ledger(), leading to loss of the established transport connection. This update ensures a single shared LedgerService instance is used across services, maintaining the transport state and enabling successful transaction signing.Fixed an infinite rendering issue on the vote transaction page where the fee component was re-fetching fees every second, causing constant UI refreshes. The re-fetch interval has been reduced to 30 seconds, and serialized data is now used to prevent unnecessary re-renders and infinite loops. Next week, we plan to continue expanding test coverage and will further develop updates for both the Side Panel and Ledger support, aiming to improve performance, usability, and reliability. Mainsail Weekly Report This week, we have been working on contract improvements as well as preparing for the Core snapshot. The work completed included: Improvements to the consensus contract. We renamed “active validators” to “round validators” and adopted the following naming structure:Registered validators: All validators that are registered, including those that have resigned.Round validators: The top N validators with the highest vote balance, participating in the consensus.Resigned validators: Validators that have resigned from the consensus.Active validators: Round validators who have not resigned and have a valid BLS public key.Inactive validators: Validators who are either resigned or lack a valid BLS public key.Prepared an initial version of the system to collect fees during validator registration.Added support for exporting from a remote database, along with various other enhancements. In the upcoming week, we will focus on implementing the validator fee logic in the consensus contract, Core V3 Devnet snapshot testing, and improving overall test coverage. 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: Mainsail - https://github.com/ArkEcosystem/mainsail/issuesARK Connect (Extension) - https://github.com/ArdentHQ/arkconnect-extension/issuesARK Connect (Demo) - https://github.com/ArdentHQ/arkconnect-demo/issuesARK Scan - https://github.com/ArdentHQ/arkscan/issuesARK Vault - https://github.com/ArdentHQ/arkvault/issues Follow on Twitter (X) Follow us on X  (https://x.com/ArkEcosystem) 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. $ARK {spot}(ARKUSDT)

ARK Development Report - June 6, 2025

Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. Over the past week, we began adding MetaMask support to the ARK Connect demo website to showcase the Mainsail integration with existing EVM tools. We updated the documentation site for the ethCall function to support passing the request body as a parameter. The ARK Vault team focused on strengthening the test suite, delivering several updates and fixes related to Ledger support and the Side Panel. Meanwhile, on the Mainsail front, efforts continued around refining contracts and preparing for the upcoming Core snapshot.
Development Activity Summary (May 30 – June 6, 2025)
Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from May 30, 2025, to June 6, 2025.

During this period, the team maintained strong productivity and engagement, delivering 74 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 Connect Weekly Report
This week, we started adding MetaMask support to the ARK Connect demo website to showcase the Mainsail integration with existing EVM tools. This included:
Adjusting the demo endpoints to make use of the Mainsail APIs.Adjust the fee input to handle gas price + gas limit to match Mainsail’s fee setup.Added a MetaMask install and connect button to the welcome page.Implemented MetaMask connection by prompting the user to add the Mainsail network to MetaMask if it does not exist yet and subsequently connect through it.
Next week, we plan to continue the MetaMask addition by implementing data retrieval and transaction signing.
ARK SDKs and Docs Weekly Report
This week, we made adjustments to the documentation site for the ethCall function to support passing the request body as a parameter. This update improves compatibility with a broader range of EVM call methods, not just eth_call, providing greater flexibility and extensibility in how EVM methods can be used. The documentation has been updated accordingly for both the PHP and Python SDKs to reflect this change.
Next week, we plan to continue refining the documentation site and will update any related packages if necessary.
ARK Vault Weekly Report
This week, we focused on improving the test suite and made several updates and fixes related to Ledger support and the Side Panel. Our work included:
The following unit test suites have been updated: LedgerConnectionStep, LedgerScanStep, LedgerTabs.Cancel, LedgerTabs.Keyboard, and LedgerTabs. These updates have contributed to a significant improvement in the overall test coverage for the portfolio branch, with an increase of over 75 across all criteria. Additionally, the test command has been updated to remove the exclusions for these tests from the workflow, ensuring they are now fully integrated into the automated testing process.Fixed the tooltip positioning for input warnings by moving the right padding from the icon to a parent container that also wraps the tooltip. This ensures the error tooltip is now correctly aligned and appears centered with the input warning icon for improved UI consistency.Enabled tests for the app/lib directory by including it in the testing workflow. Adjusted code coverage thresholds based on the existing test cases migrated from PSDK to reflect current coverage accurately.Moved the message signing functionality to the side panel, supporting both regular and Ledger addresses. This improves UI consistency and streamlines the signing flow within the app.Updated react, react-dom, and related type packages to version 19.x. Removed unused dependencies (jsdom and react-test-renderer). Made several test adjustments to align with the React 19 API, including updates to user event handling. Deprecated forwardRef usage in favor of using ref as a regular prop in all applicable components, in line with React 19 changes.Fixed an issue where the Ledger hardware device was not signing transactions due to missing #transport property on the LedgerService. The root cause was multiple instances being created via profile.ledger() or wallet.ledger(), leading to loss of the established transport connection. This update ensures a single shared LedgerService instance is used across services, maintaining the transport state and enabling successful transaction signing.Fixed an infinite rendering issue on the vote transaction page where the fee component was re-fetching fees every second, causing constant UI refreshes. The re-fetch interval has been reduced to 30 seconds, and serialized data is now used to prevent unnecessary re-renders and infinite loops.
Next week, we plan to continue expanding test coverage and will further develop updates for both the Side Panel and Ledger support, aiming to improve performance, usability, and reliability.
Mainsail Weekly Report
This week, we have been working on contract improvements as well as preparing for the Core snapshot. The work completed included:
Improvements to the consensus contract. We renamed “active validators” to “round validators” and adopted the following naming structure:Registered validators: All validators that are registered, including those that have resigned.Round validators: The top N validators with the highest vote balance, participating in the consensus.Resigned validators: Validators that have resigned from the consensus.Active validators: Round validators who have not resigned and have a valid BLS public key.Inactive validators: Validators who are either resigned or lack a valid BLS public key.Prepared an initial version of the system to collect fees during validator registration.Added support for exporting from a remote database, along with various other enhancements.
In the upcoming week, we will focus on implementing the validator fee logic in the consensus contract, Core V3 Devnet snapshot testing, and improving overall test coverage.
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:
Mainsail - https://github.com/ArkEcosystem/mainsail/issuesARK Connect (Extension) - https://github.com/ArdentHQ/arkconnect-extension/issuesARK Connect (Demo) - https://github.com/ArdentHQ/arkconnect-demo/issuesARK Scan - https://github.com/ArdentHQ/arkscan/issuesARK Vault - https://github.com/ArdentHQ/arkvault/issues
Follow on Twitter (X)
Follow us on X  (https://x.com/ArkEcosystem) 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.

$ARK
ARK Development Report - May 30, 2025Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, the ARK Scan team addressed data issues affecting the statistics page, while updates to the documentation site were made to reflect recent changes in the TypeScript client, alongside several enhancements to the TypeScript libraries themselves. The ARK Vault team focused on a major upgrade to Tailwind CSS v4, updated various minor dependencies, and implemented fixes based on internal testing. Meanwhile, the Mainsail team worked on resolving transaction-related issues and continued improving the test coverage. Development Activity Summary (May 23 – May 30, 2025) Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from May 23, 2025, to May 30, 2025. ProjectCommitsAuthorsARK Connect00ARK Scan41ARK SDKs & Docs81ARK Vault444Mainsail282 During this period, the team maintained strong productivity and engagement, delivering 84 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 worked on fixing data issues on the statistics page. Work completed included: Fixed an issue where all-time transaction fees in the statistics view were calculated or displayed incorrectly. The fix ensures that fee values are now aggregated correctly with proper decimal handling, so the displayed totals accurately reflect the actual on-chain data.Fixed an issue where daily transaction averages were not updating correctly, often showing zero despite active network activity. Adjusted the logic to ensure consistent updates now that automated scripts are running. Also improved the readability of the multipayment transaction query. Next week, we will continue working on any issues reported by internal testing. ARK SDKs & Docs Weekly Report This week, we made updates to the documentation site to reflect recent changes to the TypeScript client and made several additions to the TypeScript libraries. Work completed included: Documentation Site:Updated all TypeScript import references from @arkecosystem/crypto and @arkecosystem/client to @arkecosystem/typescript-crypto and @arkecosystem/typescript-client to reflect the current package structure.Updated the TypeScript examples in the documentation to include wrapper functions around await calls. This helps make the examples clearer and more accessible for developers who may not be familiar with using await at the top level.TypeScript Client:Implemented the eth_estimateGas JSON-RPC method to dynamically determine gas estimates instead of using hardcoded values. This method is now used wherever gas fees are calculated, providing a more accurate default value to display to users. A corresponding unit test has also been added to ensure reliability.Adjusted the ethCall method to take the full request body as a parameter instead of fixed arguments. This allows support for additional EVM JSON-RPC methods beyond just eth_call, increasing flexibility and compatibility with other EVM interactions. Next week, we will continue working on improvements to the libraries and begin preparing the documentation site for the Public Mainsail Devnet. ARK Vault Weekly Report This week, we focused on a major update to Tailwind CSS v4. In addition, we made several updates to minor dependencies and implemented various fixes based on internal testing. Highlights of the work completed include: ARK Vault has been updated to use Tailwind CSS v4, along with several related configuration and codebase changes to ensure full compatibility and functionality:PostCSS configuration has been updated to use the new @tailwindcss/postcss package as required by Tailwind v4.Vite and Vitest configurations have been adjusted to support the updated Tailwind setup and its dependencies.Multiple components have been refactored to align with the new class name structure introduced in Tailwind v4.Unit tests and snapshot files have been updated to reflect changes in class names and component structure.The format workflow has been disabled temporarily to prevent issues with the new Tailwind class name syntax.Updated all dependencies to their latest patch versions to ensure compatibility and incorporate minor bug fixes without introducing breaking changes.Performed additional cleanup and removed unused code. Replaced legacy unit formatting with the UnitConverter from typescript-crypto. Removed remaining coin-related references such as wallet.coinId() and wallets.findByCoinWithNetwork(). Also updated the last occurrences of delegate references to validator for consistency across the codebase.Implemented the eth_estimateGas call for transaction sending. This replaces hardcoded gas values with dynamically fetched estimates using the eth_estimateGas JSON-RPC method. The value returned is now used as the default gas value during fee calculations, ensuring more accurate and network-aware transaction fee handling.Updated all test-related dependencies including Vitest, MSW, and Testing Library. Removed the jest-when package and refactored affected tests to simplify and reduce dependency overhead.Updated dependencies to their latest minor versions. Removed rollup since Vite already includes it internally. Dropped type-fest as its utility was replaced by TypeScript’s built-in Omit<>. Removed query-string in favor of using URLSearchParams for query handling. ESLint and Vite dependencies were also bumped to their latest minor versions.Replaced all instances of “delegate” with “validator” across unit tests, component props, interfaces, and types to align with the updated API. Updated test-ids, method names, and test cases accordingly. The Mainsail manifest and relevant translations were also revised to reflect this terminology change. Removed outdated snapshots and unused components as part of the cleanup.The ValidatorStatus component has been refactored to include group-hover styles, resolving the issue of the label blending into the background when hovering over the row.Fixed an issue with sending transfer transactions involving large amounts. The advanced fee adjustment buttons now use min and max values from the API. A bug with the fee mode switch has been resolved—when switching from advanced to simple view, the estimated fee is correctly retained. gasPrice and gasLimit are now handled as BigNumber instead of plain numbers, and the related types have been updated accordingly. Unit tests were added and fixed to cover these changes, and gas limit defaults have been restored.Integrated knip with a customized configuration to detect unused code and files using pnpm unused. This setup serves as a proof of concept to validate its accuracy in identifying truly unused parts of the codebase. Next week, we will continue resolving any remaining issues, cleaning up unused parts of the codebase, and working to make the ARK Vault codebase even more streamlined and efficient. Mainsail Weekly Report This week, we focused on resolving reported issues related to transactions and enhancing our testing infrastructure. Most notably: Fixed an issue where the Transaction Pool was not expiring transactions under specific conditions.Resolved a problem with transaction rebroadcasting that affected very large transactions.Improved the stability of end-to-end (E2E) client tests.Restored functional consensus tests.Updated unit tests for @mainsail/crypto-messages to ensure accuracy and coverage. Next week, our attention will shift toward preparations for the Internal Devnet, which serves as a precursor to the upcoming Public Devnet. We will focus on integrating validator fees into the Consensus contract, performing snapshot testing for the V3 Devnet, and enhancing overall test coverage. 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: Mainsail - https://github.com/ArkEcosystem/mainsail/issuesARK Connect (Extension) - https://github.com/ArdentHQ/arkconnect-extension/issuesARK Connect (Demo) - https://github.com/ArdentHQ/arkconnect-demo/issuesARK Scan - https://github.com/ArdentHQ/arkscan/issuesARK Vault - https://github.com/ArdentHQ/arkvault/issues Follow on Twitter (X) Follow us on X  (https://x.com/ArkEcosystem) 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. $ARK {spot}(ARKUSDT)

ARK Development Report - May 30, 2025

Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, the ARK Scan team addressed data issues affecting the statistics page, while updates to the documentation site were made to reflect recent changes in the TypeScript client, alongside several enhancements to the TypeScript libraries themselves. The ARK Vault team focused on a major upgrade to Tailwind CSS v4, updated various minor dependencies, and implemented fixes based on internal testing. Meanwhile, the Mainsail team worked on resolving transaction-related issues and continued improving the test coverage.
Development Activity Summary (May 23 – May 30, 2025)
Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from May 23, 2025, to May 30, 2025.
ProjectCommitsAuthorsARK Connect00ARK Scan41ARK SDKs & Docs81ARK Vault444Mainsail282
During this period, the team maintained strong productivity and engagement, delivering 84 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 worked on fixing data issues on the statistics page. Work completed included:
Fixed an issue where all-time transaction fees in the statistics view were calculated or displayed incorrectly. The fix ensures that fee values are now aggregated correctly with proper decimal handling, so the displayed totals accurately reflect the actual on-chain data.Fixed an issue where daily transaction averages were not updating correctly, often showing zero despite active network activity. Adjusted the logic to ensure consistent updates now that automated scripts are running. Also improved the readability of the multipayment transaction query.
Next week, we will continue working on any issues reported by internal testing.
ARK SDKs & Docs Weekly Report
This week, we made updates to the documentation site to reflect recent changes to the TypeScript client and made several additions to the TypeScript libraries. Work completed included:
Documentation Site:Updated all TypeScript import references from @arkecosystem/crypto and @arkecosystem/client to @arkecosystem/typescript-crypto and @arkecosystem/typescript-client to reflect the current package structure.Updated the TypeScript examples in the documentation to include wrapper functions around await calls. This helps make the examples clearer and more accessible for developers who may not be familiar with using await at the top level.TypeScript Client:Implemented the eth_estimateGas JSON-RPC method to dynamically determine gas estimates instead of using hardcoded values. This method is now used wherever gas fees are calculated, providing a more accurate default value to display to users. A corresponding unit test has also been added to ensure reliability.Adjusted the ethCall method to take the full request body as a parameter instead of fixed arguments. This allows support for additional EVM JSON-RPC methods beyond just eth_call, increasing flexibility and compatibility with other EVM interactions.
Next week, we will continue working on improvements to the libraries and begin preparing the documentation site for the Public Mainsail Devnet.
ARK Vault Weekly Report
This week, we focused on a major update to Tailwind CSS v4. In addition, we made several updates to minor dependencies and implemented various fixes based on internal testing. Highlights of the work completed include:
ARK Vault has been updated to use Tailwind CSS v4, along with several related configuration and codebase changes to ensure full compatibility and functionality:PostCSS configuration has been updated to use the new @tailwindcss/postcss package as required by Tailwind v4.Vite and Vitest configurations have been adjusted to support the updated Tailwind setup and its dependencies.Multiple components have been refactored to align with the new class name structure introduced in Tailwind v4.Unit tests and snapshot files have been updated to reflect changes in class names and component structure.The format workflow has been disabled temporarily to prevent issues with the new Tailwind class name syntax.Updated all dependencies to their latest patch versions to ensure compatibility and incorporate minor bug fixes without introducing breaking changes.Performed additional cleanup and removed unused code. Replaced legacy unit formatting with the UnitConverter from typescript-crypto. Removed remaining coin-related references such as wallet.coinId() and wallets.findByCoinWithNetwork(). Also updated the last occurrences of delegate references to validator for consistency across the codebase.Implemented the eth_estimateGas call for transaction sending. This replaces hardcoded gas values with dynamically fetched estimates using the eth_estimateGas JSON-RPC method. The value returned is now used as the default gas value during fee calculations, ensuring more accurate and network-aware transaction fee handling.Updated all test-related dependencies including Vitest, MSW, and Testing Library. Removed the jest-when package and refactored affected tests to simplify and reduce dependency overhead.Updated dependencies to their latest minor versions. Removed rollup since Vite already includes it internally. Dropped type-fest as its utility was replaced by TypeScript’s built-in Omit<>. Removed query-string in favor of using URLSearchParams for query handling. ESLint and Vite dependencies were also bumped to their latest minor versions.Replaced all instances of “delegate” with “validator” across unit tests, component props, interfaces, and types to align with the updated API. Updated test-ids, method names, and test cases accordingly. The Mainsail manifest and relevant translations were also revised to reflect this terminology change. Removed outdated snapshots and unused components as part of the cleanup.The ValidatorStatus component has been refactored to include group-hover styles, resolving the issue of the label blending into the background when hovering over the row.Fixed an issue with sending transfer transactions involving large amounts. The advanced fee adjustment buttons now use min and max values from the API. A bug with the fee mode switch has been resolved—when switching from advanced to simple view, the estimated fee is correctly retained. gasPrice and gasLimit are now handled as BigNumber instead of plain numbers, and the related types have been updated accordingly. Unit tests were added and fixed to cover these changes, and gas limit defaults have been restored.Integrated knip with a customized configuration to detect unused code and files using pnpm unused. This setup serves as a proof of concept to validate its accuracy in identifying truly unused parts of the codebase.
Next week, we will continue resolving any remaining issues, cleaning up unused parts of the codebase, and working to make the ARK Vault codebase even more streamlined and efficient.
Mainsail Weekly Report
This week, we focused on resolving reported issues related to transactions and enhancing our testing infrastructure. Most notably:
Fixed an issue where the Transaction Pool was not expiring transactions under specific conditions.Resolved a problem with transaction rebroadcasting that affected very large transactions.Improved the stability of end-to-end (E2E) client tests.Restored functional consensus tests.Updated unit tests for @mainsail/crypto-messages to ensure accuracy and coverage.
Next week, our attention will shift toward preparations for the Internal Devnet, which serves as a precursor to the upcoming Public Devnet. We will focus on integrating validator fees into the Consensus contract, performing snapshot testing for the V3 Devnet, and enhancing overall test coverage.
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:
Mainsail - https://github.com/ArkEcosystem/mainsail/issuesARK Connect (Extension) - https://github.com/ArdentHQ/arkconnect-extension/issuesARK Connect (Demo) - https://github.com/ArdentHQ/arkconnect-demo/issuesARK Scan - https://github.com/ArdentHQ/arkscan/issuesARK Vault - https://github.com/ArdentHQ/arkvault/issues
Follow on Twitter (X)
Follow us on X  (https://x.com/ArkEcosystem) 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.

$ARK
ARK Development Report - May 23, 2025Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, we updated the Mainsail contract transfers script across the Python, TypeScript, and PHP clients to remove reliance on the deprecated txHash field, ensuring stable, error-free data handling using supported alternatives. In ARK Vault, work continued on expanding test coverage and refining the UI/UX based on user feedback and reported issues. Meanwhile, the Mainsail team made further progress on test coverage and improved snapshot restore performance. Development Activity Summary (May 16 – May 23, 2025) Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from May 16, 2025, to May 23, 2025. During this period, the team maintained strong productivity and engagement, delivering 78 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 Fixed the issue where the Gas Limit field was not being populated in transaction details. It now correctly displays the gas limit value as expected.Implemented support for exporting BLS Registration transactions alongside other types. Ensured correct handling of export details, including:Fee displayZero transaction amountProper transaction type naming as “BLS Registration”A second signature icon was added to indicate when a wallet has a second passphrase based on data from the core snapshot. This visual cue now appears alongside address details where applicable.Updated transaction list sorting to include block position in addition to timestamp. This ensures transactions within the same block are ordered correctly, for example, a vote will now appear before the corresponding unvote if both are in the same block. ARK SDKs and Documentation Site This week, we fixed the Mainsail contract transfers script by removing reliance on txHash, which is not supported by the API. The script now uses supported fields to fetch and process contract transfer data without errors. This was fixed in all three client packages - Python, TypeScript, and PHP. We have also adjusted the EthCall implementation to allow for the caller to define the full body to allow for a variety of RPC methods to be called with it. Next week, we’ll work on resolving any reported issues and continue improving data consistency and reliability across all package implementations. ARK Vault Weekly Report This week we continued working on test coverage and improving the UI/UX based on feedback and reported issues. Work completed includes: Refactored the HTTP client into a standalone class, removing inheritance from AbstractRequest. The AbstractRequest class was removed from the SDK entirely. Both the HTTP client and cache modules were moved to lib/mainsail for improved organization and Mainsail-specific focus.Cleaned up the SDK structure by removing lib/sdk and relocating all active services and contract files into lib/mainsail, streamlining the codebase and aligning it with the Mainsail implementation.Enabled and fixed tests for the settings domain, including coverage for creating and displaying all three custom server endpoints to ensure proper functionality.Restored BIP39 compatibility checks to validate mnemonics during address import, maintaining a smooth and secure user experience.Enabled and fixed tests for the transactions hooks domain, ensuring comprehensive coverage of transaction-related logic.Simplified the Fee service by removing all references to “static” and “dynamic” fee types across the app. This included refactoring lib/mainsail/fee.service.ts and updating related hooks and components for a unified fee handling approach.Updated the Ledger wallet import flow to show accurate on-chain balances for each address, resolving an issue where all addresses incorrectly appeared with a zero balance.Dropped unused crypto services from lib/mainsail/crypto, including support for WIF, encrypted WIF, and private key-based wallet functionality. This cleanup reduces complexity and aligns with current authentication methods.Updated CI workflows to run on Node.js 22, the latest LTS version. Configured the build process to run on both Node.js 20 and 22 to ensure compatibility and catch potential issues early.Removed profile.coins() and all associated coin services, eliminating the now-unnecessary multi-coin abstraction. IoC architecture, including containers, globals, and bindings, was also removed. Most unused SDK services were cleaned up to simplify the codebase.Improved accessibility by enabling keyboard tab navigation for dropdowns. This included adding a focus manager, implementing onKeyDown handlers for the transaction type filter and validator page dropdowns, and disabling label focus on the transaction type filter dropdown.Fixed an issue where signing transactions failed when using an encrypted password. Users can now sign transactions successfully with encrypted authentication.Prevented event bubbling on the “copy address” button in the side panel. Pressing Enter while focused now only triggers the copy action without affecting the row’s selection state, improving keyboard interaction.Fixed the address panel mode selector on extra small screens to match the intended mobile layout and improve usability on smaller devices.Added unit tests for dropdown tabbing behavior to ensure accessibility features are properly validated and to restore full test coverage.Enabled and fixed tests for the transaction pages domain, ensuring proper test coverage and validation of transaction-related UI and logic.Tweaked the default node status icon to reflect the combined status of public, transaction, and EVM APIs. Fixed a bug with host status storage in the configuration object and added unit tests to ensure correct behavior. Next week, we’ll continue resolving reported issues, increasing test coverage, and making further improvements to the Side Panel. Mainsail Weekly Report This week, we continued enhancing test coverage, improved snapshot restore performance, and made several other updates. Specifically: Set up Codecov to report coverage across TypeScript, Rust, and Solidity codebases. Added a codecov.yml file to exclude non-production code.Reduced block time in end-to-end tests to speed up CI workflows. Introduced logic to generate networks for both end-to-end and functional tests.Fixed caching and permissions issues in GitHub workflows to improve performance.Increased test coverage for Solidity smart contracts.Enhanced snapshot restore performance by batching wallet storage operations. Next week, we plan to work on transaction broadcast fixes and continue improving the Consensus contract based on feedback from internal testing. 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: Mainsail - https://github.com/ArkEcosystem/mainsail/issuesARK Connect (Extension) - https://github.com/ArdentHQ/arkconnect-extension/issuesARK Connect (Demo) - https://github.com/ArdentHQ/arkconnect-demo/issuesARK Scan - https://github.com/ArdentHQ/arkscan/issuesARK Vault - https://github.com/ArdentHQ/arkvault/issues Follow on Twitter (X) Follow us on X  (https://x.com/ArkEcosystem) 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.

ARK Development Report - May 23, 2025

Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, we updated the Mainsail contract transfers script across the Python, TypeScript, and PHP clients to remove reliance on the deprecated txHash field, ensuring stable, error-free data handling using supported alternatives. In ARK Vault, work continued on expanding test coverage and refining the UI/UX based on user feedback and reported issues. Meanwhile, the Mainsail team made further progress on test coverage and improved snapshot restore performance.
Development Activity Summary (May 16 – May 23, 2025)
Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from May 16, 2025, to May 23, 2025.

During this period, the team maintained strong productivity and engagement, delivering 78 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
Fixed the issue where the Gas Limit field was not being populated in transaction details. It now correctly displays the gas limit value as expected.Implemented support for exporting BLS Registration transactions alongside other types. Ensured correct handling of export details, including:Fee displayZero transaction amountProper transaction type naming as “BLS Registration”A second signature icon was added to indicate when a wallet has a second passphrase based on data from the core snapshot. This visual cue now appears alongside address details where applicable.Updated transaction list sorting to include block position in addition to timestamp. This ensures transactions within the same block are ordered correctly, for example, a vote will now appear before the corresponding unvote if both are in the same block.
ARK SDKs and Documentation Site
This week, we fixed the Mainsail contract transfers script by removing reliance on txHash, which is not supported by the API. The script now uses supported fields to fetch and process contract transfer data without errors. This was fixed in all three client packages - Python, TypeScript, and PHP.
We have also adjusted the EthCall implementation to allow for the caller to define the full body to allow for a variety of RPC methods to be called with it.
Next week, we’ll work on resolving any reported issues and continue improving data consistency and reliability across all package implementations.
ARK Vault Weekly Report
This week we continued working on test coverage and improving the UI/UX based on feedback and reported issues. Work completed includes:
Refactored the HTTP client into a standalone class, removing inheritance from AbstractRequest. The AbstractRequest class was removed from the SDK entirely. Both the HTTP client and cache modules were moved to lib/mainsail for improved organization and Mainsail-specific focus.Cleaned up the SDK structure by removing lib/sdk and relocating all active services and contract files into lib/mainsail, streamlining the codebase and aligning it with the Mainsail implementation.Enabled and fixed tests for the settings domain, including coverage for creating and displaying all three custom server endpoints to ensure proper functionality.Restored BIP39 compatibility checks to validate mnemonics during address import, maintaining a smooth and secure user experience.Enabled and fixed tests for the transactions hooks domain, ensuring comprehensive coverage of transaction-related logic.Simplified the Fee service by removing all references to “static” and “dynamic” fee types across the app. This included refactoring lib/mainsail/fee.service.ts and updating related hooks and components for a unified fee handling approach.Updated the Ledger wallet import flow to show accurate on-chain balances for each address, resolving an issue where all addresses incorrectly appeared with a zero balance.Dropped unused crypto services from lib/mainsail/crypto, including support for WIF, encrypted WIF, and private key-based wallet functionality. This cleanup reduces complexity and aligns with current authentication methods.Updated CI workflows to run on Node.js 22, the latest LTS version. Configured the build process to run on both Node.js 20 and 22 to ensure compatibility and catch potential issues early.Removed profile.coins() and all associated coin services, eliminating the now-unnecessary multi-coin abstraction. IoC architecture, including containers, globals, and bindings, was also removed. Most unused SDK services were cleaned up to simplify the codebase.Improved accessibility by enabling keyboard tab navigation for dropdowns. This included adding a focus manager, implementing onKeyDown handlers for the transaction type filter and validator page dropdowns, and disabling label focus on the transaction type filter dropdown.Fixed an issue where signing transactions failed when using an encrypted password. Users can now sign transactions successfully with encrypted authentication.Prevented event bubbling on the “copy address” button in the side panel. Pressing Enter while focused now only triggers the copy action without affecting the row’s selection state, improving keyboard interaction.Fixed the address panel mode selector on extra small screens to match the intended mobile layout and improve usability on smaller devices.Added unit tests for dropdown tabbing behavior to ensure accessibility features are properly validated and to restore full test coverage.Enabled and fixed tests for the transaction pages domain, ensuring proper test coverage and validation of transaction-related UI and logic.Tweaked the default node status icon to reflect the combined status of public, transaction, and EVM APIs. Fixed a bug with host status storage in the configuration object and added unit tests to ensure correct behavior.
Next week, we’ll continue resolving reported issues, increasing test coverage, and making further improvements to the Side Panel.
Mainsail Weekly Report
This week, we continued enhancing test coverage, improved snapshot restore performance, and made several other updates. Specifically:
Set up Codecov to report coverage across TypeScript, Rust, and Solidity codebases. Added a codecov.yml file to exclude non-production code.Reduced block time in end-to-end tests to speed up CI workflows. Introduced logic to generate networks for both end-to-end and functional tests.Fixed caching and permissions issues in GitHub workflows to improve performance.Increased test coverage for Solidity smart contracts.Enhanced snapshot restore performance by batching wallet storage operations.
Next week, we plan to work on transaction broadcast fixes and continue improving the Consensus contract based on feedback from internal testing.
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:
Mainsail - https://github.com/ArkEcosystem/mainsail/issuesARK Connect (Extension) - https://github.com/ArdentHQ/arkconnect-extension/issuesARK Connect (Demo) - https://github.com/ArdentHQ/arkconnect-demo/issuesARK Scan - https://github.com/ArdentHQ/arkscan/issuesARK Vault - https://github.com/ArdentHQ/arkvault/issues
Follow on Twitter (X)
Follow us on X  (https://x.com/ArkEcosystem) 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.
ARK Development Report - May 16, 2025Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, the ARK Scan team implemented support for the new BLS public key registration transaction type, while the ARK Vault team continued refining the Side Panel by simplifying its architecture, enabling additional tests, and applying a series of targeted fixes. Over on the Mainsail side, the team focused on a range of improvements, updated dependencies, and made updates on Core v3 in preparation for the upcoming Mainsail upgrade. Development Activity Summary (May 9 – May 16, 2025) Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from May 9, 2025, to May 16, 2025. During this period, the team maintained strong productivity and engagement, delivering 63 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 implemented support for the new BLS public key registration transaction type in Core v3. This allows existing delegates to register their BLS keys ahead of the Mainsail migration, ensuring their keys are included in the snapshot and enabling them to forge as validators on the Mainsail network at launch. ARK Scan has been updated to recognize and display this new transaction type appropriately. Next week, we’ll continue testing and begin implementing any additional features required for Mainsail. ARK Vault Weekly Report This week, we focused on further improving the Side Panel by simplifying its architecture, enabling new tests, and addressing various fixes: Decoupled the Wallet from the Coin abstraction to simplify the architecture, as multi-coin support is no longer required for Mainsail. This involved:Removing the wallet.coin() method and instead using the profile’s active network to determine network-specific behavior.Dropping the Coin interface and related IoC containers.Replacing complex SDK inheritance with straightforward, modular service classes for clearer and more maintainable logic.Fixed the issue where outgoing and incoming transaction filters were not applied when selecting the corresponding tab, specifically in scenarios where the user has more than one wallet. Now, transactions are correctly filtered based on direction regardless of the number of wallets.Cleaned up the network domain by moving the NetworkIcon component to app/components and removing the unused network domain module along with its associated tests.Implemented debouncing in the ServerFormModal component for API server input validations, introducing a 500ms delay before triggering validation to improve performance and user experience.Removed an initial set of unused files identified after recent refactors, helping to clean up the codebase without affecting any functionality. Additional files will be removed in future SDK cleanup phases.Added UsernameCircledCheckMark to the icon set and integrated it into the WalletIcons component. The username icon now appears in single view whenever a wallet has a username registered on-chain.Improved accessibility for the wallet import flow by refactoring the Option component in MethodStep into a button element, allowing for better focus management and custom focus state styling.Removed the following unused dependencies from the codebase to reduce bloat and improve maintainability: create-xpub, crypto-js, get-random-values, hdkey, multiformats, react-linkify, react-range, rollup-plugin-polyfill-node.Fixed the issue where importing a profile with a password would fail due to an error in profile.validator.ts. The validation logic now checks if missing properties are due to encrypted data and, if so, throws a PasswordRequired error instead of a generic validation failure, allowing for proper handling of encrypted profile imports.Refactored the Side Panel component to improve UX/UI and support new props: title, subtitle, titleIcon, hasSteps, totalSteps, and activeStep. Updated the component to align with the new designs and applied these improvements to the “Import address”, “Create address”, and “Address management” flows.Enabled and fixed the following test suites to ensure full coverage and functionality:Transactions domain P–S tests,Wallet, router, and util domain tests,Message and network domain tests,Transactions domain T–Z tests,Profile domain tests,Vote domain tests. Next week, we’ll continue enhancing test coverage, refining the Side Panel, and resolving any reported issues. Mainsail Weekly Report This week, we focused on various improvements and updated several dependencies. Specifically: Upgraded inversify to the latest version.A CodeQL workflow for semantic code analysis was added.Enabled snapshot compression.Enhanced transaction inclusion logic:Transactions are now optimistically included in a block if their gas limit exceeds the remaining gas in the block.If the block runs out of gas, the last transaction is reverted. We also worked on Core v3 in preparation for the Mainsail upgrade: Added support for the BlsPublicKeyRegistration transaction, allowing delegates to register new BLS12-381 public keys on-chain for future use.Prepared and released Core v3.10.0-rc.0 for the public devnet to begin testing the new features. Next week, we will focus on generating test coverage reports and writing unit tests for the Mainsail upgrade. 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: Mainsail - https://github.com/ArkEcosystem/mainsail/issuesARK Connect (Extension) - https://github.com/ArdentHQ/arkconnect-extension/issuesARK Connect (Demo) - https://github.com/ArdentHQ/arkconnect-demo/issuesARK Scan - https://github.com/ArdentHQ/arkscan/issuesARK Vault - https://github.com/ArdentHQ/arkvault/issues Follow on Twitter (X) Follow us on X  (https://x.com/ArkEcosystem) 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. $ARK {spot}(ARKUSDT)

ARK Development Report - May 16, 2025

Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, the ARK Scan team implemented support for the new BLS public key registration transaction type, while the ARK Vault team continued refining the Side Panel by simplifying its architecture, enabling additional tests, and applying a series of targeted fixes. Over on the Mainsail side, the team focused on a range of improvements, updated dependencies, and made updates on Core v3 in preparation for the upcoming Mainsail upgrade.
Development Activity Summary (May 9 – May 16, 2025)
Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from May 9, 2025, to May 16, 2025.

During this period, the team maintained strong productivity and engagement, delivering 63 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 implemented support for the new BLS public key registration transaction type in Core v3. This allows existing delegates to register their BLS keys ahead of the Mainsail migration, ensuring their keys are included in the snapshot and enabling them to forge as validators on the Mainsail network at launch. ARK Scan has been updated to recognize and display this new transaction type appropriately.
Next week, we’ll continue testing and begin implementing any additional features required for Mainsail.
ARK Vault Weekly Report
This week, we focused on further improving the Side Panel by simplifying its architecture, enabling new tests, and addressing various fixes:
Decoupled the Wallet from the Coin abstraction to simplify the architecture, as multi-coin support is no longer required for Mainsail. This involved:Removing the wallet.coin() method and instead using the profile’s active network to determine network-specific behavior.Dropping the Coin interface and related IoC containers.Replacing complex SDK inheritance with straightforward, modular service classes for clearer and more maintainable logic.Fixed the issue where outgoing and incoming transaction filters were not applied when selecting the corresponding tab, specifically in scenarios where the user has more than one wallet. Now, transactions are correctly filtered based on direction regardless of the number of wallets.Cleaned up the network domain by moving the NetworkIcon component to app/components and removing the unused network domain module along with its associated tests.Implemented debouncing in the ServerFormModal component for API server input validations, introducing a 500ms delay before triggering validation to improve performance and user experience.Removed an initial set of unused files identified after recent refactors, helping to clean up the codebase without affecting any functionality. Additional files will be removed in future SDK cleanup phases.Added UsernameCircledCheckMark to the icon set and integrated it into the WalletIcons component. The username icon now appears in single view whenever a wallet has a username registered on-chain.Improved accessibility for the wallet import flow by refactoring the Option component in MethodStep into a button element, allowing for better focus management and custom focus state styling.Removed the following unused dependencies from the codebase to reduce bloat and improve maintainability: create-xpub, crypto-js, get-random-values, hdkey, multiformats, react-linkify, react-range, rollup-plugin-polyfill-node.Fixed the issue where importing a profile with a password would fail due to an error in profile.validator.ts. The validation logic now checks if missing properties are due to encrypted data and, if so, throws a PasswordRequired error instead of a generic validation failure, allowing for proper handling of encrypted profile imports.Refactored the Side Panel component to improve UX/UI and support new props: title, subtitle, titleIcon, hasSteps, totalSteps, and activeStep. Updated the component to align with the new designs and applied these improvements to the “Import address”, “Create address”, and “Address management” flows.Enabled and fixed the following test suites to ensure full coverage and functionality:Transactions domain P–S tests,Wallet, router, and util domain tests,Message and network domain tests,Transactions domain T–Z tests,Profile domain tests,Vote domain tests.
Next week, we’ll continue enhancing test coverage, refining the Side Panel, and resolving any reported issues.
Mainsail Weekly Report
This week, we focused on various improvements and updated several dependencies. Specifically:
Upgraded inversify to the latest version.A CodeQL workflow for semantic code analysis was added.Enabled snapshot compression.Enhanced transaction inclusion logic:Transactions are now optimistically included in a block if their gas limit exceeds the remaining gas in the block.If the block runs out of gas, the last transaction is reverted.
We also worked on Core v3 in preparation for the Mainsail upgrade:
Added support for the BlsPublicKeyRegistration transaction, allowing delegates to register new BLS12-381 public keys on-chain for future use.Prepared and released Core v3.10.0-rc.0 for the public devnet to begin testing the new features.
Next week, we will focus on generating test coverage reports and writing unit tests for the Mainsail upgrade.
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:
Mainsail - https://github.com/ArkEcosystem/mainsail/issuesARK Connect (Extension) - https://github.com/ArdentHQ/arkconnect-extension/issuesARK Connect (Demo) - https://github.com/ArdentHQ/arkconnect-demo/issuesARK Scan - https://github.com/ArdentHQ/arkscan/issuesARK Vault - https://github.com/ArdentHQ/arkvault/issues
Follow on Twitter (X)
Follow us on X  (https://x.com/ArkEcosystem) 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.

$ARK
ARK Development Report - May 9, 2025Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week on the SDK front, the focus was on enhancing the new Vault Crypto package used by ARK Vault, along with refactoring parts of the PHP and TypeScript packages for better consistency and performance. In ARK Vault, efforts centered on fixing the multipayment bug, improving and re-enabling a range of tests, and upgrading to the latest version of Vault Crypto. Meanwhile, the Mainsail team continued working on legacy support from Core v3 and made solid progress on expanding test coverage. Development Activity Summary (May 2 – May 9, 2025) Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from May 2, 2025, to May 9, 2025. During this period, the team maintained strong productivity and engagement, delivering 51 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 and Docs Weekly Report This week, our primary focus was on enhancing the new Vault Crypto package used by ARK Vault. We also carried out several refactors across the PHP and TypeScript packages. The key updates include: Vault Crypto Package:Exposed the BLS class and added BLS key support to enable proper validation, resolving issues caused by previously missing checks.Removed the redundant secp256k1 package from arkvault-crypto and replaced it with the @noble/curves implementation. Added tests to ensure all functionality remains consistent.Updated the PBKDF2 implementation to prevent exceptions in the Node.js environment used by ARK Vault, ensuring stable performance.Fixed the “invalid private key” error by ensuring Uint8Array or Buffer is passed to @noble/curves instead of ArrayBuffer.PHP Client Package:Reorganized API endpoint definitions and connection handling logic to align with the Python and TypeScript SDK structures. The SDK now clearly defines endpoints and separates connection concerns from the main client logic.TypeScript Crypto Package:Replaced Buffer.from with toUtf8Bytes from ethers to resolve a TypeError: invalid BytesLike value encountered during testing. Next week, we will continue focusing on the Vault Crypto package, aiming to further enhance and integrate essential features required by ARK Vault. ARK Vault Weekly Report This week, the focus was on resolving the multipayment bug, improving and enabling various tests, and updating to the latest Vault Crypto package. Work completed includes: Fixed the issue preventing users from adding recipients in multipayment transactions by adjusting properties in network.ts to correctly reflect the network configuration—specifically updating maxRecipients, which was previously set to 0.Enabled BLS key validation by integrating the necessary checks into the transaction flow. To verify, send a validator transaction and confirm the BLS key is properly validated during submission.Refactored the onboarding hint tooltip to appear only when more than one wallet is imported in single address mode, and updated the tooltip text to better reflect that context.Updated username and validator public key validations to use the hosts configuration via hostSelector instead of hard-coded URLs. This enables dynamic public API selection and supports request cancellation to avoid false positives.Enabled and fixed tests across multiple domains and components:Application components/hooks tests: Ensured core components and hooks are properly tested.Transactions domain A–O tests: Fixed tests related to error handling and exchange logic.Dashboard domain tests: Ensured complete test coverage for dashboard features.Portfolio domain tests: Enabled and fixed tests within the portfolio domain.Contact domain tests: Enabled and resolved issues with contact-related tests.Fixed a bug where the BLS key was never accepted by updating the arkvault-crypto package to version 0.0.7. The publicKeyExists method was refactored to pass validation when a 404 is returned from the public keys endpoint, indicating that the public key is available for use. Next week we’ll continue work on Vault Crypto package integration to make ARK Vault even more lean. In addition, we plan to implement further Side Panel updates based on recent feedback. Mainsail Weekly Report This week, our focus has been on legacy support from Core v3, along with improvements to our test coverage. Key highlights include: Implemented default configuration path for storing legacy snapshot files.The configuration generator now saves the snapshot file to this path.The snapshot importer reads from it during Mainsail boot.Added an end-to-end (E2E) test to verify import from a legacy snapshot.Expanded E2E tests to include:Transaction sendingAPI response validationAdded support for the activeValidators milestone change.Updated EVM Rust dependencies.Enabled support for specifying a BLS private key or passphrase for validators in the validators.json file. Next week, we plan to upgrade inversify to the latest version and focus on optimizing transaction inclusion within blocks. 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: Mainsail - https://github.com/ArkEcosystem/mainsail/issuesARK Connect (Extension) - https://github.com/ArdentHQ/arkconnect-extension/issuesARK Connect (Demo) - https://github.com/ArdentHQ/arkconnect-demo/issuesARK Scan - https://github.com/ArdentHQ/arkscan/issuesARK Vault - https://github.com/ArdentHQ/arkvault/issues Follow on Twitter (X) Follow us on X  (https://x.com/ArkEcosystem) 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. $ARK {spot}(ARKUSDT)

ARK Development Report - May 9, 2025

Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week on the SDK front, the focus was on enhancing the new Vault Crypto package used by ARK Vault, along with refactoring parts of the PHP and TypeScript packages for better consistency and performance. In ARK Vault, efforts centered on fixing the multipayment bug, improving and re-enabling a range of tests, and upgrading to the latest version of Vault Crypto. Meanwhile, the Mainsail team continued working on legacy support from Core v3 and made solid progress on expanding test coverage.
Development Activity Summary (May 2 – May 9, 2025)
Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from May 2, 2025, to May 9, 2025.

During this period, the team maintained strong productivity and engagement, delivering 51 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 and Docs Weekly Report
This week, our primary focus was on enhancing the new Vault Crypto package used by ARK Vault. We also carried out several refactors across the PHP and TypeScript packages. The key updates include:
Vault Crypto Package:Exposed the BLS class and added BLS key support to enable proper validation, resolving issues caused by previously missing checks.Removed the redundant secp256k1 package from arkvault-crypto and replaced it with the @noble/curves implementation. Added tests to ensure all functionality remains consistent.Updated the PBKDF2 implementation to prevent exceptions in the Node.js environment used by ARK Vault, ensuring stable performance.Fixed the “invalid private key” error by ensuring Uint8Array or Buffer is passed to @noble/curves instead of ArrayBuffer.PHP Client Package:Reorganized API endpoint definitions and connection handling logic to align with the Python and TypeScript SDK structures. The SDK now clearly defines endpoints and separates connection concerns from the main client logic.TypeScript Crypto Package:Replaced Buffer.from with toUtf8Bytes from ethers to resolve a TypeError: invalid BytesLike value encountered during testing.
Next week, we will continue focusing on the Vault Crypto package, aiming to further enhance and integrate essential features required by ARK Vault.
ARK Vault Weekly Report
This week, the focus was on resolving the multipayment bug, improving and enabling various tests, and updating to the latest Vault Crypto package. Work completed includes:
Fixed the issue preventing users from adding recipients in multipayment transactions by adjusting properties in network.ts to correctly reflect the network configuration—specifically updating maxRecipients, which was previously set to 0.Enabled BLS key validation by integrating the necessary checks into the transaction flow. To verify, send a validator transaction and confirm the BLS key is properly validated during submission.Refactored the onboarding hint tooltip to appear only when more than one wallet is imported in single address mode, and updated the tooltip text to better reflect that context.Updated username and validator public key validations to use the hosts configuration via hostSelector instead of hard-coded URLs. This enables dynamic public API selection and supports request cancellation to avoid false positives.Enabled and fixed tests across multiple domains and components:Application components/hooks tests: Ensured core components and hooks are properly tested.Transactions domain A–O tests: Fixed tests related to error handling and exchange logic.Dashboard domain tests: Ensured complete test coverage for dashboard features.Portfolio domain tests: Enabled and fixed tests within the portfolio domain.Contact domain tests: Enabled and resolved issues with contact-related tests.Fixed a bug where the BLS key was never accepted by updating the arkvault-crypto package to version 0.0.7. The publicKeyExists method was refactored to pass validation when a 404 is returned from the public keys endpoint, indicating that the public key is available for use.
Next week we’ll continue work on Vault Crypto package integration to make ARK Vault even more lean. In addition, we plan to implement further Side Panel updates based on recent feedback.
Mainsail Weekly Report
This week, our focus has been on legacy support from Core v3, along with improvements to our test coverage. Key highlights include:
Implemented default configuration path for storing legacy snapshot files.The configuration generator now saves the snapshot file to this path.The snapshot importer reads from it during Mainsail boot.Added an end-to-end (E2E) test to verify import from a legacy snapshot.Expanded E2E tests to include:Transaction sendingAPI response validationAdded support for the activeValidators milestone change.Updated EVM Rust dependencies.Enabled support for specifying a BLS private key or passphrase for validators in the validators.json file.
Next week, we plan to upgrade inversify to the latest version and focus on optimizing transaction inclusion within blocks.
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:
Mainsail - https://github.com/ArkEcosystem/mainsail/issuesARK Connect (Extension) - https://github.com/ArdentHQ/arkconnect-extension/issuesARK Connect (Demo) - https://github.com/ArdentHQ/arkconnect-demo/issuesARK Scan - https://github.com/ArdentHQ/arkscan/issuesARK Vault - https://github.com/ArdentHQ/arkvault/issues
Follow on Twitter (X)
Follow us on X  (https://x.com/ArkEcosystem) 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.
$ARK
The Strake Foundation has published an overview of ARK's new upcoming codebase called Mainsail. https://strake.substack.com/p/mainsail-evm-arks-next-gen-blockchain $ARK
The Strake Foundation has published an overview of ARK's new upcoming codebase called Mainsail.

https://strake.substack.com/p/mainsail-evm-arks-next-gen-blockchain

$ARK
ARK Development Report - May 2, 2025Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, the ARK Scan team focused on resolving reported Mainsail compatibility issues. At the same time, progress continued on the TypeScript client and the introduction of Vault Crypto—a lighter, purpose-built SDK tailored for ARK Vault. The ARK Vault team pushed forward with Mainsail EVM integration and began replacing the existing PSDK package with the newly introduced Vault Crypto. Meanwhile, the Mainsail team concentrated on general improvements and bug fixes. Development Activity Summary (April 25 – May 2, 2025) Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from April 25, 2025, to May 2, 2025. During this period, the team maintained strong productivity and engagement, delivering 88 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 resolving reported Mainsail compatibility issues. The work completed includes: Corrected missed or incorrect block height values to ensure accurate chronological ordering and consistent block data across multiple days.Updated transaction fee handling to support new decimal formats, addressing issues where total and average fees used an incorrect number of decimals.Added support for incoming multipayments, ensuring they are properly recognized and displayed alongside other incoming transactions for each address.Adjusted the application to work with the breaking changes in database columns and API responses for the newly released Mainsail version. Next week, our focus will shift to addressing any additional compatibility issues or bugs reported by the team. ARK SDKs and Docs Weekly Report This week, we made progress on the TypeScript client and introduced a new SDK - Vault Crypto. As we began integrating the Platform SDK (PSDK) into ARK Vault, we ran into compatibility issues with some of the cryptographic libraries when building with Vite, the tool used by ARK Vault. To address this, we developed Vault Crypto as a standalone package to isolate and manage these dependencies. This allows us to build these cryptographic components through Webpack, ensuring they work in a browser environment. Work done this week includes: TypeScript Client Package:Updated ethCall to accept a single PayloadData object instead of an array. This change resolves API issues caused by nested parameters.Added contracts endpoint to the API, enabling contract-related requests directly from the client.Vault Crypto Package:Implemented cryptographic methods** using modern libraries and testing tools:Replaced micro-bip39 with @scure/bip39.Switched from crypto-js to @noble/hashes/pbkdf2 for PBKDF2 operations.All adapted tests now pass using Jest.Exported classes and types, fully replacing @ardenthq/sdk-cryptography with arkvault-crypto. Verified functionality remains consistent, especially around profile encryption.Removed the @ardenthq/sdk-cryptography dependency entirely.Added a Webpack config to ensure browser-compatible builds that run successfully in a web environment.Implemented BLS key verification.. Most updates to the Platform, Python, PHP, and TypeScript SDKs are now in place. Next week, we’ll focus on resolving reported issues and continuing development on arkvault-crypto to ensure full integration within ARK Vault. Additionally, we’ll be expanding content on the documentation site. ARK Vault Weekly Report This week, we continued working on the Mainsail EVM integration and began integrating the new, leaner Vault Crypto package to replace the existing PSDK package. Work completed includes: Moved away from external PSDK dependencies by integrating them directly into ARK Vault, streamlining the solution for Mainsail and EVM networks, and removing unnecessary multi-coin complexity.Replaced all instances of @ardenthq/sdk-cryptography with the arkvault-crypto package.Set the single address view as the default display mode for the addresses side panel.Refactored the DateTime class from lib/intl to integrate the timezone plugin from dayjs, enabling the display of transaction timestamps in the user’s local timezone.Updated hosts in networks/mainsail.devnet and networks/mainsail.mainnet to adjust for transaction sending.Fixed the “Sign Message” button hover state by moving the class names applied to the div wrapper into the button’s class name container within the Clipboard button variant.Fixed transaction fetching parameters for both the dashboard page and transaction export, ensuring accurate data retrieval.Restored the validation for minimum and maximum gas limits and gas prices.Fixed the issue with multipayment transactions failing due to insufficient gas limits by making sure it increases with every added recipient.Made adjustments to Vault for compatibility with the next Mainsail release, including updates to transaction API attributes to align with the new version.Refactored the custom servers table and added a custom server form to support three endpoints, enhancing the server management interface.Integrated typescript-client by replacing the custom Request implementation across all Mainsail coin API calls, including fees, transactions, and EVM calls.Moved maximum length validation for usernames to the custom validation rules section, ensuring that usernames longer than 20 characters are correctly flagged and not treated as false positives.Implemented state reset for side panel consumers after the component is unmounted, ensuring that the state is cleared following the close transition.Renamed all instances of “delegate(s)” to “validator(s)” across the lib packages and React components. This includes renaming delegate.service to validator.service, updating related types, methods, interfaces, constants, API endpoints (e.g., /delegates to /validators), and refactoring component names and logic to align with the new terminology, along with minor type adjustments to prevent TypeScript errors. Next week we’ll keep working on making Vault Crypto package integration changes and updates as well as other Mainsail EVM related improvements as well as UI updates. Mainsail Weekly Report This week, we focused on general improvements and bug fixes. Highlights include: Enabled the EVM API by default.Configured snapshot writing to the config directory during new network generation.Updated Docker configuration to support the latest release.Fixed CI workflows for external contributors.Added end-to-end tests for transactions and the Public API. Next week, we’ll be working on V3 BLS key registration in ARK Core and improving test coverage. 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: Mainsail - https://github.com/ArkEcosystem/mainsail/issuesARK Connect (Extension) - https://github.com/ArdentHQ/arkconnect-extension/issuesARK Connect (Demo) - https://github.com/ArdentHQ/arkconnect-demo/issuesARK Scan - https://github.com/ArdentHQ/arkscan/issuesARK Vault - https://github.com/ArdentHQ/arkvault/issues Follow on Twitter (X) Follow us on X  (https://x.com/ArkEcosystem) 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. $ARK {spot}(ARKUSDT)

ARK Development Report - May 2, 2025

Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, the ARK Scan team focused on resolving reported Mainsail compatibility issues. At the same time, progress continued on the TypeScript client and the introduction of Vault Crypto—a lighter, purpose-built SDK tailored for ARK Vault. The ARK Vault team pushed forward with Mainsail EVM integration and began replacing the existing PSDK package with the newly introduced Vault Crypto. Meanwhile, the Mainsail team concentrated on general improvements and bug fixes.
Development Activity Summary (April 25 – May 2, 2025)
Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from April 25, 2025, to May 2, 2025.

During this period, the team maintained strong productivity and engagement, delivering 88 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 resolving reported Mainsail compatibility issues. The work completed includes:
Corrected missed or incorrect block height values to ensure accurate chronological ordering and consistent block data across multiple days.Updated transaction fee handling to support new decimal formats, addressing issues where total and average fees used an incorrect number of decimals.Added support for incoming multipayments, ensuring they are properly recognized and displayed alongside other incoming transactions for each address.Adjusted the application to work with the breaking changes in database columns and API responses for the newly released Mainsail version.
Next week, our focus will shift to addressing any additional compatibility issues or bugs reported by the team.
ARK SDKs and Docs Weekly Report
This week, we made progress on the TypeScript client and introduced a new SDK - Vault Crypto. As we began integrating the Platform SDK (PSDK) into ARK Vault, we ran into compatibility issues with some of the cryptographic libraries when building with Vite, the tool used by ARK Vault. To address this, we developed Vault Crypto as a standalone package to isolate and manage these dependencies. This allows us to build these cryptographic components through Webpack, ensuring they work in a browser environment. Work done this week includes:
TypeScript Client Package:Updated ethCall to accept a single PayloadData object instead of an array. This change resolves API issues caused by nested parameters.Added contracts endpoint to the API, enabling contract-related requests directly from the client.Vault Crypto Package:Implemented cryptographic methods** using modern libraries and testing tools:Replaced micro-bip39 with @scure/bip39.Switched from crypto-js to @noble/hashes/pbkdf2 for PBKDF2 operations.All adapted tests now pass using Jest.Exported classes and types, fully replacing @ardenthq/sdk-cryptography with arkvault-crypto. Verified functionality remains consistent, especially around profile encryption.Removed the @ardenthq/sdk-cryptography dependency entirely.Added a Webpack config to ensure browser-compatible builds that run successfully in a web environment.Implemented BLS key verification..
Most updates to the Platform, Python, PHP, and TypeScript SDKs are now in place. Next week, we’ll focus on resolving reported issues and continuing development on arkvault-crypto to ensure full integration within ARK Vault. Additionally, we’ll be expanding content on the documentation site.
ARK Vault Weekly Report
This week, we continued working on the Mainsail EVM integration and began integrating the new, leaner Vault Crypto package to replace the existing PSDK package. Work completed includes:
Moved away from external PSDK dependencies by integrating them directly into ARK Vault, streamlining the solution for Mainsail and EVM networks, and removing unnecessary multi-coin complexity.Replaced all instances of @ardenthq/sdk-cryptography with the arkvault-crypto package.Set the single address view as the default display mode for the addresses side panel.Refactored the DateTime class from lib/intl to integrate the timezone plugin from dayjs, enabling the display of transaction timestamps in the user’s local timezone.Updated hosts in networks/mainsail.devnet and networks/mainsail.mainnet to adjust for transaction sending.Fixed the “Sign Message” button hover state by moving the class names applied to the div wrapper into the button’s class name container within the Clipboard button variant.Fixed transaction fetching parameters for both the dashboard page and transaction export, ensuring accurate data retrieval.Restored the validation for minimum and maximum gas limits and gas prices.Fixed the issue with multipayment transactions failing due to insufficient gas limits by making sure it increases with every added recipient.Made adjustments to Vault for compatibility with the next Mainsail release, including updates to transaction API attributes to align with the new version.Refactored the custom servers table and added a custom server form to support three endpoints, enhancing the server management interface.Integrated typescript-client by replacing the custom Request implementation across all Mainsail coin API calls, including fees, transactions, and EVM calls.Moved maximum length validation for usernames to the custom validation rules section, ensuring that usernames longer than 20 characters are correctly flagged and not treated as false positives.Implemented state reset for side panel consumers after the component is unmounted, ensuring that the state is cleared following the close transition.Renamed all instances of “delegate(s)” to “validator(s)” across the lib packages and React components. This includes renaming delegate.service to validator.service, updating related types, methods, interfaces, constants, API endpoints (e.g., /delegates to /validators), and refactoring component names and logic to align with the new terminology, along with minor type adjustments to prevent TypeScript errors.
Next week we’ll keep working on making Vault Crypto package integration changes and updates as well as other Mainsail EVM related improvements as well as UI updates.
Mainsail Weekly Report
This week, we focused on general improvements and bug fixes. Highlights include:
Enabled the EVM API by default.Configured snapshot writing to the config directory during new network generation.Updated Docker configuration to support the latest release.Fixed CI workflows for external contributors.Added end-to-end tests for transactions and the Public API.
Next week, we’ll be working on V3 BLS key registration in ARK Core and improving test coverage.
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:
Mainsail - https://github.com/ArkEcosystem/mainsail/issuesARK Connect (Extension) - https://github.com/ArdentHQ/arkconnect-extension/issuesARK Connect (Demo) - https://github.com/ArdentHQ/arkconnect-demo/issuesARK Scan - https://github.com/ArdentHQ/arkscan/issuesARK Vault - https://github.com/ArdentHQ/arkvault/issues
Follow on Twitter (X)
Follow us on X  (https://x.com/ArkEcosystem) 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.
$ARK
ARK Development Report - April 25, 2025Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, across the ecosystem, the ARK Vault team focused on resolving issues surfaced during internal testing while also tidying up the codebase for improved maintainability. Meanwhile, significant attention went into updating the documentation site to reflect recent changes, along with enhancements to our PHP, Python, and TypeScript packages—introducing new features and aligning them with the latest Mainsail EVM updates. On the Mainsail front, work continued on strengthening legacy import support from Core, cleaning up legacy code, and rolling out various general improvements. Development Activity Summary (April 18 – April 25, 2025) Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from April 18, 2025, to April 25, 2025. During this period, the team maintained strong productivity and engagement, delivering 79 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 The ARK Scan team has been actively testing the app to identify bugs and determine any additional changes needed for Mainsail. They’ve also done some code updates, including: Adjusting the transaction and block export functionality to be compatible with upcoming changes in the Mainsail API. Next week, testing will continue alongside the documentation of any remaining issues or required adjustments for Mainsail EVM. ARK SDKs and Docs Weekly Report This week, a lot of focus has been on updating the documentation site with all of the latest changes. We have also worked on PHP, Python, and TypeScript packages by adding new features and adjusting to Mainsail EVM changes. To be precise: Documentation site:Updated wording from delegate to validator across TypeScript, Python, and PHP crypto and client implementations, in accordance with recent schema changes.Additional crypto updates:Added Address.validate method (Python Crypto).Removed internal deserializer methods (Python Crypto).Removed old serializer methods (Python Crypto).Updated Message section to match PHP/TS (Python Crypto).Added missing PrivateKey.sign method (Python & PHP Crypto).Improved Serializer and Deserializer examples (Python Crypto).Updated Slot examples to match PHP/TS (Python Crypto).Ensured all Inherits from references use full namespace paths.Renamed duplicate “convert message to json” to toString (PHP Crypto).Checked PublicKey.recover_from_signature method (Python & PHP Crypto).Standardized API headings and order across SDKs.Ensured examples import relevant packages.Refactored PrivateKey class (PHP Crypto).Verified consistency of example return types.Updated the node fee response example in the docs to reflect the current structure post-Mainsail EVM transition, replacing the outdated pre-EVM format.Removed outdated transaction endpoints from the /api/transactions documentation that are no longer relevant to Mainsail:/transactions/types/transactions/fees/transactions/schemasAdded documentation for the new /api/contracts endpoint.Updated the transaction response example in the docs to reflect changes in the /api/transactions endpoint. The endpoint now accepts a ?fullReceipt=true parameter to include full receipt details, and the success attribute has been moved to the receipt object.Python Crypto Package:Added validate method to provide address format validation.Updated slot epoch to return an int instead of a datetime.Refactored PublicKey to be a class instead of a string wrapper, allowing for future extensions and added functionality.Updated the Message class in the Python Crypto package to align with PHP and TypeScript by adding a new method for creating a message instance. Also added the str helper to support string casting of the object.Adjusted the crypto package to align with recent API schema changes.Python Client Package:Added the new /api/contracts endpoint.Adjusted the client package to align with recent API schema changes.TypeScript Crypto Package:Updated schema to accommodate recent API changes, ensuring continued compatibility and functionality.Improved utils code coverage and removed unused decodePayload methods to streamline the codebase and enhance test reliability.TypeScript Client Package:Refactored schema by renaming ‘delegates’ to ‘validators’, updating the ‘Nodes’ type filename to ‘Node’, and applying other structural improvements for consistency and clarity.PHP Crypto Package:Refactored the PublicKey class to align with TypeScript, removing the wrapper/helper structure to allow for easier extensibility, replacing the previous return of a BitWasp PublicKey instance.Refactored the PrivateKey class and removed the unused gmpToHex method from the AbstractTransaction class to improve code clarity and efficiency.Renamed ‘delegates’ to ‘validators’ and updated the ‘Nodes’ type filename to ‘Node’, along with other schema adjustments for improved consistency and clarity.PHP Client Package:Updated the client package to ensure compatibility with recent API changes.Added the /api/contracts endpoint to support contract-related features and enhance API functionality. Next week, we’ll continue working on any necessary updates to the documentation site and additions to our SDK packages to be in line with Mainsail EVM changes. ARK Vault Weekly Update The ARK Vault team focused on testing, resolving issues from internal QA, and cleaning up the codebase. This week’s completed work includes: Fixed an issue where the wallet encryption message could disappear when tabbing into the input field.Moved sdk-profiles internally and removed the external dependency @ardenthq/sdk-profiles to streamline the project structure.Updated transaction API attributes to align with the upcoming Mainsail changes.Removed the @ardenthq/sdk dependency to reduce external dependencies and simplify the project structure.Removed the remaining multisignature logic from Vault, including refactoring or deleting unused hooks, components, methods, translations, and validations.Fixed the issue where block height was showing as NaN by renaming the blockId prop to blockHash in the useBlockHeight hook and updating the API response from data.height to data.number.Moved @ardenthq/sdk-markets internally, following the same approach used for sdk-profiles, to streamline dependencies and project structure. Next week, the team will continue refining reported issues and will work on moving additional flows to the side panel feature. Mainsail Weekly Update This week, we focused on enhancing legacy import support from Core, cleaning up parts of the codebase, and implementing several general improvements. Highlights include: Renamed the testnet network to devnet. New naming convention:Mainnet → Main public networkTestnet → Public test networkDevnet → Local development networkAdded verification logic for legacy second signatures.Made various improvements to the legacy importer.Enabled management of api-sync and api-database plugins via the MAINSAIL_API_SYNC_ENABLED environment variable.Replaced all CORE_ environment variable prefixes with MAINSAIL_.Removed obsolete .env variables from test configurations. Next week, we will focus on adding V3 BLS key registration support in ARK Core, resolving issues with snapshot file paths, and updating both Docker and installation scripts to incorporate the latest changes. 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: Mainsail - https://github.com/ArkEcosystem/mainsail/issuesARK Connect (Extension) - https://github.com/ArdentHQ/arkconnect-extension/issuesARK Connect (Demo) - https://github.com/ArdentHQ/arkconnect-demo/issuesARK Scan - https://github.com/ArdentHQ/arkscan/issuesARK Vault - https://github.com/ArdentHQ/arkvault/issues Follow on Twitter (X) Follow us on X  (https://x.com/ArkEcosystem) 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.

ARK Development Report - April 25, 2025

Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, across the ecosystem, the ARK Vault team focused on resolving issues surfaced during internal testing while also tidying up the codebase for improved maintainability. Meanwhile, significant attention went into updating the documentation site to reflect recent changes, along with enhancements to our PHP, Python, and TypeScript packages—introducing new features and aligning them with the latest Mainsail EVM updates. On the Mainsail front, work continued on strengthening legacy import support from Core, cleaning up legacy code, and rolling out various general improvements.
Development Activity Summary (April 18 – April 25, 2025)
Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from April 18, 2025, to April 25, 2025.

During this period, the team maintained strong productivity and engagement, delivering 79 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
The ARK Scan team has been actively testing the app to identify bugs and determine any additional changes needed for Mainsail. They’ve also done some code updates, including:
Adjusting the transaction and block export functionality to be compatible with upcoming changes in the Mainsail API.
Next week, testing will continue alongside the documentation of any remaining issues or required adjustments for Mainsail EVM.
ARK SDKs and Docs Weekly Report
This week, a lot of focus has been on updating the documentation site with all of the latest changes. We have also worked on PHP, Python, and TypeScript packages by adding new features and adjusting to Mainsail EVM changes. To be precise:
Documentation site:Updated wording from delegate to validator across TypeScript, Python, and PHP crypto and client implementations, in accordance with recent schema changes.Additional crypto updates:Added Address.validate method (Python Crypto).Removed internal deserializer methods (Python Crypto).Removed old serializer methods (Python Crypto).Updated Message section to match PHP/TS (Python Crypto).Added missing PrivateKey.sign method (Python & PHP Crypto).Improved Serializer and Deserializer examples (Python Crypto).Updated Slot examples to match PHP/TS (Python Crypto).Ensured all Inherits from references use full namespace paths.Renamed duplicate “convert message to json” to toString (PHP Crypto).Checked PublicKey.recover_from_signature method (Python & PHP Crypto).Standardized API headings and order across SDKs.Ensured examples import relevant packages.Refactored PrivateKey class (PHP Crypto).Verified consistency of example return types.Updated the node fee response example in the docs to reflect the current structure post-Mainsail EVM transition, replacing the outdated pre-EVM format.Removed outdated transaction endpoints from the /api/transactions documentation that are no longer relevant to Mainsail:/transactions/types/transactions/fees/transactions/schemasAdded documentation for the new /api/contracts endpoint.Updated the transaction response example in the docs to reflect changes in the /api/transactions endpoint. The endpoint now accepts a ?fullReceipt=true parameter to include full receipt details, and the success attribute has been moved to the receipt object.Python Crypto Package:Added validate method to provide address format validation.Updated slot epoch to return an int instead of a datetime.Refactored PublicKey to be a class instead of a string wrapper, allowing for future extensions and added functionality.Updated the Message class in the Python Crypto package to align with PHP and TypeScript by adding a new method for creating a message instance. Also added the str helper to support string casting of the object.Adjusted the crypto package to align with recent API schema changes.Python Client Package:Added the new /api/contracts endpoint.Adjusted the client package to align with recent API schema changes.TypeScript Crypto Package:Updated schema to accommodate recent API changes, ensuring continued compatibility and functionality.Improved utils code coverage and removed unused decodePayload methods to streamline the codebase and enhance test reliability.TypeScript Client Package:Refactored schema by renaming ‘delegates’ to ‘validators’, updating the ‘Nodes’ type filename to ‘Node’, and applying other structural improvements for consistency and clarity.PHP Crypto Package:Refactored the PublicKey class to align with TypeScript, removing the wrapper/helper structure to allow for easier extensibility, replacing the previous return of a BitWasp PublicKey instance.Refactored the PrivateKey class and removed the unused gmpToHex method from the AbstractTransaction class to improve code clarity and efficiency.Renamed ‘delegates’ to ‘validators’ and updated the ‘Nodes’ type filename to ‘Node’, along with other schema adjustments for improved consistency and clarity.PHP Client Package:Updated the client package to ensure compatibility with recent API changes.Added the /api/contracts endpoint to support contract-related features and enhance API functionality.
Next week, we’ll continue working on any necessary updates to the documentation site and additions to our SDK packages to be in line with Mainsail EVM changes.
ARK Vault Weekly Update
The ARK Vault team focused on testing, resolving issues from internal QA, and cleaning up the codebase. This week’s completed work includes:
Fixed an issue where the wallet encryption message could disappear when tabbing into the input field.Moved sdk-profiles internally and removed the external dependency @ardenthq/sdk-profiles to streamline the project structure.Updated transaction API attributes to align with the upcoming Mainsail changes.Removed the @ardenthq/sdk dependency to reduce external dependencies and simplify the project structure.Removed the remaining multisignature logic from Vault, including refactoring or deleting unused hooks, components, methods, translations, and validations.Fixed the issue where block height was showing as NaN by renaming the blockId prop to blockHash in the useBlockHeight hook and updating the API response from data.height to data.number.Moved @ardenthq/sdk-markets internally, following the same approach used for sdk-profiles, to streamline dependencies and project structure.
Next week, the team will continue refining reported issues and will work on moving additional flows to the side panel feature.
Mainsail Weekly Update
This week, we focused on enhancing legacy import support from Core, cleaning up parts of the codebase, and implementing several general improvements. Highlights include:
Renamed the testnet network to devnet. New naming convention:Mainnet → Main public networkTestnet → Public test networkDevnet → Local development networkAdded verification logic for legacy second signatures.Made various improvements to the legacy importer.Enabled management of api-sync and api-database plugins via the MAINSAIL_API_SYNC_ENABLED environment variable.Replaced all CORE_ environment variable prefixes with MAINSAIL_.Removed obsolete .env variables from test configurations.
Next week, we will focus on adding V3 BLS key registration support in ARK Core, resolving issues with snapshot file paths, and updating both Docker and installation scripts to incorporate the latest changes.
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:
Mainsail - https://github.com/ArkEcosystem/mainsail/issuesARK Connect (Extension) - https://github.com/ArdentHQ/arkconnect-extension/issuesARK Connect (Demo) - https://github.com/ArdentHQ/arkconnect-demo/issuesARK Scan - https://github.com/ArdentHQ/arkscan/issuesARK Vault - https://github.com/ArdentHQ/arkvault/issues
Follow on Twitter (X)
Follow us on X  (https://x.com/ArkEcosystem) 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.
ARK Development Report - April 18, 2025Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, the ARK Scan team focused on Foundation package fixes and resolving number display issues, while updates were made across the documentation site, Platform SDK, and Python and TypeScript packages. ARK Vault continued addressing internal testing feedback, resolving reported issues, advancing Ledger hardware wallet integration, and refining UI elements. Meanwhile, the Mainsail team made progress on snapshot support and EVM schema rename compatibility. Development Activity Summary (April 11 – April 18, 2025) Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from April 11, 2025, to April 18, 2025. During this period, the team maintained strong productivity and engagement, delivering 108 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 Work done this week included Foundation package fixes and updates to number display issues. To be precise: Updated the Foundation package to fix build issues encountered with the recent Node.js version.Fixed a 500 error caused by improper pagination handling. Reviewed and updated all other instances of pagination across the app to ensure consistent and error-free behavior.Fixed the issue where multipayments were not being counted in stats by ensuring the proxy contract address is used when handling multipayment transactions.Refactored the supply display logic by adding a rounding method to ensure no decimals are shown. This prevents potential formatting issues if the returned supply value includes decimals in the future.Updated the fee display logic to remove decimals from Gwei values. This ensures consistency with the Vault implementation and improves readability by avoiding excessively long numbers.Prepared PRs for the next Mainsail version that affects database column naming. Next week we’ll fix any other reported issues from the internal team. ARK SDKs and Documentation Weekly Report This week, we made several updates across our documentation site, Platform SDK, and Python and TypeScript packages. Here’s a summary of the work completed: ARK Documentation Site:Standardized “new instance” examples for consistency.Removed convert to JSON examples from all Transaction Builders, except for Abstract in py-crypto, where it remains relevant.Fixed toArray examples in typescript-crypto to return an object instead of an array.Corrected toDict examples in py-crypto to return dictionaries rather than JSON strings.Updated the transfer builder in ts-crypto to handle BigNumber values correctly.Ensured builder examples in py-crypto return the builder itself, not the serialized object.Reordered Transaction Builder examples across SDKs for consistency and clarity.Platform SDK Package:Fixed an issue with the multipayment amount field that caused errors when sending multipayment transactions.Refactored to export the config manager, enabling access to milestone values from the API. This allows accurate validation of gas price and gas limit using network configuration.Improved syncByProfile to sync wallets for specified networks, enhancing network-specific wallet sync behavior.Added support for second signatures on the Mainsail network with a new isSecondSignature method.Updated the syncByProfile signature and added an auto-refresh mechanism on the Portfolio page. Balances and transaction tables now refresh automatically every 8 seconds.Python Crypto Package:Refactored decode_payload and get_signature by prefixing them with an underscore (_) to indicate they are intended for internal use only, following Python’s convention for pseudo-private methods.Prepared PRs for incoming Mainsail attribute changes.PHP Crypto Package:Prepared PRs for incoming Mainsail attribute changes.TypeScript Crypto Package:Prepared PRs for incoming Mainsail attribute changes.TypeScript Client Package:Added explicit TypeScript types for all API endpoint responses. This improves developer experience by providing:Better type safetyImproved autocompletionClearer method return valuesReduced risk of runtime errors due to incorrect assumptions We’ll continue enhancing Mainsail EVM compatibility across all client and crypto packages, as well as the Platform SDK. Documentation updates will also continue in line with these changes. ARK Vault Weekly Report We’ve continued focusing on internal testing feedback and resolved reported issues. Progress also continued on Ledger hardware wallet integration and UI improvements. Here’s what was completed: Refactored address and message services to use typescript-crypto for signing and verifying messages, improving consistency and security.A placeholder in the side panel is added when no results are found during address search.Removed a random ‘´’ character that was incorrectly rendered under navbar buttons.Implemented a refresh of the transactions table to trigger an API call when sorting is changed.Added a second signature icon to the Mainsail interface.Fixed Ledger import tests by updating LedgerImportStep and LedgerConnectionStep for Mainsail compatibility.Updated the transactions table to show “To Contract” for username registration transactions.Added missing periods to the contact section for better grammar and consistency.Added a shadow to the side panel when scrollable to indicate more content is available.Set an upper limit for gas price and gas limit based on the active milestone to prevent transaction errors.Replaced the EVM builder for transfer transactions with typescript-crypto for better compatibility.Updated transaction handling to use typescript-crypto for all remaining types, including validator registration/resignation, vote, and username transactions.Improved username validation by enforcing local character checks before network requests. Requests are now aborted if input changes.Added proper handling for aborted username validation requests to avoid false errors or incorrect “previously registered” flags.Added support for displaying contract creation transactions in the transactions table.Wallet balances in multiview now refresh every n seconds to reflect external incoming transactions.Portfolio page now auto-refreshes every 8 seconds for updated balances and transaction data.Fixed display issues in pending transactions, correcting decimal amounts and showing the sender address.Refactored DTOs to match Mainsail, removing unsupported types like IPFS and trimming unused properties.Implemented Ledger HW transaction signing with typescript-crypto.Removed deprecated crypto code from lib/crypto and lib/mainsail/crypto.Removed MultiSignature logic from the libs and refactored arkvault to bypass these checks with minimal changes.Fixed back button behavior on the Verify page to correctly return to /dashboard.Updated the import address encryption tooltip to show accurate availability messages based on the import method. Next week, we’ll continue resolving reported issues and focus on further design unification across more Vault features. Mainsail Weekly Report This week, progress was made on snapshot support, EVM schema rename compatibility, and streamlining the codebase. Specifically, the following tasks were completed: Upgraded the EVM database to use the latest heed (v22).Added verification of legacy wallet attributes to the block processor (if present).Improved the V3 snapshot generator and added initial e2e tests.Renamed validation schemas in the EVM API.Renamed “local testnet” to “devnet” to align with the new naming convention.Removed obsolete environment variables. Next week, we’ll focus on finalizing full pnpm v10 support and implementing V3 BLS key registration support. Missed our recent Mainsail blog post on the latest advancements? Have a read here. - https://arkscic.com/blog/mainsail-evm-development-highlights-whats-coming 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: Mainsail - https://github.com/ArkEcosystem/mainsail/issuesARK Connect (Extension) - https://github.com/ArdentHQ/arkconnect-extension/issuesARK Connect (Demo) - https://github.com/ArdentHQ/arkconnect-demo/issuesARK Scan - https://github.com/ArdentHQ/arkscan/issuesARK Vault - https://github.com/ArdentHQ/arkvault/issues Follow on Twitter (X) Follow us on X  (https://x.com/ArkEcosystem) 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. $ARK {spot}(ARKUSDT)

ARK Development Report - April 18, 2025

Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, the ARK Scan team focused on Foundation package fixes and resolving number display issues, while updates were made across the documentation site, Platform SDK, and Python and TypeScript packages. ARK Vault continued addressing internal testing feedback, resolving reported issues, advancing Ledger hardware wallet integration, and refining UI elements. Meanwhile, the Mainsail team made progress on snapshot support and EVM schema rename compatibility.
Development Activity Summary (April 11 – April 18, 2025)
Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from April 11, 2025, to April 18, 2025.

During this period, the team maintained strong productivity and engagement, delivering 108 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
Work done this week included Foundation package fixes and updates to number display issues. To be precise:
Updated the Foundation package to fix build issues encountered with the recent Node.js version.Fixed a 500 error caused by improper pagination handling. Reviewed and updated all other instances of pagination across the app to ensure consistent and error-free behavior.Fixed the issue where multipayments were not being counted in stats by ensuring the proxy contract address is used when handling multipayment transactions.Refactored the supply display logic by adding a rounding method to ensure no decimals are shown. This prevents potential formatting issues if the returned supply value includes decimals in the future.Updated the fee display logic to remove decimals from Gwei values. This ensures consistency with the Vault implementation and improves readability by avoiding excessively long numbers.Prepared PRs for the next Mainsail version that affects database column naming.
Next week we’ll fix any other reported issues from the internal team.
ARK SDKs and Documentation Weekly Report
This week, we made several updates across our documentation site, Platform SDK, and Python and TypeScript packages. Here’s a summary of the work completed:
ARK Documentation Site:Standardized “new instance” examples for consistency.Removed convert to JSON examples from all Transaction Builders, except for Abstract in py-crypto, where it remains relevant.Fixed toArray examples in typescript-crypto to return an object instead of an array.Corrected toDict examples in py-crypto to return dictionaries rather than JSON strings.Updated the transfer builder in ts-crypto to handle BigNumber values correctly.Ensured builder examples in py-crypto return the builder itself, not the serialized object.Reordered Transaction Builder examples across SDKs for consistency and clarity.Platform SDK Package:Fixed an issue with the multipayment amount field that caused errors when sending multipayment transactions.Refactored to export the config manager, enabling access to milestone values from the API. This allows accurate validation of gas price and gas limit using network configuration.Improved syncByProfile to sync wallets for specified networks, enhancing network-specific wallet sync behavior.Added support for second signatures on the Mainsail network with a new isSecondSignature method.Updated the syncByProfile signature and added an auto-refresh mechanism on the Portfolio page. Balances and transaction tables now refresh automatically every 8 seconds.Python Crypto Package:Refactored decode_payload and get_signature by prefixing them with an underscore (_) to indicate they are intended for internal use only, following Python’s convention for pseudo-private methods.Prepared PRs for incoming Mainsail attribute changes.PHP Crypto Package:Prepared PRs for incoming Mainsail attribute changes.TypeScript Crypto Package:Prepared PRs for incoming Mainsail attribute changes.TypeScript Client Package:Added explicit TypeScript types for all API endpoint responses. This improves developer experience by providing:Better type safetyImproved autocompletionClearer method return valuesReduced risk of runtime errors due to incorrect assumptions
We’ll continue enhancing Mainsail EVM compatibility across all client and crypto packages, as well as the Platform SDK. Documentation updates will also continue in line with these changes.
ARK Vault Weekly Report
We’ve continued focusing on internal testing feedback and resolved reported issues. Progress also continued on Ledger hardware wallet integration and UI improvements. Here’s what was completed:
Refactored address and message services to use typescript-crypto for signing and verifying messages, improving consistency and security.A placeholder in the side panel is added when no results are found during address search.Removed a random ‘´’ character that was incorrectly rendered under navbar buttons.Implemented a refresh of the transactions table to trigger an API call when sorting is changed.Added a second signature icon to the Mainsail interface.Fixed Ledger import tests by updating LedgerImportStep and LedgerConnectionStep for Mainsail compatibility.Updated the transactions table to show “To Contract” for username registration transactions.Added missing periods to the contact section for better grammar and consistency.Added a shadow to the side panel when scrollable to indicate more content is available.Set an upper limit for gas price and gas limit based on the active milestone to prevent transaction errors.Replaced the EVM builder for transfer transactions with typescript-crypto for better compatibility.Updated transaction handling to use typescript-crypto for all remaining types, including validator registration/resignation, vote, and username transactions.Improved username validation by enforcing local character checks before network requests. Requests are now aborted if input changes.Added proper handling for aborted username validation requests to avoid false errors or incorrect “previously registered” flags.Added support for displaying contract creation transactions in the transactions table.Wallet balances in multiview now refresh every n seconds to reflect external incoming transactions.Portfolio page now auto-refreshes every 8 seconds for updated balances and transaction data.Fixed display issues in pending transactions, correcting decimal amounts and showing the sender address.Refactored DTOs to match Mainsail, removing unsupported types like IPFS and trimming unused properties.Implemented Ledger HW transaction signing with typescript-crypto.Removed deprecated crypto code from lib/crypto and lib/mainsail/crypto.Removed MultiSignature logic from the libs and refactored arkvault to bypass these checks with minimal changes.Fixed back button behavior on the Verify page to correctly return to /dashboard.Updated the import address encryption tooltip to show accurate availability messages based on the import method.
Next week, we’ll continue resolving reported issues and focus on further design unification across more Vault features.
Mainsail Weekly Report
This week, progress was made on snapshot support, EVM schema rename compatibility, and streamlining the codebase. Specifically, the following tasks were completed:
Upgraded the EVM database to use the latest heed (v22).Added verification of legacy wallet attributes to the block processor (if present).Improved the V3 snapshot generator and added initial e2e tests.Renamed validation schemas in the EVM API.Renamed “local testnet” to “devnet” to align with the new naming convention.Removed obsolete environment variables.
Next week, we’ll focus on finalizing full pnpm v10 support and implementing V3 BLS key registration support.
Missed our recent Mainsail blog post on the latest advancements? Have a read here. - https://arkscic.com/blog/mainsail-evm-development-highlights-whats-coming
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:
Mainsail - https://github.com/ArkEcosystem/mainsail/issuesARK Connect (Extension) - https://github.com/ArdentHQ/arkconnect-extension/issuesARK Connect (Demo) - https://github.com/ArdentHQ/arkconnect-demo/issuesARK Scan - https://github.com/ArdentHQ/arkscan/issuesARK Vault - https://github.com/ArdentHQ/arkvault/issues
Follow on Twitter (X)
Follow us on X  (https://x.com/ArkEcosystem) 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.
$ARK
Login to explore more contents
Explore the latest crypto news
⚡️ Be a part of the latests discussions in crypto
💬 Interact with your favorite creators
👍 Enjoy content that interests you
Email / Phone number

Latest News

--
View More

Trending Articles

BeMaster BuySmart
View More
Sitemap
Cookie Preferences
Platform T&Cs