Documentation
TCMinerProxy Wallet and Worker-Name Hot Replacement
Use TCMinerProxy wallet.device rules to hot-replace miner wallets and worker names with wildcards, multi-value matching, preserve-value placeholders, and optional pool redirection.
Wallet and Worker-Name Hot Replacement
Wallet and worker-name hot replacement dynamically rewrites the identity submitted by a miner while its proxy port is running. The current rule model combines both identity parts as wallet.device; wallet and worker-name rules are no longer separate types.
When a rule matches, the server forcibly disconnects the miner and applies the new wallet and worker name on its next connection.
Difference from fee hot update
| Feature | What it changes | Actively disconnects miners |
|---|---|---|
| Fee config hot update | Fee wallets, fee worker names, fee ratios, and fee pools | No |
| Wallet / worker-name hot replacement | The connected miner’s submitted wallet and worker name, plus an optional target pool | Yes after a match; takes effect on reconnect |
Use fee hot update for fee-wallet maintenance. Use this feature when the miner’s current wallet and worker name determine whether its submitted identity should be rewritten.
Open the dialog
Rules require an already-created port ID, so they cannot be configured before a new port is saved. Open the dialog from either location:
- Proxy-port row actions ->
Wallet / worker name hot replacement. - Port-detail header ->
Wallet / worker name hot replacement.
On the port-detail page, the action shows the current rule count when it is greater than zero.
Combined match pattern
pattern is built as match-wallet.match-worker. Each side accepts one value, a comma-separated list, or a whole-side *.
| pattern | Matches |
|---|---|
a.* |
Every worker using wallet a. |
*.b |
Worker name b under any wallet. |
*.* |
Every miner on the current port. |
a,b,c.* |
Every worker using wallet a, b, or c. |
*.d,e,f,g |
Workers named d, e, f, or g. |
Ordinary values accept ASCII letters, digits, _, @, and -. Matching uses the complete value; regular expressions, partial wildcards, and dots inside either identity part are not supported.
Combined replacement target
target is built as target-wallet.target-worker. Each side is one fixed value or its preserve-current-value placeholder.
| target | Result |
|---|---|
a.#{DEVICE} |
Replace the wallet with a and preserve the current worker name. |
#{WALLET}.b |
Preserve the current wallet and replace the worker name with b. |
c.d |
Replace the wallet with c and the worker name with d. |
- Use
#{WALLET}only on the wallet side. - Use
#{DEVICE}only on the worker-name side. - Targets do not accept
*or comma-separated lists, and placeholders cannot be swapped between sides.
Optional pool redirection
Enable Redirect mining address at the same time to also configure:
- Pool address in
host:portform. - Pool protocol: TCP or TLS/SSL, matching the target endpoint.
When disabled, the rule changes only the wallet and worker name; the miner keeps using the pool configured on the current proxy port.
Create a rule
- Open the dialog and click
Add rule. - Enter the match wallet and worker name, or use the all-wallets and all-workers shortcuts.
- Enter the target wallet and worker name, or use the preserve-current-value shortcuts.
- Optionally enable pool redirection and enter its endpoint and protocol.
- Review the generated
patternandtargetcombinations. - Click
Create ruleand confirm the affected range. - While the request is running, the confirmation button shows a loader and rejects duplicate clicks. It closes on success; after a failure it remains open and becomes available again.
The current endpoint supports only combined type t=2. Legacy types t=0 and t=1 are deprecated, and the Web UI always creates t=2 rules.
Preview, delete, and change rules
Saved rules appear in the rule list. Select one to preview its complete pattern, target, and optional pool redirection.
- Saved rules are read-only and cannot be edited in place.
- To change a rule, delete it and create a replacement.
- Deletion requires confirmation; its confirmation button also loads and blocks duplicate clicks during the request.
- After a successful create or delete, the UI refreshes both the rule list and port workers.
Verify a match
After a matched miner reconnects, inspect its wallet and worker-name fields in the port-detail device list. The UI shows the source and resolved target separately so the applied identity is visible.
When #{WALLET} or #{DEVICE} is used, that side resolves to the miner’s current value. If the miner has reconnected but no concrete target is shown, check:
- Whether the worker response contains a non-empty
wd. - Whether the current port’s rule list contains the same ID.
- Whether that rule is
t=2and itstargetis a validwallet.devicecombination.
wd corresponds to tuple index 0, the rule ID returned by /api/ht/{server_id}. Legacy fields hw and hd are deprecated. See Proxy ports and fee-wallet API for the complete contract.
Operational guidance
- Validate with a small test group before widening a pattern.
- Use
*.*carefully because it can reconnect many miners on the port at once. - Recheck the wallet, worker name, target pool, and protocol before confirming.
- After creating or deleting a rule, verify the device identity and upstream-pool data from port detail.
- TP/NGINX transparent-forwarding ports do not parse real wallets or worker names and are not suitable for identity hot replacement.
