BlackMine

Mechanism

BlackMine is a mining pool that pays in listed stock. Miners run RandomX, the Monero proof of work, and point the miner at the pool. The pool is a stratum proxy: it forwards jobs from a public Monero pool and counts every accepted share against the miner who found it. The Monero that the pool earns is sold for USDG, and every six hours one batch is settled: the USDG buys one tokenized stock on Robinhood Chain and each miner receives its fraction at a one-time address.

Three parts, three trust boundaries. The proxy and the books are the pool operator's. The XMR to USDG leg is the relayer's, off-chain, and is the one step you cannot verify from the chain; the batch record shows what came in. The swap and the payout are one contract, BatchSettler, and are fully public.

Batches and the vote

A batch is six hours long, on a fixed schedule from a genesis timestamp. While it is open, each accepted share adds its difficulty to the miner's work for that batch. When it closes, the pool tallies votes: a miner votes by appending +TICKER to its login, and a vote weighs as much as the miner's work. The leading ticker takes the whole batch. Then the relayer calls settle with the USDG, the pool key and the total work, and distribute with the recipient list, in chunks.

Every miner is paid stockOut × work / totalWork, rounded down. What rounding leaves behind stays in the settler for the next batch. The contract refuses to pay more work than the batch recorded, refuses a batch id out of sequence, and refuses a swap that returns less than the relayer's floor.

Privacy

The word black is the same word as in dark pool. The pool sees work; the chain sees one-time addresses; nobody sees the miner.

Identity. A miner is a stealth meta-address in the ERC-5564 sense: a spending public key and a viewing public key, generated in the browser. The pool stores that meta-address and keys the books by its keccak hash. The public API returns hashes and work, never meta-addresses.

Delivery. At settlement the relayer draws a random ephemeral key r, computes the shared secret with your viewing key, hashes it and adds the result to your spending key. The address of that sum is where your stock goes. The settler emits an Announcement(schemeId=1, stealthAddress, ephemeralPubKey, metadata) event with the view tag in the first byte of the metadata. With your viewing key you scan announcements and find yours; with your spending key you derive the private key of the one-time address. Nobody else can link two of your payouts, or a payout to you.

Source. The income is Monero. Ring signatures and confidential amounts mean the pool's own inflow is opaque before it ever touches an EVM.

// receiver side, lib/stealth.ts
S = v · R            // viewing key × ephemeral pubkey
h = keccak(S)
if h[0] == viewTag and address(K + h·G) == stealthAddress:
    key = k + h      // spend from the one-time address

Fee and token

The only fee is 2.5% of the USDG in each batch, taken before the swap. Eighty percent goes to the staking contract and is credited to whoever is staked at that moment, in USDG. Twenty percent goes to the treasury and pays the relayer and the miner builds. $BLACKMINE has a fixed supply. There are no emissions and no lock: stake, unstake and claim whenever you like.

Contracts

Written in Solidity 0.8.26, compiled with the optimizer, tested in-process on the runtime bytecode of the PoolManager deployed on Robinhood Chain (24 properties, npm run test:contracts).

Running the miner

Open Miner, generate an identity, copy the command. It is plain XMRig against a stratum port; the login is the meta-address, the password is ignored, and +TICKER votes.

xmrig -o pool.blackmine.app:32505 -u "st:eth:0x02…+NVDA" -p x -a rx/0 -k

Export your keys and keep them. The identity lives only in your browser; the pool cannot recover it and neither can we.

The arithmetic

Monero pays about 0.6 XMR per two-minute block to the whole network, roughly 13,000 XMR a month against a network of a few gigahashes. A single desktop CPU at 20 kH/s is a few millionths of that: a handful of USDG a month, and a small fraction of a share. The yield study on the front page uses exactly this arithmetic. BlackMine does not make a GPU mine faster; it changes what the work is paid in and who can see it.

What can go wrong

The relayer can withhold. It cannot misdirect a payout, because the recipient addresses are derived from your keys and the contract pays exactly stock × work / totalWork; but it can fail to call settle, and the batch record would show that. The stock tokens are what they are on Robinhood Chain: a token whose backing is the issuer's promise, not the pool's. Mining rewards depend on difficulty and on the price of XMR. Nothing here is investment advice.