From c8cad835a12daa90f1b0356af851fa716dca4515 Mon Sep 17 00:00:00 2001 From: Seth For Privacy <40500387+sethforprivacy@users.noreply.github.com> Date: Sat, 26 Sep 2026 10:10:23 -0400 Subject: [PATCH] Add onionbalance Tor frontends to default node lists (#3431) * Add onionbalance Tor frontends to default node lists Update the primary Monero and Zcash onion nodes to the new load-balanced onionbalance frontends, add missing Cake Wallet Tor nodes for Bitcoin and Litecoin, and use the mempool onion frontend for Bitcoin fee fetching when Tor is enabled. All Cake Tor nodes are marked isOfficial so they get the official-node badge. Co-Authored-By: Claude Fable 5 * Remove per-instance Zcash Tor #2 node, superseded by onionbalance frontend Co-Authored-By: Claude Fable 5 --------- Co-authored-by: Claude Fable 5 --- assets/bitcoin_electrum_server_list.yml | 5 +++++ assets/litecoin_electrum_server_list.yml | 5 +++++ assets/node_list.yml | 5 +++-- assets/zcash_node_list.yml | 9 +++------ cw_bitcoin/lib/electrum_wallet.dart | 6 +++++- 5 files changed, 21 insertions(+), 9 deletions(-) diff --git a/assets/bitcoin_electrum_server_list.yml b/assets/bitcoin_electrum_server_list.yml index 4346d1d31..d6ee52dcc 100644 --- a/assets/bitcoin_electrum_server_list.yml +++ b/assets/bitcoin_electrum_server_list.yml @@ -9,6 +9,11 @@ uri: electrs.cakewallet.com:50001 isOfficial: true label: "Cake Wallet Electrs" +- + uri: cakebtc5pihzt3byjclxfumiwvtxj72auarshrsvmaatmwmr7dj6zyid.onion:50001 + useSSL: false + isOfficial: true + label: "Cake Wallet (Tor)" - uri: fulcrum.sethforprivacy.com:50002 useSSL: true diff --git a/assets/litecoin_electrum_server_list.yml b/assets/litecoin_electrum_server_list.yml index b2c559910..2588905f6 100644 --- a/assets/litecoin_electrum_server_list.yml +++ b/assets/litecoin_electrum_server_list.yml @@ -5,6 +5,11 @@ isOfficial: true isEnabledForAutoSwitching: true label: "Cake Wallet" +- + uri: cakeltcnzbdxhk3dhlzxjnnylxbfhhbx2njegaluyh35t7dca35vcnqd.onion:50001 + useSSL: false + isOfficial: true + label: "Cake Wallet (Tor)" - uri: litecoin.stackwallet.com:20063 useSSL: true diff --git a/assets/node_list.yml b/assets/node_list.yml index a1568319a..cb4b1489c 100644 --- a/assets/node_list.yml +++ b/assets/node_list.yml @@ -7,8 +7,9 @@ useSSL: true isEnabledForAutoSwitching: true - - label: "Cake Wallet (Onion)" - uri: cakexmrl7bonq7ovjka5kuwuyd3f7qnkz6z6s6dmsy3uckwra7bvggyd.onion:18081 + label: "Cake Wallet (Tor)" + uri: cakexmrkbd7ptshw7vfzhzqgg77xgeavdrxm6zbu57lppfkj3fczbrqd.onion:18081 + isOfficial: true - label: "Seth For Privacy" uri: node.sethforprivacy.com:443 diff --git a/assets/zcash_node_list.yml b/assets/zcash_node_list.yml index 148e785ed..496fa82e4 100644 --- a/assets/zcash_node_list.yml +++ b/assets/zcash_node_list.yml @@ -11,10 +11,7 @@ isEnabledForAutoSwitching: true label: "Zec.rocks" - - uri: 2c4whzg26j6hgjh22rxynj3oig4gm22ga7x74weclujywxye23v3u5id.onion:9067 + uri: cakezecgh6enylxz3yya52pu4rq3bojy7zfhvnegqkq4qbbpzderjiqd.onion:9067 useSSL: false - label: "Cake Wallet (Tor)" -- - uri: bvp2l442g5ogma7rywzahm7eqyhpp3g26n3gvvxeioqn5csio2ir6myd.onion:9067 - useSSL: false - label: "Cake Wallet (Tor #2)" \ No newline at end of file + isOfficial: true + label: "Cake Wallet (Tor)" \ No newline at end of file diff --git a/cw_bitcoin/lib/electrum_wallet.dart b/cw_bitcoin/lib/electrum_wallet.dart index 8b1cc99fb..c3c718906 100644 --- a/cw_bitcoin/lib/electrum_wallet.dart +++ b/cw_bitcoin/lib/electrum_wallet.dart @@ -794,7 +794,11 @@ abstract class ElectrumWalletBase if (await checkIfMempoolAPIIsEnabled() && type == WalletType.bitcoin) { try { final response = await ProxyWrapper() - .get(clearnetUri: Uri.parse("https://mempool.cakewallet.com/api/v1/fees/recommended")) + .get( + clearnetUri: Uri.parse("https://mempool.cakewallet.com/api/v1/fees/recommended"), + onionUri: Uri.parse( + "http://cakememcninjdqbaub3tp2iswuigxqtdoevnpgzkolmy4gvhrrsub3yd.onion/api/v1/fees/recommended"), + ) .timeout(Duration(seconds: 15)); final result = json.decode(response.body) as Map;