Guides & Tutorials8 min read

Merge-Mine Pearl (PRL) and NACRE (NACR) on One Rented GPU with AlphaPool: Setup, Script and the Catches

AlphaPool lets one Pearl miner earn a second coin, NACRE, from the same work. We ran it with alpha-miner on rented GPUs and wrote a script that downloads the latest miner, checks it and starts it on your addresses. Here is the setup, the pool parameters, the 12 GB memory floor, the math and the catches.

The Paralon capybara holding an open oyster shell with a glowing pearl, a graphics card beaming light into it and a green alpha symbol above

Our Pearl guide explained what Pearl (PRL) is and why its proof of work is matrix multiplication that needs tensor cores. Since then one pool, AlphaPool, has added a second coin to the same work: NACRE (NACR). A rig mining Pearl there can credit NACRE at the same time, with no extra power and no second GPU.

We set it up on rented GPUs on Paralon and wrote a small script so you do not have to assemble the command by hand. As with our other mining guides, this is a technical explainer, not financial advice. Everything below moves block to block, and one of the two coins cannot be sold yet (more on that below).

Merge mining, not dual mining

Miners usually say "dual mining" for running two algorithms on one card at once, each taking a share of the GPU. This is different. NACRE is merge-mined with Pearl through AuxPoW: the proof your GPU produces for a Pearl share is also valid for NACRE, so the pool credits both from the same work. Your Pearl hashrate does not drop and the card does not draw more power.

What it costs you is the pool's fee on the second coin, and the fact that only AlphaPool offers it, so you mine Pearl on AlphaPool rather than on the largest pool.

What you need

  • A Pearl address, starting with prl1p….
  • A NACRE address, starting with nacr1p…. It comes from the project's own wallet, Oyster, built from the nacre-node repository. The pool credits only mainnet nacr1p addresses. Keep the wallet's backup and password: the keys are encrypted and never written to disk in the clear. Without them the NACR is gone.
  • An NVIDIA GPU with at least 12 GB of VRAM, with tensor cores. The next section explains the floor.
  • Outbound TCP to port 5566. No inbound ports. A rented JupyterLab on Paralon has all of this. The miner is a single Linux binary, so no Docker is needed inside the rental.

12 GB of VRAM is the minimum

alpha-miner refuses to start on a card with less than 8 GiB of free memory. On an 8 GB card, once the driver and CUDA context take their share, that never happens: the miner connects, passes the pool's login challenge, then stops with:

error="Embedded 0.51.3 K8192 requires at least 8 GiB of free GPU memory"

So rent a card with 12 GB of VRAM or more. Once it starts, the miner itself uses about 5.5 GiB, so anything above the floor is headroom, not speed.

The pool parameters

parametervalue
poolAlphaPool, pearl.alphapool.tech
endpointstratum+tcp://us2.alphapool.tech:5566 (plain TCP)
addressprl1pYOUR_PRL+nacr1pYOUR_NACR, or only the prl1p… part for Pearl alone
worker--worker rig1, shown on the pool page as the rig name
passwordx for variable difficulty, x;d=N for a fixed one
payout schemePROP
fees1% on PRL, 2% on NACR, 0% developer fee in the miner
mineralpha-miner, 1.9.9 at the time of writing, Linux x86_64

Check the pool's page for current values before you start.

Setup on a rented GPU

Rent a GPU with 12 GB of VRAM or more on the Rent marketplace with JupyterLab access, and open a terminal in it. First, check that the pool is reachable from the machine. It takes a second and saves an hour of guessing if something on the host's network blocks it:

nc -vz us2.alphapool.tech 5566

Then download our start script and run it with your two addresses:

curl -fsSL -o pearl-mine.sh https://paraloncloud.com/files/guides/merge-mine-pearl-nacre-alphapool-rented-gpu/pearl-mine.sh
PRL=prl1pYOUR_PRL NACR=nacr1pYOUR_NACR WORKER=rental-1 sh pearl-mine.sh

