Exchange Union Daemon
The Exchange Union Daemon (
xud) is the reference implementation powering OpenDEX, a decentralized exchange built on top of the Lightning and Connext networks.
xud brings individual traders, market makers and exchanges onto OpenDEX to form a single global trading network and liquidity pool.
OpenDEX Network Specification Compliance
xud implements the OpenDEX protocol and fully conforms to its so-called BOLD specifications. BOLD stands for:
Basis of L3 DEX. The naming is intentionally derived from BOLT, the Lightning Network specifications and role model of OpenDEX. The specifications are currently being drafted by several implementers based around the world, including the developers of
xud. The BOLDs, as well as
xuds implementation of it is still a work-in-progress. The current status of
xud's BOLD compliance is:
xud encompasses the following components:
- Integration with lnd and connext clients.
- Decentralized order book to locally aggregate orders from the known network.
- Matching engine to match new local orders with existing local and remote orders and initiate atomic swaps with remote peers.
- Peer-to-peer networking with and discovery of other nodes.
- gRPC API with web proxy to serve other applications, also accessible via the command-line interface
The daemon has been designed to be as developer friendly as possible in order to facilitate application development on top of
- docs.exchangeunion.com: the starting point and up-to-date collection of guides, links and examples
- api.exchangeunion.com: The automatically generated gRPC API documentation
- typedoc.exchangeunion.com: The automatically generated code documentation
This section contains brief instructions for installing
xud manually, without treating setup of dependencies like
lnd. It is mainly geared towards developers. For all other users, we recommend our streamlined xud-docker setup.
If you already have Node.js installed, you can install
xud via npm by running
sudo npm install xud -g --unsafe-perm
We officially support the current Node.js LTS only, since it often takes time for the latest version to be supported by the gRPC library. Detailed instructions for installing
xud can be found in the installation & developer docs.
./xud 2018-9-11 01:11:59 [GLOBAL] info: config loaded 2018-9-11 01:11:59 [GLOBAL] info: Local nodePubKey is 029a96c975d301c1c8787fcb4647b5be65a3b8d8a70153ff72e3eac73759e5e345 2018-9-11 01:11:59 [DB] info: connected to database. host:localhost port:3306 database:xud 2018-9-11 01:11:59 [P2P] info: p2p server listening on 0.0.0.0:8885 2018-9-11 01:11:59 [RPC] info: gRPC server listening on localhost:8886
Open a new terminal and issue commands to
xud with the
xucli command line tool. To see a list of available commands, run:
You can find more information on how to use & configure
xud in the docs for developers.
Note: If you installed
xud globally via npm, you can run
xucli from anywhere. Otherwise you must run them from the
All files in this repository are licensed under the GNU Affero General Public License v3.0 unless explicitly stated otherwise in the header of a given file.
Comments, questions, and any development-related discussions are welcome in our Discord chat!