Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,9 @@ jobs:
- name: 'Validate federation.json files are in sync'
shell: bash
run: |
frontend_hash=$(jq --sort-keys . frontend/static/federation.json | sha256sum | cut -d' ' -f1)
api_hash=$(jq --sort-keys . api/federation.json | sha256sum | cut -d' ' -f1)
if [ "$frontend_hash" != "$api_hash" ]; then
if ! diff -q frontend/static/federation.json api/federation.json > /dev/null; then
echo "ERROR: frontend/static/federation.json and api/federation.json are out of sync."
diff frontend/static/federation.json api/federation.json
echo " Run 'cd frontend && npm run build' to regenerate api/federation.json, then commit the result."
exit 1
fi
Expand Down
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ repos:
- '--fix=lf'
- id: trailing-whitespace
- id: pretty-format-json
exclude: ^frontend/|^mobile/
exclude: ^frontend/(?!static/federation\.json)|^mobile/
args:
- '--autofix'
- '--no-sort-keys'
Expand Down
131 changes: 89 additions & 42 deletions api/federation.json
Original file line number Diff line number Diff line change
Expand Up @@ -152,23 +152,23 @@
"testnetNodesPubkeys": [],
"federated": true
},
"freedomsats": {
"longAlias": "FreedomSats",
"shortAlias": "freedomsats",
"identifier": "freedomsats",
"description": "A Decentralized, deflationary currency enthusiast. Hoping to add liquidity to a non-KYC means for purchasing and selling bitcoin. Robosats P2P solves many issues with the modern day fiat system, and FreedomSats is happy to aid in its decentralization. The focus of FreedomSats will be to ensure data privacy and uptime-consistency.",
"motto": "Liberty’s Network Above",
"color": "#5d2365",
"established": "2025-06-30",
"nostrHexPubkey": "ded3dc02a1a9b61ce59d11f496539cb3fd15f00326a16f47e5f8d76baba24bdb",
"alice": {
"longAlias": "Alice",
"shortAlias": "alice",
"identifier": "alice",
"description": "Alice is here to empower Bitcoin enthusiasts by providing a decentralized, non-KYC, peer-to-peer exchange platform. With a focus on privacy, security, and ease of use, Alice is committed to ensuring that all users can participate in the Bitcoin economy with autonomy and integrity.",
"motto": "Privacy is not a crime",
"color": "#9932cc",
"established": "2025-11-27",
"nostrHexPubkey": "40d33962fdf26e0910805f36a3a96b239cf93b95d4a3e6dd779f1ea3ff9b0866",
"contact": {
"email": "FreedomSatoshis@proton.me",
"telegram": "@freedomsats",
"simplex": "https://simplex.chat/contact#/?v=2-7&smp=smp%3A%2F%2Fh--vW7ZSkXPeOUpfxlFGgauQmXNFOzGoizak7Ult7cw%3D%40smp15.simplex.im%2FLjWY29_NGy7vujmzRCmnJocepWWMAk2D%23%2F%3Fv%3D1-4%26dh%3DMCowBQYDK2VuAyEAWRfXNPT2xQihjv0Ef2sV51J2YiAmboLcmE0adlEAv2c%253D%26q%3Dc%26srv%3Doauu4bgijybyhczbnxtlggo6hiubahmeutaqineuyy23aojpih3dajad.onion",
"pgp": "/static/federation/pgp/9D3D3BAF4744305EE3F0B837331AB575DD78D930.asc",
"nostr": "npub1mmfacq4p4xmpeevaz86fv5uuk073tuqry6sk73l9lrtkh2azf0dsykwxuj",
"email": "alice7b@proton.me",
"telegram": "",
"simplex": "https://smp12.simplex.im/a#peg1Oqqy55zhLXugHUmlZqXGkd31Fcr3HXXhvsZLQt0",
"pgp": "/static/federation/pgp/349137316F89DAF6D7E66A40D0B7C7C3C3744DBA.asc",
"nostr": "npub1grfnjcha7fhqjyyqtum282ttyww0jwu46j37dhthnu028lumppnqtenl5y",
"website": null,
"fingerprint": "9D3D3BAF4744305EE3F0B837331AB575DD78D930"
"fingerprint": "349137316F89DAF6D7E66A40D0B7C7C3C3744DBA"
},
"badges": {
"isFounder": false,
Expand All @@ -177,15 +177,15 @@
"hasLargeLimits": false
},
"policies": {
"Privacy Policy 1": "Dispute Evidence Submission: If a dispute arises, you will be asked to provide only the transaction-related documentation needed to evaluate your claim—for example, transaction IDs, payment‐confirmation screenshots, or other pertinent records. Please keep a record of all relevant information.",
"Privacy Policy 2": "Limited Retention Period: All sensitive data gathered for the purpose of resolving a dispute will be retained strictly for the duration of that process. Once the issue is fully resolved, this information will be irrevocably and securely deleted",
"Data Policy 1": "No Third-Party Data Sharing: RoboSats is deliberately designed to collect no user data—no IP addresses, geolocation, or personal identifiers—and will never share information with outside parties.",
"Data Policy 2": "Ephemeral Log Retention: All operational logs required to run the coordinator are automatically deleted after seven days, unless they’re essential for an active dispute.",
"Rule 1:": "Please do not share any personal information through the chat, if possible share as little revealing information as possible.",
"Rule 2:": "Email is provided for convenience but other means of communication are recommended. Like Nostr/SimpleX/Telegram"
"Privacy Policy 1 — Evidence in Disputes": "In the event of a dispute, users will be asked to provide transaction-related evidence. This could include transaction IDs, screenshots of payment confirmations, or other pertinent transaction records. Personal information or unrelated transaction details should be redacted to maintain privacy.",
"Privacy Policy 2 — short-term Storage": "Sensitive information related to disputes will be stored only for the duration necessary to resolve the issue. Once resolved, the data will be permanently deleted. For ease of use e-mail communications are permitted, but E2EE and decentralized platforms such as NOSTR and SIMPLEX are advised.",
"Data Policy 1No Third-Party Sharing": "Under no circumstances will user information be shared with third parties. Also because it is impossible to do so by design of Robosats architecture. Due to the decentralized and privacy-centric structure of RoboSats built on the Tor network, we are unable to collect or store user information, including but not limited to, the location of users. This design ensures maximum privacy and anonymity for our users.",
"Data Policy 2 — Short-term Storage": "Any log needed to operate the coordinator will be cleared after 7 days, unless strictly needed to process disputes. To ensure utmost privacy, the coordinator will be accessible only through Tor.",
"Rule 1:": " Do not share personal information through the chat, unless strictly needed for completing the trade.",
"Rule 2:": "Users are solely responsible for understanding and complying with their local laws and regulations regarding cryptocurrency transactions. By using this coordinator, you agree to ensure that your activities on the platform are lawful in your jurisdiction."
},
"mainnet": {
"onion": "http://dqmmejfmtlve7d4ccohk4usriifdtci6xk4wv7igxn2fyaduh25s6did.onion",
"onion": "http://alice7bqexhtnkiqhtgkuwgtzzfkishw23ac4sfwpznrwlmnipxlomyd.onion",
"clearnet": null,
"i2p": null
},
Expand All @@ -195,45 +195,46 @@
"i2p": null
},
"mainnetNodesPubkeys": [
"028059662c65626f3002290dd3151186bc1952726c03f56012406f3ceadb81cacc"
"02580496598cf3e7bfe41c9b0721d1c90693d31d308364456dc30f0a22bf58ddd7"
],
"testnetNodesPubkeys": [],
"federated": true
},
"alice": {
"longAlias": "Alice",
"shortAlias": "alice",
"identifier": "alice",
"description": "Alice is here to empower Bitcoin enthusiasts by providing a decentralized, non-KYC, peer-to-peer exchange platform. With a focus on privacy, security, and ease of use, Alice is committed to ensuring that all users can participate in the Bitcoin economy with autonomy and integrity.",
"motto": "Privacy is not a crime",
"color": "#9932cc",
"established": "2025-11-27",
"nostrHexPubkey": "40d33962fdf26e0910805f36a3a96b239cf93b95d4a3e6dd779f1ea3ff9b0866",
"eleuteria": {
"longAlias": "Eleuteria",
"shortAlias": "eleuteria",
"identifier": "eleuteria",
"description": "Eleuteria is a privacy-focused, non-KYC RoboSats coordinator built around the principles of financial freedom, self-sovereignty and peer-to-peer Bitcoin. It provides a Tor-only environment where users can trade directly while minimizing unnecessary trust and exposure of personal information.",
"motto": "Coordinating privacy. Broadcasting freedom.",
"color": "#C58A32",
"established": "2026-08-26",
"nostrHexPubkey": "0f243ba69b7c7ffa73934bc7f5fa6586b8013afdc310d808b1ec2c2c98f1c219",
"contact": {
"email": "alice7b@proton.me",
"telegram": "",
"simplex": "https://smp12.simplex.im/a#peg1Oqqy55zhLXugHUmlZqXGkd31Fcr3HXXhvsZLQt0",
"pgp": "/static/federation/pgp/349137316F89DAF6D7E66A40D0B7C7C3C3744DBA.asc",
"nostr": "npub1grfnjcha7fhqjyyqtum282ttyww0jwu46j37dhthnu028lumppnqtenl5y",
"email": "backsocks@proton.me",
"telegram": "@asyscom",
"simplex": "https://smp17.simplex.im/a#w2lbfI-Rbea5dukWc38CVDQEzLryz8q7p2C4NGEViNg",
"pgp": "/static/federation/pgp/546143E7584783759F6829AF6DA5626C8AF8DF61.asc",
"nostr": "npub1pujrhf5m03ll5uunf0rlt7n9s6uqzwhacvgdsz93askzex83cgvsukm9hf",
"website": null,
"fingerprint": "349137316F89DAF6D7E66A40D0B7C7C3C3744DBA"
"matrix": null,
"fingerprint": "546143E7584783759F6829AF6DA5626C8AF8DF61"
},
"badges": {
"isFounder": false,
"donatesToDevFund": 20,
"donatesToDevFund": 30,
"hasGoodOpSec": true,
"hasLargeLimits": false
},
"policies": {
"Privacy Policy 1 — Evidence in Disputes": "In the event of a dispute, users will be asked to provide transaction-related evidence. This could include transaction IDs, screenshots of payment confirmations, or other pertinent transaction records. Personal information or unrelated transaction details should be redacted to maintain privacy.",
"Privacy Policy 2 — short-term Storage": "Sensitive information related to disputes will be stored only for the duration necessary to resolve the issue. Once resolved, the data will be permanently deleted. For ease of use e-mail communications are permitted, but E2EE and decentralized platforms such as NOSTR and SIMPLEX are advised.",
"Privacy Policy 2 — Short-term Storage": "Sensitive information related to disputes will be stored only for the duration necessary to resolve the issue. Once resolved, the data will be permanently deleted. For ease of use e-mail communications are permitted, but E2EE and decentralized platforms such as NOSTR and SIMPLEX are advised.",
"Data Policy 1 — No Third-Party Sharing": "Under no circumstances will user information be shared with third parties. Also because it is impossible to do so by design of Robosats architecture. Due to the decentralized and privacy-centric structure of RoboSats built on the Tor network, we are unable to collect or store user information, including but not limited to, the location of users. This design ensures maximum privacy and anonymity for our users.",
"Data Policy 2 — Short-term Storage": "Any log needed to operate the coordinator will be cleared after 7 days, unless strictly needed to process disputes. To ensure utmost privacy, the coordinator will be accessible only through Tor.",
"Rule 1:": " Do not share personal information through the chat, unless strictly needed for completing the trade.",
"Rule 2:": "Users are solely responsible for understanding and complying with their local laws and regulations regarding cryptocurrency transactions. By using this coordinator, you agree to ensure that your activities on the platform are lawful in your jurisdiction."
},
"mainnet": {
"onion": "http://alice7bqexhtnkiqhtgkuwgtzzfkishw23ac4sfwpznrwlmnipxlomyd.onion",
"onion": "http://ixiiqsuzt7hh5qxshiqwyewyh3gyygltbygqlvlyitg3gl3u2cemk3ad.onion",
"clearnet": null,
"i2p": null
},
Expand All @@ -243,7 +244,53 @@
"i2p": null
},
"mainnetNodesPubkeys": [
"02580496598cf3e7bfe41c9b0721d1c90693d31d308364456dc30f0a22bf58ddd7"
"03808d86fee8345c7b470f792f62e3a3cba78ad49d75d4623c8e27520c34f90d5b"
],
"testnetNodesPubkeys": [],
"federated": true
},
"freeport": {
"longAlias": "FreePort",
"shortAlias": "freeport",
"identifier": "freeport",
"description": "Privacy-focused P2P Bitcoin exchange coordinator. Tor-only for maximum privacy.",
"motto": "Free trade, free ports, free people.",
"color": "#808080",
"established": "2026-08-28",
"nostrHexPubkey": null,
"contact": {
"email": "fp-coordinator@proton.me",
"telegram": null,
"simplex": null,
"pgp": "/static/federation/pgp/27099F12B8752D8267B6DFF28265E7B36362CF31.asc",
"nostr": null,
"website": null,
"matrix": null,
"fingerprint": "27099F12B8752D8267B6DFF28265E7B36362CF31"
},
"badges": {
"isFounder": false,
"donatesToDevFund": 20,
"hasGoodOpSec": true,
"hasLargeLimits": false
},
"policies": {
"Privacy Policy": "Tor-only coordinator. No KYC required. Dispute evidence handled confidentially and deleted after resolution. No user tracking or analytics.",
"Data Policy": "No data shared with or sold to third parties. Database cleared regularly except for active disputes. Coordinator operates exclusively over Tor.",
"Other Policies": "Max order size: 500,000 sats. Maker fee: 0.025%. Taker fee: 0.175%."
},
"mainnet": {
"onion": "http://2enoseg66hme76khjjn2qvrhipnzwgwa44mewgrdphrxbhzcxd2vdiqd.onion",
"clearnet": null,
"i2p": null
},
"testnet": {
"onion": null,
"clearnet": null,
"i2p": null
},
"mainnetNodesPubkeys": [
"03230eea7d63303c3e54076f84745aeabf447e01a572e984e77b796665419d43cc"
],
"testnetNodesPubkeys": [],
"federated": true
Expand Down
1 change: 1 addition & 0 deletions frontend/.prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@ static/admin/**
static/frontend/**
static/import_export/**
static/drf_spectacular_sidecar/**
static/federation.json
Loading