20th Apr 2026
4 min read

Mainsail Levels Up: Tokens, Performance, and Reliability

This cycle strengthens Mainsail’s foundations while expanding its capabilities - introducing full ERC20 support, improving EVM compatibility and execution accuracy, enhancing sync and restore reliability, and streamlining core architecture to boost performance, maintainability, and overall system maturity.

On the API side, we introduced full ERC20 support along with several improvements to how tokens are discovered and handled. Users can now search by token name, work with token whitelists, and interact with token-aware approval transactions. Transaction responses have been enriched with more detailed token data, including transferred-token visibility directly in transaction endpoints. We also added incremental wallet token counts and new endpoints such as wallet activity and legacy cold-wallet lookups, making it easier to track and analyze on-chain behavior.

On the EVM side, we continued improving compatibility and execution accuracy. Deploy transactions are now supported in eth_call and eth_estimateGas, revert output data is returned for better debugging, and user-defined gas settings are fully respected. Transaction receipts have been extended with cumulativeGasUsed, and performance has been improved through optimizations in state root and commit hash calculations.

Sync and Restore Reliability

Reliability during sync and restore was another major focus. We improved the handling of missing snapshot milestones and resolved inconsistencies in token transfer, indexing, and restore processes. Validator rounds and proposer order are now restored correctly, and listener scheduling has been refined for more predictable behavior. In addition, new schema and logging options provide better visibility and control over sync configuration.

To support these changes, we significantly expanded functional and end-to-end test coverage, particularly around resync and snapshot workflows, ensuring these systems behave reliably under real-world conditions.

Internal Cleanup and Simplification

A substantial internal cleanup effort streamlined several core components, including consensus, cryptography, and overall application architecture.

Prevote and precommit handling is now unified across messages, processors, endpoints, and storage, reducing complexity and improving consistency. Serializer and signature logic have been extracted and simplified, while older crypto packages have been removed or consolidated. Block and transaction structures were also refined to make them more straightforward and easier to work with.

At the application level, we refactored the container, kernel, CLI, and service provider setup to reduce indirection and improve maintainability, making the codebase easier to navigate and extend.

Quality and Maintainability

We also made significant investments in quality and long-term maintainability.

Test coverage has been expanded across key packages, CI and workflow issues have been addressed, and deprecated dependencies have been removed. Tooling has been updated, Podman support has been added for local PostgreSQL containers, and the project has begun transitioning its runtime from Node 22 to Node 24.

What’s Next?

With these improvements in place, the focus now shifts toward production readiness.

This means continuing to harden the system under real-world conditions, with an emphasis on stability, performance consistency, and edge-case resilience across EVM execution, token flows, and synchronization behavior.

A key priority moving forward is further stress testing of the full stack — especially around transaction testing, resync scenarios, and validator behavior under network variance. This will help ensure the system remains reliable not just in ideal conditions, but under degraded or unpredictable states as well.

On the EVM side, we’ll continue refining execution accuracy and compatibility, particularly around gas estimation edge cases, revert handling, and improving parity with expected Ethereum behaviors where applicable.

We’ll also keep iterating on performance, focusing on reducing overhead in state transitions, improving indexing efficiency, and further optimizing sync and commit flows as network scale increases.

From an API and developer experience perspective, the next steps include finalising endpoints and covering any remaining areas to accommodate projects that rely on the API for their data.

Finally, ongoing work will continue in the background on codebase cleanup, dependency modernization, and architecture simplification to keep Mainsail maintainable and ready for long-term growth.

Help Us Test

The updated public testnet has now been released, incorporating all of the changes outlined above and providing a more complete and realistic environment for testing core functionality across EVM execution, token flows, API behavior, and sync/restore processes.

We’re now actively inviting testers, validators, and developers to explore the testnet network in depth. This is a great opportunity to validate real-world behavior across the full stack — including ERC20 interactions, transaction handling, gas estimation, and wallet tracking.

As you test, please keep an eye out for anything that feels inconsistent, unexpected, or incomplete, especially around edge cases such as failed transactions, reverts, resync scenarios, or token-related operations. Even small anomalies are extremely valuable at this stage.

Feedback is especially helpful when it includes clear reproduction steps, context (what you were doing, and what you expected to happen), and any relevant logs or transaction hashes. This helps us quickly isolate issues and improve stability across the board.

Your testing and reports directly contribute to hardening the system and shaping the final production-ready release.

Share:

Get in Touch!

Whether you want to learn more about ARK Ecosystem, want to apply for developer bounty, become our partner or just want to say Hello, get in touch and we will get back to you.



An Ecosystem of Developers

Join us on our journey to create the future of Web3.