The script does four things, and it is short enough to read before you run it:

  1. It picks the GPUs with at least 8 GiB free. On a card that is too small it stops with a clear message instead of downloading anything.
  2. It finds the latest alpha-miner release on GitHub and downloads the Linux binary.
  3. It checks the binary's SHA-256 against the one GitHub records for that release, and refuses a file that differs.
  4. It starts the miner on those GPUs with prl1p…+nacr1p….

Leave out NACR to mine Pearl only. CHECK=1 runs the first three steps and prints the command without mining. To keep it running after you close the notebook tab:

PRL=prl1p... NACR=nacr1p... nohup sh pearl-mine.sh > miner.log 2>&1 &
tail -f miner.log

If you prefer to do it by hand, the pool's own three steps are the same thing without the checks: download alpha-miner-1.9.9, chmod +x it, and run it with --pool, --address prl1p…+nacr1p…, --worker and --password x.

What a good start looks like

On our rentals the first share accepted lines came within ten seconds of the miner connecting, with nothing rejected and no failed verifications. If you see share accepted in the log, you are mining. The miner prints a status line with its own hashrate (hashrate_th_s) every few seconds; that is the number to use below.

The pool's per-worker hashrate lags at first, because it estimates from accepted shares over a window. Trust the miner's own status line for the first few minutes.

To check that NACRE is being credited, search your Pearl address under "Check your NACR credit" on the pool page. It shows the NACR address your rigs registered and what it has been credited. The pool's per-address data marks every worker that sent a NACR address. In our test, a rig started without one was not marked.

The math, so you can do your own

From AlphaPool's public stats on 15 October 2026:

Pearl network hashrate66.63 EH/s
block rewardabout 2,254 PRL
AlphaPool hashrate54.5 PH/s, under 0.1% of the network
AlphaPool's expected time to find a block2.7 days

Your expected Pearl per day is your share of the pool times the pool's blocks per day times the reward:

PRL per day ≈ (your hashrate / pool hashrate) × (1 / 2.7) × 2,254 × 0.99

Take your hashrate from the miner's status line, multiply the result by what PRL is worth on the day, subtract the card's hourly rental price times 24, and you have your answer for that day.

Three things move it:

  • The pool's luck. A pool this small finds a block every few days, not every few minutes. Under PROP you are paid your share of each block the pool finds, so income arrives in lumps, and a slow week is a real possibility. The largest Pearl pools pay more smoothly but do not merge-mine NACRE. That is the trade.
  • NACRE is not money yet. The NACRE repository says plainly that its mainnet has not launched, and the pool sends NACR payouts "once enabled". What you collect today is credit at the pool, worth something only if the network launches and the coin trades. Treat it as a free option on top of Pearl, not as income.
  • Network hashrate and price. Both change daily. We have no view on either.

The rental side is the one number you control. Paralon bills by the minute at a price each GPU's owner sets, so the honest test is to rent one card, run it for an hour, read your balance on the pool, and compare it with what the hour cost.

Things that bit us

  • 8 GB cards do not run. See the error above. The script checks free memory before it downloads anything.
  • The worker name defaulted to the container ID. Without --worker, a rental shows up on the pool as something like 4d280c511e59. Set WORKER= to something you will recognise.
  • No NACR address, no NACR. A rig started with only the prl1p… address mines Pearl only, and its share of NACRE is not credited to you. Add the +nacr1p… part from the first start.
  • The NACRE wallet is built from source. The repository documents building Oyster with Go 1.26 or newer and the Task runner, and it talks to a NACRE node. Do it on your own machine, not on a rental you are about to give back.

Ready to try it?

Rent a GPU with 12 GB of VRAM or more on the Rent marketplace, run the two lines from the setup section with your addresses, and watch for share accepted in the log within the first minute. Hourly rates are on the pricing page. There is no minimum and nothing to cancel, so an hour of measurement costs exactly an hour.

On the network

A GPU with JupyterLab on it, in about a minute

Billed for the minutes it runs, on a machine we benchmarked before listing it. Or call open models through an OpenAI-compatible API.

Keep reading

Related articles