Developers & node operators
Everything you need to run a full node, build Vivuscoin Core from source and talk to the chain over RPC: the repository, the chain parameters, the seed nodes and the settings for a public node.
Source code
Vivuscoin Core is a fork of Bitcoin Core from the 0.17 era, MIT-licensed, with its own chain parameters and one extra subsidy rule. Anyone can read it, build it and run it.
github.com/vivuscoin/vivuscoin
The full source of Vivuscoin Core, with tagged releases and a SHA256SUMS file for each. Bugs and questions go to GitHub issues; anything security-sensitive to support@vivuscoin.com.
Latest release
Vivuscoin Core 1.1: Windows installer, macOS disk image, Linux tarball and a SHA256SUMS file.
Chain parameters
Genesis and tip hashes, network magic, ports, address version bytes, subsidy and maturity, in one table.
Jump to the tableSeed nodes
seed1.vivuscoin.com and seed2.vivuscoin.com, P2P port 8168. Both serve the same chain; status shows their heights and state every five minutes.
Run a full node
A node needs nothing special: the chain is small, a few tens of thousands of mostly empty blocks. Put this in vivuscoin.conf in the data directory before the first start.
# Peers: the two seed nodes (port 8168 is the default) addnode=seed1.vivuscoin.com addnode=seed2.vivuscoin.com listen=1 # Keep serving blocks to peers even when the last block is old # (seconds; this value is about 30 years) maxtipage=999999999 # On a public server: no wallet, RPC on localhost only disablewallet=1 server=1 rpcbind=127.0.0.1 rpcallowip=127.0.0.1
Start vivuscoind (or the GUI) and wait for getblockchaininfo to report the same height and best block hash as the block explorer; that is a synced node.
| Item | Value |
|---|---|
| Data directory | Linux ~/.vivuscoin/ · macOS ~/Library/Application Support/Vivuscoin/ · Windows %APPDATA%\Vivuscoin\ (Bitcoin Core convention with the coin name; check debug.log for the path your build uses) |
| P2P port | 8168 TCP. Open it inbound if you want to serve other nodes; outbound is enough to sync. |
| RPC port | 8332 TCP, local only. Never expose it; there is no authentication beyond the password in vivuscoin.conf. |
| Disk and memory | Small. The whole chain fits comfortably beside the default 450 MB database cache. |
| Wallet on servers | Keep it disabled (disablewallet=1). Mine to an address whose keys live elsewhere; the stratum endpoint pays any address you give it. |
| Version | Run Vivuscoin Core 1.1 (user agent /Parvus:1.1.0/); older versions cannot follow the current chain. |
Chain parameters
From src/chainparams.cpp, src/consensus/consensus.h, src/amount.h and src/validation.cpp in Vivuscoin Core 1.1.
| Parameter | Value |
|---|---|
| Genesis hash | 000000009ba1cc4ecf00c8d24b704f3e88f8c03a70fba8f3e6c350007b5a2cd5 |
| Checkpoint (height 24,092) | 000000000040a3597214ba978bdf6e853eb9d84c8abe39bcd90d57bc8c3a01fb |
| Network magic | f0 b0 b0 d0 |
| Default P2P port | 8168 (testnet 18168) |
| Default RPC port | 8332 (testnet 18332) |
| Protocol version | 70015; node user agent /Parvus:1.1.0/ |
| Proof of work | SHA-256d |
| Block target | 240 s (nPowTargetSpacing = 4 * 60) |
| Difficulty rule | LWMA-1, N = 60, T = 240 s, per block; emergency easing after a gap ≥ 6T, max 24 steps |
| Future-time limit | 720 s; peer time adjustment capped at 360 s |
| Reorg limit | Reorganisations deeper than about 10 blocks refused; checkpoints kept |
| Block subsidy | 50 VVC, halving every 210,000 blocks (nSubsidyHalvingInterval) |
| Early subsidies | The consensus code paid larger subsidies in the first 120 blocks; see GetBlockSubsidy() and Supply. |
| Coinbase maturity | 100 blocks (COINBASE_MATURITY) |
| Address, P2PKH (legacy) | version byte 17 → 7… or 8… |
| Address, P2SH (wallet default, p2sh-segwit) | version byte 23 → A… |
| Address, bech32 | HRP vvc → vvc1… |
| Private key (WIF) version byte | 132 |
MAX_MONEY | 21,000,000 VVC. This is the largest amount a single transaction may carry, not the supply cap; moving more than 21 million VVC takes more than one transaction. |
| Supply at the tip | 127,033,220 VVC at height 24,097 (2026-09-23); live value at /explorer/api/v1/totalcoins |
Build from source
The tree builds like Bitcoin Core 0.17: autotools, with the depends system supplying Boost, libevent, BerkeleyDB 4.8 and Qt so the result does not depend on whatever your distribution ships. The repository’s doc/build-unix.md, doc/build-osx.md and doc/build-windows.md are the authoritative instructions; the outline below is the Linux path.
git clone https://github.com/vivuscoin/vivuscoin.git cd vivuscoin make -C depends -j"$(nproc)" # builds the libraries once; slow the first time ./autogen.sh CONFIG_SITE="$PWD/depends/x86_64-pc-linux-gnu/share/config.site" ./configure make -j"$(nproc)" sha256sum src/vivuscoind src/vivuscoin-cli src/qt/vivuscoin-qt
- Windows is cross-compiled from Linux:
make -C depends HOST=x86_64-w64-mingw32, then configure with that host’sconfig.site. The installer is produced bymake deploy. - macOS builds natively with the Homebrew packages listed in
doc/build-osx.md. The release image is unsigned; Gatekeeper is bypassed by right-clicking the app and choosing Open. - Reproducibility. Release builds are made as reproducible as practical from one tagged commit, and the SHA-256 of every artifact is published with the release. If you build the same tag and get a different hash, say so on GitHub.
- Which tag. Build the latest release tag to run what the network runs. Never run a development branch against a data directory you care about without a backup.
RPC quick reference
The RPC surface is Bitcoin Core’s of the same era. These are the calls the status page uses and the ones you are most likely to need; vivuscoin-cli help lists the rest.
| Call | What it tells you |
|---|---|
getblockchaininfo | Height, headers, best block hash, difficulty, initialblockdownload. Synced means blocks and bestblockhash match the block explorer. |
getbestblockhash · getblockhash <height> | The hash at the tip or at any height; feed it to the next call. |
getblockheader <hash> · getblock <hash> 2 | Header fields including time and bits; verbosity 2 includes every transaction, which is how you inspect a coinbase. |
getpeerinfo · getconnectioncount | Who you are connected to and their reported height; the status page derives seed2’s height from this. |
getchaintips | Every known chain tip. More than one active tip means a competing branch. |
gettxoutsetinfo | The full UTXO set summary, including total_amount: 127032970 VVC at the checkpoint height. |
getblocktemplate | A template for the next block. This is what the stratum endpoint polls. |
validateaddress <addr> | Checks an A…, 7…/8… or vvc1… address; the same check the airdrop form and the pool apply. |
vivuscoin-cli getblockchaininfo
vivuscoin-cli getblockheader "$(vivuscoin-cli getbestblockhash)"
# raw JSON-RPC, same thing over HTTP (credentials from vivuscoin.conf)
curl -s --user rpcuser:rpcpassword --data-binary \
'{"jsonrpc":"1.0","id":"vvc","method":"getblockchaininfo","params":[]}' \
-H 'content-type: text/plain;' http://127.0.0.1:8332/
Status data for integrators
If you only need the headline numbers, you do not need a node. /status/status.json is regenerated every five minutes from the RPC calls above; the live tiles on this site read it. It is served same-origin with Cache-Control: max-age=300; there is no CORS header, so fetch it server-side or proxy it.
| Field | Type | Source |
|---|---|---|
height, headers | integer | getblockchaininfo |
last_block_time | ISO 8601 UTC | getblockheader(bestblockhash).time |
difficulty | float | getblockchaininfo.difficulty |
best_hash | hex | getbestblockhash |
chain_tips | integer | number of entries in getchaintips |
peers | integer | getconnectioncount |
seed2_height | integer or null | seed2’s height as seen by seed1 in getpeerinfo |
version | string | getnetworkinfo.subversion |
updated | ISO 8601 UTC | time the file was written; treat anything older than 15 minutes as stale |
{"height":24097,"headers":24097,"last_block_time":"2026-09-24T03:52:11Z","difficulty":132.64,
"best_hash":"00000000018b0755f23fcd8ebed9b397d7140d59b46971d5dcf706c09406e877",
"chain_tips":1,"peers":1,"version":"/Parvus:1.1.0/",
"updated":"2026-09-24T04:32:02Z"}
Stratum endpoint
Miners and mining software connect to the solo stratum endpoint. It runs in solo mode: the coinbase of any block you find pays the address you authorise with, the pool holds nothing, and there is nothing to withdraw. Details and hardware notes on the Mining page.
URL: stratum+tcp://pool.vivuscoin.com:3333 Username: your VVC address (use an A... address; vvc1... is not yet tested) Password: x
Block explorer
The block explorer at vivuscoin.com/explorer/ is live and read-only: blocks, transactions, addresses, search and a rich list.
/explorer/block/<hash or height>,/explorer/tx/<txid>,/explorer/address/<address>/explorer/rich-list,/explorer/search?q=<height, hash, txid or address>
A JSON API sits under /explorer/api/v1/: no key, CORS open, cached for 30 seconds. The three endpoints coin directories usually ask for:
https://vivuscoin.com/explorer/api/v1/totalcoins # bare number, e.g. 127033220.00000000 https://vivuscoin.com/explorer/api/v1/getblockcount # bare number: the current height https://vivuscoin.com/explorer/api/v1/status # JSON: height, hash, time, difficulty, supply, hashrate, synced, …
Further endpoints (getdifficulty, circulating, getbalance/<address>, address/<address>, block/<height>, tx/<txid>, blocks, richlist) follow the same pattern and return what the matching page shows.
Mining
Solo stratum, hardware notes, step by step.
NextWallets
Downloads, checksums and backups.
NextSupply
Total supply, block reward and the halving schedule.
NextWhat’s next
Where the project is heading.
Found a bug, or built something?
Issues and pull requests on GitHub are read by the maintainer. Security reports go to support@vivuscoin.com.