Peatio: A Ruby on Rails Crypto Exchange You Run Yourself
An open-source assets exchange.
At a glance
- What is it?
- Peatio is an open-source crypto currency exchange built on Rails, split into many processes and shipped with its own matching engine. It is for engineers who already know Rails, security and system administration, and it is not a one-click product.
- Who is it for?
- Adopt Peatio only if you have Rails, security and system administration skills in house and you accept that the repository's default branch is legacy-2018, with the last push on 2026-07-09 and a single tagged release, v0.1.0-legacy. If you need a maintained, packaged exchange, this is the wrong starting point.
- Can I use it commercially?
- Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
- Is it still maintained?
- Yes. The repository last received commits 83 days ago.
- What is it written in?
- Mainly Ruby, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 27, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What Peatio solves, and who is expected to run it
Peatio is an open-source crypto currency exchange implementation built with the Rails framework. The problem it addresses is not "let me trade coins" but "let me operate an order book, accounts, deposits and withdrawals under my own control." The README lists the pieces that come with it: a matching engine, a Proof of Solvency audit, a customer support ticket system, a Websocket API for high frequency trading, multi-currency support (Bitcoin, Litecoin, Dogecoin and others are named), SMS and Google Two-Factor authentication, KYC verification, and an admin dashboard.
The audience is narrow and the README says so without softening it. Running an exchange is hard, and Peatio is not a blog you download and deploy. Three prerequisites are stated outright: Rails knowledge, security knowledge, and system administration. The README adds that security knowledge is a requirement and that if you do not know how to make an exchange secure, you should hire an expert. Anyone evaluating this project should treat that paragraph as the real specification of the target user.
There is a second audience worth naming: people studying how an exchange is put together. Because the code is Ruby on Rails and the repository ships doc/, app/, lib/, config/ and spec/, it can be read as a reference implementation of order matching, solvency auditing and admin tooling. That is a different use from running it in production.
The multi-process design behind the matching engine
The architecture decision that shapes everything else is stated in the README: Peatio is split into many components (processes) so it is flexible to deploy and scalable. The README explicitly trades convenience for this. It says the project prioritizes security and speed higher than 1-click setup. So the process split is not an implementation detail you can ignore; it is the reason deployment is work.
The supporting stack confirms the shape of the system. The requirements list Redis 2.0+, MySQL and RabbitMQ alongside Ruby 2.1.0 and Rails 4.0+. A message broker plus a cache plus a relational database is the classic layout for an exchange where order matching, event fan-out and persistence are separated. The matching engine is described as built-in and high performance, and the Websocket API is described as supporting high frequency trading, which implies a push path distinct from the HTTP API.
Two APIs are documented: API v2 and a Websocket API, both linked from the README to a demo host. Client wrappers exist for Ruby (described as the official client, covering both HTTP and Websocket), Python (two separate efforts by different authors), Java and PHP. The README also notes the front end is built on Bootstrap 3.0 and Sass, with a documented override chain: vars/_custom.css.scss can overwrite variables defined in vars/_basic.css.scss, and layout/_custom.css.scss can overwrite layout/_basic.css.scss and the header styles. That is a small but concrete sign that customization was designed in rather than bolted on.
Installing Peatio: setup guides, not a single command
There is no install command in the README. Getting started points to three documents in the doc directory: doc/setup-local-osx.md, doc/setup-local-ubuntu.md, and doc/deploy-production-server.md. The README also says more details are in the doc folder. So the honest first step is to read the guide that matches your platform before cloning anything.
The requirements you must satisfy first are listed plainly: Linux or Mac OSX, Ruby 2.1.0, Rails 4.0+, Git 1.7.10+, Redis 2.0+, MySQL, and RabbitMQ. Note that the pinned Ruby version is old. Confirm your environment can provide it before you spend time on the rest.
Once the repository is in place, the dependency manifest is a Gemfile at the top level, with a Gemfile.lock committed alongside it. The README does not spell out the dependency installation command, so follow doc/setup-local-ubuntu.md or doc/setup-local-osx.md for the exact steps. The repository also carries .travis.database.yml, .travis.markets.yml and .travis.currencies.yml, which show that market and currency configuration is data the application expects to be present rather than something it invents.
For a first real use, the README points at the API rather than the UI: API v2 and the Websocket API are both documented at the demo host, and the official Ruby client covers both. If you want to see the system respond without running a full deployment, that documentation is the cheapest entry point. The README does not document rollback, upgrade paths between versions, or a restore procedure, and that silence matters for anyone planning to hold customer funds.
Where Peatio is the wrong tool
The clearest limitation is the one the project itself leads with: this is not a turnkey product. If your team does not have Rails, security and system administration skills, the README's own position is that you should hire an expert rather than proceed. That is not modesty, it is a statement about the failure mode. An exchange misconfigured by someone who does not know what they are doing puts customer money at risk, and the README names weak admin passwords and sensitive ports exposed to the internet as examples.
The second limitation is version drift. The requirements name Ruby 2.1.0 and Rails 4.0+, and the default branch is legacy-2018. The only tagged release is v0.1.0-legacy from 2023-08-03. That combination means you are not adopting a project that tracks current Ruby or Rails releases; you are adopting a codebase whose baseline is years old. Dependency conflicts with modern gems are a realistic outcome, and the README offers no upgrade guide.
The third is operational scope. Peatio handles the exchange, but the README lists customization of payment processing for fiat and digital currencies as a feature, which means integrating real payment rails is your work, not the project's. KYC and two-factor authentication are listed as built-in features, but the compliance obligations attached to them belong to you. If you want a hosted or fully managed exchange, or if you need a system with a documented upgrade and rollback procedure, Peatio is the wrong starting point.
Peatio compared with HollaEx and OpenDAX
The most common comparison searches around this project point at HollaEx and OpenDAX, and the difference in approach is real. Peatio is a Rails application you deploy and operate yourself, split into many processes, with MySQL, Redis and RabbitMQ as stated requirements. That is a stack you assemble and then keep running.
HollaEx and OpenDAX are the other model: a packaged exchange product with a kit or a demo, where the vendor supplies more of the deployment surface. The trade is control against effort. Peatio gives you the source and the responsibility; the packaged alternatives reduce the assembly work but put more of the operational decisions in someone else's hands. Neither is automatically better, and the choice depends on whether you want to own the Rails deployment or buy your way out of it.
One thing Peatio has that is worth weighing: the Proof of Solvency audit is described as built-in, and the README links to the method it implements. If verifiable reserves matter to your users, that is a feature you would otherwise build. If you only need a place to trade and you do not want to run MySQL, Redis and RabbitMQ yourself, the packaged route is the shorter path.
Maintenance cost, licence, and what the repository does not tell you
The maintenance picture has to be read from the repository facts rather than the README's tone. The README claims an active community behind the project and lists Yunbi Exchange, One World Coin, Bitspark and MarsX.io as exchanges using Peatio. The repository is not archived, and the last push was on 2026-07-09. But the default branch is legacy-2018 and the only tagged release is v0.1.0-legacy, so the branch name and the release name both point backward. Plan for a codebase where you own the upgrade path, not one where you pull a new tag and follow release notes.
On licensing, the README states that Peatio is released under the terms of the MIT license and points to http://peatio.mit-license.org. MIT is permissive, which generally means you can use, modify and redistribute the code, including commercially, provided the licence notice is preserved. That is a general description of the licence family, not legal advice, and the README does not address what obligations attach to running an exchange that handles other people's funds. If you are deploying this for customers, have a lawyer read the licence and your own regulatory position; the repository does not do that for you.
The upgrade cost itself is undocumented. The README describes the setup documents and the API documents, but there is no migration guide between versions, no rollback procedure, and no statement about database schema changes over time. The CHANGELOG.md file exists at the top level, and that is the first place to look for what actually changed.
Editorial conclusion
Adopt Peatio only if you have Rails, security and system administration skills in house and you accept that the repository's default branch is legacy-2018, with the last push on 2026-07-09 and a single tagged release, v0.1.0-legacy. If you need a maintained, packaged exchange, this is the wrong starting point. Before committing, read doc/setup-local-ubuntu.md and doc/deploy-production-server.md, check the Gemfile against Ruby 2.1.0, and confirm what the MIT licence text actually covers for your deployment.
Frequently asked questions
What is Peatio and what is it used for?
Peatio is an open-source crypto currency exchange implementation built with the Rails framework. It ships a matching engine, a Proof of Solvency audit, a support ticket system, a Websocket API, KYC verification and an admin dashboard, and it is meant to be deployed and operated by the team running the exchange.
What do I need installed before I can set up Peatio?
The README lists Linux or Mac OSX, Ruby 2.1.0, Rails 4.0+, Git 1.7.10+, Redis 2.0+, MySQL and RabbitMQ. Setup steps are in doc/setup-local-osx.md, doc/setup-local-ubuntu.md and doc/deploy-production-server.md.
Is Peatio free to use and what licence does it use?
The README states that Peatio is released under the terms of the MIT license and links to http://peatio.mit-license.org for the text. It does not discuss obligations that come from operating an exchange for customers.
Which APIs does Peatio expose for trading?
The README documents API v2 and a Websocket API, both linked from the demo host. It also lists client wrappers for Ruby, Python, Java and PHP, with the Ruby client described as the official one covering both HTTP and Websocket.
Can I change the look of a Peatio exchange?
Yes. The front end is based on Bootstrap 3.0 and Sass, and the README documents an override chain where vars/_custom.css.scss overwrites variables in vars/_basic.css.scss, and layout/_custom.css.scss overwrites layout/_basic.css.scss and the header styles.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/hpyhacking-peatio)