Summary
The stack currently never registers miners with XMRvsBeast (XvB). We only (1) mine to the XvB pool with donor_id as the stratum username and (2) read raffle stats via GET .../p2pool_bonus_history.cgi. There is no call to XvB's registration endpoint.
The XvB operator confirmed (via DM) that there is a raffle-miner registration API, and that hitting it is what actually enters a wallet into the raffle — "it will register the wallet address provided it has a share in the p2pool PPLNS window." Without this call, users who enable XvB may be donating/mining but not properly entered.
We should add an auto-registration step to the XvB client so users are entered in the raffle automatically once they have a PPLNS share — no manual signup required.
⚠️ Do not paste the exact endpoint in this public repo. The operator deliberately does not publish this API ("to mitigate abuse"). The full URL is in the maintainer's XvB DM. Reference it only as p2pool_bonus_submit_api.cgi?address=WALLET_ADDRESS when implementing; keep the host/path out of committed code comments and docs where reasonable.
What we know about the API
- It's a
GET taking ?address=<full Monero wallet address>.
- It only registers if the wallet has a share in the P2Pool PPLNS window — so calling it before we've found a share is a no-op. We must call it (and likely retry) once a PPLNS share exists.
- It registers the full wallet address (the raffle then tracks the donor by the first-8-char
donor_id, which is what we already mine with).
Proposed implementation
Acceptance criteria
Context / notes
Summary
The stack currently never registers miners with XMRvsBeast (XvB). We only (1) mine to the XvB pool with
donor_idas the stratum username and (2) read raffle stats viaGET .../p2pool_bonus_history.cgi. There is no call to XvB's registration endpoint.The XvB operator confirmed (via DM) that there is a raffle-miner registration API, and that hitting it is what actually enters a wallet into the raffle — "it will register the wallet address provided it has a share in the p2pool PPLNS window." Without this call, users who enable XvB may be donating/mining but not properly entered.
We should add an auto-registration step to the XvB client so users are entered in the raffle automatically once they have a PPLNS share — no manual signup required.
What we know about the API
GETtaking?address=<full Monero wallet address>.donor_id, which is what we already mine with).Proposed implementation
register()(orensure_registered()) method to the XvB client:build/dashboard/mining_dashboard/client/xvb_client.py— mirror the existing stats call (samerequests.get, same Tor SOCKS5 proxy, ~20s timeout).xvb.enabled— never register when XvB is off.Acceptance criteria
xvb.enabled: trueand at least one PPLNS share, the wallet is auto-registered with XvB with no manual step.xvb.enabled: falseor before a PPLNS share exists.Context / notes
donor_id: auto= first 8 chars of the wallet (computed in thepitheadscript ~L1764); registration uses the full address, so we'll need the fullMONERO_WALLET, not the truncated id.