1. Overview
The desktop wallet is a local-first app. It talks to the network only to fetch chain data, route transactions, and check for updates.
The app can connect to:
- Blockchain nodes or indexers for balances and transaction history.
- FREE Gas relays that may subsidize or route eligible transactions.
- Update endpoints to learn about new releases and security advisories.
No endpoint ever receives your seed phrase or unencrypted private keys. All signing, including multisig approvals (multisig setup guide), happens locally. For the high-level security model, see Security model.
2. Default endpoints & components
Defaults are chosen to be safe for most users, but they are not magical. You can and should override them where your threat model requires it.
2.1 High-level map
- App → Node / indexer: Balance queries, transaction broadcast, history.
- App → FREE Gas relay: Optional routing for supported transfers.
- App → Update service: Version checks and release notes.
Exact hostnames and ports may change over time. The app surfaces currently used endpoints under Settings → Network & Telemetry.
3. Nodes & indexers
By default, the app talks to nodes or indexers that are either operated by USDT Labs or trusted providers. You can point the desktop client at your own infrastructure.
3.1 What nodes see
- Requests for balances and transaction history for selected addresses.
- Your IP address (or that of your VPN/proxy) and basic TLS metadata.
- Signed transactions you broadcast through them.
Nodes cannot move funds or generate signatures for you. They simply see the same transactions that the network sees.
3.2 Custom nodes
To point the app at your own node or indexer:
- Open Settings → Network & Routing.
- Choose the relevant network or chain.
- Switch the endpoint mode from “Default” to “Custom”.
- Enter your node URL (HTTPS recommended) and save.
If your node requires authentication, use TLS and strong credentials. Prefer token-based or mTLS where supported.
4. FREE Gas relays
FREE Gas (Energy) relays are optional infrastructure that can subsidize or optimize network fees for supported transfers.
4.1 Data visible to relays
- Signed transaction payloads that you choose to route via a relay.
- Timing and rough size of relayed transactions.
- Your IP address or that of your proxy/VPN, unless you route through your own infrastructure.
Relays see signed transactions. They cannot change your signature without detection, and they cannot sign new transactions on your behalf.
4.2 Controls
- Per-wallet toggle for FREE Gas usage in the wallet’s advanced settings.
- Global default under Settings → Network & Routing → FREE Gas.
- Option to fall back to direct sending if relays are unavailable.
5. Update checks & metadata
Update checks let the app warn you about security fixes and new versions without auto-updating behind your back.
- The app periodically fetches a small JSON manifest with latest versions per platform.
- Requests typically include your current version, platform, and language.
- Update downloads still go through your browser or package manager, not silently in the background.
If you prefer, you can disable automatic checks and rely on manual downloads from
tetherwallet.to and release notes.
6. Custom infrastructure
Power-users and organizations can run their own nodes, relays, and even update mirrors.
6.1 Why self-host
- Reduce reliance on third-party endpoints.
- Keep more data within your own network perimeter.
- Align logging and retention policies with your internal standards.
6.2 Typical setup
- Run a node or indexer with a TLS-enabled public endpoint (or behind a reverse proxy).
- Optionally run a relay that speaks the same protocol as the default FREE Gas endpoints.
- Configure the app to use your endpoints in Settings → Network & Routing.
- Optionally block default endpoints at the firewall to enforce self-hosting.
7. Failure modes & fallbacks
When parts of the network are unavailable, the app should degrade gracefully, not silently misbehave.
- If a node is unreachable, balance and history views will show explicit errors.
- If relays are down, the app can either fall back to direct sending or show a failure dialog.
- If update checks fail, your current version keeps working; you just won’t see new releases.
For critical operations, especially on large balances, verify network conditions and endpoints before signing and broadcasting.
8. Privacy considerations
Network-level metadata can be sensitive even if payloads are encrypted and signed.
- Consider using a reputable VPN or Tor (where supported) for sensitive actions.
- Self-hosted nodes reduce reliance on shared infrastructure but may still log IPs internally.
- Throttle how often you refresh balances if you are concerned about timing correlation.
The legal treatment of logs and telemetry is described in the Privacy Policy. This page focuses purely on technical behavior.
9. Advanced settings
A small set of advanced networking flags is available for debugging and power-users.
- Per-network timeouts and retry policies.
- Optional strict TLS mode (reject weak ciphers or misconfigured certificates).
- Diagnostic logging for connection issues (never includes seeds or full payloads).
Advanced settings can make the app unusable on unreliable networks if misconfigured. Only change them if you understand the trade-offs.
10. Reference tables
A condensed view of what each component sees and how to control it.
10.1 Components and visibility
| Local app | Seeds, private keys, full transaction details (including multisig policies and approvals), local labels and policies. |
|---|---|
| Node / indexer | Addresses you query, balances, history, signed transactions, IP / network metadata. |
| Relay | Signed transactions you choose to relay, IP / network metadata, timing. |
| Update service | Current version, platform, language; never seeds or private keys. |
Combine this table with the security model to decide which components you want to self-host, and where a VPN or air-gap is appropriate.