Development Update (July 2025)

A summary of the recent developments and progress made by BasicSwap contributors in July 2025.

Development Update (July 2025)

With June behind us and a new production version released a few days ago, it's time for our July 2025 progress report.

In this report, we'll review our accomplishments from the past month and outline the next steps for the month ahead.

Last Month's Recap: June 2025

Here’s a detailed breakdown of what we accomplished in June.

Releases

BasicSwap BlogNew BasicSwap AMM UI: A Giant Leap in UsabilityA comprehensive overview of the new Automated Market Making (AMM) user interface, a significant step towards making BasicSwap more intuitive and user-friendly.basicswapdex.com/blog/amm-tool-integration

On the last day of June, we launched BasicSwap DEX v0.14.6, which includes the first iteration of the Automated Market Making (AMM) tool. This new feature allows users to post offers and bids directly from the user interface, eliminating the need for separate scripts.

This update is now available for all users. To install it, please follow the update instructions here or read our release blog post here.

Major Features

Multi-net Support

We have continued our work on multi-net support, a feature that enables BasicSwap to distribute swap, offer, and bid messages across multiple messaging networks beyond SMSG, particularly when the primary network experiences a high load. While a Minimum Viable Product (MVP) was released in June, we have since made significant architectural improvements, resulting in a more robust and reliable multi-net implementation.

Notably, we've been working on improvements related to Particl Core to ensure cross-compatibility of messages across different networks. This Core update will be released soon.

Note that the recent multi-net changes were not included in the BasicSwap v0.14.6.0 release as they were not yet production-ready. We intend to push a new version of BasicSwap soon that will include multi-net support.

Automated Market Making and Advanced Order Management

The main feature of the new v0.14.6 release is the integration of our Automated Market Making (AMM) tool. The AMM and advanced order management tools are now available on a new page that incorporates these functionalities directly into the user interface. This allows users to perform market-making and advanced trading operations from the main interface without needing to run additional scripts.

Bugs Fixed

We've resolved several bugs to improve stability and performance. Here are the most notable fixes:

Bug DescriptionImpactLink
Workaround for Simplex ChatWorkaround error specifying server to simplex-chat twice1
Price API fixesFix USD prices via API1
Chart and price API fixesAdd fallback mechanisms for price charts and price calculations1
Fix auto-refreshFix the auto-refresh's enable/disable logic1
Missing walletsTry and load missing wallets1
Bid modal fixesFix for bid modal showing no value when amounts are empty1
Fix changetypesFix the changetypes for Bitcoin and Litecoin in prepare.py1
Fix BCH filterFix a bug with BCH in the filters1
Persistent filteringEnsure filters remain applied when tables update1
GUI fixesVarious GUI fixes1, 2

Improvements Made

We've also made several smaller improvements to the platform:

Bug DescriptionImpactLink
Swap type reset logicDon't reset the swap type in the GUI if it's a valid option1
Simplex direct chatsUse Simplex direct chats instead of groups for swaps1, 2
Add socks-proxy support for SimplexAdd socks-proxy option for simplex-chat1
SimpleX responses updateUpdate response format for SimpleX Chat v6.3.41
DB updateSync DB schema to table definitions1
Settings: max_transient_errorsAdd setting for max_transient_errors1
Set dleag_size per bidAllow to set specific dleag_size per bid1
Start Simplex client in run.pyStart Simplex client in run.py script1
Add Simplex to prepare.pyAdd Simplex to the prepare.py script1
Log process endingDetect and log if processes end unexpectedly1
Better web client pagesBetter web client unlock and Change Password pages1, 2
AMM biddingAdd use_balance_bidding to the AMM1
python-gnupg priorityInstall python-gnupg before other dependencies1
Settings page updateAdd improvements to the Settings page1
Round inputAmountUtility that rounds inputAmount to avoid a mantissa error1
Swap type management for AMMAdd restrictions, sorting, and better swap type selection logic for the AMM based on selected pair1
Update test_swap_direction.pyAdditional changes made to test_swap_direction.py1
Multi-select coin filteringAdd the ability to select multiple coins for filtering1
Hide Abandon BidMove the ability to abandon a bid to debug_ui1

