#
Mining Commands
#
getblocksubsidy
Category: Mining | Version: v1.2.14+
Returns block subsidy reward for a given block height, accounting for mining slow start and founders reward.
Syntax
verus getblocksubsidy [height]
Result
{
"miner": x.xxx // (numeric) The mining reward amount
}
Examples
Basic Usage
## Current block reward
./verus -testnet getblocksubsidy
## Actual Output (tested on VRSCTEST)
{
"miner": 6.00000000
}
Specific Height
./verus -testnet getblocksubsidy 1000
## Actual Output (tested on VRSCTEST)
{
"miner": 6.00000000
}
RPC (curl)
curl --user user1445741888:pass2f0dc70dded67b9f392c0f3950a547bc6ef4d1edfa78da3a7da5b78113def067b6 \
--data-binary '{"jsonrpc":"1.0","id":"curltest","method":"getblocksubsidy","params":[1000]}' \
-H 'content-type:text/plain;' http://127.0.0.1:18843/
Common Use Cases
- Check current block reward for profitability calculations
- Verify reward schedule at different block heights
- Monitor halving/reduction schedule
Related Commands
— comprehensive mining statusgetmininginfo — get data for constructing blocksgetblocktemplate
Notes
- VRSCTEST block reward is 6 VRSCTEST per block
- The help text references "KMD" in the result description — this is inherited from the Komodo codebase; the actual currency is VRSC/VRSCTEST
Tested On
- VRSCTEST block height: 926961
- Verus version: v1.2.14-2
#
getblocktemplate
Category: Mining | Version: v1.2.14+
Returns data needed to construct a block to work on. Supports BIP 0022 template and proposal modes.
Syntax
verus getblocktemplate ["jsonrequestobject"]
Request Object Structure
{
"mode": "template",
"miningdistribution": {
"recipientaddress": relativeweight,
...
},
"capabilities": ["longpoll", "coinbasetxn", "coinbasevalue", "proposal", "serverlist", "workid"]
}
Result
{
"version": n, // (numeric) Block version
"previousblockhash": "xxxx", // (string) Hash of current highest block
"finalsaplingroothash": "xxxx", // (string) Final sapling root hash
"transactions": [], // (array) Non-coinbase transactions to include
"coinbasetxn": { ... }, // (object) Coinbase transaction info
"target": "xxxx", // (string) Hash target
"mintime": xxx, // (numeric) Min timestamp for next block (epoch seconds)
"mutable": ["time", "transactions", "prevblock"],
"noncerange": "00000000ffffffff",
"sigoplimit": n, // (numeric) Sigop limit
"sizelimit": n, // (numeric) Block size limit
"curtime": ttt, // (numeric) Current timestamp (epoch seconds)
"bits": "xxx", // (string) Compressed target
"height": n // (numeric) Next block height
}
Examples
Basic Usage
./verus -testnet getblocktemplate
## Actual Output (tested on VRSCTEST, truncated)
{
"capabilities": ["proposal"],
"version": 65540,
"previousblockhash": "31e25bb6f23bf71424b2c39142329d8dc2985ecdc28ca05247a734bf6e2b2a39",
"finalsaplingroothash": "1486454686b458641e8cd2465320bf3693926007ba7c4a6497b51d5a1c4723bd",
"transactions": [],
"coinbasetxn": {
"data": "0400008085202f8901...",
"hash": "1c82e90c9b8871cecc416d6a330b681c354100ea9fcd183a392e50c68189cd76",
"depends": [],
"fee": 0,
"sigops": 1,
"coinbasevalue": 600000000,
"required": true
},
"target": "00000004792b0000000000000000000000000000000000000000000000000000",
"mintime": 1770447385,
"mutable": ["time", "transactions", "prevblock"],
"noncerange": "00000000ffffffff",
"sigoplimit": 60000,
"sizelimit": 2000000,
"curtime": 1770448016,
"bits": "1d04792b",
"height": 926962
}
RPC (curl)
curl --user user1445741888:pass2f0dc70dded67b9f392c0f3950a547bc6ef4d1edfa78da3a7da5b78113def067b6 \
--data-binary '{"jsonrpc":"1.0","id":"curltest","method":"getblocktemplate","params":[]}' \
-H 'content-type:text/plain;' http://127.0.0.1:18843/
Common Use Cases
- Building custom mining software
- Pool software block construction
- Submitting block proposals for validation
Related Commands
— submit a constructed blocksubmitblock — submit a merged-mined blocksubmitmergedblock — check block rewardgetblocksubsidy — current mining statusgetmininginfo
Notes
- The
coinbasevalueis in satoshis (600000000 = 6.0 VRSCTEST) - The
miningdistributionparameter allows splitting coinbase reward across multiple addresses - See BIP 0022 for full specification
- The
solutionfield in the response contains the Equihash solution template
Tested On
- VRSCTEST block height: 926961
- Verus version: v1.2.14-2
#
getlocalsolps
Category: Mining | Version: v1.2.14+
Returns the average local solutions per second since this node was started. Same info shown on the metrics screen.
Syntax
verus getlocalsolps
Parameters None.
Result
xxx.xxxxx (numeric) Solutions per second average
Examples
Basic Usage
./verus -testnet getlocalsolps
## Actual Output (tested on VRSCTEST)
0
RPC (curl)
curl --user user1445741888:pass2f0dc70dded67b9f392c0f3950a547bc6ef4d1edfa78da3a7da5b78113def067b6 \
--data-binary '{"jsonrpc":"1.0","id":"curltest","method":"getlocalsolps","params":[]}' \
-H 'content-type:text/plain;' http://127.0.0.1:18843/
Common Use Cases
- Monitor local mining performance
- Verify mining hardware is working
- Compare local rate to network rate
Related Commands
— network-wide solution rategetnetworksolps — comprehensive mining statusgetmininginfosetgenerate— enable/disable mining
Notes
- Returns 0 when mining is not active
- This is a local metric only — it reflects this node's hashrate, not the network
Tested On
- VRSCTEST block height: 926961
- Verus version: v1.2.14-2
#
getminingdistribution
Category: Mining | Version: v1.2.14+
Retrieves the current mining reward distribution configuration.
Syntax
verus getminingdistribution
Parameters None.
Result
Returns null if not set. If set:
{
"uniquedestination1": value, // (string: number) destination address and relative weight
"uniquedestination2": value,
...
}
Examples
Basic Usage
./verus -testnet getminingdistribution
## Actual Output (tested on VRSCTEST) — no distribution set
(empty/null response)
RPC (curl)
curl --user user1445741888:pass2f0dc70dded67b9f392c0f3950a547bc6ef4d1edfa78da3a7da5b78113def067b6 \
--data-binary '{"jsonrpc":"1.0","id":"curltest","method":"getminingdistribution","params":[]}' \
-H 'content-type:text/plain;' http://127.0.0.1:18843/
Common Use Cases
- Check current reward split before mining
- Verify distribution was set correctly after using
setminingdistribution - Audit mining reward destinations
Related Commands
— set the mining reward distributionsetminingdistribution — also acceptsgetblocktemplateminingdistributionparameter — general mining statusgetmininginfo
Notes
- When no distribution is set, all rewards go to the default mining address
- The values are relative weights, not absolute amounts (e.g.,
{"addr1": 0.5, "addr2": 0.5}splits 50/50)
Tested On
- VRSCTEST block height: 926961
- Verus version: v1.2.14-2
#
getmininginfo
Category: Mining | Version: v1.2.14+
Returns a JSON object containing mining-related information including block count, difficulty, staking supply, and generation status.
Syntax
verus getmininginfo
Parameters None.
Result
{
"blocks": nnn, // (numeric) Current block height
"currentblocksize": nnn, // (numeric) Last block size
"currentblocktx": nnn, // (numeric) Last block transaction count
"averageblockfees": xxx.xxx, // (numeric) Avg block fees over past 100 blocks
"difficulty": xxx.xxx, // (numeric) Current difficulty
"stakingsupply": xxx.xxx, // (numeric) Estimated total staking supply
"errors": "...", // (string) Current errors
"generate": true|false, // (boolean) Mining/generation on or off
"genproclimit": n, // (numeric) Processor limit (-1 = no generation)
"localhashps": xxx.xxx, // (numeric) Local hash rate (actual field name; help says `localsolps`)
"networkhashps": x, // (numeric) Estimated network hash rate (actual field name; help says `networksolps`)
"pooledtx": n, // (numeric) Mempool size
"testnet": true|false, // (boolean) Testnet flag
"chain": "xxxx", // (string) Network name (main, test, regtest)
"staking": true|false, // (boolean) Staking active
"numthreads": n, // (numeric) CPU threads mining
"mergemining": n, // (numeric) Number of merge-mined chains
"mergeminedchains": [] // (optional, array) Merge-mined chain names
}
Examples
Basic Usage
./verus -testnet getmininginfo
## Actual Output (tested on VRSCTEST)
{
"blocks": 926961,
"currentblocksize": 0,
"currentblocktx": 0,
"averageblockfees": 0.09729953,
"difficulty": 56478309.28295863,
"stakingsupply": 31566038.74104909,
"errors": "",
"genproclimit": 0,
"localhashps": 0,
"networkhashps": 16857317,
"pooledtx": 0,
"testnet": true,
"chain": "main",
"generate": false,
"staking": false,
"numthreads": 0,
"mergemining": 0
}
RPC (curl)
curl --user user1445741888:pass2f0dc70dded67b9f392c0f3950a547bc6ef4d1edfa78da3a7da5b78113def067b6 \
--data-binary '{"jsonrpc":"1.0","id":"curltest","method":"getmininginfo","params":[]}' \
-H 'content-type:text/plain;' http://127.0.0.1:18843/
Common Use Cases
- Monitor mining/staking status
- Check network difficulty and hashrate
- Verify staking supply and mempool state
- Confirm merge mining configuration
Related Commands
getgenerate— focused generate/staking statussetgenerate— enable/disable mining/staking — detailed network hashrategetnetworksolps — local solution rategetlocalsolps
Notes
- The
chainfield shows "main" even on testnet — this refers to the chain type within VRSCTEST localhashpsandnetworkhashpsin actual output differ slightly from help text field names (localsolps/networksolps)stakingsupplyshows the estimated total coins available for staking across the networkaverageblockfeesis useful for estimating mining profitability beyond the base block reward
Tested On
- VRSCTEST block height: 926961
- Verus version: v1.2.14-2
#
getnetworkhashps
Category: Mining | Version: v1.2.14+
DEPRECATED — Use getnetworksolps
Returns the estimated network solutions per second based on the last n blocks.
Syntax
verus getnetworkhashps [blocks] [height]
Result
x (numeric) Estimated solutions per second
Examples
Basic Usage
./verus -testnet getnetworkhashps
## Actual Output (tested on VRSCTEST)
16857317
RPC (curl)
curl --user user1445741888:pass2f0dc70dded67b9f392c0f3950a547bc6ef4d1edfa78da3a7da5b78113def067b6 \
--data-binary '{"jsonrpc":"1.0","id":"curltest","method":"getnetworkhashps","params":[]}' \
-H 'content-type:text/plain;' http://127.0.0.1:18843/
Related Commands
— preferred replacementgetnetworksolps — local solution rategetlocalsolps
Notes
- Identical functionality to
getnetworksolps— use that instead - Kept only for backward compatibility with older mining software
Tested On
- VRSCTEST block height: 926961
- Verus version: v1.2.14-2
#
getnetworksolps
Category: Mining | Version: v1.2.14+
Returns the estimated network solutions per second based on the last n blocks.
Syntax
verus getnetworksolps [blocks] [height]
Result
x (numeric) Estimated solutions per second
Examples
Basic Usage
./verus -testnet getnetworksolps
## Actual Output (tested on VRSCTEST)
16857317
At a Specific Height
./verus -testnet getnetworksolps 120 900000
## Actual Output (tested on VRSCTEST)
24731593
RPC (curl)
curl --user user1445741888:pass2f0dc70dded67b9f392c0f3950a547bc6ef4d1edfa78da3a7da5b78113def067b6 \
--data-binary '{"jsonrpc":"1.0","id":"curltest","method":"getnetworksolps","params":[120,900000]}' \
-H 'content-type:text/plain;' http://127.0.0.1:18843/
Common Use Cases
- Monitor network hashrate trends
- Compare current vs historical network power
- Estimate mining difficulty changes
Related Commands
— local node solution rategetlocalsolps — includes network hashrategetmininginfo — deprecated aliasgetnetworkhashps
Notes
- This is the preferred command over the deprecated
getnetworkhashps - Using
-1for blocks averages over the difficulty averaging window for a more stable estimate - Network hashrate dropped from ~24.7M Sol/s at block 900,000 to ~16.9M Sol/s at block 926,961 on VRSCTEST
Tested On
- VRSCTEST block height: 926961
- Verus version: v1.2.14-2
#
prioritisetransaction
Category: Mining | Version: v1.2.14+
Accepts a transaction into mined blocks at a higher (or lower) priority. Adjusts the apparent priority and fee for block selection without changing the actual transaction.
Syntax
verus prioritisetransaction "txid" priority_delta fee_delta
Result
true (boolean) Returns true on success
Examples
Basic Usage
## Boost a transaction's priority in the mempool
./verus -testnet prioritisetransaction "txid_here" 0.0 10000
RPC (curl)
curl --user user1445741888:pass2f0dc70dded67b9f392c0f3950a547bc6ef4d1edfa78da3a7da5b78113def067b6 \
--data-binary '{"jsonrpc":"1.0","id":"curltest","method":"prioritisetransaction","params":["txid_here",0.0,10000]}' \
-H 'content-type:text/plain;' http://127.0.0.1:18843/
Common Use Cases
- Miners prioritizing their own transactions
- Pool operators boosting specific transactions
- Deprioritizing spam transactions (negative fee_delta)
Related Commands
— check mempool size (getmininginfopooledtx) — see which transactions are in the templategetblocktemplate
Notes
- This only affects the local node's block construction — it doesn't broadcast any changes
- The fee adjustment is virtual; the actual transaction fee is unchanged on-chain
- Effects persist until the transaction is mined or leaves the mempool
- Requires a valid txid in the mempool to test; documented from help output
Tested On
- VRSCTEST block height: 926961
- Verus version: v1.2.14-2
#
setminingdistribution
Category: Mining | Version: v1.2.14+
Sets multiple mining output addresses with relative weights for distributing block rewards.
Syntax
verus setminingdistribution '{"address1":weight1, "address2":weight2}'
Result
null on success, exception otherwise
Examples
Basic Usage
## Split rewards 50/50 between two addresses
./verus -testnet setminingdistribution '{"RAddress1":0.5, "RAddress2":0.5}'
RPC (curl)
curl --user user1445741888:pass2f0dc70dded67b9f392c0f3950a547bc6ef4d1edfa78da3a7da5b78113def067b6 \
--data-binary '{"jsonrpc":"1.0","id":"curltest","method":"setminingdistribution","params":[{"RAddress1":0.5,"RAddress2":0.5}]}' \
-H 'content-type:text/plain;' http://127.0.0.1:18843/
Common Use Cases
- Split mining rewards across multiple wallets
- Direct a portion of rewards to a specific identity or address
- Pool operators distributing rewards
Related Commands
— check current distributiongetminingdistribution — also acceptsgetblocktemplateminingdistributionin requestsetgenerate— enable mining/staking
Notes
- Values are relative weights, not percentages —
{"a":1, "b":1}is equivalent to{"a":0.5, "b":0.5} - The distribution applies to all future blocks mined by this node
- Use
getminingdistributionto verify the setting was applied - Pass an empty object or call without parameters to clear the distribution
Tested On
- VRSCTEST block height: 926961
- Verus version: v1.2.14-2
#
submitblock
Category: Mining | Version: v1.2.14+
Attempts to submit a new block to the network. See BIP 0022 for full specification.
Syntax
verus submitblock "hexdata" ["jsonparametersobject"]
Optional Parameters Object
{
"workid": "id" // (string) If server provided a workid, it MUST be included
}
Result
Returns a string indicating the result:
| Value | Meaning |
|-------|---------|
| "duplicate" | Node already has a valid copy of this block |
| "duplicate-invalid" | Node has the block but it is invalid |
| "duplicate-inconclusive" | Node has the block but hasn't validated it |
| "inconclusive" | Node hasn't validated; may not be on best chain |
| "rejected" | Block was rejected as invalid |
| (empty/null) | Block accepted successfully |
Examples
Basic Usage
## Submit a mined block (hex data from mining software)
./verus -testnet submitblock "0400000..."
RPC (curl)
curl --user user1445741888:pass2f0dc70dded67b9f392c0f3950a547bc6ef4d1edfa78da3a7da5b78113def067b6 \
--data-binary '{"jsonrpc":"1.0","id":"curltest","method":"submitblock","params":["hexdata_here"]}' \
-H 'content-type:text/plain;' http://127.0.0.1:18843/
Common Use Cases
- Mining pool software submitting solved blocks
- Custom mining implementations
- Testing block proposals
Related Commands
— get data to construct a blockgetblocktemplate — submit merged-mined blockssubmitmergedblock — check expected rewardgetblocksubsidy
Notes
- Requires a fully constructed and solved block in hex format
- The
jsonparametersobjectis currently ignored by the implementation - Successful submission returns null/empty — any string response indicates a problem
- Documented from help output; requires actual mined block data to test
Tested On
- VRSCTEST block height: 926961
- Verus version: v1.2.14-2
#
submitmergedblock
Category: Mining (Multichain) | Version: v1.2.14+
Attempts to submit one or more new blocks to one or more networks. Supports Verus and PBaaS merge-mined chains. If the block hash meets targets of other chains added with addmergedblock, it will be submitted to those chains as well.
Syntax
verus submitmergedblock "hexdata"
Result On rejection:
{ "rejected": "reject reason" }
On acceptance (this chain + PBaaS):
{ "blockhash": "hex", "accepted": true, "pbaas_submissions": { "ChainName": "chainID_hex", ... } }
On acceptance (PBaaS only):
{ "blockhash": "hex", "accepted": "pbaas", "pbaas_submissions": { "ChainName": "chainID_hex", ... } }
Examples
Basic Usage
./verus -testnet submitmergedblock "0400000..."
RPC (curl)
curl --user user1445741888:pass2f0dc70dded67b9f392c0f3950a547bc6ef4d1edfa78da3a7da5b78113def067b6 \
--data-binary '{"jsonrpc":"1.0","id":"curltest","method":"submitmergedblock","params":["hexdata_here"]}' \
-H 'content-type:text/plain;' http://127.0.0.1:18843/
Common Use Cases
- Mining pools supporting PBaaS merge mining
- Submitting blocks valid for multiple chains simultaneously
- PBaaS chain operators running merge-mined networks
Related Commands
— submit a single-chain blocksubmitblock — get block construction datagetblocktemplate — checkgetmininginfomergeminingandmergeminedchainsfields
Notes
- The block must contain valid embedded headers for any PBaaS chains being merge-mined
- Use
addmergedblockto configure which PBaaS chains to merge mine - The
pbaas_submissionsfield shows which additional chains accepted the block - A block can be accepted by PBaaS chains even if rejected by the main chain
- Documented from help output; requires actual mined block data to test
Tested On
- VRSCTEST block height: 926961
- Verus version: v1.2.14-2