FAQ's
What mining pools are compatible with Braiins Farm Proxy?
Braiins Farm Proxy should run with any major pool. It was tested on publicly available mining pools: Braiins Pool, AntPool, Poolin, Binance, ViaBTC, BTC.com, Luxor, SBI Crypto Pool, F2Pool.
Invalid hashrate
In case of detecting invalid/rejected hashrate from downstream or upstream, please contact Braiins support. To help our team diagnose and solve any issues you might have, please provide information from the Grafana "Debug Dashboard" to our support team.
There is always going to be some invalid hashrate on both upstream and downstream. This comes down to downstream connectivity, internet quality, latency, stale submits, or stale jobs caused by a currently mined bitcoin block. The "natural" level of invalid hashrate ratio varies from miner to miner but as a rule of thumb anything above 1% should be considered too high. If you are using satellite internet you may experience a much higher invalid ratio because of higher latency and sensitivity to the weather.
Flat downstream hashrate vs volatile upstream hashrate
Downstream, there is a single connection from one miner to the proxy. This means that there are as many connections as the number of miners. Each miner is hashing and submitting hashes which fulfill their own individual difficulty. Each miner is therefore producing one Poisson process. The whole downstream is then created as the aggregation of all the Poisson processes across all the individual miners. Since the Poisson process has high variance (variance is equal to the mean) it is quite volatile. When you aggregate lots of Poisson processes together, the volatility greatly decreases. The picture below shows that downstream standard hashrate is therefore quite a flat line.
On the other hand, upstream is created with just a couple of connections, which means it is created by a couple of Poisson processes. Aggregation collects the submits of the miners but only propagates up to the pool the submits which meet much higher upstream difficulty. Therefore the picture below shows a more volatile upstream hashrate. The picture shows 2,320 downstream connections and 46 upstream connections. Important thing is that in a longer time frame (approx 3 hours or more) the average downstream hashrate equals the average upstream hashrate (or in other words cumulative downstream shares equal to cumulative upstream shares). It is a zero sum game, no hash is lost.

Individual miners are marked inactive or their hashrate is too volatile
There is a trade-off between hashrate aggregation and monitoring of individual miners on the target pool's dashboard. This is only relevant for cases that use the attribute identity_pass_through = true in the TOML config file (within [target] definition). A higher level of aggregation means that individual miners are sending submits more slowly due to high upstream difficulty (a proxy with a high aggregation factor gets a job with a high difficulty from the target pool). In such cases, individual miners can appear on the pool's dashboard as inactive. This is not a limitation of the Braiins Farm Proxy. The miner is still hashing, it is only the matter of being displayed as (non) active on the pool. No hashrate is lost as mining with Braiins Farm Proxy is a zero sum game meaning that downstream hashrate is equal to the upstream hashrate over the long-run. Pool rewards on Braiins Pool are not affected either. If monitoring individual miners is important for you and you are currently using the Braiins Pool dashboard for this purpose, Braiins offers another solution - see Farm Monitor.
Scenarios and Sample Config files
Minimal Config
Recommended Config
Two Servers, Two Routings 70 - 30, Identity of miners goes through
How to remove container to run it again from the scratch?
Be careful, this removes a lot. If you have another docker containers running on the machine you shouldn't perform this.
Monitor/Visualize Node Exporter Data on Grafana
For the monitoring of the proxy server, Node Exporter comes to be handy. It is a docker container containing hw and process data. Those data can be visualized in Grafana as a new dashboard.
There are a lot of stats, below are listed the most important one:
- CPU stats (Quick a Basic)
- Memory (Meminfo)
- Hardware Misc (Power supply)
- Network traffic (traffic errors)





How to collect logs on docker?
This is for the last 1000 lines.
This is for the last 3 hours.
This is since a specific timestamp.
Real-time log display.
Collecting tcpdump file when the FP is down
tcpdump can mainly help with downstream problems like rejected downstream hashrates
Sniff the packets and insert it into files with rotating (10 files, file per 300 MB):
Poor internet connection and too many switches in the target endpoints
If there are too many switches in the target endpoints and it creates invalid shares.
By default in proxy, there is set that according to the score (which is evaluating quality of the connection - the higher the worse) that if there is another endpoint with score lower by at least 500 than the connection switches to the endpoint with lower score.
In case of worse quality of the network or internet connection it may produce too many switches.
Add these lines at the beginning of the config.toml (FP configuration) file:
There is another parameter which could be changed to higher to make the reconnections low (default is 2500), you can add these right after the codes above.
What miners are compatible with Braiins Farm Proxy?
Tested miners were Antminers S9, X17, X19, Whatsminers M2x/M3x and Avalon miners with stock firmware and Braiins OS.
Hashrate aggregation vs. activity of workers
There is a trade-off between hashrate aggregation and monitoring of individual miners on target pool's dashboard.
This is relevant only for the case that there is used attribute identity_pass_through = true in the TOML config file (within [target] definition).
Higher level of aggregation means that individual miners are sending submits slower due to high upstream difficulty (proxy with the high aggregation factor gets a job with a high difficulty from the target pool).
In such cases individual miners can appear on the pool's dashboard as inactive. It is not a limitation of the Braiins Farm Proxy but its logical feature.