Development Update (July 2025)

Development Update (July 2025)

By BasicSwap TeamJuly 31, 2025
NewsReport

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

New BasicSwap AMM UI: A Giant Leap in Usability | BasicSwap Blog
New BasicSwap AMM UI: A Giant Leap in Usability | BasicSwap Blog
BasicSwap Blog
A comprehensive overview of the new Automated Market Making (AMM) user interface, a significant step towards making BasicSwap more intuitive and user-friendly.
https://blog.basicswapdex.com/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.

ℹ️MVP Status

Contrary to what was mentioned in the June 2025 progress report, cross-network compatibility will not require a Particl Core hardfork. However, BasicSwap users will need to update their Particl Core node to the latest version to use this new feature.

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.

ℹ️This Month — A Bird's Eye View
  • Major Features Being Looked Into:
    • Multi-net support
    • Light Wallet Support (SPV)
    • Pre-signed swap transactions
    • Decentralized price oracle
    • Quick swaps
    • Advanced order book design and functionalities
    • Order book ping system
  • Key Improvements:
    • Networking performance and resilience
    • More adapted user experience for both makers and takers
    • Better accessibility
    • Integrability with external platforms
    • Elimination of fake offers

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.

Click to show notes

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.

Click to show notes

5

Advanced Order Book Design and Functionalities

Planned

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

Click to show notes

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.