{"id":29560945,"url":"https://github.com/decred/dcrdex","last_synced_at":"2025-07-18T15:39:34.485Z","repository":{"id":37269712,"uuid":"199492515","full_name":"decred/dcrdex","owner":"decred","description":"The Decred Decentralized Exchange (DEX), powered by atomic-swaps.","archived":false,"fork":false,"pushed_at":"2025-07-09T04:15:16.000Z","size":79513,"stargazers_count":197,"open_issues_count":159,"forks_count":121,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-07-09T22:58:42.570Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/decred.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-07-29T16:51:27.000Z","updated_at":"2025-07-09T04:15:21.000Z","dependencies_parsed_at":"2023-12-18T23:01:14.963Z","dependency_job_id":"14c9bae3-528b-41ab-be1d-d09384d4f02a","html_url":"https://github.com/decred/dcrdex","commit_stats":{"total_commits":1520,"total_committers":41,"mean_commits":"37.073170731707314","dds":0.6776315789473684,"last_synced_commit":"821e1768ca6a109700946e0c8ccc1710d58d358a"},"previous_names":[],"tags_count":51,"template":false,"template_full_name":null,"purl":"pkg:github/decred/dcrdex","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/decred%2Fdcrdex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/decred%2Fdcrdex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/decred%2Fdcrdex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/decred%2Fdcrdex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/decred","download_url":"https://codeload.github.com/decred/dcrdex/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/decred%2Fdcrdex/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265787621,"owners_count":23828461,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-18T15:39:28.962Z","updated_at":"2025-07-18T15:39:34.417Z","avatar_url":"https://github.com/decred.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \u003cimg src=\"docs/images/logo_wide_v2.svg\" alt=\"DCRDEX\" width=\"456\"\u003e\n\n[![Build Status](https://github.com/decred/dcrdex/workflows/Build%20and%20Test/badge.svg)](https://github.com/decred/dcrdex/actions)\n[![ISC License](https://img.shields.io/badge/license-Blue_Oak-007788.svg)](https://blueoakcouncil.org/license/1.0.0)\n[![GoDoc](https://img.shields.io/badge/go.dev-reference-blue.svg?logo=go\u0026logoColor=lightblue)](https://pkg.go.dev/decred.org/dcrdex)\n\n## Bison Wallet and DCRDEX development\n\nThis is the repository for development of Bison Wallet, DCRDEX, and Tatanka\nMesh.\n\n## What is DCRDEX?\n\nThe [Decred Decentralized Exchange (DEX)](https://dex.decred.org/) is a system\nthat enables trustless exchange of different types of blockchain assets via a\nfamiliar market-based API. DEX is a non-custodial solution for cross-chain\nexchange based on atomic swap technology. DEX matches trading parties and\nfacilitates price discovery and the communication of swap details.\n\nMatching is performed through a familiar exchange interface, with market and\nlimit orders and an order book. Settlement occurs on-chain. DEX's epoch-based\nmatching algorithm and rules of community conduct ensure that the order book\naction you see is real and not an army of bots.\n\nTrades are performed directly between users through on-chain contracts with no\nactual reliance on DEX, though swap details must be reported both as a\ncourtesy and to prove compliance with trading rules. Trades are settled with\npure 4-transaction atomic swaps and nothing else. Because DEX collects no\ntrading fees, there's no intermediary token and no fee transactions.\n\nAlthough trading fees are not collected, DEX does require a one-time\nregistration fee to be paid on-chain. Atomic swap technology secures all trades,\nbut client software must still adhere to a set of policies to ensure orderly\nsettlement of matches. The maximum penalty imposable by DEX is loss of trading\nprivileges and forfeiture of registration fee.\n\n## What is Bison Wallet\n\nBison Wallet is a multi-wallet developed in concert with DCRDEX and Tatanka\nMesh. Bison Wallet leverages state-of-the-art blockchain technology to bring\nmore features and more privacy for your favorite assets. DCRDEX is built-in, as\nwell as advanced trading features like market-making and arbitrage, directly\nfrom your wallet.\n\nOur goal is to find a balance of convenience and privacy that works for you,\nwhile giving you access to advanced features most wallets ignore. For many\nassets, we can cut out the middleman altogether and allow you to interact\ndirectly with the blockchain network. This type of wallet is highly-resilient to\ndata collection and censorship.\n\nWe also focus on bringing advanced, asset-specific features for out wallets.\nWith Decred, you can use StakeShuffle to further anonymize your funds, or stake\nyour DCR and earn some block rewards. The Zcash wallet exposes unified addresses\nand shielded pools, and operates on a shielded-first principle that makes\nprivacy effortless. Keep an eye on development here. We are dedicated to\nexposing these technologies to the communities that want them.\n\n## What is Tatanka Mesh\n\nTatanka Mesh (Tatanka, the mesh) is the evolution of DCRDEX. Where DCRDEX relies\non a central server for maintaining order books and policing trades, Tatanka is\na decentralized P2P protocol that enables a network of subscribers to\ncollectively perform these tasks. Here are the three critical services that\nTatanka Mesh provides.\n\n- Enhance the ability for users to connect and to share data both publicly and privately\n- Aggregate reputation data and monitor fidelity bonds. Tatanka can limit\naccess to users who earn a bad reputation\n- Oracle services for fiat exchange rates and blockchain transaction fee rates\n\nThe mesh collects no fees for its services. Trades are performed using trustless\natomic swaps that exchange funds directly between wallets.\n\nGoing P2P empowers our users to trade directly, enhancing security,\ncensorship-resistance, privacy. and self-sovereignty.\n\n## Contents\n\n- [Getting Started](#getting-started)\n- [Important Stuff to Know](#important-stuff-to-know)\n- [Fees](#fees)\n- [DEX Specification](#dex-specification)\n- [Contribute](#contribute)\n- [Source](#source)\n\n## Getting Started\n\nTo trade on DCRDEX, you can use Bison Wallet. There are a few simple options\nfor obtaining Bison Wallet. The standalone wallet is strongly recommended as\nit is the easiest to setup and generally has the most up-to-date downloads. Pick\n**just one** method:\n\n1. From version 1.0, installers are available for all major operating systems\n2. Download standalone Bison Wallet for your operating system for the\n   [latest release on GitHub](https://github.com/decred/dcrdex/releases).\n3. Use your operating system's package manager. See [OS Packages](#os-packages)\n   for more info.\n4. [Use Decrediton](https://docs.decred.org/wallets/decrediton/decrediton-setup/),\n   the official graphical Decred wallet, which integrates Bison Wallet, and go\n   to the DEX tab.\n5. Build the standalone client [from source](https://github.com/decred/dcrdex/wiki/Client-Installation-and-Configuration#advanced-client-installation).\n\nSee the [Client Installation and Configuration](https://github.com/decred/dcrdex/wiki/Client-Installation-and-Configuration)\npage on the wiki for more information and a detailed walk-through of the initial setup.\n\nAlmost everyone will just want the client to trade on existing markets, but if\nyou want to set up a new DEX server and host markets of your choice, see\n[Server Installation](https://github.com/decred/dcrdex/wiki/Server-Installation).\n\n## OS Packages\n\nWe are in the process of adding the application to various OS package managers:\n\n- Arch Linux ([AUR](https://aur.archlinux.org/packages/dcrdex)). e.g. `$ yay dcrdex`.  Accessible to [Arch-based distros](https://wiki.archlinux.org/title/Arch-based_distributions) like Manjaro.\n- MacOS. Homebrew cask `brew install bison-wallet`.\n- Windows. `winget` package **coming soon**.\n- Debian/Fedora. apt repository **coming soon**.\n\n## Important Stuff to Know\n\nTrades settle on-chain and require block confirmations. Trades do not settle instantly.\nIn some cases, they may take hours to settle.\n**The client software should not be shut down until you are absolutely certain that your trades have settled**.\n\n**The client has to stay connected for the full duration of trade settlement**.\nLosses of connectivity of a couple minutes are fine, but don't push it.\nA loss of internet connectivity for more than 20 hours during trade settlement has the potential to result in lost funds.\nSimply losing your connection to the DEX server does not put funds at risk.\nYou would have to lose connection to an entire blockchain network.\n\n**There are initially limits on the amount of ordering you can do**.\nWe'll get these limits displayed somewhere soon, but in the meantime,\nstart with some smaller orders to build up your reputation. As you complete\norders, your limit will go up.\n\n**If you fail to complete swaps** when your orders are matched, your account\nwill accumulate strikes that may lead to your account becoming automatically\nsuspended. These situations are not always intentional (e.g. prolonged loss of\ninternet access, crashed computer, etc.), so for technical assistance, please\nreach out\n[on Matrix](https://matrix.to/#/!mlRZqBtfWHrcmgdTWB:decred.org?via=decred.org\u0026via=matrix.org).\n\n## Fees\n\nDEX does not collect any fees on the trades, but since all swap transactions\noccur on-chain and are created directly by the users, they will pay network\ntransaction fees. Transaction fees vary based on how orders are matched. Fee\nestimates are shown during order creation, and the realized fees are displayed\non the order details page.\n\nTo ensure that on-chain transaction fees do not eat a significant portion of the\norder quantity, orders must be specified in increments of a minimum lot size.\nTo illustrate, if on-chain transaction fees worked out to $5, and a user was able\nto place an order to trade $10, they would lose half of their trade to\ntransaction fees. For chains with single-match fees of $5, if the operator wanted\nto limit possible fees to under 1% of the trade, the minimum lot size would need\nto be set to about $500.\n\nThe scenario with the lowest fees is for an entire order to be consumed by a\nsingle match. If this happens, the user pays the fees for two transactions: one\non the chain of the asset the user is selling and one on the chain of the asset\nthe user is buying. The worst case is for the order to be filled in multiple\nmatches each of one lot in amount, potentially requiring as many swaps as lots\nin the order.\nCheck the\n[dex specification](https://github.com/decred/dcrdex/blob/master/spec/atomic.mediawiki)\nfor more details about how atomic swaps work.\n\n## DEX Specification\n\nThe [DEX specification](spec/README.mediawiki) details the messaging and trading\nprotocols required to use the Market API. Not only is the code in\nthe **decred/dcrdex** repository open-source, but the entire protocol is\nopen-source. So anyone can, in principle, write their own client or server based\non the specification. Such an endeavor would be ill-advised in these early\nstages, while the protocols are undergoing constant change.\n\n## Contribute\n\n**Looking to contribute? We need your help** to make DEX \u0026#35;1.\n\nNearly all development is done in Go and JavaScript. Work is coordinated\nthrough [the repo issues](https://github.com/decred/dcrdex/issues),\nso that's the best place to start.\nBefore beginning work, chat with us in the\n[DEX Development room](https://matrix.to/#/!EzTSRQITaqHuFBDFhM:decred.org?via=decred.org\u0026via=matrix.org\u0026via=zettaport.com).\nThe pace of development is pretty fast right now, so you'll be expected to keep\nyour pull requests moving through the review process.\n\nCheck out these wiki pages for more information.\n\n- [Getting Started Contributing](../../wiki/Contribution-Guide)\n- [Backend Development](../../wiki/Backend-Development)\n- [Run **dcrdex** and **bisonw** on simnet](../../wiki/Simnet-Testing). Recommended for development.\n- [Run **bisonw** on testnet](../../wiki/Testnet-Testing). Recommended for poking around.\n- [Run the test app server](../../wiki/Test-App-Server). Useful for GUI development, or just to try everything out without needing to create wallets or connect to a **dcrdex** server.\n\n## Source\n\nThe DEX [specification](spec/README.mediawiki) was drafted following stakeholder\napproval of the\n[specification proposal](https://proposals.decred.org/proposals/a4f2a91c8589b2e5a955798d6c0f4f77f2eec13b62063c5f4102c21913dcaf32).\n\nThe source code for the DEX server and client are being developed according to\nthe specification. This undertaking was approved via a second DEX\n[development proposal](https://proposals.decred.org/proposals/417607aaedff2942ff3701cdb4eff76637eca4ed7f7ba816e5c0bd2e971602e1).\n\n## FAQS\n\n- How can I integrate new assets? To add new assets, follow the instructions [here](https://github.com/decred/dcrdex/blob/master/spec/fundamentals.mediawiki/#adding-new-assets) and see existing implementations [here](https://github.com/decred/dcrdex/tree/master/server/asset).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdecred%2Fdcrdex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdecred%2Fdcrdex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdecred%2Fdcrdex/lists"}