This Month's Focus: July 2025

Summary

Now that July is here, we're excited to outline our key development priorities for the coming weeks. While these items represent our most immediate focus, please note that their timelines will vary. Not all will be completed by the end of the month, but they are at the top of our development list.

Upcoming Milestones (Short-term Roadmap)

Here's an updated look at our short-term roadmap, representing the next major milestones in approximate order of development. As BasicSwap DEX is a complex project with multiple moving parts, we may adjust the roadmap to better reflect the platform's evolving priorities.

  1. Multi-Net Functionality

    Live on Dev

    Enables BasicSwap to distribute swap, offer, and bid messages across multiple messaging networks beyond SMSG when the primary network experiences high load.

    Show notes
    Currently live on the dev branch, but it does not possess all the bells and whistles we have planned for its official V1 version. Namely, it is currently not included in the GUI, it must be manually configured outside the user interface by editing a config file, and it doesn't yet allow swaps to happen when two participants are on a different network. The latter will require modifications to Particl Core via a hardfork, which we are likely to bundle with a potential coming hardfork to tweak the network emission rate and disable treasury (more news about this treasury community CCS proposal to be published next week), should its ccs proposal be voted in favor.
  2. Light Wallet Support (SPV)

    In Progress

    Enables users to use light wallets instead of full nodes for faster setup time and reduced storage requirements.

  3. Pre-signed Swap Transactions

    Planned

    Enables users to safely go offline once a swap is initiated without disrupting the swap process.

  4. Quicks Swaps

    Planned

    Improves and simplifies the process of posting a new offer.

    Show notes
    Posting a new offer to the order book is a cumbersome, multi-step process that has remained virtually untouched since the initial BasicSwap GUI release. The new "Quick Swaps" feature streamlines this experience, allowing users to post offers from a single, intuitive window without navigating through multiple pages. Improving this core function is vital for making the DEX more intuitive and will integrate seamlessly with the upcoming order book redesign.
  5. Advanced Order Book Design and Functionalities

    Planned

    Redesign of the order book into a more intuitive and user-friendly interface.

    Show notes
    The current BasicSwap order book functions more like an over-the-counter (OTC) offer board than a traditional order book found on major exchanges like Binance. While this isn't inherently bad, it doesn't align with our mission to make atomic swaps a ubiquitous and viable alternative to high-risk centralized exchanges (CEXs). To address this, we are redesigning the order book to be more intuitive and to include features users expect, such as a depth chart, volume indicators, separate buy/sell books, and market order capabilities. Ultimately, our goal is to deliver the security and privacy benefits of adaptor signature atomic swaps within a DEX that has the familiar look and feel of a popular exchange, but without the associated centralized risks.

Bug Fixes

We've resolved the following bugs to improve stability and performance. These fixes are either live on the dev branch (experimental) or pending in pull requests. What is listed here will likely be merged into the production build in the next BasicSwap release.

Bug DescriptionImpactLink
Multi-net — Fix outbox parameterFix add_to_outbox parameter1
Multi-net — Simplex Sqlite duplicateFix duplicate entries in Simplex Sqlite database1
Multi-net — Fix selection when no networks are specifiedFix selection when no networks are specified.1
AMM — Skip offer if amount field is missingSkip offer if amount field is missing1
AMM — Write amount line if missingWrite amount line if missing1
AMM — Set minrate if missingSet to 0 if missing or null1
AMM — Fix amount_step variable typeUse float for instead of string1
Offers — Rate parityUse same rates for buying and selling1
Wallets — MWEB balancesFix MWEB balances not showing pending transactions1
Wallets — USD values for Particl Blind walletsFix the displayed USD value of Particl Blind wallets1
ZMQ — ZMQ fixFix the default ZMQ configuration1, 2
ZMQ — Set server keypairUse recv_multipart and set server keypair in prepare script.1
ZMQ — Persistent keypairUse persistent client keypair..1
Prices — Particl pricesFix Particl prices in charts, specifically to make more independent from MEXC1
Prices — Various fixes related to ratesFix rate tolerance, GUI rates, json rates, mismatch issues, backend handling calculations, format_amount, and more.1
API — Add message_nets fieldAdd message_nets field to bids and offers.1
Tests — Fix test_reloadFix test_reload.1

