plain-language summary
The short version.
- BasicSwap is open-source software. It facilitates atomic swaps. It does not perform them.
- You hold your own keys. Nobody can recover them for you. Losing them loses your funds.
- No protocol fees. The base protocol costs only the on-chain network fee of each transaction. An app that builds BasicSwap in may add its own service fee at the application level, outside the protocol.
- You are responsible for complying with the laws of your jurisdiction.
- The software is provided as is. The contributors are not liable for losses.
- By using BasicSwap you accept these terms in full.
The sections below are the binding version. Read them.
Acceptance and definitions
What you accept by using BasicSwap.
1.1Acceptance
Running a BasicSwap node, participating in the SMSG mesh, broadcasting an offer, accepting a bid, or otherwise interacting with BasicSwap software constitutes your acceptance of these terms. If you do not agree, do not run the software and do not interact with the network.
You confirm that you are of legal age and have the legal capacity to enter into binding agreements in your jurisdiction.
These terms apply to every release of BasicSwap and every node operator running the open-source software. They do not apply to forks, modifications, or third-party redistributions, which carry their own terms.
1.2Definitions
- “BasicSwap” or “the protocol”
- The open-source software, the atomic swap protocol it implements, and the SMSG message mesh it relies on. Treated as a single decentralized system, not a service.
- “Node”
- A device running BasicSwap and a Particl Core daemon. Every node automatically participates in the SMSG mesh.
- “Swap”
- An on-chain atomic exchange between two cryptocurrencies, settled across the respective blockchains using HTLC, OtVES, or SwapLock primitives.
- “User”
- You. Any natural or legal person running BasicSwap, holding keys, or sending messages through the SMSG mesh.
- “Contributors”
- The maintainers and developers of the BasicSwap open-source codebase. They are not a company, operator, custodian, or service provider.
- “Core wallet”
- The official, publicly available wallet of an underlying cryptocurrency (e.g. Bitcoin Core, Litecoin Core, Monero CLI).
What BasicSwap is, and what it is not
Decentralized messaging protocol. Not an exchange.
BasicSwap is
- A decentralized messaging protocol. It coordinates the messages, while the underlying chains do the settlement, with no operator anyone can compel.
- An open-source codebase distributed under the MIT license, available for anyone to inspect, audit, fork, or contribute to.
- A protocol composer. It binds open swap primitives (HTLC, OtVES, SwapLock) to the SMSG messaging layer so that two clients can settle a cross-chain swap without trusting an operator.
- Non-custodial throughout. Funds remain in the user’s own core wallets at every step.
BasicSwap is not
- BasicSwap does not initiate, process, or execute swaps. Each underlying blockchain does that itself.
- BasicSwap does not hold funds, generate wallets, or store private keys. Core wallets do.
- BasicSwap does not run central servers, central order books, or central matching engines.
- BasicSwap does not charge protocol fees, take commissions, or operate a monetization layer.
- BasicSwap does not require, collect, or verify identity information.
No company, foundation, or central team controls the running network. Once a swap is broadcast it settles on the underlying blockchains; no contributor or third-party can pause, censor, freeze, or reverse it. Section 9 covers how the codebase itself is maintained.
Atomic swap primitives and the SMSG mesh
The cryptographic plumbing.
3.1HTLC · Hash Time-Locked Contracts
For pairs where both chains support scripts. A secret-hash protocol that binds two transactions on two chains so that either both confirm or both refund.
3.2OtVES · Adaptor signatures
For pairs that include a chain without script support, such as Monero, Wownero, or Particl’s anon and blind outputs, and available for many scripted pairs too. Atomicity is enforced by the cryptography of the signatures themselves, not by an on-chain contract.
Which method a given pair uses is listed in the coin compatibility table.
3.3SwapLock
A BCH-specific variant (based on swaplock.cash) that pairs BCH’s transaction introspection opcodes (OP_OUTPUTVALUE, OP_OUTPUTBYTECODE) with OP_CHECKDATASIG to enforce the swap in script.
3.4SMSG mesh
BasicSwap uses the Secure Messaging Network (SMSG) built into Particl Core. SMSG is a decentralized, end-to-end encrypted gossip mesh that carries the BasicSwap order book, bids, accept messages, lock signatures, and reveal messages between peers. It is open source and pre-existing software. BasicSwap does not control it.
Every BasicSwap user automatically operates as a node in the mesh. Messages are encrypted on the local device before being broadcast and are relayed by other nodes against the network’s consensus rules. Each message carries a time-to-live and expires automatically once it elapses, up to 14 days for free messages and 31 days for paid ones.
A Particl Core node is therefore required to run BasicSwap. The PART token is not required and is never used by BasicSwap as a means of payment.
| Key exchange | ECDH (secp256k1) |
|---|---|
| Encryption | AES-256-CBC |
| Authentication | HMAC-SHA256 |
| Anti-spam | proof-of-work · on-chain fees |
| Retention | 1-hour buckets · up to 31-day TTL |
3.5Messaging-agnostic
SMSG is the default, not a hard requirement. BasicSwap is agnostic about the messaging and data layer it runs on: the same protocol works just as well over alternatives such as SimpleX or Nostr. Any transport that can carry the encrypted offers and swap messages between peers will do.
Third-party software and services
What BasicSwap depends on, and does not control.
BasicSwap composes open-source software written and maintained by independent projects. The contributors of BasicSwap have no control over these dependencies and make no representations about them. Use of any third-party component is governed by its own license and terms.
4.1Coin core wallets
Bitcoin Core, Litecoin Core, Monero CLI, Dash Core, Decred wallet, Firo Core, Bitcoin Cash Node, Dogecoin Core, Namecoin Core, PIVX Core, Wownero CLI, Particl Core. Each is downloaded directly from its upstream project and runs locally on your machine.
4.2Electrum and remote nodes (optional)
Only used if you run a coin in lightweight mode instead of a full node. In that mode BasicSwap reads chain state from public Electrum-compatible nodes, or from public remote nodes for Monero and Wownero; it does not operate them and cannot guarantee their availability. Full-node mode does not use them at all.
4.3Block explorers (optional)
BasicSwap can query public block explorers (Insight, BitAps, Chainz) for manual lookups such as chain height, blocks, transactions, and balances. It is an optional convenience tool, not part of swap settlement. Use of any public explorer is subject to its terms.
4.4Third-party integrations
Independent apps, wallets, and services that integrate BasicSwap provide their own user interfaces. Their terms, fees, and conduct are their own responsibility.
Maintaining and updating coin cores is your responsibility. BasicSwap never installs an update for you, but it does notify you when one is available; whether and when to apply it is your choice. Skipping a core update that carries a consensus change (e.g. a hard fork) may leave a swap non-functional.
Your responsibilities
What only you can do.
5.1Self-custody and key security
You are the sole custodian of your private keys, seed phrases, and core wallets. Nobody else has access. Lost keys mean lost funds and cannot be restored by anyone.
5.2Back up the Particl seed phrase
On first install BasicSwap either creates a new Particl Core wallet or links to an existing one. Write down the seed phrase and store it offline. Every other coin enabled on BasicSwap is derived from this seed.
5.3Operational security
Keep your operating system patched, your dependencies up to date, and your device free of malware. Verify checksums of downloaded software. Never paste a seed phrase into a website or share it with a person.
5.4Due diligence
Understand the risks of cross-chain settlement, of the specific coins you are trading, and of the current state of the protocol before initiating a swap.
5.5Legal and regulatory compliance
You are solely responsible for ensuring that your use of BasicSwap, the activities you perform with it, and the funds you trade comply with the laws of your jurisdiction. Consult qualified legal counsel where appropriate.
5.6Tax obligations
Atomic swaps may constitute taxable events in your jurisdiction. You are solely responsible for tracking, reporting, and paying any tax owed. BasicSwap produces no tax forms and reports no transactions to any authority.
5.7Sanctions and counterparty screening
If you are subject to sanctions, export controls, or other restrictions on cryptocurrency activity, you are responsible for assessing and respecting those obligations. The protocol cannot do this on your behalf.
5.8Realistic understanding of risk
Cryptocurrency markets are volatile. Open-source software can contain bugs. Use only funds whose loss you can absorb.
Privacy and data handling
What flows where.
BasicSwap collects no personal data. There is no telemetry, no analytics, no tracking, no account, and no central log of activity. This website is the same: no analytics, no trackers, no cookies, and no third-party scripts, storing only a light or dark theme preference locally on your device. There is, however, network traffic on the protocol side. This section makes the data flows explicit so that you can make an informed decision about privacy.
| Stays local |
|
|---|---|
| Goes onto SMSG (encrypted) |
|
| Goes on chain (public) |
|
| Goes to third-parties |
|
Routing BasicSwap and its coin cores through Tor or another network-privacy layer is supported and recommended for users for whom IP-level privacy is part of their threat model.
Risks and disclosures
What can go wrong.
- 7.1Market volatility
- Cryptocurrency prices are volatile. A swap settles at exactly the rate both parties agreed; that coin-to-coin ratio is locked once it begins. What can move is the fiat value of the coins involved, which may differ by the time the swap completes.
- 7.2User error
- Mistyped amounts, wrong addresses, misplaced seed phrases, and similar errors are irreversible. Read each step before signing.
- 7.3Software bugs
- Any software, open-source or not, including BasicSwap, its coin cores, and the underlying cryptography libraries, can contain bugs. Some bugs may result in stuck or lost funds.
- 7.4Cryptographic risk
- Atomic swap primitives rely on assumptions about modern cryptography. A future break in those assumptions could compromise specific operations.
- 7.5Chain reorganizations
- On any underlying chain, transactions can be reorganized away. Use confirmation depths appropriate to the value being settled.
- 7.6Network attacks
- The SMSG mesh, like any P2P network, can be targeted by sybil, eclipse, or denial-of-service attacks. The protocol has defenses; none are absolute.
- 7.7Third-party failure
- Electrum nodes, remote nodes, block explorers, third-party integrations, exchanges, and other parties can go offline, malfunction, or behave adversarially.
- 7.8Counterparty timing
- Atomic swaps include refund branches if a counterparty walks away. The refund window is bounded; very long disconnections can produce edge cases.
- 7.9Regulatory change
- The legal treatment of cryptocurrency, atomic swaps, and self-custodial software changes. Activity that is legal where you live today may not be tomorrow.
- 7.10Loss of access
- Forgetting a seed phrase, losing the device holding the keys, or failing to migrate state through a hardware change can result in permanent loss of funds.
Disclaimers and limitation of liability
The software is provided as is.
8.1No warranties
BasicSwap is provided on an “as is” and “as available” basis. The contributors disclaim, to the maximum extent permitted by law, all warranties of any kind, whether express or implied, including without limitation warranties of merchantability, fitness for a particular purpose, title, and non-infringement.
The contributors do not guarantee that the software will be uninterrupted, secure, error-free, free of viruses, or that defects will be corrected. The contributors do not warrant the accuracy, completeness, or reliability of any information conveyed through the software or its dependencies.
8.2Limitation of liability
To the maximum extent permitted by law, no contributor shall be liable for any direct, indirect, incidental, special, consequential, exemplary, or punitive damages of any kind, including loss of funds, loss of profits, loss of data, loss of opportunity, business interruption, or any other losses arising from or in connection with your use of the software, even if the contributors have been advised of the possibility of such damages.
You acknowledge that running open-source cryptocurrency software involves irreversible operations, and you accept full responsibility for those operations.
Open-source governance
Code governs. The community decides.
9.1License
BasicSwap is released under the MIT license. Anyone may use, copy, modify, merge, publish, distribute, sublicense, or sell copies of the software, subject to the terms of that license.
9.2Maintainers, not operators
BasicSwap has maintainers who merge code and publish releases, like any open-source project. They have no power to pause the running network, censor messages on SMSG, or force a node to upgrade. Users choose which release to run.
9.3Resilience
The running network depends on no central operator. It continues to function even if every current contributor stops contributing. Anyone may fork the codebase, ship their own release, and carry the project forward. A fork can stay compatible with the same order book and network, so even though one group maintains the main repository, the network itself is genuinely decentralized.
Once a swap has been broadcast on the underlying chains, it is governed by those chains’ consensus protocols. The transactions cannot be altered, reversed, or revoked by any contributor or third-party.
Changes, jurisdiction, and severability
Housekeeping.
10.1Changes to these terms
These terms may be updated to reflect changes to the software, dependencies, or legal context. Material changes are dated and versioned at the top of this page. Continued use of BasicSwap after a change constitutes acceptance of the revised terms. No notification of a change is pushed to you.
10.2Governing law
BasicSwap operates as decentralized software without a fixed jurisdiction. Disputes between users and the protocol have no natural forum. You agree that any dispute relating to BasicSwap or these terms shall be resolved under the laws of your own jurisdiction, applied to the contributors only to the extent permitted by applicable law.
10.3Severability
If any provision of these terms is held by a court of competent jurisdiction to be invalid, illegal, or unenforceable, the remaining provisions shall continue in full force and effect, and the invalid provision shall be modified to the minimum extent necessary to render it valid.
10.4Entire agreement
These terms, together with the MIT license text accompanying the software, constitute the entire agreement between you and the contributors regarding BasicSwap. They supersede any prior or contemporaneous understanding on the same subject matter.
10.5Translations
The English version of these terms is authoritative. Any translation is provided for convenience only and has no legal effect in the event of a conflict.
10.6Contact
Public discussion of these terms, the software, and the protocol happens on the BasicSwap GitHub and Matrix channels. The contributors do not maintain a private support inbox.