Terms for a protocol
with no operator.

BasicSwap is open-source software. These terms describe what the protocol is, what it explicitly is not, and the responsibilities you accept when you choose to run a node or settle a swap through the network.

version
1.0
last modified
license
MIT
language
English

plain-language summary

The short version.

  1. BasicSwap is open-source software. It facilitates atomic swaps. It does not perform them.
  2. You hold your own keys. Nobody can recover them for you. Losing them loses your funds.
  3. 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.
  4. You are responsible for complying with the laws of your jurisdiction.
  5. The software is provided as is. The contributors are not liable for losses.
  6. 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.

smsg cryptography
Key exchangeECDH (secp256k1)
EncryptionAES-256-CBC
AuthenticationHMAC-SHA256
Anti-spamproof-of-work · on-chain fees
Retention1-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
  • Your private keys, seed phrases, and signed transactions.
  • Your core wallet databases.
  • Your BasicSwap configuration and offer management history.
Goes onto SMSG (encrypted)
  • Offers, bids, accept messages, lock signatures, and reveal messages.
  • Routed peer-to-peer and end-to-end encrypted to the counterparty.
  • Time-bucketed and expired after their time-to-live (up to 31 days).
Goes on chain (public)
  • Bitcoin, Monero, Litecoin and similar transactions are public on their respective blockchains.
  • Anyone watching a chain can see settled swap transactions on it.
  • Transaction-level privacy is a property of the underlying coin, not BasicSwap.
Goes to third-parties
  • Electrum nodes, and Monero or Wownero remote nodes, see the queries lightweight mode makes against them.
  • Block explorers (if used) see the queries against them.
  • Third-party integrations see whatever their UI surfaces collect; consult their privacy policies.

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.

acceptance

By using BasicSwap, you accept these terms.

There is no “I agree” checkbox in decentralized software. The act of installing and running BasicSwap, of participating in the SMSG mesh, and of initiating or accepting a swap, is itself your assent.