Photon Repos Analysis

Generated on 2026-03-13 for the local workspace at /home/waheed/PhotonBoltXYZ.

This report compares the cloned repos with the local server stack and answers two questions:

photon-android-wallet @ c6c00e0 photon-web-wallet @ ddc7fdd photonboltxyz @ a8fe0f8

Cloned Repos

photon-android-wallet

Native Android wallet built around rgb-lib-android. It manages BTC and RGB assets locally and uses Electrum plus an RGB transport endpoint.

Current network model: Signet, Testnet, Mainnet only.

photon-web-wallet

React/Vite web wallet plus browser-extension style provider APIs. It mixes local Bitcoin transaction logic, RGB proxy calls, and ICP ckBTC canister integration.

Current network model: Mainnet, Testnet3, Testnet4, Regtest labels, but regtest uses public fallbacks.

photonboltxyz

Mostly marketing/site UI with faucet and airdrop pages. It is not the core wallet engine.

Useful as a frontend shell, not as the authoritative wallet backend.

Your Local Stack

Component Current Local Value Source
Bitcoin network regtest=1 bitcoin/bitcoin.conf
Bitcoin RPC 127.0.0.1:18443, user user, password password bitcoin/bitcoin.conf, docker-compose.yml
Bitcoin P2P 127.0.0.1:18444 bitcoin/bitcoin.conf, docker-compose.yml
Electrs network network = "regtest" electrs.toml
Electrum RPC 127.0.0.1:50001 locally, plain TCP electrs.toml, docker-compose.yml
RGB proxy 127.0.0.1:3000 docker-compose.yml
TLS Electrum front dev-index.photonbolt.xyz:50002 -> forwards to 127.0.0.1:50001 Configuration-of-Nginx.html
HTTPS RGB proxy front https://dev-proxy.photonbolt.xyz -> forwards to 127.0.0.1:3000 Configuration-of-Nginx.html

How Each Repo Works

1. Android Wallet

2. Web Wallet

3. photonboltxyz Site

Main Mismatch

The local backend is private regtest, but the wallet repos mostly assume public networks. Android does not support regtest as a build flavor at all. The web wallet exposes a regtest label, but most of its Bitcoin fetch/broadcast logic still falls back to public testnet APIs, which is not real regtest support.

What Can Match Immediately

Repo Can Match Current Server Without Code? How
Android wallet Partially Use the existing bitcoinTestnet or bitcoinSignet flavor only for UI bootstrapping, then manually override settings:

Electrum: ssl://dev-index.photonbolt.xyz:50002
RGB proxy endpoint: rpcs://dev-proxy.photonbolt.xyz/0.2/json-rpc if the reverse proxy path exists, otherwise rpc://YOUR_HOST:3000/json-rpc.

But this is still logically wrong if the wallet library enforces network identity. A testnet/signet wallet should not be expected to work cleanly against regtest addresses and chain state.
Web wallet Partially It already stores a regtest network string and an rgbProxy override.

Set RGB proxy to https://dev-proxy.photonbolt.xyz/0.2/json-rpc or http://127.0.0.1:3000/json-rpc.
Set Electrum or Bitcoin API logic to your own backend; otherwise its regtest mode still calls public testnet endpoints.
photonboltxyz site No, not meaningfully This repo does not contain the wallet runtime needed to talk to Electrum or your RGB proxy in a controlled way.

Recommended Endpoint Mapping

Purpose Recommended Public/TLS Value Direct Local Value Notes
Electrum for wallets ssl://dev-index.photonbolt.xyz:50002 tcp://127.0.0.1:50001 or local equivalent Android defaults use ssl://.... The TLS front on port 50002 is the cleanest match.
RGB proxy transport rpcs://dev-proxy.photonbolt.xyz/0.2/json-rpc rpc://127.0.0.1:3000/json-rpc Android transport strings use rpc:// or rpcs://, not raw http://.
RGB proxy HTTP for web wallet https://dev-proxy.photonbolt.xyz/0.2/json-rpc http://127.0.0.1:3000/json-rpc The current web wallet fetch() code expects HTTP(S), not rpc://.
Bitcoin chain data Your own backend wrapper Electrum or direct Bitcoin RPC behind server-side API Do not use mempool.space or blockstream.info for regtest.

Required Changes If You Truly Want Regtest

Android

  • Add a REGTEST enum value in the app network model.
  • Add a new product flavor, for example bitcoinRegtest.
  • Confirm the underlying rgb-lib-android dependency supports regtest. If it does not, this path stops here.
  • Add regtest Electrum and proxy defaults for your own domains.
  • Update explorer/faucet assumptions because mempool testnet explorers do not represent regtest.

Web Wallet

  • Replace public API calls in bitcoin-transactions.ts for regtest with your own service.
  • Do not map regtest to blockstream.info/testnet; that is a false network match.
  • Add a backend endpoint for fee estimates, address history, UTXOs, and broadcast.
  • Keep RGB proxy configurable and default it to your own domain.

Server Side

  • Keep Electrum TLS on 50002 for wallet compatibility.
  • Expose RGB proxy over HTTPS with a stable path such as /0.2/json-rpc.
  • Optionally add a thin HTTP API in front of Bitcoin RPC or Electrum for the web wallet.
  • Document one canonical environment: regtest, not mixed testnet/regtest wording.

Fastest Practical Integration Path

Best near-term path: use the web wallet as the main integration target first, not the Android wallet.
  1. Keep your backend on regtest.
  2. Point web RGB calls to https://dev-proxy.photonbolt.xyz/0.2/json-rpc.
  3. Replace the web wallet's public Bitcoin API calls with your own regtest-aware API.
  4. Only after that, decide whether Android should support real regtest or whether you want a separate public testnet environment for Android testing.

Concrete Findings

Finding Impact
Android defaults are hardcoded to Iris Electrum and Iris RGB proxy. Safe to override in settings, but not aligned with your infra by default.
Android network model has no regtest variant. Real regtest support requires code changes and dependency confirmation.
Web wallet has a regtest label, but uses public testnet fallbacks for address history, UTXOs, and broadcast. Current regtest mode is not production-correct.
Web wallet RGB proxy default points to http://89.117.52.115:3000/json-rpc. Should be replaced with your domain-based proxy endpoint.
photonboltxyz site targets public testnet UX. Good for demos and branding, not a substitute for wallet-network integration.

Bottom Line

Your server is already a valid private development stack for Bitcoin + Electrs + RGB proxy on regtest. The problem is not the server; the problem is that the client repos are not consistently written for that network.

If you want the least-risk path, adapt photon-web-wallet first and treat Android as a separate follow-up. If you want Android to work on the same backend, plan for explicit regtest support instead of trying to disguise regtest as testnet or signet.