Monero Wallet Development: Replacing wallet2

by @muhshrooms · 2026-10-02

![Mr. X](https://ipfs.3speak.tv/ipfs/QmTbyxHPzN8X4NRjjuYPkT1zZp9j7yGDyB7FLDijA6jqS9) On September 30, SNeedlewoods(a Monero developer/contributor) posted a final progress report for their 2026 Q3 development work.[¹](https://monero.observer/sneedlewoods-completes-ccs-monero-dev-work-q3-2026/) The report lists four completed areas: * Making the Wallet API feature-complete * Removing cached passwords from the Wallet API * Replacing wallet2 with the Wallet API in wallet-cli * And doing the same in wallet-rpc. #### Little about his work On October 4, 2024, SNeedlewoods, started participating in the Monero community and began contributing code related to the wallet system. Their very own first CCS proposal says they were encouraged to start coding for the [Seraphis wallet workgroup](https://github.com/seraphis-migration/strategy/wiki/Seraphis-Wallet-Workgroup). SNeedlewoods later shifted their focus toward Monero's core wallet code when development priorities moved toward FCMPs.[²](https://ccs.getmonero.org/proposals/SNeedlewoods-01_part-time-dev-work-1-month.html) He has been working primarily on the wallet code, particularly the transition from wallet2 to the Wallet API. ## Q3 proposal ![Image](https://ipfs.3speak.tv/ipfs/QmT8S2sQMNh2ZApUBuHZxEJbjAvULcF4Y6ejAKkeGa3MCa) On June 30, 2026, SNeedlewoods submitted a proposal for their third quarter development work. The proposal requested 15.48 XMR for three months of work at 12 hours per week, with a rate of 0.1 XMR per hour. Several large wallet-related changes were already awaiting review. The first two involve adding functions to the Wallet API and removing the cached password from it. Those changes would then allow SNeedlewoods to replace `wallet2` with the Wallet API in both `monero-wallet-cli` and `monero-wallet-rpc`. The proposal also included investigating how Monero determines a wallet's restore height, including getting the actual block height from the daemon when creating a wallet and looking into whether restore dates could be improved for wallets created with Polyseed. SNeedlewoods also planned to continue helping with reviewing pull requests and addressing issues found during development. ### What is wallet2? **wallet2** is the older wallet code used by Monero's wallet software. It handles the underlying work of managing a wallet, including its keys, transactions, balance, and synchronization.[³](https://github.com/monero-project/monero/blob/master/src/wallet/wallet2.h) The Wallet API is a newer interface for interacting with that wallet functionality. SNeedlewoods' Q3 work is about moving *monero-wallet-cli* and *monero-wallet-rpc* away from directly using `wallet2` and over to the Wallet API. In practical terms, this is a change to the software underneath the wallet, rather than a new feature that users will suddenly see in their wallet. ### What is the Wallet API? The Wallet API is an interface that lets other parts of Monero software interact with the wallet without directly working with the underlying wallet code. It provides functions for things like checking balances, managing addresses, creating transactions and refreshing the wallet. In short terms, it's a public interface for the wallet library. ### Making the Wallet API feature complete The work to make the Wallet API feature-complete started with identifying what was actually missing. SNeedlewoods compared the functions being used by *monero-wallet-cli* and *monero-wallet-rpc* with what the Wallet API provided. Anything that was still needed by those programs had to be added to the API. The goal is to make the Wallet API capable of replacing the functionality that *wallet2* was providing to these programs, allowing them to eventually stop using *wallet2* directly. ### Removing cached passwords from the Wallet API This change removes the Wallet API's practice of keeping the wallet password cached in memory. The change means the wallet application is responsible for handling the password instead of the API keeping it available for later operations. The change was discussed and reviewed in late 2025 and early 2026, with SNeedlewoods noting that password verification would instead use the wallet's existing password verification mechanism.[4](https://github.com/monero-project/monero/pull/10232) The change also means some operations now require the password to be provided when they are performed, rather than relying on a cached password. ### Replacing wallet2 with the Wallet API in wallet-cli *monero-wallet-cli* is Monero's command-line wallet. The Q3 work replaces its direct use of wallet2 with the Wallet API, so the CLI can access the wallet through the newer interface instead of relying on the older wallet code directly. ### Replacing wallet2 with the Wallet API in wallet-rpc *Monero-wallet-rpc* provides a way for other apps to interact with a Monero wallet through RPC (Remote Procedure Call). The Q3 work replaces its direct use of wallet2 with the Wallet API, bringing it in line with the change already made to monero-wallet-cli. With both the CLI and RPC wallet interfaces moved away from wallet2, the Wallet API can serve as the common interface between these programs and the underlying wallet. ### Other Improvements The Q3 proposal also included work on wallet restore height. SNeedlewoods planned to have Monero to get the actual block height from the daemon when creating a new wallet, rather than relying on an estimated height when the daemon is available. They also planned to look at improving restore-date calculations for wallets created with Polyseed. That work was listed separately from the four changes that were reported as completed on September 30. #### What does this mean for users? This is mostly internal wallet maintenance, rather than a new wallet feature. The work replaces older wallet infrastructure with the newer Wallet API while making sure the CLI and RPC interfaces still have the functionality they need. For someone simply using a Monero wallet, there may be little or nothing visibly different when these changes reach the software they use. The benefit is in the software underneath: fewer direct dependencies on the old wallet2 code and a more consistent interface for programs that need to interact with Monero wallets. #### Pending Review The work has been completed by SNeedlewoods, but the transition is still going through review. The corresponding PR remains open and is marked as pending review, meaning the code has not simply been merged into Monero's main codebase yet.[⁵](https://github.com/monero-project/monero/pull/10233) # Conclusion SNeedlewoods' Q3 work is mostly about maintenance that users won't see directly. The changes are happening underneath the wallets, with the related pull requests still going through review. For users, the value is in what they don't have to think about: keeping the wallet software easier to maintain, reducing reliance on older code, and giving future wallet development a cleaner foundation. It is the kind of work that may go unnoticed when it is done well, but becomes important when the software has to keep evolving. - @yayogerardo reporting, Writer, researcher, analyst, anarchist, autonomist, Humanoid 🃏™️ --- ### Find Me [Substack](https://yayogerardo.substack.com/) --- ### Services [Independent Research & Investigation Services](https://beblurt.com/@yayogerardo/independent-research-investigation-services-1789635522839) *** ### Support the work with The Worlds Most Private Currency — Monero(XMR). **XMR Adress:** > 86fXjLUF7W9SwGSjTtsbqq4t1LKzzypEZa1t77S5c68WF3yK9SmEfzPTtRyjUhDSk9Zn7p1ahFJT4PcKW8MN4h3QRpjx2Q5 LTC Address: > M8T9nY7orvpJHzJLj1UmoJTJ5j2gxNPAMc <sub>Posted via [HiveSuite](https://hivesuite.app/@muhshrooms/monero-wallet-development-replacing-wallet2-zxjpher9)</sub>

View this post on HiveSuite