A simple and private bitcoin exchange
Go to file
Reckless_Satoshi 6b2dedce13
Add Tradebox, OrderDetails, Notifications, OrderPage functional components. (#315)
* Re-init new tradebox

* Wip progress on OrderDetails

* Wip 2 OrderDetails

* Fix multiple requests on load

* Add functional Order page

* Fixes order page

* Fix delete storage

* Fix order page style

* Add Public order prompt

* Add paused order prompt

* Add expired prompt

* Create statusToContract logics

* Move fetch order loop to Main

* Add payout and wait prompts

* Fix order fetch on badOrder

* Fix styles

* Add chat and dispute prompts

* Add remaining prompts

* Fix style

* Add notifications component

* Fix take order style, add more notifications

* Add page title notification

* Add more notifications and small tradebox fixes

* Small fixes

* Small fixes to routing failure prompt

* Remove old trade box

* Add bad take order
2022-11-21 12:56:29 +00:00
.github Fix android build dependency repos down 2022-10-31 04:55:56 -07:00
api Add turtle chat component 2022-11-11 01:28:09 -08:00
chat Fixes for API chatroom initialization 2022-11-15 09:53:42 -08:00
control Fix all files with pre-commit 2022-10-25 11:04:12 -07:00
docker Update dev container LND to v0.15.4 2022-11-06 03:42:32 -08:00
docs Update docs - 12-prices.md (#276) 2022-11-21 09:29:45 +00:00
frontend Add Tradebox, OrderDetails, Notifications, OrderPage functional components. (#315) 2022-11-21 12:56:29 +00:00
mobile Prepare for v0.3.0-alpha release 2022-11-17 09:46:35 -08:00
nodeapp Fix all files with pre-commit 2022-10-25 11:04:12 -07:00
robosats Fix all files with pre-commit 2022-10-25 11:04:12 -07:00
.dockerignore Make robosats setup easies (#212) 2022-08-15 10:44:54 +00:00
.editorconfig Fix all files with pre-commit 2022-10-25 11:04:12 -07:00
.env-sample Add new payment methods and rename posgres_db envvar 2022-08-09 02:44:29 -07:00
.flake8 Conform to pep8 rules (#295) 2022-10-20 20:53:51 +00:00
.gitignore Refactor and Init RoboSats PRO (#296) 2022-10-20 11:06:16 -07:00
.pre-commit-config.yaml Do not convert non-ascii to unicode escape sequences in pre-commit hook (#307) 2022-10-27 13:38:24 +00:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2022-07-23 14:50:31 +00:00
CONTRIBUTING.md Add pre-commit to CONTRIBUTING.md (#305) 2022-10-25 17:51:27 +00:00
docker-compose.yml Add turtle chat component 2022-11-11 01:28:09 -08:00
Dockerfile Add grpc generation script and update setup.md to run it using docker container (#209) 2022-08-12 16:29:27 +00:00
generate_grpc.sh Add grpc generation script and update setup.md to run it using docker container (#209) 2022-08-12 16:29:27 +00:00
LICENSE Add concept for BTC <> Fiat p2p swap using Lightning. 2022-01-01 07:28:49 -08:00
manage.py Re-format all python code 2022-02-17 11:50:10 -08:00
pyproject.toml Python files style cleanup (#281) 2022-10-20 09:55:24 +00:00
README.md Fix all files with pre-commit 2022-10-25 11:04:12 -07:00
requirements.txt Python files style cleanup (#281) 2022-10-20 09:55:24 +00:00
setup.md Fix all files with pre-commit 2022-10-25 11:04:12 -07:00
version.json Prepare for v0.3.0-alpha release 2022-11-17 09:46:35 -08:00

RoboSats - Buy and sell Satoshis Privately

Coordinator CI Frontend Build release AGPL-3.0 license Telegram

RoboSats is a simple and private way to exchange bitcoin for national currencies. Robosats simplifies the peer-to-peer user experience and uses lightning hold invoices to minimize custody and trust requirements. The deterministically generated avatars help users stick to best privacy practices.

Try it out!

Bitcoin Mainnet

Always use Tor Browser and .onion for best privacy. The Clearnet URL redirects to a third party Tor2web service. Your privacy cannot be guaranteed to be respected. Use clearnet only to check around the app, never use for trading!

How to use it

Short video-walktrough

https://user-images.githubusercontent.com/90936742/167310017-dc211a05-dd5e-4ef4-b93f-250f80bc5bca.mp4

Video tutorial by Ben from BTCsessions (YouTube) ROBOSATS - Buy and Sell Bitcoin With No ID (Youtube)

How it works

Alice wants to buy satoshis privately:

  1. Alice generates an avatar (AdequateAlice01) using her private random token.
  2. Alice stores safely the token in case she needs to recover AdequateAlice01 in the future.
  3. Alice makes a new order and locks a small hold invoice to publish it (maker bond).
  4. Bob wants to sell satoshis, sees Alice's order in the book and takes it.
  5. Bob scans a small hold invoice as his taker bond. The contract is final.
  6. Bob posts the traded satoshis with a hold invoice. While Alice submits her payout invoice.
  7. On a private chat, Bob tells Alice how to send him fiat.
  8. Alice pays Bob, then they confirm the fiat has been sent and received.
  9. Bob's trade hold invoice is charged and the satoshis are sent to Alice.
  10. Bob and Alice's bonds return automatically, since they complied by the rules.
  11. The bonds would be charged (lost) in case of unilateral cancellation or cheating (lost dispute).

Contribute to the Robotic Satoshis Open Source Project

Check out our Contribution Guide to find how you can make RoboSats great.

Developer Rewards

Check out the Developer Rewards Panel for tasks paid in Sats.

Sponsors

Inspiration

The concept of a simple custody-minimized lightning exchange with hold invoices is inspired in P2PLNBOT by @grunch

License

The Robotic Satoshis Open Source Project is released under the terms of the AGPL3.0 license. See LICENSE for more details.