Improvements

We've also made several improvements, which are also live on the dev branch (experimental) or pending in pull requests. What is listed here will likely be merged into the production build in the next BasicSwap release.

DescriptionImpactLink
Multi-net — Set direct mode per bidAutomatically set direct simplex mode per bid.1
Multi-net — Set smsg_payload_versionSet smsg_payload_version automatically if unset.1
Multi-net — Make backwards compatibleMake backwards compatible with smsg payload version 11
Multi-net — Ensure compatibility with Particl Core 23.2.7Only call smsggetdifficulty when smsg_plaintext_version >= 21
Multi-net — Add network portal data to databaseAdd network portal data to database.1
Multi-net — Add network portalsAdd network portals to allow users to swap with each other even if using different networks.1
Multi-net — Manage SMSG pubkeys within BasicSwapSMSG pubkeys are now managed and stored within BasicSwap instead of Particl Core.1, 2
Multi-net — Error handlingDon't raise an error if multiple networks are active (for testing pre smsg-plaintext-version2).1
Multi-net — Rename smsg_plaintext_versionRename smsg_plaintext_version.1
Core — Lock-tx flexibilityAllow lock-tx nLockTime to be > chain height + 2.1
Core — Fix verifyMessage parameterFix verifyMessage parameter order.1
Export — Change default key derivation pathsAllows users to import keys generated on BasicSwap into Electrum. Only applies when using description wallets. To match keys from legacy (sethdseed) wallets set the {COIN}_USE_LEGACY_KEY_PATHS environment variable before running prepare.py.1
Github — Pre-commit hooksAdd pre-commit hooks to ensure code quality1
Particl — Add deprecaterpcAdd deprecaterpc line to particl.conf.1
Particl — Set messagemagic stringExplicitly set messagemagic string for Particl v27.1
Particl — Version bumpBump Particl Core to version 27.2.1.01
Particl — Version bumpBump Particl Core to version 27.2.2.0 (fixes ZMQ missing curve functions and signmessage for v23).1
Wownero — Confirmations bumpCoins unlock after 4 confirmations instead of 31
Wownero — Efficiency improvementsReuse threadPollXMRChainstate & monerod_proxy_config1
Monero — Version bumpBump Monero deamon to version 0.18.4.11
Dash — Version bumpBump Dash Core to version 22.1.31
Wallets — Dynamic balancesBalances now update dynamically within the Wallets page of the GUI1
Notifications — New notification systemMore dynamic and useful GUI notifications using Toasts1
Notifications — Toasts update and historyUpdated toasts and added notifications history1
Wallets — ZMQ for Particl balancesUse ZMR for Particl Core balances1
AMM — UI improvements for consistencyIcon beside amount and consistent size of add/edit1
Prepare — Switch core repositoriesAdd an environment variable to switch between the core repositories.1
Core — Relative pathsAdd the ability to use relative paths in inputs1
Prepare — Enable network logging categoryEnable network logging category.1

Stay Connected

Stay connected with us on our social media channels for real-time updates, news, and more.

BasicSwap Team

The official team behind BasicSwap. We're a group of passionate contributors dedicated to making atomic swap technology ubiquitous by creating accessible, user-friendly solutions for everyone.