- C# 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .gitignore | ||
| LICENSE | ||
| Program.cs | ||
| README.md | ||
| Vexta.CpuMiner.csproj | ||
| VextaRandomX.cs | ||
Vexta CPU Miner
Official CPU miner for Vexta RandomX.
Vexta CPU Miner is a standalone RandomX miner designed specifically for the Vexta network.
Download
Latest release:
https://github.com/VextaProject/Vexta-CPU-Miner/releases/latest
Prebuilt binaries are available for:
- Windows x64
- Linux x64
Features
- Vexta RandomX mining
- RandomX full-memory mode
- Windows x64 and Linux x64 support
- Automatic CPU thread selection based on physical cores
- Manual CPU thread override with
-t - Startup diagnostics for CPU, cores, AES, Huge Pages, and RandomX library
- Local hashrate display
- 5 / 15 / 60 minute average hashrate
- Accepted / rejected share statistics
- Automatic RandomX seed changes
- Daemon-confirmed
BLOCK FOUNDnotifications when supported by the pool
Usage
Windows
vexta-cpuminer.exe -o stratum+tcp://POOL:PORT -u WALLET.WORKER -p x -t THREADS
Example:
vexta-cpuminer.exe -o stratum+tcp://pool.example.com:9335 -u YOUR_VEXTA_ADDRESS.worker1 -p x -t 4
Linux
./vexta-cpuminer -o stratum+tcp://POOL:PORT -u WALLET.WORKER -p x -t THREADS
Example:
./vexta-cpuminer -o stratum+tcp://pool.example.com:9335 -u YOUR_VEXTA_ADDRESS.worker1 -p x -t 4
Parameters
| Parameter | Description |
|---|---|
-o |
Stratum pool address |
-u |
Vexta wallet address, optionally followed by .worker |
-p |
Pool password, normally x |
-t |
Number of CPU mining threads (optional; auto-detects physical cores when omitted) |
Requirements
- 64-bit Windows or Linux
- Approximately 2+ GB available RAM for the RandomX dataset
- AES-capable CPU recommended
RandomX full-memory mode is enabled.
On startup, the miner reports detected CPU information, physical and logical CPU counts, AES support, Huge Pages status, RandomX library status, and the selected mining thread count.
If -t is omitted, the miner automatically uses the detected physical core count.
Building from Source
Requirements
- .NET 6 SDK
- Git
- CMake
- C/C++ build tools
- RandomX v2.0.1
Clone the miner:
git clone https://github.com/VextaProject/Vexta-CPU-Miner.git
cd Vexta-CPU-Miner
Linux x64
dotnet restore
dotnet publish Vexta.CpuMiner.csproj \
-c Release \
-r linux-x64 \
--self-contained true \
-p:PublishSingleFile=true \
-p:IncludeNativeLibrariesForSelfExtract=true
Windows x64
dotnet restore
dotnet publish Vexta.CpuMiner.csproj \
-c Release \
-r win-x64 \
--self-contained true \
-p:PublishSingleFile=true \
-p:IncludeNativeLibrariesForSelfExtract=true
RandomX Native Library
The miner uses the official RandomX implementation:
https://github.com/tevador/RandomX
Tested version: v2.0.1
Linux example
git clone --branch v2.0.1 https://github.com/tevador/RandomX.git
cd RandomX
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j$(nproc)
Place librandomx.so next to vexta-cpuminer.
Windows
Build RandomX as a 64-bit DLL and place librandomx.dll next to vexta-cpuminer.exe.
The official release packages already include the required native RandomX library.
Pool Compatibility
This miner is specifically designed for Vexta RandomX.
It uses a Bitcoin-style 80-byte block header.
Supported Stratum methods:
mining.subscribemining.authorizemining.set_difficultymining.notifymining.submit
RandomX Seed
Vexta RandomX pools must provide the RandomX seed as the 10th parameter of mining.notify.
The miner uses this seed to initialise and update the RandomX dataset.
BLOCK FOUND Notification
The miner supports the optional Vexta Stratum extension:
mining.block_found
Example:
{
"id": null,
"method": "mining.block_found",
"params": [
12345,
"BLOCK_HASH"
]
}
This notification should only be sent after the daemon has accepted the block.
Pools that do not implement mining.block_found can still be used normally. The miner will simply not display the confirmed BLOCK FOUND message.
License
MIT License
Copyright (c) 2026 Vexta Project