# Qwertycoin Documentation

Current, revision-bound Qwertycoin user, operator, integration, and contributor documentation.

> **Verified against:** the latest stable release; exact review revisions are recorded in [Source and version matrix](/contribution-and-evidence/source-version-matrix).

Qwertycoin is a privacy-focused proof-of-work network secured by RandomX. EPoSE is a separate service-reward protocol; it does not replace mining or chain selection.

## Choose a task

| I want to…                       | Start here                                                                                                          |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| install a wallet and receive QWC | [Getting Started](/start/simple-steps) · [Wallet Overview](/wallets/types-of-wallet)                                |
| verify a download                | [Downloads and Verification](/start/downloads-and-verification)                                                     |
| run a full node                  | [Run a Full Node](/nodes-and-builds/run-a-full-node) · [Configuration and Ports](/nodes-and-builds/config)          |
| run an EPoSE service node        | [EPoSE Overview](/epose/overview) · [Service Node Quickstart](/epose/service-node-quickstart)                       |
| mine QWC                         | [RandomX Mining](/mining-and-ecosystem/mining-options) · [Pool Mining](/mining-and-ecosystem/pool-mining)           |
| integrate daemon or wallet RPC   | [API Overview](/apis/overview) · [Integration Examples](/apis/integration-examples)                                 |
| build or contribute              | [Build Overview](/nodes-and-builds/compiling-from-source) · [Contributing](/contribution-and-evidence/contributing) |

## Release policy

This documentation describes the latest published Qwertycoin release. Install or update to the latest release before following these instructions.

Here, **latest** means the newest official stable release published for the component and distribution channel being used. It does not mean the newest commit on a default branch or an arbitrary prerelease. Core, GUI, Docker and the Web Wallet have separate publication channels and must not be assumed to share a version number or publication time.

Use the official [Core latest release](https://github.com/qwertycoin-org/qwertycoin/releases/latest) and [GUI latest release](https://github.com/qwertycoin-org/qwertycoin-gui/releases/latest) pages for downloads. Exact revisions used for documentation review remain in the [Source and version matrix](/contribution-and-evidence/source-version-matrix); that evidence snapshot is not an instruction to install an older release.

Do not mix legacy-chain wallet files, addresses, mining software, ports, or service-node procedures with the current network. Start with [Legacy Network Compatibility](/project/legacy-network-compatibility) when migrating from historical Qwertycoin software.

## Evidence and maintenance

* [Source/version matrix](/contribution-and-evidence/source-version-matrix)
* [Migration manifest](/contribution-and-evidence/migration-manifest)
* [Complete RPC inventory](/apis/rpc-inventory)
* [Validation report](/contribution-and-evidence/validation-report)
* [Implementation defects](/contribution-and-evidence/implementation-defects)
* [Documentation maintenance](/contribution-and-evidence/documentation-maintenance)


# Getting Started

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

## 1. Choose a wallet

* **Desktop GUI:** easiest full wallet; downloads and verifies chain data through a local or selected daemon. See [Desktop GUI Wallet](/wallets/gui-wallet).
* **CLI wallet:** operator/developer interface included in the Core archive. See [CLI Wallet](/wallets/cli-wallet).
* **Web Wallet:** current browser client at <https://wallet.qwertycoin.org/>. See [Web Wallet](/wallets/web-wallet) for its trust and backup model.
* **Wallet RPC:** integration service, not a consumer wallet. Keep it private and authenticated. See [Wallet RPC Setup](/apis/wallet-rpc-setup).

There is no supported paper-wallet generator, Zero wallet, or current native mobile-wallet release in this documentation.

## 2. Download and verify

Download only from the official [Core latest release](https://github.com/qwertycoin-org/qwertycoin/releases/latest) or [GUI latest release](https://github.com/qwertycoin-org/qwertycoin-gui/releases/latest). Verify the archive against the `SHA256SUMS` file from that same release before extracting it. Checksums detect corruption or substitution relative to that file; they are not publisher signatures.

See [Downloads and Verification](/start/downloads-and-verification).

## 3. Create and protect the wallet

1. Create a new wallet in GUI or `qwertycoin-wallet-cli`.
2. Record the mnemonic seed offline. Never paste it into a website, support chat, issue, or log.
3. Use a strong wallet password; it encrypts the wallet file but cannot repair a lost seed.
4. Record an appropriate restore height near the creation block/date.
5. Receive a small test amount and verify the address before using larger amounts.

Primary addresses normally begin `QWC…`; current mainnet subaddresses use a different encoded prefix and commonly begin `Qqb…`. Validate addresses with current software rather than checking only visible characters.

## 4. Wait for synchronization and unlock

A wallet can show an incoming transaction before it is confirmed or spendable. The daemon and wallet heights must catch up. Coinbase/mining/service-reward outputs use the compiled Coinbase maturity rule; normal transfers use their transaction unlock rules.

## 5. Next steps

* [Backup and Restore](/wallets/wallet-backup)
* [Updates](/wallets/wallet-update)
* [Run a Full Node](/nodes-and-builds/run-a-full-node)
* [Privacy Model](/project/privacy-model)


# Downloads and Verification

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

## Published artifacts

Open the official [Core latest release](https://github.com/qwertycoin-org/qwertycoin/releases/latest) or [GUI latest release](https://github.com/qwertycoin-org/qwertycoin-gui/releases/latest) page. Select the asset for your platform and download that release's `SHA256SUMS` from the same page. Qwertycoin asset filenames contain the release version, so this documentation does not invent moving `releases/latest/download/...` URLs for them.

The current Core release channel publishes:

* Linux x86\_64 archive
* macOS arm64 archive
* Windows x86\_64 ZIP
* `SHA256SUMS`

The current GUI release channel publishes:

* Linux x86\_64 archive
* macOS arm64 DMG and portable archive
* Windows x86\_64 installer and portable ZIP
* `SHA256SUMS`

Intel macOS and Linux arm64 packages are not currently published on these channels. Confirm the asset list on the release page; do not infer support from upstream Monero packages.

## Verify a downloaded file

Download the artifact and `SHA256SUMS` into an empty directory, then run:

```bash
sha256sum --check SHA256SUMS --ignore-missing
```

On macOS:

```bash
shasum -a 256 -c SHA256SUMS
```

On Windows PowerShell, enter the exact downloaded archive path and compare:

```powershell
$archive = Read-Host "Downloaded archive path"
Get-FileHash -LiteralPath $archive -Algorithm SHA256
Get-Content .\SHA256SUMS
```

The filename and full digest must match. A checksum verifies integrity relative to the downloaded checksum list; it does not prove publisher identity unless the release also provides a separately verifiable signature for that exact list. Check the current release notes for signing status.

## Verify executables

After extraction:

```bash
./qwertycoind --version
./qwertycoin-wallet-cli --version
./qwertycoin-wallet-rpc --version
```

The reported release must match the tag shown on the release page used for the download. Do not mix programs from different archives in one deployment.

## Docker provenance

The official image is `docker.io/qwertycoin/qwertycoin`. It packages the verified Linux release archive; it does not rebuild Core. The `latest` tag is moving and currently follows the Docker publication channel's latest stable release. Pull it, resolve its immutable digest, and pin that digest in production:

```bash
docker pull docker.io/qwertycoin/qwertycoin:latest
docker image inspect docker.io/qwertycoin/qwertycoin:latest --format '{{index .RepoDigests 0}}'
```

Pulling a tag does not replace or restart an existing container. Use the immutable digest in deployment configuration after checking the OCI labels and follow the state-preserving recreation procedure in [Docker](/nodes-and-builds/docker).


# FAQ

> **Verified against:** the latest stable release; exact review revisions are recorded in the [Source and version matrix](/contribution-and-evidence/source-version-matrix).

## Is this the historical Qwertycoin chain?

No. Current Qwertycoin uses a reset mainnet and Monero 0.18-derived Core. Historical wallets, balances, daemon data, ports, miners and exchange integrations are not automatically compatible. See [Legacy Network Compatibility](/project/legacy-network-compatibility).

## Why does my address not begin with `QWC`?

Mainnet primary addresses normally begin with `QWC`, while a valid mainnet subaddress can begin with `Qqb`. Do not edit the text prefix. Use current wallet software or wallet RPC `validate_address` to verify network and address type.

## Are checksums signatures?

No. A checksum proves that a downloaded file matches the published digest; it does not identify who published it. Current release assets are not documented as cryptographically signed publisher artifacts.

## Does a full node earn EPoSe rewards?

Not by itself. A service operator must enable the EPoSe v2 producer, keep a stable protected identity, advertise a reachable restricted endpoint, complete epoch-bound admission, and obtain sufficient canonical receipt evidence. Mining remains responsible for block production and chain selection.

## Must an EPoSe operator stake or mine?

No stake or funded registration transaction is required by the verified implementation. The operator supplies a public primary reward address, but never a wallet spend key or private view key. Mining is independent.

## Why is there no service reward yet?

Admission, frozen membership, service rounds, qualification closure, deterministic selection for a later payout epoch, Coinbase maturity and wallet unlock are separate stages. A local `ready` state or submitted receipt is not proof of canonical qualification.

## Which ports are public?

For a normal public node, expose P2P `8196`. Keep unrestricted daemon RPC `8197` and ZMQ `8199` private. An EPoSe producer additionally exposes a **restricted daemon RPC** listener, commonly `8198`. A separate wallet RPC may also default to `8198`; on a combined host assign it another loopback-only port, such as `18082`.

## Is `get_epose_diagnostics` available?

Yes. The latest stable Core release provides it on the unrestricted, authenticated operator RPC listener. Keep integrations defensive: query `get_version`, handle method-not-found for older nodes and never expose unrestricted daemon RPC publicly.

## Can I restore a wallet without its original restore height?

Yes, but scanning from an earlier height takes longer. A date-derived or conservative height is safer than a height after the first incoming transaction. A seed restores keys, not historical legacy-chain balances.

## Is the Web Wallet Messenger available?

The current official Web Wallet includes the password-gated QMS1 Fast Profile. The browser application has its own publication channel; a Core or GUI release number does not identify the deployed Web Wallet revision.

## Where should integration developers start?

Read [API Overview](/apis/overview), then [Wallet RPC Setup](/apis/wallet-rpc-setup) and [Integration Examples](/apis/integration-examples). Keep exact integer atomic units and reconcile ambiguous spending calls instead of retrying blindly.


# Glossary

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

| Term                 | Meaning                                                                                                                    |
| -------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| atomic unit          | Smallest QWC amount; `100,000,000` atomic units equal `1 QWC`.                                                             |
| Coinbase transaction | Block transaction that creates scheduled subsidy and pays miner/service outputs; unrelated to the exchange named Coinbase. |
| daemon               | `qwertycoind`, which validates, stores, and relays the blockchain.                                                         |
| EPoSE                | Qwertycoin service-evidence and reward protocol; distinct from mining and staking.                                         |
| epoch                | 720-block EPoSE interval, approximately 24 hours at target block time.                                                     |
| identity keystore    | Protected EPoSE operator/service keys; not a wallet and contains no wallet spend/view key.                                 |
| main address         | Primary wallet address, normally beginning `QWC…` on current mainnet.                                                      |
| restricted RPC       | Daemon listener that blocks selected administrative/write methods; it is not automatically harmless or private.            |
| restore height       | Earliest block height a wallet scans when reconstructing transaction history.                                              |
| service key          | Online EPoSE key authorized by the stable operator identity.                                                               |
| subaddress           | Wallet-derived address for payment separation; current mainnet subaddresses commonly begin `Qqb…`.                         |
| tail emission        | Continuing minimum subsidy after the main emission curve reaches its lower bound.                                          |
| wallet cache         | Regenerable transaction/cache data; not a substitute for seed/key backup.                                                  |
| wallet RPC           | `qwertycoin-wallet-rpc`, an authenticated integration process that holds wallet authority.                                 |


# About Qwertycoin

> **Verified against:** the latest stable Core release and reviewed development source; exact revisions are recorded in the [Source and version matrix](/contribution-and-evidence/source-version-matrix).

Qwertycoin is a privacy-focused cryptocurrency network. Current Core is based on the Monero 0.18.x codebase and retains CryptoNote transaction privacy and RandomX proof-of-work, with Qwertycoin-specific network parameters and EPoSE service rewards.

## Two distinct roles

* **RandomX mining** produces blocks and secures chain selection.
* **EPoSE** deterministically rewards qualified service identities from a portion of scheduled block subsidy.

EPoSE is not proof of stake and does not replace proof of work. A normal miner needs no EPoSE identity; an EPoSE operator does not have to mine.

## Current network versus historical Qwertycoin

The current mainnet is a clean network reset with a new genesis block, network ID, address prefixes, data directory, and consensus profile. Historical chain databases, wallet caches, peer state, and balances do not carry over automatically. Old key material may be importable for address/key recovery experiments, but it does not recreate legacy-chain balances on the current chain.

Older Karbowanec/Bytecoin ancestry descriptions remain historical context, not a description of the present runtime.

See [Legacy Network Compatibility](/project/legacy-network-compatibility), [Network Parameters and Emission](/project/network-parameters-and-emission), and [Privacy Model](/project/privacy-model).


# Network Parameters and Emission

> **Verified against:** the latest stable Core mainnet profile and `src/cryptonote_config.h`; exact review revisions are recorded in the [Source and version matrix](/contribution-and-evidence/source-version-matrix).

| Parameter                 | Mainnet value                                                      |
| ------------------------- | ------------------------------------------------------------------ |
| Consensus hardfork        | HF17 from height 0                                                 |
| Proof of work             | RandomX                                                            |
| Block target              | 120 seconds                                                        |
| Decimal places            | 8                                                                  |
| Atomic units per QWC      | 100,000,000                                                        |
| Emission constant         | `18,446,744,073,709,551` atomic units = `184,467,440.73709551 QWC` |
| Tail subsidy constant     | `0.3 QWC/minute` = `0.6 QWC/block` at 120 seconds                  |
| Coinbase maturity         | 60 blocks                                                          |
| Main address prefix       | `0x14820c` (normally `QWC…`)                                       |
| Integrated-address prefix | `0x14820d`                                                         |
| Subaddress prefix         | `0x14820e` (commonly `Qqb…`)                                       |
| P2P / daemon RPC / ZMQ    | 8196 / 8197 / 8199                                                 |

## Supply wording

The emission constant is the input to the CryptoNote emission curve; it is not an absolute lifetime cap because tail emission continues. Documentation must not describe approximately 184.47 million QWC as a hard final supply while also documenting continuing tail subsidy.

The scheduled block subsidy uses integer atomic-unit arithmetic. EPoSE currently allocates `floor(scheduled_subsidy × 1000 / 10000)` to the selected service payee when one exists. Transaction fees remain entirely with the miner.

Example for a scheduled subsidy of `60,000,000` atomic units (`0.6 QWC`) and fees of `2,500,000` atomic units:

```
service = floor(60,000,000 × 1,000 / 10,000) = 6,000,000
miner subsidy = 54,000,000
miner fees = 2,500,000
coinbase total = 62,500,000 atomic units
```

See [EPoSE Rewards](/epose/rewards) for source-epoch selection and empty-set behavior.


# Privacy Model

> **Verified against:** the latest stable Core transaction implementation on Qwertycoin mainnet; exact review revisions are recorded in the [Source and version matrix](/contribution-and-evidence/source-version-matrix).

Qwertycoin transactions use CryptoNote/Monero-derived mechanisms including one-time addresses, ring signatures, confidential amounts, and stealth address derivation. These mechanisms reduce direct on-chain linkage between sender, recipient, and amount.

They do **not** make all metadata invisible:

* P2P peers can observe network connections and relay timing.
* A remote daemon learns the requesting IP unless a separate network-privacy layer is used and may observe wallet query patterns.
* Wallet RPC operators can access the loaded wallet and transaction metadata; keep wallet RPC private and authenticated.
* Exchanges and counterparties know their own deposit/withdrawal records.
* Transaction size, fee, block placement, and public EPoSE records remain observable.

Avoid absolute “anonymous” claims. Privacy depends on current protocol rules, correct wallet behavior, network configuration, and user behavior.

## Remote nodes

A remote node validates and relays chain data but is not entrusted with spend keys. It can still observe requests and provide delayed or selective data. Prefer a synchronized local node for stronger availability and metadata privacy.

## Seeds and view-only wallets

Mnemonic seeds and private spend keys control funds. Private view keys reveal incoming activity. View-only wallets cannot spend, but they are sensitive. Restoring historical key material does not recreate legacy-chain balances on current mainnet.


# Legacy Network Compatibility

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

The current Qwertycoin network is not a continuation of the historical chain.

Do not reuse:

* old blockchain databases or daemon data directories;
* old peer-state files or checkpoints;
* old wallet cache files as if they represented current transactions;
* `simplewallet`, `walletd`, old container-wallet APIs, or port 8070 guides;
* CryptoNight/XMR-Stak mining configuration;
* legacy masternode registration transactions or `--service-node*` flags.

Current binaries are `qwertycoind`, `qwertycoin-wallet-cli`, and `qwertycoin-wallet-rpc`. Current proof of work is RandomX. Current EPoSE enrollment is automatic and identity/epoch-bound.

Old mnemonic/key material may be imported only as a key-recovery experiment. A successful import does not transfer or recreate balances from the legacy chain. Use a new current-network wallet for normal operation and verify addresses with current software.

See [Retired Features](/contribution-and-evidence/retired-features) for old wiki entry points.


# Wallet Overview

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

| Wallet      | Best for                     | Important boundary                                                                |
| ----------- | ---------------------------- | --------------------------------------------------------------------------------- |
| Desktop GUI | Everyday desktop use         | Verify the exact official package; preserve seed and wallet files.                |
| CLI         | Operators and advanced users | Commands act on the currently opened wallet.                                      |
| Web Wallet  | Browser use                  | Trust and backup model differs from native wallets; use only the official origin. |
| Wallet RPC  | Exchange/service integration | Holds wallet authority; keep private, authenticated, and serialized.              |

Current mainnet supports primary addresses, subaddresses, and integrated addresses. Generate addresses with current wallet software. A subaddress can legitimately have a visible prefix different from `QWC`; `validate_address` is authoritative for format/network/type.

## Wallet data

* **Mnemonic seed/private spend key:** controls funds; protect offline.
* **Wallet file:** encrypted key material and configuration.
* **Wallet cache:** transaction state that can be rebuilt by rescanning.
* **Daemon blockchain:** node data, not wallet backup.
* **EPoSE keystore:** separate service identity; never place it in a wallet directory.

Never open the same wallet file concurrently in CLI and wallet RPC.


# CLI Wallet

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

> **Verified binary:** `qwertycoin-wallet-cli` from the latest stable Core release.

Start against a local daemon:

```bash
./qwertycoin-wallet-cli --daemon-address http://127.0.0.1:8197
```

On first run, choose a new wallet name, strong password, and language. Record the generated mnemonic seed offline. To reopen:

```bash
./qwertycoin-wallet-cli \
  --wallet-file /secure/wallets/qwc-main \
  --daemon-address http://127.0.0.1:8197
```

Common interactive commands include `address`, `balance`, `refresh`, `transfer`, `show_transfers`, `seed`, `save`, and `exit`; confirm exact commands with `help` in the installed version.

## Restore

Use the interactive restore flow or supported startup options shown by:

```bash
./qwertycoin-wallet-cli --help | less
```

Choose a restore height at or before the wallet's first transaction. Too-high restore height can omit history; height 0 is conservative but slower.

## Sending safely

1. Confirm daemon and wallet are synchronized.
2. Verify the destination and amount in QWC.
3. Review the wallet's fee/transaction confirmation.
4. Record the transaction ID.
5. If a command times out, inspect wallet history and daemon state before retrying; do not assume it was not relayed.

The historical executable `simplewallet` is not current Qwertycoin software.


# Desktop GUI Wallet

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

Official packages are listed on the [GUI latest release](https://github.com/qwertycoin-org/qwertycoin-gui/releases/latest) page and explained in [Downloads and Verification](/start/downloads-and-verification). The current stable channel publishes Linux x86\_64, Windows x86\_64 installer/portable ZIP, and macOS arm64 DMG/portable archive.

## First run

1. Verify the package checksum.
2. Create a wallet and record the seed offline, or restore from current-network seed/key material.
3. Choose a local node for strongest availability/privacy or a trusted remote node with understood metadata tradeoffs.
4. Wait until daemon and wallet synchronization complete before judging balances.
5. Receive a small test transaction before moving larger values.

The macOS DMG is a packaging format, not proof of Apple notarization. Read the current release notes and do not infer code-signing/notarization status from the `.dmg` extension alone.

The GUI Core submodule pin is part of release provenance. A development GUI built against another Core commit must identify both SHAs.


# Web Wallet

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

> **Released behavior:** current deployment at <https://wallet.qwertycoin.org/>; the exact reviewed deployment revision is recorded in the [Source and version matrix](/contribution-and-evidence/source-version-matrix).

Use only <https://wallet.qwertycoin.org/> and verify the origin before entering any secret. The Web Wallet runs wallet logic in the browser and reaches Qwertycoin data through its deployed gateway. Browser storage, local malware, extensions, phishing, and the selected network path remain part of the threat model.

Back up the seed/key material shown by the released wallet. Clearing browser data can remove local application state. A seed is not a backup of every unrelated browser-only feature.

## Messenger status

QMS1/Fast Messenger work exists in open PR #14. It is **unreleased** at this wiki baseline and must not be described as current production functionality. Its separate Messenger identity/history requires its own encrypted backup model.

## Remote-service limits

End-to-end wallet cryptography does not hide IP address, request timing, or all query metadata from the browser network path. Prefer native wallet software with a local daemon for stronger control.


# Backup and Restore

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

## Back up separately

| Data                              | Reconstructable?                   | Backup guidance                                            |
| --------------------------------- | ---------------------------------- | ---------------------------------------------------------- |
| Wallet mnemonic seed / spend keys | No                                 | Offline, redundant, access-controlled                      |
| Wallet file                       | Not safely without seed/keys       | Back up encrypted file and verify password                 |
| Wallet cache                      | Yes, by rescan                     | Optional convenience backup                                |
| Blockchain data                   | Yes, by resync                     | Optional; large and replaceable                            |
| EPoSE keystore                    | No without creating a new identity | Separate protected backup; never store with public configs |

## Restore a wallet

1. Install a verified current release.
2. Restore from seed or supported private keys.
3. Select current mainnet.
4. Set a restore height at or before the first expected transaction.
5. Let the wallet scan to the current daemon height.
6. Verify receive address, history, unlocked balance, and a small test transaction.

Restoring old Qwertycoin key material does not restore balances from the legacy chain.

## File permissions

Wallet and backup files should be readable only by the owning account. Do not solve permission errors with world-readable modes. Never delete an EPoSE keystore as a permissions workaround; see [EPoSE Configuration and Identity](/epose/configuration-and-identity).


# Updates

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

1. Read release notes and verify network/data-format compatibility.
2. Download from the official release and verify `SHA256SUMS`.
3. Stop wallet and daemon cleanly.
4. Back up wallet seed/files and EPoSE identity separately.
5. Replace binaries or recreate containers without deleting persistent data.
6. Start the daemon, verify version/height/peers, then open the wallet.
7. For EPoSE, verify the same identity/service public keys and endpoint after restart.

An image pull does not update a running container. Recreate it explicitly. Roll back only if the older binary supports current on-disk formats and consensus state.

Never overwrite or remove wallet files, EPoSE identity volumes, or seeds as part of a routine update.


# Message Signing

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

Message signing proves control of a wallet key for a particular message; it is not a transaction and does not reveal a spend key. It does not prove a legal identity unless the address-to-person binding was established separately.

## Wallet RPC

The current wallet RPC exposes `sign` and `verify` through `/json_rpc`. Keep RPC authenticated and private.

Illustrative request:

```json
{"jsonrpc":"2.0","id":"sign-1","method":"sign","params":{"data":"release statement"}}
```

Verification requires the message, address, and returned signature. Inspect the exact request fields for the pinned release in [Wallet RPC Reference](/apis/wallet-rpc-reference).

The historical `simplewallet` instructions are retired; use current CLI/GUI/RPC features.


# Run a Full Node

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

A full node validates the chain and serves wallets and peers. It does not automatically qualify for EPoSe rewards.

## Safe first start

Download and verify the package from the [Core latest release](https://github.com/qwertycoin-org/qwertycoin/releases/latest), then run:

```bash
./qwertycoind \
  --p2p-bind-ip 0.0.0.0 --p2p-bind-port 8196 \
  --rpc-bind-ip 127.0.0.1 --rpc-bind-port 8197 \
  --zmq-rpc-bind-ip 127.0.0.1 --zmq-rpc-bind-port 8199
```

Open only TCP `8196` to the public Internet. Binding P2P to `0.0.0.0` is intentional; binding unrestricted RPC or ZMQ to a wildcard address is not.

Check status in the daemon console with `status` and `sync_info`. The node is ready for normal wallet use when its height tracks healthy peers and it reports synchronized. A merely running process is not proof of synchronization.

Use `--data-dir PATH` to select persistent blockchain storage. Stop cleanly with the console `exit` command or the service manager's normal stop operation. Do not copy an actively written LMDB directory as a guaranteed consistent backup.

For unattended operation use [Linux Service Operation](/nodes-and-builds/linux-service-operation) or [Docker](/nodes-and-builds/docker). For service rewards, continue with [EPoSE Overview](/epose/overview).


# Configuration and Ports

> **Verified against:** the latest stable Core release; exact review revisions are recorded in the [Source and version matrix](/contribution-and-evidence/source-version-matrix).

| Listener                   | Process                 | Transport        | Example bind/port                    | Exposure              | Authentication and role                                                              |
| -------------------------- | ----------------------- | ---------------- | ------------------------------------ | --------------------- | ------------------------------------------------------------------------------------ |
| P2P                        | `qwertycoind`           | TCP              | `0.0.0.0:8196`                       | Public                | Peer protocol; not HTTP                                                              |
| Unrestricted daemon RPC    | `qwertycoind`           | HTTP/JSON/binary | `127.0.0.1:8197`                     | Private               | Configure `--rpc-login`; operator/admin surface                                      |
| Restricted EPoSe probe RPC | `qwertycoind`           | HTTP/JSON        | `0.0.0.0:8198`                       | Public only for EPoSe | `--restricted-rpc`; verified restricted route set, not a generic read-only guarantee |
| Wallet RPC                 | `qwertycoin-wallet-rpc` | HTTP JSON-RPC    | `127.0.0.1:18082` on a combined host | Private               | Configure `--rpc-login`; possesses wallet authority                                  |
| ZMQ RPC/pub                | `qwertycoind`           | ZMQ              | `127.0.0.1:8199`                     | Private               | Separate protocol/trust boundary                                                     |

Both restricted EPoSe RPC and wallet RPC commonly use `8198`, but they are different processes. They cannot share one host port. The `18082` value above is an example override, not a protocol default.

* Prefer loopback binds for unrestricted daemon RPC, wallet RPC and ZMQ.
* Use firewall rules in addition to bind addresses. Account for Docker-published host ports.
* Configure RPC credentials in a protected file or service environment, not shell history.
* Repeated `--seed-node`, `--add-priority-node` and `--epose-v2-discovery-endpoint` options are lists, not allowlists.
* Never expose wallet RPC because an EPoSe guide says to open `8198`.

See [Daemon JSON-RPC](/apis/daemon-json-rpc) for route-level restricted behavior.


# Docker

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

The official image is `docker.io/qwertycoin/qwertycoin`. The current build packages a verified Linux release archive rather than compiling Core inside the final image. The documented architecture is `linux/amd64`.

```bash
docker pull docker.io/qwertycoin/qwertycoin:latest
docker inspect --format '{{index .RepoDigests 0}}' docker.io/qwertycoin/qwertycoin:latest
```

The `latest` tag is moving. Pulling it does not modify or restart a running container. Record the returned immutable digest and pin it in production. Entrypoint selectors are default/`daemon`, `wallet`, and `wallet-rpc`.

Use separate persistent volumes for blockchain data, wallet material and EPoSe identity. The image runs as UID/GID `10001`; prepare ownership accordingly. Prefer a read-only root filesystem, dropped capabilities, `no-new-privileges`, bounded logs and a graceful stop period.

```yaml
ports:
  - "8196:8196"             # public P2P
  - "127.0.0.1:8197:8197" # private daemon RPC
  - "127.0.0.1:8199:8199" # private ZMQ
```

Do not publish wallet RPC. For EPoSe, publish a separate restricted daemon listener only after following [EPoSE Service Node Quickstart](/epose/service-node-quickstart). Verify the exact tag, digest, embedded `--version`, container user, mounted paths and restart policy before deployment.

## Update an existing container

1. Record the current image digest, complete run/Compose configuration, mounts, ports and environment.
2. Pull `docker.io/qwertycoin/qwertycoin:latest`, inspect its digest and read the matching release notes.
3. Stop the existing container cleanly.
4. Recreate it from the new image with the **same** persistent chain, wallet and EPoSE-identity mounts and the same security configuration.
5. Verify the embedded version, network, synchronized height, peers, wallet access where applicable and unchanged EPoSE public identity before removing rollback material.

Never use `docker compose down -v`, delete named volumes or replace a state directory as part of a routine update. A plain `docker pull` is insufficient because existing containers continue using the image from which they were created.


# Linux Service Operation

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

> **Verified configuration model:** the latest stable Core release with systemd on Linux.

Create a dedicated non-login account and persistent directory:

```bash
sudo useradd --system --home /var/lib/qwertycoin --create-home --shell /usr/sbin/nologin qwertycoin
sudo install -d -o qwertycoin -g qwertycoin -m 0750 /var/lib/qwertycoin
```

Install each verified release under an administrator-owned directory such as `/opt/qwertycoin/releases/<release-tag>/bin`, then point `/opt/qwertycoin/current` to the selected complete release. A minimal unit is:

```ini
[Unit]
Description=Qwertycoin daemon
After=network-online.target
Wants=network-online.target

[Service]
User=qwertycoin
Group=qwertycoin
ExecStart=/opt/qwertycoin/current/bin/qwertycoind --non-interactive --data-dir /var/lib/qwertycoin --p2p-bind-ip 0.0.0.0 --p2p-bind-port 8196 --rpc-bind-ip 127.0.0.1 --rpc-bind-port 8197 --zmq-rpc-bind-ip 127.0.0.1 --zmq-rpc-bind-port 8199
Restart=on-failure
RestartSec=10
TimeoutStopSec=120
NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=strict
ReadWritePaths=/var/lib/qwertycoin

[Install]
WantedBy=multi-user.target
```

Install the unit as `root:root` mode `0644`, run `systemctl daemon-reload`, then `systemctl enable --now qwertycoind.service`. Verify process state, synchronized height and peer count after start and restart. For EPoSe, also verify unchanged service identity, reward address and advertised endpoint.


# Upgrade and Recovery

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

1. Record the running binary version, source/digest, arguments, binds and data paths.
2. Back up wallet material separately from blockchain data and EPoSe identity.
3. Download and verify the new immutable artifact.
4. Stop cleanly; never replace a running executable or treat a live LMDB copy as consistent.
5. Install side by side, update the service path, start, and verify version, network, height and peers.
6. Preserve the old binary/configuration for rollback until the new process is proven.

An EPoSe upgrade must preserve the service keystore. Deleting it creates a new identity and can disrupt admission, qualification and rewards. Never use keystore deletion as a permissions repair.

Blockchain data can be resynchronized. Wallet seeds/spend keys and EPoSe identity cannot. If LMDB is damaged, stop the process and resynchronize into a clean directory rather than mixing databases.

The historical CSV-checkpoint guide is retired. Use current synchronization and database tooling, not stale checkpoint files from another chain era.


# Synchronization Troubleshooting

> **Verified against:** the latest stable Core release; exact review revisions are recorded in the [Source and version matrix](/contribution-and-evidence/source-version-matrix).

Diagnose before changing data:

1. Check `qwertycoind --version` and the configured network.
2. Compare local height with multiple healthy peers/explorer observations.
3. Check incoming/outgoing peer counts and the system clock.
4. Check disk, filesystem errors, memory pressure and OOM events.
5. Check firewall/NAT reachability for P2P `8196`.
6. Read logs around the first error, not only later retries.

Common causes are a legacy data directory, blocked seed/peer connectivity, insufficient disk, an uncleanly copied LMDB, wrong permissions or a clock far from network time.

Do not delete wallet files, seeds or EPoSe keystores. Do not import historical CSV checkpoints to suppress a symptom. A normal full resynchronization replaces only blockchain data. EPoSe additionally requires endpoint, identity and lifecycle checks.


# Build Overview

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

> **Source track:** latest stable Core release. Default-branch builds are development builds and must be identified by their exact commit.

Open the [Core latest release](https://github.com/qwertycoin-org/qwertycoin/releases/latest), copy its stable tag, then select that explicit tag and initialize recursive submodules. Do not substitute the default branch for a published release:

```bash
read -r -p "Latest stable Core release tag: " QWC_RELEASE_TAG
[[ "$QWC_RELEASE_TAG" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]] || {
  echo "invalid stable release tag" >&2
  exit 1
}
git clone --recursive https://github.com/qwertycoin-org/qwertycoin.git
cd qwertycoin
git checkout --detach "$QWC_RELEASE_TAG"
git submodule sync --recursive
git submodule update --init --recursive
```

| Platform | Release CI environment      | Architecture | Link model                 |
| -------- | --------------------------- | ------------ | -------------------------- |
| Linux    | Ubuntu 22.04, GCC 11        | x86\_64      | dynamic system libraries   |
| macOS    | macOS 15                    | arm64        | dynamic Homebrew libraries |
| Windows  | Windows 2025, MSYS2 MinGW64 | x86\_64      | packaged MinGW runtime     |

Use conservative parallelism on small hosts. Release CI deliberately uses two compile jobs and one link job.

* [Build Linux](/nodes-and-builds/compiling-from-source/linux)
* [Build macOS](/nodes-and-builds/compiling-from-source/macos)
* [Build Windows](/nodes-and-builds/compiling-from-source/windows)
* [GUI Build](/nodes-and-builds/compiling-from-source/gui)
* [Developer Tests and Troubleshooting](/nodes-and-builds/compiling-from-source/tests-and-troubleshooting)

Expected outputs are `qwertycoind`, `qwertycoin-wallet-cli`, and `qwertycoin-wallet-rpc`. The internal CMake target `simplewallet` produces the QWC-named CLI; do not carry its historical target name into user instructions.


# Linux

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

> **Validated recipe source:** latest stable Core release workflow, Ubuntu 22.04 x86\_64, GCC 11.

```bash
read -r -p "Latest stable Core release tag: " QWC_RELEASE_TAG
[[ "$QWC_RELEASE_TAG" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]] || {
  echo "invalid stable release tag" >&2
  exit 1
}

sudo apt-get update
sudo apt-get install -y build-essential cmake ninja-build pkg-config git ccache python3 curl file patchelf binutils zip \
  libboost-all-dev libssl-dev libzmq3-dev libpgm-dev libunbound-dev libsodium-dev \
  libhidapi-dev libusb-1.0-0-dev libunwind-dev liblzma-dev libexpat1-dev \
  libgcrypt20-dev libgpg-error-dev libprotobuf-dev protobuf-compiler libgtest-dev

git clone --recursive https://github.com/qwertycoin-org/qwertycoin.git source
git -C source checkout --detach "$QWC_RELEASE_TAG"
git -C source submodule update --init --recursive

cmake -S source -B build/linux -G Ninja \
  -DCMAKE_BUILD_TYPE=Release -DARCH=default -DBUILD_64=ON -DSTATIC=OFF \
  -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTS=ON -DBUILD_DOCUMENTATION=OFF \
  -DBUILD_DEBUG_UTILITIES=OFF -DUSE_DEVICE_TREZOR=OFF -DUSE_READLINE=OFF \
  -DBUILD_TAG=linux-x64 -DMANUAL_SUBMODULES=1 \
  -DMONERO_PARALLEL_COMPILE_JOBS=2 -DMONERO_PARALLEL_LINK_JOBS=1

cmake --build build/linux --target daemon simplewallet wallet_rpc_server epose_unit_tests --parallel 2
ctest --test-dir build/linux -R '^epose_unit_tests$' --output-on-failure
build/linux/bin/qwertycoind --version
build/linux/bin/qwertycoin-wallet-cli --help >/dev/null
build/linux/bin/qwertycoin-wallet-rpc --help >/dev/null
```

Other distributions/architectures may work but are not claimed as release-validated here. If static archives are unavailable, use this dynamic build instead of forcing `STATIC=ON`.


# macOS

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

> **Validated recipe source:** latest stable Core release workflow, macOS 15 arm64. Check the current release notes for signing and notarization status.

```bash
xcode-select --install
brew install cmake ninja boost hidapi openssl@3 zeromq libpgm unbound \
  libunwind-headers protobuf ccache libsodium libgcrypt libgpg-error expat

cmake -S source -B build/macos -G Ninja \
  -DCMAKE_BUILD_TYPE=Release -DARCH=armv8-a -DBUILD_64=ON -DSTATIC=OFF \
  -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTS=OFF -DBUILD_DOCUMENTATION=OFF \
  -DBUILD_DEBUG_UTILITIES=OFF -DUSE_DEVICE_TREZOR=OFF -DUSE_READLINE=OFF \
  -DBUILD_TAG=mac-armv8 -DMANUAL_SUBMODULES=1 \
  -DCMAKE_OSX_ARCHITECTURES=arm64 -DCMAKE_OSX_DEPLOYMENT_TARGET=15.0 \
  -DOPENSSL_ROOT_DIR="$(brew --prefix openssl@3)" \
  -DMONERO_PARALLEL_COMPILE_JOBS=2 -DMONERO_PARALLEL_LINK_JOBS=1

cmake --build build/macos --target daemon simplewallet wallet_rpc_server --parallel 2
```

Run this after the explicit latest stable release-tag checkout and recursive submodule initialization described in [Build Overview](/nodes-and-builds/compiling-from-source). Intel macOS is not claimed as release-validated by this track. The historical Qt workaround is retired; use [GUI Build](/nodes-and-builds/compiling-from-source/gui) for GUI dependencies.


# Windows

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

> **Validated recipe source:** latest stable Core release workflow, Windows 2025 x86\_64 with MSYS2 MinGW64. Check the current release notes for signing status.

From an MSYS2 **MINGW64** shell:

```bash
pacman -S --needed git zip base-devel \
  mingw-w64-x86_64-toolchain mingw-w64-x86_64-cmake mingw-w64-x86_64-ninja \
  mingw-w64-x86_64-ccache mingw-w64-x86_64-python mingw-w64-x86_64-boost \
  mingw-w64-x86_64-openssl mingw-w64-x86_64-libgcrypt mingw-w64-x86_64-libgpg-error \
  mingw-w64-x86_64-zeromq mingw-w64-x86_64-libsodium mingw-w64-x86_64-unbound \
  mingw-w64-x86_64-expat mingw-w64-x86_64-hidapi mingw-w64-x86_64-libusb \
  mingw-w64-x86_64-protobuf

cmake -S source -B build/windows -G Ninja \
  -DCMAKE_BUILD_TYPE=Release -DARCH=default -DBUILD_64=ON -DSTATIC=OFF \
  -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTS=OFF -DBUILD_DOCUMENTATION=OFF \
  -DBUILD_DEBUG_UTILITIES=OFF -DUSE_DEVICE_TREZOR=OFF -DUSE_READLINE=OFF \
  -DBUILD_TAG=win-x64 -DMANUAL_SUBMODULES=1 \
  -DMONERO_PARALLEL_COMPILE_JOBS=2 -DMONERO_PARALLEL_LINK_JOBS=1

cmake --build build/windows --target daemon simplewallet wallet_rpc_server --parallel 2
```

Run after the explicit latest stable release-tag checkout with recursive submodules described in [Build Overview](/nodes-and-builds/compiling-from-source). Use the runtime DLLs packaged by the release workflow. Old Visual Studio and 32-bit guides are not current validated tracks.


# GUI Build

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

> **Source track:** latest stable GUI release and its recorded Core submodule. Default-branch builds are development builds and must identify both exact commits.

Open the [GUI latest release](https://github.com/qwertycoin-org/qwertycoin-gui/releases/latest) and copy its stable tag before running:

```bash
read -r -p "Latest stable GUI release tag: " QWC_GUI_RELEASE_TAG
[[ "$QWC_GUI_RELEASE_TAG" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]] || {
  echo "invalid stable release tag" >&2
  exit 1
}
git clone --recursive https://github.com/qwertycoin-org/qwertycoin-gui.git
cd qwertycoin-gui
git checkout --detach "$QWC_GUI_RELEASE_TAG"
git submodule sync --recursive
git submodule update --init --recursive
tools/check_core_pin.sh
```

The maintained review configuration uses Qt 5.15, C++17, Ninja and the explicit `qwertycoin/` Core submodule:

```bash
cmake -S . -B build/gui-review -G Ninja \
  -DCMAKE_BUILD_TYPE=RelWithDebInfo -DSTATIC=OFF -DMANUAL_SUBMODULES=1 \
  -DDEV_MODE=OFF -DWITH_UPDATER=ON -DBUILD_TAG=linux-x64 \
  -DUSE_DEVICE_TREZOR=OFF -DQML_TESTS=ON
cmake --build build/gui-review \
  --target qwertycoin-gui qwertycoin-gui-epose-tests simplewallet wallet_rpc_server \
  --parallel 2
tools/check_core_pin.sh
```

Run repository GUI/EPoSe, QML, restore and disposable regtest smoke tests before treating a build as reviewed. Published tracks are Linux x86\_64, macOS arm64 and Windows x86\_64. macOS/Windows artifacts are not documented as fully publisher-signed/notarized. Hardware wallets and inherited P2Pool launching remain fail-closed pending QWC-specific validation.


# Tests and Troubleshooting

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

> **Development testing:** use an exact reviewed commit and identify it in every result; do not present a default-branch run as a stable release test.

Configure with `-DBUILD_TESTS=ON`. For EPoSe on Linux:

```bash
cmake --build build/linux --target epose_unit_tests --parallel 2
ctest --test-dir build/linux -R '^epose_unit_tests$' --output-on-failure
(cd source/tests/epose && python3 -m unittest \
  test_release_gate_v2.py test_manifest_v2.py \
  test_reference_model_v2.py test_security_parameter_model.py)
```

Test counts can change between reviewed revisions. Require every selected suite to complete successfully and record the exact commit, configuration and resulting counts instead of treating an old count as a timeless constant.

* **Missing submodule:** run `git submodule sync --recursive` and `git submodule update --init --recursive`.
* **OpenSSL/Boost/Qt mismatch:** use the platform recipe and package family used by CI.
* **Link OOM:** reduce compile/link jobs; release CI uses 2/1.
* **Wrong path:** inspect the configured tree; internal targets `daemon`/`simplewallet` produce QWC-named executables.
* **Wrong network:** use explicit isolated fixtures. Generic testnet/stagenet/fakechain flags do not prove EPoSe mainnet behavior.

Never change consensus parameters to accelerate a documentation demonstration and report that as production evidence.


# Overview

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

> **Protocol:** HF17 / EPoSE protocol 2, mainnet activation height 0.\
> **Release track:** latest stable Core release.

EPoSE rewards useful, independently verifiable service. It does **not** replace RandomX proof of work: miners still produce blocks and determine chain selection. It is not staking, and running an ordinary full node alone does not qualify.

The implemented service kind is `canonical-object`:

```mermaid
sequenceDiagram
  participant V as Selected verifier
  participant S as Subject endpoint
  participant C as Canonical chain
  V->>S: Context-bound canonical-object challenge
  S-->>V: Canonical block bytes + subject signature
  V->>V: Compare with own canonical chain
  V->>C: Signed service receipt envelope
  C->>C: Validate identities, context, signatures, deadline
```

The transcript proves that the selected subject served and signed the requested canonical object in the bound context and that an authorized verifier checked it. It does not prove perfect uptime or every aspect of service quality. HTTP success, local execution, local submission and a log line are not canonical qualification evidence.

Consensus validates recorded transcripts without DNS lookups, wall-clock checks or live network requests. Endpoint discovery/probing is an operational step performed before a receipt reaches consensus.

Continue with [Service Node Quickstart](/epose/service-node-quickstart), [Epochs and Qualification](/epose/epochs-and-qualification), and [Rewards](/epose/rewards).


# Service Node Quickstart

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

> **Published-release track:** latest stable Core release, Linux x86\_64 or Docker `linux/amd64`. **Network:** current mainnet only.

## Requirements

* Synchronized, **unpruned** mainnet daemon.
* Dedicated runtime user and persistent chain directory.
* Stable public DNS name or public IPv4/IPv6 for the service endpoint.
* Public TCP `8196` (P2P) and `8198` (restricted probe RPC).
* Private loopback TCP `8197` (unrestricted RPC) and `8199` (ZMQ).
* One public **primary** QWC reward address. Never provide wallet secret keys.
* Protected, persistent EPoSE keystore stored separately from chain and wallet data.

## Start

After verifying the release package and creating the service account:

```bash
qwertycoind \
  --epose-v2-service \
  --epose-v2-keystore /var/lib/qwertycoin-identity/epose-v2-keystore \
  --epose-v2-reward-address QWC... \
  --epose-v2-endpoint-host node.example.org \
  --epose-v2-endpoint-port 8198 \
  --epose-v2-discovery-endpoint http://seed-00.qwertycoin.org:8198 \
  --epose-v2-discovery-endpoint http://seed-01.qwertycoin.org:8198 \
  --p2p-bind-ip 0.0.0.0 --p2p-bind-port 8196 \
  --rpc-bind-ip 127.0.0.1 --rpc-bind-port 8197 \
  --rpc-restricted-bind-ip 0.0.0.0 --rpc-restricted-bind-port 8198 \
  --confirm-external-bind \
  --zmq-rpc-bind-ip 127.0.0.1 --zmq-rpc-bind-port 8199
```

Discovery options may be repeated. They bootstrap signed endpoint discovery; they are not allowlists and do not grant admission.

## Verify

From the operator host:

```bash
curl -s http://127.0.0.1:8197/get_info
curl -s http://127.0.0.1:8197/get_epose_info
curl -s http://127.0.0.1:8197/get_epose_service_endpoint_v2
```

From an external network, verify DNS and that the restricted `8198` endpoint serves the signed descriptor. Confirm that unrestricted RPC `8197` and ZMQ `8199` are not reachable publicly.

Normal progression is `ready → registered → active → qualified`, subject to synchronization, enrollment cutoff, descriptor warm-up, admission, receipt rounds and canonical inclusion. Restart with the same keystore and verify the same public keys.

## Docker path

Use the official image pinned by digest, separate chain and identity volumes, UID/GID `10001`, and the same port policy. The maintained Core deployment contract is under `deploy/mainnet/`; do not commit real reward addresses or private host configuration.

No funded registration transaction, wallet private key, staking deposit, `register_service_node`, or legacy `--service-node*` option belongs in this workflow.


# Configuration and Identity

> **Verified against:** the latest stable Core release; exact review revisions are recorded in the [Source and version matrix](/contribution-and-evidence/source-version-matrix).

| Object              | Role                                                               | Sensitivity/persistence                         |
| ------------------- | ------------------------------------------------------------------ | ----------------------------------------------- |
| Operator identity   | Stable service identity and lifecycle authority                    | Private; back up; preserve across upgrades      |
| Online service key  | Signs endpoint/service responses; may rotate under lifecycle rules | Private; managed in the keystore                |
| Endpoint descriptor | Signed public host/port and commitments                            | Public; sequence/activation are consensus-bound |
| Reward address      | Primary public QWC destination                                     | Public only; no wallet secret is needed         |
| Admission lease     | Epoch-bound RandomX proof and lifecycle binding                    | Public canonical record                         |

The keystore is bound to network, genesis and EPoSE parameters. It is not a wallet and contains no wallet view/spend key. Store it on a protected persistent volume separate from blockchain and wallet data.

On Linux/macOS the file must be regular, non-symlink and mode `0600`. On Windows current builds validate owner/DACL, reject inherited/unrelated access and provide `--epose-v2-repair-keystore-permissions` for a one-start repair of an older file. Back up first, verify unchanged public keys afterward, and remove the flag. Never delete the keystore as a permissions fix.

Endpoint/reward/key changes must use supported lifecycle records and activation rules. The daemon rejects unexpected changes rather than silently redirecting rewards. A backup restores an existing identity; intentionally deleting it creates a new identity that must repeat lifecycle/admission.


# Admission and Lifecycle

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

> **Verified mainnet profile:** EPoSE protocol 2, admission target 18 leading RandomX zero bits.

After synchronization, the producer automatically:

1. creates or loads the bound keystore;
2. signs/relays the endpoint descriptor;
3. builds lifecycle state for the next eligible epoch;
4. performs bounded epoch-bound RandomX admission work;
5. submits/relays accepted lifecycle and admission envelopes;
6. renews descriptor and lease when required;
7. answers eligible canonical-object challenges.

For target epoch `E`, admission work binds the frozen member, target epoch, the block at `start(E-1)`, descriptor sequence, nonce, work hash and lease hash. The lease must be canonically included no later than `start(E)-61`. Mainnet freezes at most 100 identities.

A local successful search or accepted local submission is not enough: the record must become canonical before the inclusive cutoff. A byte-identical duplicate is idempotent; conflicting records are invalid. Descriptor changes have activation/warm-up rules and cannot rewrite an already frozen membership snapshot.

Legacy `register_service_node`, `get_service_node_registration_payload` enrollment, funded transactions and `--service-node*` flags are retired compatibility surfaces, not alternate EPoSe v2 setup methods.


# Epochs and Qualification

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

> **Compiled mainnet profile:** 720-block epochs, 60-block anchor depth, rounds at offsets 0/200/400, at least 2 successful rounds.

For normal epochs `E > 0`:

```
start(E)             = 720 * E
end(E)               = start(E) + 719
enrollment_cutoff(E) = start(E) - 61
committee_anchor(E)  = start(E) - 60
evidence_deadline(E) = end(E) - 60
```

| Epoch | Start |   End |       Enrollment cutoff |        Committee anchor | Evidence deadline |
| ----: | ----: | ----: | ----------------------: | ----------------------: | ----------------: |
|     0 |     0 |   719 | activation special case | activation special case |               659 |
|     1 |   720 |  1439 |                     659 |                     660 |              1379 |
|     2 |  1440 |  2159 |                    1379 |                    1380 |              2099 |
|    15 | 10800 | 11519 |                   10739 |                   10740 |             11459 |

Do not apply negative pre-epoch formulas to epoch 0. Epoch 0 is activation; epoch 1 is the first service epoch. Membership freezes **before** records in the anchor block are applied, so cutoff-height records can qualify for membership but anchor-height records cannot. Qualification closes **after** records in the inclusive evidence-deadline block are applied.

For each subject and round:

```
actual_committee = min(9, frozen_population - 1)
required_receipts = ceil(2 * actual_committee / 3)
```

Thus 6 receipts is required only for a full 9-verifier committee. With 4 frozen identities, a subject has 3 possible verifiers and needs `ceil(2*3/3)=2` distinct receipts per passing round. Empty/one-member snapshots cannot form an independent committee and qualify nobody.

Distinct authorized verifier keys count per round; duplicates or receipts from another round cannot fill a missing round. For a full committee:

| Canonical R0 / R1 / R2 | Result after closure                   |
| ---------------------- | -------------------------------------- |
| 6 / 6 / 0              | Qualified                              |
| 9 / 1 / 0              | Not qualified; only one round passes   |
| 0 / 6 / 6              | Qualified                              |
| 5 / 5 / 5              | Not qualified; no round reaches quorum |

Before the set closes, state is `pending`. After closure it is `qualified` or `not_qualified`. Missing chain/snapshot evidence is `unknown`/unavailable, never zero.


# Rewards

> **Verified against:** the latest stable Core release's reward and Coinbase validation; exact review revisions are recorded in the [Source and version matrix](/contribution-and-evidence/source-version-matrix).

When a qualified payee exists, 10% of the scheduled subsidy—not transaction fees—is allocated to service:

```
service = floor(scheduled_subsidy * 1000 / 10000)
miner   = scheduled_subsidy - service + transaction_fees
```

Example: if scheduled subsidy is `34,400,000,000` atomic units (344 QWC) and fees are `12,345` atomic units, service receives `3,440,000,000` atomic units (34.4 QWC) and the miner receives `30,960,012,345`. Integer division floors the service amount; all arithmetic is checked.

A block in payout epoch `E` uses only the closed qualified set from service epoch `E-1`. Selection is deterministic and rotates over the canonically ordered set. Epoch 0 has no service reward; epoch 1 is the first service epoch; height 1440 (start of epoch 2) is the first possible payout. This does not promise any newly started node a reward at a fixed wall-clock time.

```mermaid
flowchart LR
  A[Admission before cutoff] --> B[Epoch E service rounds]
  B --> C[Qualification closes at deadline]
  C --> D[Epoch E+1 deterministic selection]
  D --> E[Coinbase one-time outputs]
  E --> F[Wallet unlock after Coinbase maturity]
```

If the closed source set is legitimately empty, mainnet's compiled `miner_fallback` gives the entire subsidy and fees to the miner; no service node is paid. Missing/corrupt consensus state is not an empty set and fails closed.

Service outputs are normal wallet-detectable one-time outputs and obey Coinbase maturity. `get_service_rewards` previews a height using the correct source epoch; `get_epose_block_reward` verifies a canonical historical block. Never infer attribution solely from output position or current-epoch flags.


# Monitoring and Diagnostics

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

> **Availability:** `get_epose_diagnostics` is included in the latest stable Core release. It is an authenticated operator method and is rejected on restricted listeners.

Monitor distinct stages separately:

| Stage          | Evidence                                                 |
| -------------- | -------------------------------------------------------- |
| Producer ready | configured, keystore loaded, endpoint valid              |
| Registered     | descriptor is canonical                                  |
| Active         | descriptor effective in current epoch/snapshot           |
| Qualified      | closed chain-derived set contains the service key        |
| Selected       | deterministic payout plan selects the prior-epoch member |
| Received       | wallet detects Coinbase service output                   |
| Spendable      | normal Coinbase maturity has elapsed                     |

Use local unrestricted `get_info`, `get_epose_info`, endpoint/status/reward methods and structured logs. Diagnostics require an unrestricted listener **and configured RPC authentication**. Do not expose unrestricted RPC. A protected netrc avoids credentials in process arguments:

```bash
curl --digest --netrc-file /secure/path/qwertycoind-rpc.netrc \
  -s -X POST http://127.0.0.1:8197/get_epose_diagnostics \
  -H 'Content-Type: application/json' \
  -d '{"recent_limit":50,"epoch":11}'
```

`recent_limit` defaults to 50 and is capped at 100. Counters/recent attempts are restart-local and bounded; canonical coverage and finalized qualification are reconstructed from chain state. Scheduler skips such as not selected/already canonical/backoff are not attempt failures. Local submission accepted is not canonical inclusion.

Stable reasons include descriptor unavailable/invalid/expired/commitment mismatch; DNS/refusal/timeout/transport/HTTP failures; malformed/oversized/unexpected/context/identity/object/signature responses; encoding failures; local submission rejection; cancellation; deadline expiry; and internal execution failure. Never log raw secrets or remote payloads.


# FAQ and Troubleshooting

> **Verified against:** the latest stable Core mainnet profile; exact review revisions are recorded in the [Source and version matrix](/contribution-and-evidence/source-version-matrix).

## Why no reward yet?

Check synchronization, enrollment cutoff, canonical admission, snapshot membership, per-round receipts, final qualification, next-epoch selection, output receipt and Coinbase maturity—in that order. A producer-ready state is only the first stage.

## Why did qualification change?

Before the evidence deadline progress is provisional. After closure, the set is immutable for that epoch. A reorganization before finality can change canonical evidence; unavailable evidence must be reported as unknown, not zero.

## Must I mine or stake?

No. RandomX mining and EPoSe are separate. There is no stake or funded registration transaction in the verified protocol.

## Can several nodes use one public IP?

Each identity needs its own stable keystore and a uniquely reachable advertised host/port combination. Multiple nodes may share an IP only if distinct public ports and endpoint descriptors are correctly forwarded; do not reuse one identity/keystore concurrently.

## What happens after downtime or restart?

Docker/systemd should restart the same process with the same persistent chain and identity storage. Missed round deadlines cannot be repaired after the fact. Restart-local diagnostic counters reset; canonical state does not.

## What must I back up?

Back up the EPoSE keystore and wallet seed separately. Blockchain data can be resynchronized. Keep unrestricted RPC credentials/configuration protected, but they do not replace identity backup.

## Fast symptom guide

| Symptom                           | Check                                                      | Likely action                                         |
| --------------------------------- | ---------------------------------------------------------- | ----------------------------------------------------- |
| Not registered                    | lifecycle/admission canonical inclusion, cutoff            | wait for valid next target epoch; preserve identity   |
| Endpoint unavailable              | public DNS/firewall/TCP `8198`, signed descriptor          | fix reachability without exposing `8197`              |
| Context/object/signature mismatch | chain tip, genesis, parameter hash, deployed revision      | correct mismatched software/network                   |
| Missing round                     | committee selection, deadline, distinct canonical receipts | diagnose operational cause; do not duplicate receipts |
| No committee                      | frozen population size                                     | independent verifiers are required                    |
| Keystore rejected                 | owner/type/mode or Windows DACL                            | repair permissions; never delete the file             |
| No wallet credit                  | prior-epoch selection, Coinbase output, maturity           | rescan correct wallet/height and wait for unlock      |

The current proof workload is `canonical-object`. Planned storage/messaging services are not current qualification work.


# API Overview

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

> **Published release:** latest stable Core and wallet RPC. The exact release and reviewed default-branch route maps are pinned in the [Source and version matrix](/contribution-and-evidence/source-version-matrix).

Qwertycoin exposes separate interfaces:

| Interface       | Process/path                        | Encoding                        | Trust boundary                                          |
| --------------- | ----------------------------------- | ------------------------------- | ------------------------------------------------------- |
| Daemon path RPC | `qwertycoind` `/method`             | JSON or portable binary archive | Restricted and unrestricted listeners differ per route  |
| Daemon JSON-RPC | `qwertycoind` `/json_rpc`           | JSON-RPC 2.0                    | Route-level restrictions plus handler checks            |
| Wallet RPC      | `qwertycoin-wallet-rpc` `/json_rpc` | JSON-RPC 2.0                    | Private, authenticated; holds wallet authority          |
| EPoSE RPC       | daemon path/JSON-RPC subset         | JSON                            | Public probe subset vs private operator routes          |
| ZMQ             | `qwertycoind` `8199` example        | ZMQ protocol                    | Not HTTP RPC; keep private unless separately engineered |
| C++ libraries   | linked API                          | native ABI                      | Not a stable network contract                           |

The generated [RPC route inventory](/apis/rpc-inventory) accounts for every registration at both pinned revisions: 107 daemon and 96 wallet registrations on the latest stable release and reviewed development source. Aliases remain separate rows but share one command schema. Each row links the exact route and request/response definition.

All money amounts are unsigned integer **atomic units** (`10^8` per QWC) unless a schema explicitly says otherwise. Never use binary floating point for amounts.

Start with [Wallet RPC Setup](/apis/wallet-rpc-setup), then the [Wallet RPC Reference](/apis/wallet-rpc-reference) and [Integration Examples](/apis/integration-examples). Daemon users should distinguish [JSON-RPC](/apis/daemon-json-rpc) from [path/binary RPC](/apis/daemon-http-and-binary-rpc).


# Daemon JSON-RPC

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

> **Verified route map:** latest stable release and reviewed development source; any differences are marked in the generated inventory.

POST to `/json_rpc`:

```json
{"jsonrpc":"2.0","id":"status","method":"get_block_count","params":{}}
```

An illustrative success response is:

```json
{"jsonrpc":"2.0","id":"status","result":{"count":12345,"status":"OK","untrusted":false}}
```

Values above are illustrative, not a captured live chain. The exact schema for every method is linked from [RPC Inventory](/apis/rpc-inventory).

## Method groups

* **Chain and blocks:** `get_block_count` (`getblockcount` alias), `on_get_block_hash` (`on_getblockhash`), `get_last_block_header` (`getlastblockheader`), `get_block_header_by_hash` (`getblockheaderbyhash`), `get_block_header_by_height` (`getblockheaderbyheight`), `get_block_headers_range` (`getblockheadersrange`), `get_block` (`getblock`), `hard_fork_info`, `get_version`.
* **Mining/template:** `get_block_template` (`getblocktemplate`), `get_miner_data`, `calc_pow`, `add_aux_pow`, `submit_block` (`submitblock`), `generateblocks`. Generation is regtest-only and unrestricted; template/submission methods have material side effects or resource cost.
* **Outputs/fees/pool:** `get_output_histogram`, `get_fee_estimate`, `get_txpool_backlog`, `get_output_distribution`, `flush_txpool`, `relay_tx`, `get_coinbase_tx_sum`.
* **Node/peers/admin:** `get_connections`, `set_bans`, `get_bans`, `banned`, `sync_info`, `get_alternate_chains`, `prune_blockchain`, `flush_cache`.
* **RPC payment:** `rpc_access_info`, `rpc_access_submit_nonce`, `rpc_access_pay`, `rpc_access_tracking`, `rpc_access_data`, `rpc_access_account`. These are active only when the server's RPC-payment configuration enables them.
* **EPoSE:** `get_epose_info`, `get_service_nodes`, `get_service_node_status`, retired-status `get_service_node_registration_payload`, `get_epose_epoch`, `get_service_rewards`, `get_epose_block_reward`; unrestricted authenticated operator diagnostics via `get_epose_diagnostics`.

Methods registered with `!m_restricted` are rejected on a restricted listener. Other methods can still have parameter limits, privacy-reduced responses, authentication requirements, bootstrap restrictions or handler-level failures. Treat `restricted` as a defined route policy, not a synonym for harmless/read-only.


# Daemon HTTP and Binary RPC

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

Path RPC posts directly to `/<method>` and does **not** use a JSON-RPC envelope. `.bin` routes use the portable binary archive expected by Core clients; sending JSON to them is invalid.

## JSON path methods

* **Chain/transactions:** `/get_height` (`/getheight`), `/get_transactions` (`/gettransactions`), `/is_key_image_spent`, `/get_outs`, `/get_output_distribution.bin` (binary despite the grouped purpose).
* **Transaction relay:** `/send_raw_transaction` (`/sendrawtransaction`). Relay can have side effects and a timed-out response is ambiguous.
* **Pool:** `/get_transaction_pool`, `/get_transaction_pool_hashes`, `/get_transaction_pool_stats`.
* **Node status:** `/get_info` (`/getinfo`), `/get_public_nodes`, `/get_limit`.
* **Unrestricted administration:** `/get_alt_blocks_hashes`, `/start_mining`, `/stop_mining`, `/mining_status`, `/save_bc`, `/get_peer_list`, `/set_log_hash_rate`, `/set_log_level`, `/set_log_categories`, `/set_bootstrap_daemon`, `/stop_daemon`, `/get_net_stats`, `/set_limit`, `/out_peers`, `/in_peers`, `/update`, `/pop_blocks`.
* **EPoSE:** the path methods listed in [EPoSE RPC Reference](/apis/epose-rpc-reference).

## Binary path methods

`/get_blocks.bin` (`/getblocks.bin`), `/get_blocks_by_height.bin` (`/getblocks_by_height.bin`), `/get_hashes.bin` (`/gethashes.bin`), `/get_o_indexes.bin`, `/get_outs.bin`, `/get_transaction_pool_hashes.bin`, and `/get_output_distribution.bin`.

Use a Qwertycoin/Monero-compatible portable-storage client implementation bound to the pinned schema. Binary integer widths, vectors and nested structures are defined by the linked command structures in [RPC Inventory](/apis/rpc-inventory); they are not JSON equivalents.

An HTTP 200 only means the transport request completed. Check JSON-RPC errors where applicable, then method `status`, booleans and returned counts. Reject `BUSY`, non-`OK`, malformed, truncated and `untrusted` data according to the integration's policy.


# Wallet RPC Setup

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

> **Published-release track:** `qwertycoin-wallet-rpc` from the latest stable Core release; wallet RPC protocol version 1.31.

Wallet RPC holds authority over the opened wallet. Bind it to loopback/private networking, keep authentication enabled, and serialize access to each wallet.

On a host that also exposes EPoSe restricted RPC on `8198`, use another loopback port such as `18082`. Put options and credentials in a root-owned mode-`0600` file such as `/run/secrets/qwc-wallet-rpc.conf`:

```ini
wallet-file=/srv/qwc-wallets/exchange
password-file=/run/secrets/qwc-wallet-password
daemon-address=http://127.0.0.1:8197
rpc-bind-ip=127.0.0.1
rpc-bind-port=18082
rpc-login=exchange:<generated-secret>
```

Start without placing the secret in process arguments:

```bash
qwertycoin-wallet-rpc --config-file /run/secrets/qwc-wallet-rpc.conf
```

Confirm the package's `--help` output and reject startup if the protected file is absent or has unexpected ownership/mode. Never use `--disable-rpc-login` on a reachable listener.

Startup modes are one fixed `--wallet-file`, JSON generation, or `--wallet-dir` plus lifecycle methods such as `open_wallet`. Do not open the same wallet file from two processes.

Smoke test with HTTP authentication supplied by a protected client file:

```bash
curl --digest --netrc-file /run/secrets/qwc-wallet-rpc.netrc \
  -sS http://127.0.0.1:18082/json_rpc \
  -H 'Content-Type: application/json' \
  --data-binary '{"jsonrpc":"2.0","id":"version","method":"get_version","params":{}}'
```

Use `store` or clean `close_wallet`/`stop_wallet` before shutdown as appropriate. A process kill is not a persistence API.


# Wallet RPC Reference

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

> **Route map:** 96 registrations / 92 unique command structures in the latest stable release and the reviewed development revision.

All methods use JSON-RPC 2.0 at `/json_rpc`. Exact request/response fields, optional defaults, integer types and source permalinks are in [RPC Inventory](/apis/rpc-inventory). Amounts are atomic units.

## Complete method coverage

* **Balance/sync:** `get_balance` (`getbalance` alias), `get_height` (`getheight`), `refresh`, `auto_refresh`, `scan_tx`, `rescan_blockchain`, `rescan_spent`.
* **Accounts/subaddresses:** `get_address` (`getaddress`), `get_address_index`, `set_subaddress_lookahead`, `create_address`, `label_address`, `get_accounts`, `create_account`, `label_account`, `get_account_tags`, `tag_accounts`, `untag_accounts`, `set_account_tag_description`.
* **Output selection:** `freeze`, `thaw`, `frozen`, `incoming_transfers`.
* **Create/sign/relay transactions:** `transfer`, `transfer_split`, `sign_transfer`, `describe_transfer`, `submit_transfer`, `sweep_dust` (`sweep_unmixable` alias), `sweep_all`, `sweep_single`, `relay_tx`, `estimate_tx_size_and_weight`, `get_default_fee_priority`.
* **History/payment detection:** `get_payments`, `get_bulk_payments`, `get_transfers`, `get_transfer_by_txid`.
* **Keys/proofs/signing:** `query_key`, `get_tx_key`, `check_tx_key`, `get_tx_proof`, `check_tx_proof`, `get_spend_proof`, `check_spend_proof`, `get_reserve_proof`, `check_reserve_proof`, `sign`, `verify`.
* **Offline/watch-only exchange:** `export_outputs`, `import_outputs`, `export_key_images`, `import_key_images`.
* **Addresses/URIs/book:** `make_integrated_address`, `split_integrated_address`, `validate_address`, `make_uri`, `parse_uri`, `get_address_book`, `add_address_book`, `edit_address_book`, `delete_address_book`.
* **Wallet lifecycle:** `get_languages`, `create_wallet`, `open_wallet`, `close_wallet`, `change_wallet_password`, `generate_from_keys`, `restore_deterministic_wallet`, `store`, `stop_wallet`.
* **Multisig:** `is_multisig`, `prepare_multisig`, `make_multisig`, `export_multisig_info`, `import_multisig_info`, `exchange_multisig_keys`, `sign_multisig`, `submit_multisig`.
* **Local metadata:** `set_tx_notes`, `get_tx_notes`, `set_attribute`, `get_attribute`.
* **Daemon/mining/logging:** `set_daemon`, `start_mining`, `stop_mining`, `set_log_level`, `set_log_categories`, `get_version`.
* **Background sync:** `setup_background_sync`, `start_background_sync`, `stop_background_sync`.

Secret-returning methods include `query_key`, transaction-key/proof creation and export operations. Spending/admin methods include transaction creation/relay, sweeps, wallet creation/restoration/password changes, daemon changes and shutdown. Restrict callers by more than network location.

## Representative contracts

`get_balance` accepts `account_index`, `address_indices`, optional `all_accounts` and `strict`; it returns total/unlocked atomic balances, unlock estimates and per-subaddress entries.

`transfer` accepts destination address/amount pairs, account/subaddress selection, fee priority, optional `subtract_fee_from_outputs`, optional `do_not_relay`, and output toggles. Its response includes transaction hash/key, sent amount, fee, weight, and requested blob/metadata. Do not request or log transaction secret keys unless required.

`validate_address` verifies address/network/type; it does not prove that an address belongs to the open wallet. Follow with `get_address_index` for ownership.

View-only and restricted modes reject methods requiring unavailable spend authority. Treat `WALLET_RPC_ERROR_CODE_WATCH_ONLY`, `DENIED` and `DISABLED` as expected policy errors, not transient retries.


# EPoSE RPC Reference

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

> **Release:** all rows are present in the latest stable Core release. `get_epose_diagnostics` remains an unrestricted, authenticated operator method.

| Method                                  | Transport       | Restricted listener | Purpose                                                            |
| --------------------------------------- | --------------- | ------------------- | ------------------------------------------------------------------ |
| `get_epose_info`                        | path + JSON-RPC | yes                 | Epoch, canonical population/qualification and local producer flags |
| `get_epose_diagnostics`                 | path + JSON-RPC | **no**              | Authenticated operator diagnostics                                 |
| `get_service_nodes`                     | path + JSON-RPC | yes                 | Bounded canonical descriptor list                                  |
| `get_service_node_status`               | path + JSON-RPC | yes                 | One public service-key lookup                                      |
| `get_service_node_registration_payload` | path + JSON-RPC | yes                 | Deliberate retired-v1 status; not enrollment                       |
| `get_epose_epoch`                       | path + JSON-RPC | yes                 | Epoch boundaries and counts                                        |
| `get_epose_service_endpoint_v2`         | path            | yes                 | Signed local endpoint descriptor                                   |
| `epose_service_challenge_v2`            | path            | yes                 | Context-bound canonical-object response                            |
| `get_service_rewards`                   | path + JSON-RPC | yes                 | Height preview using prior closed set                              |
| `get_epose_block_reward`                | path + JSON-RPC | yes                 | Verify/map one canonical historical block                          |
| `submit_epose_envelope`                 | path            | **no**              | Admit/relay one envelope; private operator path                    |

Path calls POST JSON to `/<method>` without a JSON-RPC wrapper. JSON-RPC calls use `/json_rpc`. Exact fields and linked schemas are in [RPC Inventory](/apis/rpc-inventory).

`get_service_nodes` is bounded and reports total/returned counts. Endpoint/challenge HTTP success is not consensus evidence. `submit_epose_envelope` local acceptance is not canonical inclusion. Reward attribution must use the verified mapping, never output position.

Diagnostics additionally require configured RPC login and return no data otherwise; see [Monitoring and Diagnostics](/epose/monitoring-and-diagnostics).


# Errors and Compatibility

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

Three layers can fail independently:

1. HTTP transport/authentication (non-2xx, timeout, malformed body).
2. JSON-RPC envelope (`error.code`/`error.message`, no usable `result`).
3. Method-level `status`, booleans, counts or trust flags inside a successful result.

Core daemon error codes include invalid parameters/heights/address/blob, busy/internal states, block rejection, restricted method/parameters, regtest requirement, RPC-payment errors and unsupported bootstrap behavior. Wallet codes cover address/payment/transaction errors, denied/restricted operations, wallet state, insufficient unlocked funds, password/keys/metadata, multisig, daemon connectivity and background-sync constraints. Refer to the pinned error-code headers linked by the source matrix; clients must preserve unknown future codes.

Never retry a timed-out spending or relay request blindly. First query wallet history/transfer state, derived transaction hash if known, daemon mempool and canonical chain. Retry only after proving the original action did not occur; no general idempotency guarantee is documented.

Legacy aliases in [RPC Inventory](/apis/rpc-inventory) remain callable only where registered. Do not invent snake\_case replacements for historical method names. Clients must feature-detect `get_version` and handle method-not-found when talking to older nodes rather than assuming every method from the latest release exists remotely.

`walletd` on port 8070 and its historical REST contract are retired and incompatible with current `qwertycoin-wallet-rpc` JSON-RPC.


# Integration Examples

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

> Examples target authenticated `qwertycoin-wallet-rpc` from the latest stable Core release on loopback `18082`. Placeholder addresses/hashes are non-executable.

## JSON-RPC shape

```json
{"jsonrpc":"2.0","id":"balance-1","method":"get_balance","params":{"account_index":0,"strict":true}}
```

A deterministic illustrative response shape (amounts are atomic units):

```json
{"jsonrpc":"2.0","id":"balance-1","result":{"balance":12300000000,"unlocked_balance":12000000000,"multisig_import_needed":false,"per_subaddress":[],"blocks_to_unlock":0,"time_to_unlock":0}}
```

## Address ownership

1. Call `validate_address` with `any_net_type:false` and `allow_openalias:false`.
2. Require `valid:true`, `nettype:"mainnet"` and the expected address type.
3. Call `get_address_index`; success proves the address belongs to the currently open wallet.
4. Re-read it with `get_address` using the returned major/minor indexes.

## Payment detection

Assign one subaddress per customer with `create_address`. Poll `get_transfers`/`get_transfer_by_txid` and store transaction hash, output/subaddress index, atomic amount, block height and observed canonical block hash. Credit only after the exchange's documented confirmation policy. Re-check credited deposits across reorganizations and make credit state reversible until final policy depth.

## Build before relay

Use `transfer` with `do_not_relay:true` and `get_tx_metadata:true` to construct without broadcasting. Persist the returned metadata and fee, then use `relay_tx` once policy checks approve it. If a relay response times out, reconcile by hash/history/mempool before any retry.

## Minimal Python client

```python
from decimal import Decimal
import itertools, json, netrc, urllib.request

ATOMIC = Decimal(100_000_000)
counter = itertools.count(1)
RPC_URL = "http://127.0.0.1:18082/json_rpc"
login, _, password = netrc.netrc("/run/secrets/qwc-wallet-rpc.netrc").authenticators("127.0.0.1")
passwords = urllib.request.HTTPPasswordMgrWithDefaultRealm()
passwords.add_password(None, RPC_URL, login, password)
opener = urllib.request.build_opener(urllib.request.HTTPDigestAuthHandler(passwords))

def to_atomic(text: str) -> int:
    value = Decimal(text) * ATOMIC
    if value != value.to_integral_value() or value < 0:
        raise ValueError("amount is not an exact non-negative atomic value")
    return int(value)

def rpc(method: str, params: dict) -> dict:
    body = json.dumps({"jsonrpc":"2.0","id":next(counter),"method":method,"params":params}).encode()
    request = urllib.request.Request(
        RPC_URL, body,
        {"Content-Type":"application/json"}, method="POST")
    with opener.open(request, timeout=15) as response:
        payload = json.load(response)
    if "error" in payload:
        raise RuntimeError(f"RPC {payload['error'].get('code')}: {payload['error'].get('message')}")
    if "result" not in payload:
        raise RuntimeError("missing JSON-RPC result")
    return payload["result"]

balance = rpc("get_balance", {"account_index": 0, "strict": True})
print(balance["unlocked_balance"])  # integer only; do not log addresses/keys
```

In production, use a client that supplies HTTP Digest credentials from a protected store, verifies response size/content type, caps concurrency, serializes wallet access and redacts secret-bearing fields.


# Complete Route Inventory

> Generated from Core `b88bb378` and compared with release `766839bb`. Do not edit this table manually; run `tools/extract_rpc_inventory.py`.

## Coverage summary

| Surface | Development registrations | Release registrations | Unique development commands |
| ------- | ------------------------: | --------------------: | --------------------------: |
| Daemon  |                       107 |                   107 |                          81 |
| Wallet  |                        96 |                    96 |                          92 |

Aliases share a command/handler contract; separate registrations are retained because clients can call each literal route. Wallet restricted-mode decisions are enforced by handlers, so the route map alone is recorded as `handler-dependent`.

## Daemon registrations

| Transport   | Route/method                             | Command contract                                    | Restricted listener | Release | Source/schema                                                                                                                                                                                                                                                                           |
| ----------- | ---------------------------------------- | --------------------------------------------------- | ------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| json-http   | `/get_height`                            | `COMMAND_RPC_GET_HEIGHT`                            | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L103) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L140)  |
| json-http   | `/getheight`                             | `COMMAND_RPC_GET_HEIGHT`                            | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L104) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L140)  |
| binary-http | `/get_blocks.bin`                        | `COMMAND_RPC_GET_BLOCKS_FAST`                       | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L105) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L164)  |
| binary-http | `/getblocks.bin`                         | `COMMAND_RPC_GET_BLOCKS_FAST`                       | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L106) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L164)  |
| binary-http | `/get_blocks_by_height.bin`              | `COMMAND_RPC_GET_BLOCKS_BY_HEIGHT`                  | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L107) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L269)  |
| binary-http | `/getblocks_by_height.bin`               | `COMMAND_RPC_GET_BLOCKS_BY_HEIGHT`                  | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L108) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L269)  |
| binary-http | `/get_hashes.bin`                        | `COMMAND_RPC_GET_HASHES_FAST`                       | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L109) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L314)  |
| binary-http | `/gethashes.bin`                         | `COMMAND_RPC_GET_HASHES_FAST`                       | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L110) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L314)  |
| binary-http | `/get_o_indexes.bin`                     | `COMMAND_RPC_GET_TX_GLOBAL_OUTPUTS_INDEXES`         | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L111) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L492)  |
| binary-http | `/get_outs.bin`                          | `COMMAND_RPC_GET_OUTPUTS_BIN`                       | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L112) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L528)  |
| json-http   | `/get_transactions`                      | `COMMAND_RPC_GET_TRANSACTIONS`                      | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L113) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L375)  |
| json-http   | `/gettransactions`                       | `COMMAND_RPC_GET_TRANSACTIONS`                      | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L114) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L375)  |
| json-http   | `/get_alt_blocks_hashes`                 | `COMMAND_RPC_GET_ALT_BLOCKS_HASHES`                 | rejected            | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L115) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L293)  |
| json-http   | `/is_key_image_spent`                    | `COMMAND_RPC_IS_KEY_IMAGE_SPENT`                    | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L116) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L459)  |
| json-http   | `/send_raw_transaction`                  | `COMMAND_RPC_SEND_RAW_TX`                           | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L117) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L616)  |
| json-http   | `/sendrawtransaction`                    | `COMMAND_RPC_SEND_RAW_TX`                           | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L118) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L616)  |
| json-http   | `/start_mining`                          | `COMMAND_RPC_START_MINING`                          | rejected            | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L119) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L670)  |
| json-http   | `/stop_mining`                           | `COMMAND_RPC_STOP_MINING`                           | rejected            | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L120) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1497) |
| json-http   | `/mining_status`                         | `COMMAND_RPC_MINING_STATUS`                         | rejected            | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L121) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1518) |
| json-http   | `/save_bc`                               | `COMMAND_RPC_SAVE_BC`                               | rejected            | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L122) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1570) |
| json-http   | `/get_peer_list`                         | `COMMAND_RPC_GET_PEER_LIST`                         | rejected            | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L123) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L2041) |
| json-http   | `/get_public_nodes`                      | `COMMAND_RPC_GET_PUBLIC_NODES`                      | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L124) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L2091) |
| json-http   | `/set_log_hash_rate`                     | `COMMAND_RPC_SET_LOG_HASH_RATE`                     | rejected            | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L125) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L2122) |
| json-http   | `/set_log_level`                         | `COMMAND_RPC_SET_LOG_LEVEL`                         | rejected            | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L126) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L2144) |
| json-http   | `/set_log_categories`                    | `COMMAND_RPC_SET_LOG_CATEGORIES`                    | rejected            | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L127) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L2166) |
| json-http   | `/get_transaction_pool`                  | `COMMAND_RPC_GET_TRANSACTION_POOL`                  | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L128) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L2241) |
| json-http   | `/get_transaction_pool_hashes.bin`       | `COMMAND_RPC_GET_TRANSACTION_POOL_HASHES_BIN`       | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L129) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L2265) |
| json-http   | `/get_transaction_pool_hashes`           | `COMMAND_RPC_GET_TRANSACTION_POOL_HASHES`           | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L130) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L2287) |
| json-http   | `/get_transaction_pool_stats`            | `COMMAND_RPC_GET_TRANSACTION_POOL_STATS`            | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L131) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L2384) |
| json-http   | `/set_bootstrap_daemon`                  | `COMMAND_RPC_SET_BOOTSTRAP_DAEMON`                  | rejected            | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L132) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L2457) |
| json-http   | `/stop_daemon`                           | `COMMAND_RPC_STOP_DAEMON`                           | rejected            | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L133) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L2486) |
| json-http   | `/get_info`                              | `COMMAND_RPC_GET_INFO`                              | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L134) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L698)  |
| json-http   | `/getinfo`                               | `COMMAND_RPC_GET_INFO`                              | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L135) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L698)  |
| json-http   | `/get_epose_info`                        | `COMMAND_RPC_GET_EPOSE_INFO`                        | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L136) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L829)  |
| json-http   | `/get_epose_diagnostics`                 | `COMMAND_RPC_GET_EPOSE_DIAGNOSTICS`                 | rejected            | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L137) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L995)  |
| json-http   | `/get_service_nodes`                     | `COMMAND_RPC_GET_SERVICE_NODES`                     | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L138) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1122) |
| json-http   | `/get_service_node_status`               | `COMMAND_RPC_GET_SERVICE_NODE_STATUS`               | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L139) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1151) |
| json-http   | `/get_service_node_registration_payload` | `COMMAND_RPC_GET_SERVICE_NODE_REGISTRATION_PAYLOAD` | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L140) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1080) |
| json-http   | `/get_epose_epoch`                       | `COMMAND_RPC_GET_EPOSE_EPOCH`                       | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L141) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1178) |
| json-http   | `/submit_epose_envelope`                 | `COMMAND_RPC_SUBMIT_EPOSE_ENVELOPE`                 | rejected            | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L142) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1211) |
| json-http   | `/get_epose_service_endpoint_v2`         | `COMMAND_RPC_GET_EPOSE_SERVICE_ENDPOINT_V2`         | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L143) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1238) |
| json-http   | `/epose_service_challenge_v2`            | `COMMAND_RPC_EPOSE_SERVICE_CHALLENGE_V2`            | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L144) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1285) |
| json-http   | `/get_service_rewards`                   | `COMMAND_RPC_GET_SERVICE_REWARDS`                   | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L145) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1332) |
| json-http   | `/get_epose_block_reward`                | `COMMAND_RPC_GET_EPOSE_BLOCK_REWARD`                | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L146) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1390) |
| json-http   | `/get_net_stats`                         | `COMMAND_RPC_GET_NET_STATS`                         | rejected            | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L147) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1465) |
| json-http   | `/get_limit`                             | `COMMAND_RPC_GET_LIMIT`                             | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L148) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L2524) |
| json-http   | `/set_limit`                             | `COMMAND_RPC_SET_LIMIT`                             | rejected            | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L149) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L2548) |
| json-http   | `/out_peers`                             | `COMMAND_RPC_OUT_PEERS`                             | rejected            | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L150) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L2577) |
| json-http   | `/in_peers`                              | `COMMAND_RPC_IN_PEERS`                              | rejected            | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L151) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L2604) |
| json-http   | `/get_outs`                              | `COMMAND_RPC_GET_OUTPUTS`                           | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L152) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L572)  |
| json-http   | `/update`                                | `COMMAND_RPC_UPDATE`                                | rejected            | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L153) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L2996) |
| binary-http | `/get_output_distribution.bin`           | `COMMAND_RPC_GET_OUTPUT_DISTRIBUTION`               | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L154) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L3117) |
| json-http   | `/pop_blocks`                            | `COMMAND_RPC_POP_BLOCKS`                            | rejected            | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L155) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L3394) |
| json-rpc    | `get_block_count`                        | `COMMAND_RPC_GETBLOCKCOUNT`                         | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L157) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1591) |
| json-rpc    | `getblockcount`                          | `COMMAND_RPC_GETBLOCKCOUNT`                         | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L158) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1591) |
| json-rpc    | `on_get_block_hash`                      | `COMMAND_RPC_GETBLOCKHASH`                          | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L159) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1607) |
| json-rpc    | `on_getblockhash`                        | `COMMAND_RPC_GETBLOCKHASH`                          | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L160) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1607) |
| json-rpc    | `get_block_template`                     | `COMMAND_RPC_GETBLOCKTEMPLATE`                      | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L161) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1615) |
| json-rpc    | `getblocktemplate`                       | `COMMAND_RPC_GETBLOCKTEMPLATE`                      | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L162) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1615) |
| json-rpc    | `get_miner_data`                         | `COMMAND_RPC_GETMINERDATA`                          | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L163) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1668) |
| json-rpc    | `calc_pow`                               | `COMMAND_RPC_CALCPOW`                               | rejected            | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L164) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1718) |
| json-rpc    | `add_aux_pow`                            | `COMMAND_RPC_ADD_AUX_POW`                           | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L165) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1740) |
| json-rpc    | `submit_block`                           | `COMMAND_RPC_SUBMITBLOCK`                           | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L166) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1786) |
| json-rpc    | `submitblock`                            | `COMMAND_RPC_SUBMITBLOCK`                           | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L167) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1786) |
| json-rpc    | `generateblocks`                         | `COMMAND_RPC_GENERATEBLOCKS`                        | rejected            | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L168) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1802) |
| json-rpc    | `get_last_block_header`                  | `COMMAND_RPC_GET_LAST_BLOCK_HEADER`                 | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L169) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1886) |
| json-rpc    | `getlastblockheader`                     | `COMMAND_RPC_GET_LAST_BLOCK_HEADER`                 | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L170) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1886) |
| json-rpc    | `get_block_header_by_hash`               | `COMMAND_RPC_GET_BLOCK_HEADER_BY_HASH`              | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L171) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1912) |
| json-rpc    | `getblockheaderbyhash`                   | `COMMAND_RPC_GET_BLOCK_HEADER_BY_HASH`              | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L172) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1912) |
| json-rpc    | `get_block_header_by_height`             | `COMMAND_RPC_GET_BLOCK_HEADER_BY_HEIGHT`            | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L173) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1943) |
| json-rpc    | `getblockheaderbyheight`                 | `COMMAND_RPC_GET_BLOCK_HEADER_BY_HEIGHT`            | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L174) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1943) |
| json-rpc    | `get_block_headers_range`                | `COMMAND_RPC_GET_BLOCK_HEADERS_RANGE`               | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L175) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L2428) |
| json-rpc    | `getblockheadersrange`                   | `COMMAND_RPC_GET_BLOCK_HEADERS_RANGE`               | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L176) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L2428) |
| json-rpc    | `get_block`                              | `COMMAND_RPC_GET_BLOCK`                             | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L177) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1970) |
| json-rpc    | `getblock`                               | `COMMAND_RPC_GET_BLOCK`                             | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L178) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1970) |
| json-rpc    | `get_connections`                        | `COMMAND_RPC_GET_CONNECTIONS`                       | rejected            | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L179) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L2406) |
| json-rpc    | `get_info`                               | `COMMAND_RPC_GET_INFO`                              | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L180) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L698)  |
| json-rpc    | `get_epose_info`                         | `COMMAND_RPC_GET_EPOSE_INFO`                        | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L181) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L829)  |
| json-rpc    | `get_epose_diagnostics`                  | `COMMAND_RPC_GET_EPOSE_DIAGNOSTICS`                 | rejected            | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L182) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L995)  |
| json-rpc    | `get_service_nodes`                      | `COMMAND_RPC_GET_SERVICE_NODES`                     | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L183) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1122) |
| json-rpc    | `get_service_node_status`                | `COMMAND_RPC_GET_SERVICE_NODE_STATUS`               | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L184) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1151) |
| json-rpc    | `get_service_node_registration_payload`  | `COMMAND_RPC_GET_SERVICE_NODE_REGISTRATION_PAYLOAD` | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L185) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1080) |
| json-rpc    | `get_epose_epoch`                        | `COMMAND_RPC_GET_EPOSE_EPOCH`                       | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L186) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1178) |
| json-rpc    | `get_service_rewards`                    | `COMMAND_RPC_GET_SERVICE_REWARDS`                   | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L187) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1332) |
| json-rpc    | `get_epose_block_reward`                 | `COMMAND_RPC_GET_EPOSE_BLOCK_REWARD`                | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L188) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L1390) |
| json-rpc    | `hard_fork_info`                         | `COMMAND_RPC_HARD_FORK_INFO`                        | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L189) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L2630) |
| json-rpc    | `set_bans`                               | `COMMAND_RPC_SETBANS`                               | rejected            | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L190) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L2704) |
| json-rpc    | `get_bans`                               | `COMMAND_RPC_GETBANS`                               | rejected            | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L191) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L2669) |
| json-rpc    | `banned`                                 | `COMMAND_RPC_BANNED`                                | rejected            | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L192) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L2741) |
| json-rpc    | `flush_txpool`                           | `COMMAND_RPC_FLUSH_TRANSACTION_POOL`                | rejected            | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L193) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L2768) |
| json-rpc    | `get_output_histogram`                   | `COMMAND_RPC_GET_OUTPUT_HISTOGRAM`                  | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L194) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L2790) |
| json-rpc    | `get_version`                            | `COMMAND_RPC_GET_VERSION`                           | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L195) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L2842) |
| json-rpc    | `get_coinbase_tx_sum`                    | `COMMAND_RPC_GET_COINBASE_TX_SUM`                   | rejected            | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L196) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L2885) |
| json-rpc    | `get_fee_estimate`                       | `COMMAND_RPC_GET_BASE_FEE_ESTIMATE`                 | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L197) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L2922) |
| json-rpc    | `get_alternate_chains`                   | `COMMAND_RPC_GET_ALTERNATE_CHAINS`                  | rejected            | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L198) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L2951) |
| json-rpc    | `relay_tx`                               | `COMMAND_RPC_RELAY_TX`                              | rejected            | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L199) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L3033) |
| json-rpc    | `sync_info`                              | `COMMAND_RPC_SYNC_INFO`                             | rejected            | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L200) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L3055) |
| json-rpc    | `get_txpool_backlog`                     | `COMMAND_RPC_GET_TRANSACTION_POOL_BACKLOG`          | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L201) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L2316) |
| json-rpc    | `get_output_distribution`                | `COMMAND_RPC_GET_OUTPUT_DISTRIBUTION`               | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L202) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L3117) |
| json-rpc    | `prune_blockchain`                       | `COMMAND_RPC_PRUNE_BLOCKCHAIN`                      | rejected            | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L203) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L3419) |
| json-rpc    | `flush_cache`                            | `COMMAND_RPC_FLUSH_CACHE`                           | rejected            | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L204) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L3446) |
| json-rpc    | `rpc_access_info`                        | `COMMAND_RPC_ACCESS_INFO`                           | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L205) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L3194) |
| json-rpc    | `rpc_access_submit_nonce`                | `COMMAND_RPC_ACCESS_SUBMIT_NONCE`                   | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L206) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L3230) |
| json-rpc    | `rpc_access_pay`                         | `COMMAND_RPC_ACCESS_PAY`                            | available           | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L207) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L3254) |
| json-rpc    | `rpc_access_tracking`                    | `COMMAND_RPC_ACCESS_TRACKING`                       | rejected            | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L208) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L3278) |
| json-rpc    | `rpc_access_data`                        | `COMMAND_RPC_ACCESS_DATA`                           | rejected            | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L209) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L3318) |
| json-rpc    | `rpc_access_account`                     | `COMMAND_RPC_ACCESS_ACCOUNT`                        | rejected            | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server.h#L210) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/rpc/core_rpc_server_commands_defs.h#L3367) |

## Wallet registrations

| Transport | Route/method                   | Command contract                           | Restricted listener | Release | Source/schema                                                                                                                                                                                                                                                                                     |
| --------- | ------------------------------ | ------------------------------------------ | ------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| json-rpc  | `get_balance`                  | `COMMAND_RPC_GET_BALANCE`                  | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L72) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L60)    |
| json-rpc  | `get_address`                  | `COMMAND_RPC_GET_ADDRESS`                  | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L73) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L123)   |
| json-rpc  | `get_address_index`            | `COMMAND_RPC_GET_ADDRESS_INDEX`            | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L74) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L164)   |
| json-rpc  | `set_subaddress_lookahead`     | `COMMAND_RPC_SET_SUBADDR_LOOKAHEAD`        | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L75) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L185)   |
| json-rpc  | `getbalance`                   | `COMMAND_RPC_GET_BALANCE`                  | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L76) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L60)    |
| json-rpc  | `getaddress`                   | `COMMAND_RPC_GET_ADDRESS`                  | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L77) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L123)   |
| json-rpc  | `create_address`               | `COMMAND_RPC_CREATE_ADDRESS`               | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L78) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L208)   |
| json-rpc  | `label_address`                | `COMMAND_RPC_LABEL_ADDRESS`                | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L79) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L241)   |
| json-rpc  | `get_accounts`                 | `COMMAND_RPC_GET_ACCOUNTS`                 | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L80) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L263)   |
| json-rpc  | `create_account`               | `COMMAND_RPC_CREATE_ACCOUNT`               | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L81) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L313)   |
| json-rpc  | `label_account`                | `COMMAND_RPC_LABEL_ACCOUNT`                | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L82) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L336)   |
| json-rpc  | `get_account_tags`             | `COMMAND_RPC_GET_ACCOUNT_TAGS`             | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L83) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L358)   |
| json-rpc  | `tag_accounts`                 | `COMMAND_RPC_TAG_ACCOUNTS`                 | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L84) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L391)   |
| json-rpc  | `untag_accounts`               | `COMMAND_RPC_UNTAG_ACCOUNTS`               | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L85) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L413)   |
| json-rpc  | `set_account_tag_description`  | `COMMAND_RPC_SET_ACCOUNT_TAG_DESCRIPTION`  | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L86) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L433)   |
| json-rpc  | `get_height`                   | `COMMAND_RPC_GET_HEIGHT`                   | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L87) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L455)   |
| json-rpc  | `getheight`                    | `COMMAND_RPC_GET_HEIGHT`                   | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L88) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L455)   |
| json-rpc  | `freeze`                       | `COMMAND_RPC_FREEZE`                       | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L89) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L484)   |
| json-rpc  | `thaw`                         | `COMMAND_RPC_THAW`                         | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L90) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L504)   |
| json-rpc  | `frozen`                       | `COMMAND_RPC_FROZEN`                       | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L91) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L524)   |
| json-rpc  | `transfer`                     | `COMMAND_RPC_TRANSFER`                     | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L92) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L596)   |
| json-rpc  | `transfer_split`               | `COMMAND_RPC_TRANSFER_SPLIT`               | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L93) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L665)   |
| json-rpc  | `sign_transfer`                | `COMMAND_RPC_SIGN_TRANSFER`                | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L94) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L804)   |
| json-rpc  | `describe_transfer`            | `COMMAND_RPC_DESCRIBE_TRANSFER`            | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L95) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L701)   |
| json-rpc  | `submit_transfer`              | `COMMAND_RPC_SUBMIT_TRANSFER`              | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L96) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L837)   |
| json-rpc  | `sweep_dust`                   | `COMMAND_RPC_SWEEP_DUST`                   | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L97) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L860)   |
| json-rpc  | `sweep_unmixable`              | `COMMAND_RPC_SWEEP_DUST`                   | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L98) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L860)   |
| json-rpc  | `sweep_all`                    | `COMMAND_RPC_SWEEP_ALL`                    | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L99) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L882)   |
| json-rpc  | `sweep_single`                 | `COMMAND_RPC_SWEEP_SINGLE`                 | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L100) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L924)  |
| json-rpc  | `relay_tx`                     | `COMMAND_RPC_RELAY_TX`                     | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L101) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L960)  |
| json-rpc  | `store`                        | `COMMAND_RPC_STORE`                        | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L102) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L983)  |
| json-rpc  | `get_payments`                 | `COMMAND_RPC_GET_PAYMENTS`                 | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L103) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L1023) |
| json-rpc  | `get_bulk_payments`            | `COMMAND_RPC_GET_BULK_PAYMENTS`            | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L104) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L1046) |
| json-rpc  | `incoming_transfers`           | `COMMAND_RPC_INCOMING_TRANSFERS`           | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L105) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L1098) |
| json-rpc  | `query_key`                    | `COMMAND_RPC_QUERY_KEY`                    | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L106) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L1126) |
| json-rpc  | `make_integrated_address`      | `COMMAND_RPC_MAKE_INTEGRATED_ADDRESS`      | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L107) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L1149) |
| json-rpc  | `split_integrated_address`     | `COMMAND_RPC_SPLIT_INTEGRATED_ADDRESS`     | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L108) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L1176) |
| json-rpc  | `stop_wallet`                  | `COMMAND_RPC_STOP_WALLET`                  | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L109) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L1203) |
| json-rpc  | `rescan_blockchain`            | `COMMAND_RPC_RESCAN_BLOCKCHAIN`            | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L110) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L1220) |
| json-rpc  | `set_tx_notes`                 | `COMMAND_RPC_SET_TX_NOTES`                 | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L111) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L1240) |
| json-rpc  | `get_tx_notes`                 | `COMMAND_RPC_GET_TX_NOTES`                 | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L112) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L1262) |
| json-rpc  | `set_attribute`                | `COMMAND_RPC_SET_ATTRIBUTE`                | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L113) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L1285) |
| json-rpc  | `get_attribute`                | `COMMAND_RPC_GET_ATTRIBUTE`                | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L114) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L1307) |
| json-rpc  | `get_tx_key`                   | `COMMAND_RPC_GET_TX_KEY`                   | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L115) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L1331) |
| json-rpc  | `check_tx_key`                 | `COMMAND_RPC_CHECK_TX_KEY`                 | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L116) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L1354) |
| json-rpc  | `get_tx_proof`                 | `COMMAND_RPC_GET_TX_PROOF`                 | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L117) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L1385) |
| json-rpc  | `check_tx_proof`               | `COMMAND_RPC_CHECK_TX_PROOF`               | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L118) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L1412) |
| json-rpc  | `get_spend_proof`              | `COMMAND_RPC_GET_SPEND_PROOF`              | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L119) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L1491) |
| json-rpc  | `check_spend_proof`            | `COMMAND_RPC_CHECK_SPEND_PROOF`            | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L120) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L1516) |
| json-rpc  | `get_reserve_proof`            | `COMMAND_RPC_GET_RESERVE_PROOF`            | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L121) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L1543) |
| json-rpc  | `check_reserve_proof`          | `COMMAND_RPC_CHECK_RESERVE_PROOF`          | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L122) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L1572) |
| json-rpc  | `get_transfers`                | `COMMAND_RPC_GET_TRANSFERS`                | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L123) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L1603) |
| json-rpc  | `get_transfer_by_txid`         | `COMMAND_RPC_GET_TRANSFER_BY_TXID`         | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L124) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L1655) |
| json-rpc  | `sign`                         | `COMMAND_RPC_SIGN`                         | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L125) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L1682) |
| json-rpc  | `verify`                       | `COMMAND_RPC_VERIFY`                       | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L126) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L1711) |
| json-rpc  | `export_outputs`               | `COMMAND_RPC_EXPORT_OUTPUTS`               | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L127) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L1744) |
| json-rpc  | `import_outputs`               | `COMMAND_RPC_IMPORT_OUTPUTS`               | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L128) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L1771) |
| json-rpc  | `export_key_images`            | `COMMAND_RPC_EXPORT_KEY_IMAGES`            | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L129) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L1794) |
| json-rpc  | `import_key_images`            | `COMMAND_RPC_IMPORT_KEY_IMAGES`            | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L130) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L1830) |
| json-rpc  | `make_uri`                     | `COMMAND_RPC_MAKE_URI`                     | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L131) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L1887) |
| json-rpc  | `parse_uri`                    | `COMMAND_RPC_PARSE_URI`                    | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L132) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L1905) |
| json-rpc  | `get_address_book`             | `COMMAND_RPC_GET_ADDRESS_BOOK_ENTRY`       | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L133) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L1983) |
| json-rpc  | `add_address_book`             | `COMMAND_RPC_ADD_ADDRESS_BOOK_ENTRY`       | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L134) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L1930) |
| json-rpc  | `edit_address_book`            | `COMMAND_RPC_EDIT_ADDRESS_BOOK_ENTRY`      | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L135) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L1955) |
| json-rpc  | `delete_address_book`          | `COMMAND_RPC_DELETE_ADDRESS_BOOK_ENTRY`    | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L136) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L2019) |
| json-rpc  | `refresh`                      | `COMMAND_RPC_REFRESH`                      | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L137) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L2056) |
| json-rpc  | `auto_refresh`                 | `COMMAND_RPC_AUTO_REFRESH`                 | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L138) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L2081) |
| json-rpc  | `scan_tx`                      | `COMMAND_RPC_SCAN_TX`                      | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L139) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L2103) |
| json-rpc  | `rescan_spent`                 | `COMMAND_RPC_RESCAN_SPENT`                 | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L140) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L2039) |
| json-rpc  | `start_mining`                 | `COMMAND_RPC_START_MINING`                 | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L141) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L2123) |
| json-rpc  | `stop_mining`                  | `COMMAND_RPC_STOP_MINING`                  | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L142) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L2147) |
| json-rpc  | `get_languages`                | `COMMAND_RPC_GET_LANGUAGES`                | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L143) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L2164) |
| json-rpc  | `create_wallet`                | `COMMAND_RPC_CREATE_WALLET`                | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L144) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L2186) |
| json-rpc  | `open_wallet`                  | `COMMAND_RPC_OPEN_WALLET`                  | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L145) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L2210) |
| json-rpc  | `close_wallet`                 | `COMMAND_RPC_CLOSE_WALLET`                 | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L146) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L2234) |
| json-rpc  | `change_wallet_password`       | `COMMAND_RPC_CHANGE_WALLET_PASSWORD`       | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L147) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L2254) |
| json-rpc  | `generate_from_keys`           | `COMMAND_RPC_GENERATE_FROM_KEYS`           | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L148) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L2276) |
| json-rpc  | `restore_deterministic_wallet` | `COMMAND_RPC_RESTORE_DETERMINISTIC_WALLET` | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L149) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L2313) |
| json-rpc  | `is_multisig`                  | `COMMAND_RPC_IS_MULTISIG`                  | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L150) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L2356) |
| json-rpc  | `prepare_multisig`             | `COMMAND_RPC_PREPARE_MULTISIG`             | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L151) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L2382) |
| json-rpc  | `make_multisig`                | `COMMAND_RPC_MAKE_MULTISIG`                | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L152) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L2405) |
| json-rpc  | `export_multisig_info`         | `COMMAND_RPC_EXPORT_MULTISIG`              | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L153) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L2434) |
| json-rpc  | `import_multisig_info`         | `COMMAND_RPC_IMPORT_MULTISIG`              | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L154) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L2454) |
| json-rpc  | `exchange_multisig_keys`       | `COMMAND_RPC_EXCHANGE_MULTISIG_KEYS`       | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L155) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L2479) |
| json-rpc  | `sign_multisig`                | `COMMAND_RPC_SIGN_MULTISIG`                | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L156) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L2508) |
| json-rpc  | `submit_multisig`              | `COMMAND_RPC_SUBMIT_MULTISIG`              | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L157) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L2533) |
| json-rpc  | `validate_address`             | `COMMAND_RPC_VALIDATE_ADDRESS`             | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L158) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L2578) |
| json-rpc  | `set_daemon`                   | `COMMAND_RPC_SET_DAEMON`                   | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L159) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L2613) |
| json-rpc  | `set_log_level`                | `COMMAND_RPC_SET_LOG_LEVEL`                | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L160) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L2653) |
| json-rpc  | `set_log_categories`           | `COMMAND_RPC_SET_LOG_CATEGORIES`           | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L161) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L2673) |
| json-rpc  | `estimate_tx_size_and_weight`  | `COMMAND_RPC_ESTIMATE_TX_SIZE_AND_WEIGHT`  | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L162) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L2696) |
| json-rpc  | `get_default_fee_priority`     | `COMMAND_RPC_GET_DEFAULT_FEE_PRIORITY`     | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L163) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L2792) |
| json-rpc  | `get_version`                  | `COMMAND_RPC_GET_VERSION`                  | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L164) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L2556) |
| json-rpc  | `setup_background_sync`        | `COMMAND_RPC_SETUP_BACKGROUND_SYNC`        | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L165) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L2727) |
| json-rpc  | `start_background_sync`        | `COMMAND_RPC_START_BACKGROUND_SYNC`        | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L166) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L2751) |
| json-rpc  | `stop_background_sync`         | `COMMAND_RPC_STOP_BACKGROUND_SYNC`         | handler-dependent   | yes     | [route](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server.h#L167) / [schema](https://github.com/qwertycoin-org/qwertycoin/blob/b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f/src/wallet/wallet_rpc_server_commands_defs.h#L2768) |


# RandomX Mining

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

> **Verified:** latest stable Core release, official pool profile and the separately pinned XMRig version below.

RandomX proof of work produces Qwertycoin blocks and secures chain selection. EPoSE is a separate service-reward mechanism and never substitutes for PoW.

Current miner settings:

* algorithm: `rx/0` (RandomX);
* address: a current mainnet QWC primary address;
* pool protocol: standard CryptoNote Stratum where offered;
* amount precision: 8 decimals.

Historical CryptoNight, XMR-Stak, mobile/SBC and cloud-mining instructions are retired. They are not current QWC recipes.

RandomX benefits from large memory pages, sufficient RAM and CPU cache. Enable huge pages through the operating system's documented mechanism and verify XMRig reports them; do not run downloaded miners as root merely to bypass permissions. Obtain XMRig from its [official release repository](https://github.com/xmrig/xmrig/releases/tag/v6.26.0), verify its published artifact checks, and review antivirus detections rather than disabling protections globally.

Choose [Solo Mining](/mining-and-ecosystem/solo-mining) for direct variance or [Pool Mining](/mining-and-ecosystem/pool-mining) for share-based payouts. Mining never guarantees profit; account for electricity, hardware wear, fees and network difficulty.


# Solo Mining

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

> **Verified command surface:** daemon and CLI wallet from the latest stable Core release.

Solo mining submits work directly to your synchronized local daemon. Rewards arrive only when you find a valid block, so variance can be very high.

From `qwertycoin-wallet-cli`, after the wallet and local daemon are synchronized:

```
start_mining 1
```

The optional arguments are thread count, background-mining mode and ignore-battery. Use `stop_mining` to stop. From the daemon console the explicit form is:

```
start_mining QWC_PRIMARY_ADDRESS 1
```

Mining to a subaddress is rejected; use a current primary address. Keep daemon RPC private—the `/start_mining` and `/stop_mining` administrative routes are unrestricted-only.

Verify hashrate and accepted blocks in the daemon/wallet, not only process CPU use. A stale or unsynchronized daemon wastes work.


# Pool Mining

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

> **Live configuration checked:** 2026-09-29 against `pool.qwertycoin.org` and its source repository.

The official pool uses RandomX `rx/0`, PPLNS and a 5% pool fee. It uses a 60-block maturity depth. Payout policy and live endpoints can change; verify the [pool site](https://pool.qwertycoin.org/) before mining.

With official XMRig `v6.26.0` or another reviewed compatible release:

```bash
xmrig -a rx/0 -o mine.qwertycoin.org:3333 -u QWC_PRIMARY_ADDRESS -p rig-01
```

Available endpoints at verification time:

| Port | Mode                                             |
| ---: | ------------------------------------------------ |
| 3333 | TCP, low/variable difficulty                     |
| 4443 | TLS, variable difficulty; add XMRig's TLS option |
| 5555 | TCP, medium fixed start                          |
| 7777 | TCP, high fixed start                            |

The username is your public payout address; never provide a seed, spend key or wallet password. Use a distinct worker name after `-p`.

The default automatic payout threshold is 1,000 QWC. Each payout is single-recipient: the miner's gross balance is debited and the actual network fee is subtracted from that output. Raising the signed threshold reduces how frequently the miner pays a transaction fee. Check accepted/rejected shares, effective hashrate, unpaid balance and payments on the miner dashboard.


# Pool Operator Integration

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

> **Current production profile:** [Qwertycoin RandomX pool](https://pool.qwertycoin.org/), verified 2026-09-29. The production deployment repository is not publicly readable; this page documents only behavior verified from the live service and its revision-bound operator evidence.

Do not deploy the historical CryptoNight pool repositories. The current pool pins a reviewed MoneroOcean/nodejs-pool revision and applies a deterministic QWC overlay for RandomX, eight decimals, 60-block maturity, wallet receipt attribution and durable payouts.

Required integration gates:

1. Pin backend, native modules, Core and images by immutable revision/digest.
2. Use a dedicated encrypted pool wallet and private authenticated wallet RPC.
3. Keep Stratum, accounting, API, payments and public frontend in separate least-privilege services/networks.
4. Verify `getblocktemplate` seed hash and hashing blob compatibility with the actual mainnet daemon.
5. Run a low-difficulty share canary against a submit-block-denying proxy before live mining.
6. Reconcile a real wallet receipt and accounting result before enabling block submission.
7. Run a recipient-restricted payout canary; record gross debit, net output and actual fee atomically.
8. Stop/reconcile writers before moving SQL, wallet or LMDB state; retain a rollback.

EPoSE Coinbase outputs must not be attributed to miners. The selected backend queries the dedicated pool wallet's actual coinbase receipt. Never use an EPoSE reward wallet or service identity as pool custody.

The repository's `backend/`, `deploy/` and tests are the canonical operator starting point. A wiki page cannot replace its revision-bound runbook.


# Explorer and Web Wallet Hosting

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

> **Repositories verified:** current Explorer production source and deployed Web Wallet; exact reviewed revisions are recorded in the [Source and version matrix](/contribution-and-evidence/source-version-matrix).

## Explorer

Use the maintained [Qwertycoin Explorer](https://github.com/qwertycoin-org/explorer-qwertycoin-org.github.io), not the legacy installation page. The public explorer is an observer, not a consensus authority. It uses a read-only chain mount plus a verified restricted daemon dependency, runs unprivileged, and deliberately removes inherited secret-processing routes.

Production requires immutable image/Core revisions, explicit paths/UID/GID/network bindings, loopback application ports, separate derived-data storage, and the repository runbook's preview/rollback gates. Never paste wallet view/spend keys into an explorer.

## Web Wallet

Use the maintained [Web Wallet repository](https://github.com/qwertycoin-org/wallet.qwertycoin.org). Pin its WebAssembly/worker artifacts and deployment revision, apply its security headers and validate production Explorer compatibility. Browser storage contains wallet authority and must not be treated as a server backup.

The current official Web Wallet includes the password-gated QMS1 Fast Profile. Treat Web Wallet deployment evidence separately from Core and GUI release numbers.

Historical generic web-wallet/explorer hosting recipes are retirement stubs because their dependencies and secret-processing assumptions are incompatible with the current hardened deployments.


# Exchanges and Network Compatibility

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

> **Verified listing evidence:** Neoxa Exchange `QWC/USDT` market page reachable on 2026-09-29. Deposit/withdrawal operation was not tested.

Current market link: [QWC/USDT on Neoxa Exchange](https://neoxa.exchange/trade/QWC_USDT).

A listing page does not prove that deposits, withdrawals, liquidity or a particular chain generation are currently available. Before sending funds:

1. Confirm the exchange explicitly supports the current reset Qwertycoin mainnet/Core generation.
2. Generate a fresh deposit address and validate it with current `qwertycoin-wallet-rpc`.
3. A valid mainnet subaddress can visibly begin with `Qqb`; primary addresses normally begin `QWC`.
4. Send a small test deposit, wait for the exchange's stated confirmations, then test withdrawal to a wallet you control.
5. Never edit an address prefix or reuse historical-network deposit instructions.

Exchange operators should use [Wallet RPC Setup](/apis/wallet-rpc-setup) and [Integration Examples](/apis/integration-examples), one subaddress per customer, exact atomic-unit arithmetic, reorg-aware crediting and reconciled withdrawals.

Bisq, Bitexlive and CREX24 pages in the old wiki are historical compatibility notices, not current endorsements.


# Contributing

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

> **Primary source:** current repository contribution and CI policies; exact reviewed revisions are recorded in the [Source and version matrix](/contribution-and-evidence/source-version-matrix).

Open issues and pull requests in the repository that owns the contract:

* Core/consensus/RPC: [qwertycoin](https://github.com/qwertycoin-org/qwertycoin)
* Desktop: [qwertycoin-gui](https://github.com/qwertycoin-org/qwertycoin-gui)
* Web Wallet: [wallet.qwertycoin.org](https://github.com/qwertycoin-org/wallet.qwertycoin.org)
* Explorer: [explorer-qwertycoin-org.github.io](https://github.com/qwertycoin-org/explorer-qwertycoin-org.github.io)

Pin the issue to an exact revision and include reproducible steps, expected/actual result, environment and redacted logs. Never publish seeds, private keys, keystores, RPC credentials or funded test-wallet material.

Consensus changes require explicit protocol/security review, focused tests and release gates. RandomX remains responsible for block production and chain selection; EPoSE rewards service and must not silently replace PoW.

This documentation is maintained in its own Git repository. Changes should refresh the [Source and version matrix](/contribution-and-evidence/source-version-matrix), route inventory where relevant, migration/link/stale-content checks and visible verification headers.


# Community

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

> **Verified:** 2026-09-29.

Use the official [Qwertycoin website](https://qwertycoin.org/) and organization repositories for current links. Community rooms are discussion venues, not authorities for binaries, consensus parameters, exchange compatibility or wallet recovery.

Before following technical advice, compare it with the pinned implementation and current release metadata. Moderators or contributors will never need your mnemonic seed, private keys, EPoSE keystore or RPC password.

The historical Telegram rules page is retained as a compatibility notice; platform-specific moderation rules can change independently from technical documentation.


# Documentation Maintenance

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

The `qwertycoin-org/gitbook-docs` Git repository is the reviewed source of truth. Git Sync must use `master`, repository root `./`, and **GitHub → GitBook** for the initial direction. Never import stale GitBook content over a reviewed repository tree.

## Latest-first convention

Current documentation describes the latest published stable release for the component and distribution channel being used. Do not hard-code a Qwertycoin Core, GUI or Docker release number in titles, introductions, prerequisites, installation steps, download labels or normal command examples. Link to the official latest-release page and keep artifacts plus `SHA256SUMS` bound to the same selected release.

Core, GUI, Docker and Web Wallet publication channels are independent. `latest` never means the newest default-branch commit or an arbitrary prerelease. Exact versions, commits and digests belong in clearly identified evidence snapshots, historical release notes, migration/security records or reproducible internal checks—not in the normal user path.

Do not remove API/protocol versions, hardfork identifiers, block heights, dependency versions, minimum operating-system versions or other technical constants merely because they look version-like. Historical records stay exact and must be visibly separated from current instructions.

## Release checklist

For every Core, GUI, Web Wallet, Explorer, or documentation release:

* record exact Core default-branch and release source SHAs;
* review changed CLI flags, defaults, bind addresses, and authentication;
* regenerate and review the daemon/wallet route diff with `tools/extract_rpc_inventory.py`;
* verify network, emission, maturity, and EPoSE parameter manifests/tests;
* compare dependency/toolchain and supported-platform workflows;
* verify release assets, checksums, signatures/notarization statements, and Docker digests;
* verify the GUI Core gitlink and Web Wallet/Explorer compatibility revisions;
* review changed behavior, parameters, prerequisites, screenshots and platform claims instead of assuming version-neutral prose remains correct;
* confirm current guides contain no fixed Qwertycoin release tags, versioned Qwertycoin asset links or numeric Docker release tags;
* check external project links and current exchange/mining compatibility;
* update page evidence headers and development-only labels.

## Required checks

```bash
python3 tools/generate_migration_manifest.py
python3 tools/validate_docs.py
```

`tools/validate_docs.py` enforces the latest-first convention only for current documentation. Reports and explicitly historical pages are excluded so exact audit evidence remains reproducible.

Regenerate the RPC inventory from the pinned development and release Core trees and require a clean diff or review every contract change. Render every page with a GitHub-Flavored Markdown-compatible renderer and run the external-link checker before merge.

`tools/import_validated_wiki.py` is the auditable one-time migration helper used for this overhaul. It must not be run as routine release maintenance: GitBook content is reviewed and maintained in this repository after migration. If a future full resynchronization from another documentation source is intentionally approved, run it on an isolated branch and review the complete diff.

## Safe publication

1. Work on a feature branch and open a reviewable pull request.
2. Confirm `gitbook-docs.yaml` defines exactly one default space with `content.directory: ./`.
3. Fetch `master` immediately before merge; do not force-push or rewrite shared history.
4. Confirm GitBook reports the repository-root connector synchronized.
5. Independently fetch `https://docs.qwertycoin.org/`, its sitemap, and representative new and compatibility pages.
6. Record the before/after Git SHAs and public verification time in the [Validation Report](/contribution-and-evidence/validation-report).

Git Sync connected is not the same as content published. Keep DNS/custom-domain configuration unchanged unless it is independently proven wrong. Never commit GitHub or GitBook credentials.


# Retired Features

> **Verified against:** the latest stable release; exact review revisions are recorded in [Pinned source and release revisions](/contribution-and-evidence/source-version-matrix).

> These items are retained only as migration context. Their old operational commands are not current Qwertycoin instructions.

| Historical subject                           | Current disposition                                                                    |
| -------------------------------------------- | -------------------------------------------------------------------------------------- |
| `simplewallet`, `walletd`, REST port 8070    | Replaced by `qwertycoin-wallet-cli` and authenticated `qwertycoin-wallet-rpc` JSON-RPC |
| Legacy masternode registration/flags         | Replaced by automatic EPoSe v2 lifecycle/admission                                     |
| CryptoNight/XMR-Stak/mobile/SBC/cloud mining | Retired; current PoW is RandomX `rx/0`                                                 |
| Old paper/Zero/mobile wallet guides          | Retired; no verified current supported release/generator                               |
| Legacy pool/faucet/voting infrastructure     | Retired; use current maintained repositories where listed                              |
| Bisq/Bitexlive/CREX24 deposit guides         | Historical only; current-network support not verified                                  |
| Old explorer/web-wallet hosting              | Replaced by maintained hardened repositories/runbooks                                  |
| CSV checkpoint import guide                  | Retired for normal recovery; resynchronize current chain data                          |
| Generic forking guides                       | Historical source-layout assumptions; not a supported deployment recipe                |
| Google Breakpad integration page             | Historical contributor context, not a current operator requirement                     |

Historical page text remains recoverable in Git history at wiki commit `eb89175`. Compatibility pages link to supported replacements without pretending to be server redirects.


# Source/Version Matrix

> **Evidence snapshot:** 2026-10-15 UTC. Network: Qwertycoin mainnet unless stated otherwise. Exact versions on this page are review evidence, not installation pins for current user guides.

This page fixes the evidence baseline used to review the latest-first documentation. Current installation and operator guides resolve the latest stable release from each component's official publication channel; they do not copy these versions into normal instructions.

| Component                              | Published/current revision                                                                                                                | Role in this documentation                                                                                                     |
| -------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| GitBook latest-first base              | `1d453bcf7f3611ba1ebc3f185782c3e76522ed5d` on `master`                                                                                    | Reviewed base for the latest-first update; the pre-overhaul baseline remains in the migration manifest                         |
| Validated GitHub Wiki source           | `b4e1f81638a410e13c8a3fff3897d53fc436a424`; technical content commit `46742a250935fa62496ee97d289cd128df210641`                           | Revision-bound source imported and adapted to GitBook paths; it is not used as a live Git Sync source                          |
| Core reviewed development source       | `b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f` on `main`                                                                                      | Development comparison only; not the default installation track                                                                |
| Core latest stable release at snapshot | `v2.0.3`, source `766839bb49475200977f6302b60c01e34d66e253`                                                                               | Exact release used to validate current Core, EPoSE and RPC instructions                                                        |
| GUI reviewed development source        | `5bea119b72d7b0ef68579e95407dbfbe0677da31` on `master`                                                                                    | Development comparison only; equal to the current release source at this snapshot                                              |
| GUI latest stable release at snapshot  | `v2.0.3`, source `5bea119b72d7b0ef68579e95407dbfbe0677da31`, Core submodule `766839bb49475200977f6302b60c01e34d66e253`                    | Exact release used to validate current desktop-wallet instructions                                                             |
| Docker latest channel at snapshot      | `docker.io/qwertycoin/qwertycoin:latest`, `linux/amd64`, digest `sha256:e7120074680685a748d491bede60baef9a716c023b9d3c43efbc6e55f037abc6` | Same digest as the release-specific `2.0.3` tag at verification time; consumers should pin the digest after resolving `latest` |
| Web Wallet published branch            | `7852740e8e301037aedf9cdc58d7c74150c45e90` on `master`                                                                                    | Current deployed browser-wallet behavior; QMS1 Fast Profile is merged, not a Core/GUI release feature                          |

## Version policy

* **Current instructions** target the newest official stable release for the named component/channel at the time of use. Core, GUI, Docker and Web Wallet channels are resolved independently.
* **Evidence snapshots** retain exact releases, commits and digests so a review can be reproduced; they do not freeze normal user instructions to that snapshot.
* **Development source** behavior is excluded from the regular user path unless a page explicitly labels it and gives an exact minimum commit.
* `get_epose_diagnostics` is present in both reviewed Core revisions in this snapshot and remains unrestricted/authenticated.
* Open pull requests and historical source files are not runtime evidence.

## Authority order

1. Reachable implementation and route registration at the pinned revision.
2. Tests and reproducible observations for that revision and network.
3. Release metadata, packaged version/help output, manifests, and CI evidence.
4. Maintained repository documentation checked against the first three items.
5. Historical Wiki/GitBook pages, websites, and community material.

See [Validation Report](/contribution-and-evidence/validation-report) and [Discrepancy Register](/contribution-and-evidence/discrepancy-register).


# Migration Manifest

> **Original snapshot:** `151a593c09f7443f67bae982b10e1447e19797ca`, tree `bed2eb3cdd497a3a670bd833f66da78465502964`, 60 tracked files (45 Markdown files and 15 media assets).

Every original page and support file has an intentional completed outcome. Old operational URLs remain short compatibility notices when the historical procedure is retired. The original bytes remain recoverable from Git history.

| Original path                                         | Original URL                                                                                                                                      | Subject                        | Disposition                    | Destination                                                                                                                                      | Evidence                                                        | Status   |
| ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------- | -------- |
| `.gitbook/assets/1 (1).png`                           | [original](https://github.com/qwertycoin-org/gitbook-docs/blob/151a593c09f7443f67bae982b10e1447e19797ca/.gitbook/assets/1%20%281%29.png)          | 1 (1).png                      | Retain historical media        | Repository history / unreferenced asset                                                                                                          | No current page depends on this legacy image                    | Complete |
| `.gitbook/assets/1 (2).png`                           | [original](https://github.com/qwertycoin-org/gitbook-docs/blob/151a593c09f7443f67bae982b10e1447e19797ca/.gitbook/assets/1%20%282%29.png)          | 1 (2).png                      | Retain historical media        | Repository history / unreferenced asset                                                                                                          | No current page depends on this legacy image                    | Complete |
| `.gitbook/assets/1.png`                               | [original](https://github.com/qwertycoin-org/gitbook-docs/blob/151a593c09f7443f67bae982b10e1447e19797ca/.gitbook/assets/1.png)                    | 1.png                          | Retain historical media        | Repository history / unreferenced asset                                                                                                          | No current page depends on this legacy image                    | Complete |
| `.gitbook/assets/2.JPG`                               | [original](https://github.com/qwertycoin-org/gitbook-docs/blob/151a593c09f7443f67bae982b10e1447e19797ca/.gitbook/assets/2.JPG)                    | 2.JPG                          | Retain historical media        | Repository history / unreferenced asset                                                                                                          | No current page depends on this legacy image                    | Complete |
| `.gitbook/assets/image (1).png`                       | [original](https://github.com/qwertycoin-org/gitbook-docs/blob/151a593c09f7443f67bae982b10e1447e19797ca/.gitbook/assets/image%20%281%29.png)      | image (1).png                  | Retain historical media        | Repository history / unreferenced asset                                                                                                          | No current page depends on this legacy image                    | Complete |
| `.gitbook/assets/image (2).png`                       | [original](https://github.com/qwertycoin-org/gitbook-docs/blob/151a593c09f7443f67bae982b10e1447e19797ca/.gitbook/assets/image%20%282%29.png)      | image (2).png                  | Retain historical media        | Repository history / unreferenced asset                                                                                                          | No current page depends on this legacy image                    | Complete |
| `.gitbook/assets/image (3).png`                       | [original](https://github.com/qwertycoin-org/gitbook-docs/blob/151a593c09f7443f67bae982b10e1447e19797ca/.gitbook/assets/image%20%283%29.png)      | image (3).png                  | Retain historical media        | Repository history / unreferenced asset                                                                                                          | No current page depends on this legacy image                    | Complete |
| `.gitbook/assets/image (4).png`                       | [original](https://github.com/qwertycoin-org/gitbook-docs/blob/151a593c09f7443f67bae982b10e1447e19797ca/.gitbook/assets/image%20%284%29.png)      | image (4).png                  | Retain historical media        | Repository history / unreferenced asset                                                                                                          | No current page depends on this legacy image                    | Complete |
| `.gitbook/assets/image (5).png`                       | [original](https://github.com/qwertycoin-org/gitbook-docs/blob/151a593c09f7443f67bae982b10e1447e19797ca/.gitbook/assets/image%20%285%29.png)      | image (5).png                  | Retain historical media        | Repository history / unreferenced asset                                                                                                          | No current page depends on this legacy image                    | Complete |
| `.gitbook/assets/image (6).png`                       | [original](https://github.com/qwertycoin-org/gitbook-docs/blob/151a593c09f7443f67bae982b10e1447e19797ca/.gitbook/assets/image%20%286%29.png)      | image (6).png                  | Retain historical media        | Repository history / unreferenced asset                                                                                                          | No current page depends on this legacy image                    | Complete |
| `.gitbook/assets/image (7).png`                       | [original](https://github.com/qwertycoin-org/gitbook-docs/blob/151a593c09f7443f67bae982b10e1447e19797ca/.gitbook/assets/image%20%287%29.png)      | image (7).png                  | Retain historical media        | Repository history / unreferenced asset                                                                                                          | No current page depends on this legacy image                    | Complete |
| `.gitbook/assets/image (8).png`                       | [original](https://github.com/qwertycoin-org/gitbook-docs/blob/151a593c09f7443f67bae982b10e1447e19797ca/.gitbook/assets/image%20%288%29.png)      | image (8).png                  | Retain historical media        | Repository history / unreferenced asset                                                                                                          | No current page depends on this legacy image                    | Complete |
| `.gitbook/assets/image.png`                           | [original](https://github.com/qwertycoin-org/gitbook-docs/blob/151a593c09f7443f67bae982b10e1447e19797ca/.gitbook/assets/image.png)                | image.png                      | Retain historical media        | Repository history / unreferenced asset                                                                                                          | No current page depends on this legacy image                    | Complete |
| `.gitbook/assets/paper-wallet-example.png`            | [original](https://github.com/qwertycoin-org/gitbook-docs/blob/151a593c09f7443f67bae982b10e1447e19797ca/.gitbook/assets/paper-wallet-example.png) | paper-wallet-example.png       | Retain historical media        | Repository history / unreferenced asset                                                                                                          | No current page depends on this legacy image                    | Complete |
| `.gitbook/assets/zero-savepvt.png`                    | [original](https://github.com/qwertycoin-org/gitbook-docs/blob/151a593c09f7443f67bae982b10e1447e19797ca/.gitbook/assets/zero-savepvt.png)         | zero-savepvt.png               | Retain historical media        | Repository history / unreferenced asset                                                                                                          | No current page depends on this legacy image                    | Complete |
| `README.md`                                           | [original](https://docs.qwertycoin.org/)                                                                                                          | README.md                      | Rewrite                        | [Current home](/)                                                                                                                                | Current information architecture                                | Complete |
| `SUMMARY.md`                                          | [original](https://github.com/qwertycoin-org/gitbook-docs/blob/151a593c09f7443f67bae982b10e1447e19797ca/SUMMARY.md)                               | SUMMARY.md                     | Rewrite                        | [Current navigation](https://github.com/qwertycoin-org/gitbook-docs/tree/master/SUMMARY.md)                                                      | Current information architecture                                | Complete |
| `api/untitled-1-1.md`                                 | [original](https://docs.qwertycoin.org/api/untitled-1-1)                                                                                          | untitled-1-1.md                | Retire with replacement notice | [Compatibility page](/legacy-url-compatibility/untitled-1-1) · [replacement](/apis/daemon-json-rpc)                                              | Current implementation does not support the historical workflow | Complete |
| `api/untitled-1.md`                                   | [original](https://docs.qwertycoin.org/api/untitled-1)                                                                                            | untitled-1.md                  | Retire with replacement notice | [Compatibility page](/legacy-url-compatibility/untitled-1) · [replacement](/apis/daemon-http-and-binary-rpc)                                     | Current implementation does not support the historical workflow | Complete |
| `api/untitled-2.md`                                   | [original](https://docs.qwertycoin.org/api/untitled-2)                                                                                            | untitled-2.md                  | Retire with replacement notice | [Compatibility page](/legacy-url-compatibility/untitled-2) · [replacement](/apis/wallet-rpc-reference)                                           | Current implementation does not support the historical workflow | Complete |
| `developer/compiling-from-source/README.md`           | [original](https://docs.qwertycoin.org/developer/compiling-from-source)                                                                           | README.md                      | Rewrite                        | [Current page](/nodes-and-builds/compiling-from-source)                                                                                          | Validated Wiki content and pinned implementation evidence       | Complete |
| `developer/compiling-from-source/macos-qt-install.md` | [original](https://docs.qwertycoin.org/developer/compiling-from-source/macos-qt-install)                                                          | macos-qt-install.md            | Retire with replacement notice | [Compatibility page](/legacy-url-compatibility/macos-qt-install) · [replacement](/nodes-and-builds/compiling-from-source/macos)                  | Current implementation does not support the historical workflow | Complete |
| `developer/compiling-from-source/untitled.md`         | [original](https://docs.qwertycoin.org/developer/compiling-from-source/untitled)                                                                  | untitled.md                    | Retire with replacement notice | [Compatibility page](/legacy-url-compatibility/untitled) · [replacement](/nodes-and-builds/compiling-from-source)                                | Current implementation does not support the historical workflow | Complete |
| `developer/forking-qwertycoin.md`                     | [original](https://docs.qwertycoin.org/developer/forking-qwertycoin)                                                                              | forking-qwertycoin.md          | Retire with replacement notice | [Compatibility page](/legacy-url-compatibility/forking-qwertycoin) · [replacement](/contribution-and-evidence/retired-features)                  | Current implementation does not support the historical workflow | Complete |
| `developer/google-breakpad-integration.md`            | [original](https://docs.qwertycoin.org/developer/google-breakpad-integration)                                                                     | google-breakpad-integration.md | Retire with replacement notice | [Compatibility page](/legacy-url-compatibility/google-breakpad-integration) · [replacement](/contribution-and-evidence/retired-features)         | Current implementation does not support the historical workflow | Complete |
| `developer/hosting-block-explorer.md`                 | [original](https://docs.qwertycoin.org/developer/hosting-block-explorer)                                                                          | hosting-block-explorer.md      | Retire with replacement notice | [Compatibility page](/legacy-url-compatibility/hosting-block-explorer) · [replacement](/mining-and-ecosystem/current-hosting)                    | Current implementation does not support the historical workflow | Complete |
| `developer/hosting-faucet.md`                         | [original](https://docs.qwertycoin.org/developer/hosting-faucet)                                                                                  | hosting-faucet.md              | Retire with replacement notice | [Compatibility page](/legacy-url-compatibility/hosting-faucet) · [replacement](/contribution-and-evidence/retired-features)                      | Current implementation does not support the historical workflow | Complete |
| `developer/hosting-web-wallet.md`                     | [original](https://docs.qwertycoin.org/developer/hosting-web-wallet)                                                                              | hosting-web-wallet.md          | Retire with replacement notice | [Compatibility page](/legacy-url-compatibility/hosting-web-wallet) · [replacement](/mining-and-ecosystem/current-hosting)                        | Current implementation does not support the historical workflow | Complete |
| `developer/local-testnet.md`                          | [original](https://docs.qwertycoin.org/developer/local-testnet)                                                                                   | local-testnet.md               | Retire with replacement notice | [Compatibility page](/legacy-url-compatibility/local-testnet) · [replacement](/nodes-and-builds/compiling-from-source/tests-and-troubleshooting) | Current implementation does not support the historical workflow | Complete |
| `developer/resources.md`                              | [original](https://docs.qwertycoin.org/developer/resources)                                                                                       | resources.md                   | Retire with replacement notice | [Compatibility page](/legacy-url-compatibility/resources) · [replacement](/contribution-and-evidence/contributing)                               | Current implementation does not support the historical workflow | Complete |
| `getting-started/simple-steps.md`                     | [original](https://docs.qwertycoin.org/getting-started/simple-steps)                                                                              | simple-steps.md                | Rewrite                        | [Current page](/start/simple-steps)                                                                                                              | Validated Wiki content and pinned implementation evidence       | Complete |
| `getting-started/terminology.md`                      | [original](https://docs.qwertycoin.org/getting-started/terminology)                                                                               | terminology.md                 | Rewrite                        | [Current page](/start/terminology)                                                                                                               | Validated Wiki content and pinned implementation evidence       | Complete |
| `mining/cloud-mining.md`                              | [original](https://docs.qwertycoin.org/mining/cloud-mining)                                                                                       | cloud-mining.md                | Retire with replacement notice | [Compatibility page](/legacy-url-compatibility/cloud-mining) · [replacement](/contribution-and-evidence/retired-features)                        | Current implementation does not support the historical workflow | Complete |
| `mining/creating-a-mining-pool.md`                    | [original](https://docs.qwertycoin.org/mining/creating-a-mining-pool)                                                                             | creating-a-mining-pool.md      | Rewrite                        | [Current page](/mining-and-ecosystem/creating-a-mining-pool)                                                                                     | Validated Wiki content and pinned implementation evidence       | Complete |
| `mining/mining-options.md`                            | [original](https://docs.qwertycoin.org/mining/mining-options)                                                                                     | mining-options.md              | Rewrite                        | [Current page](/mining-and-ecosystem/mining-options)                                                                                             | Validated Wiki content and pinned implementation evidence       | Complete |
| `mining/mining-with-sbc.md`                           | [original](https://docs.qwertycoin.org/mining/mining-with-sbc)                                                                                    | mining-with-sbc.md             | Retire with replacement notice | [Compatibility page](/legacy-url-compatibility/mining-with-sbc) · [replacement](/mining-and-ecosystem/mining-options)                            | Current implementation does not support the historical workflow | Complete |
| `mining/mobile-mining.md`                             | [original](https://docs.qwertycoin.org/mining/mobile-mining)                                                                                      | mobile-mining.md               | Retire with replacement notice | [Compatibility page](/legacy-url-compatibility/mobile-mining) · [replacement](/contribution-and-evidence/retired-features)                       | Current implementation does not support the historical workflow | Complete |
| `mining/using-a-mining-pool.md`                       | [original](https://docs.qwertycoin.org/mining/using-a-mining-pool)                                                                                | using-a-mining-pool.md         | Retire with replacement notice | [Compatibility page](/legacy-url-compatibility/using-a-mining-pool) · [replacement](/mining-and-ecosystem/pool-mining)                           | Current implementation does not support the historical workflow | Complete |
| `mining/xmr-stak-linux.md`                            | [original](https://docs.qwertycoin.org/mining/xmr-stak-linux)                                                                                     | xmr-stak-linux.md              | Retire with replacement notice | [Compatibility page](/legacy-url-compatibility/xmr-stak-linux) · [replacement](/mining-and-ecosystem/mining-options)                             | Current implementation does not support the historical workflow | Complete |
| `mining/xmr-stak.md`                                  | [original](https://docs.qwertycoin.org/mining/xmr-stak)                                                                                           | xmr-stak.md                    | Retire with replacement notice | [Compatibility page](/legacy-url-compatibility/xmr-stak) · [replacement](/mining-and-ecosystem/mining-options)                                   | Current implementation does not support the historical workflow | Complete |
| `mining/xmrig.md`                                     | [original](https://docs.qwertycoin.org/mining/xmrig)                                                                                              | xmrig.md                       | Retire with replacement notice | [Compatibility page](/legacy-url-compatibility/xmrig) · [replacement](/mining-and-ecosystem/pool-mining)                                         | Current implementation does not support the historical workflow | Complete |
| `node/config.md`                                      | [original](https://docs.qwertycoin.org/node/config)                                                                                               | config.md                      | Rewrite                        | [Current page](/nodes-and-builds/config)                                                                                                         | Validated Wiki content and pinned implementation evidence       | Complete |
| `node/fix-sync-issues.md`                             | [original](https://docs.qwertycoin.org/node/fix-sync-issues)                                                                                      | fix-sync-issues.md             | Rewrite                        | [Current page](/nodes-and-builds/fix-sync-issues)                                                                                                | Validated Wiki content and pinned implementation evidence       | Complete |
| `node/load-checkpoints.md`                            | [original](https://docs.qwertycoin.org/node/load-checkpoints)                                                                                     | load-checkpoints.md            | Retire with replacement notice | [Compatibility page](/legacy-url-compatibility/load-checkpoints) · [replacement](/nodes-and-builds/upgrade-and-recovery)                         | Current implementation does not support the historical workflow | Complete |
| `node/start-masternode.md`                            | [original](https://docs.qwertycoin.org/node/start-masternode)                                                                                     | start-masternode.md            | Retire with replacement notice | [Compatibility page](/legacy-url-compatibility/start-masternode) · [replacement](/epose/service-node-quickstart)                                 | Current implementation does not support the historical workflow | Complete |
| `trading/exchanges.md`                                | [original](https://docs.qwertycoin.org/trading/exchanges)                                                                                         | exchanges.md                   | Rewrite                        | [Current page](/mining-and-ecosystem/exchanges)                                                                                                  | Validated Wiki content and pinned implementation evidence       | Complete |
| `trading/how-to-trade-on-bisq.md`                     | [original](https://docs.qwertycoin.org/trading/how-to-trade-on-bisq)                                                                              | how-to-trade-on-bisq.md        | Retire with replacement notice | [Compatibility page](/legacy-url-compatibility/how-to-trade-on-bisq) · [replacement](/mining-and-ecosystem/exchanges)                            | Current implementation does not support the historical workflow | Complete |
| `trading/how-to-trade-on-crex24.md`                   | [original](https://docs.qwertycoin.org/trading/how-to-trade-on-crex24)                                                                            | how-to-trade-on-crex24.md      | Retire with replacement notice | [Compatibility page](/legacy-url-compatibility/how-to-trade-on-crex24) · [replacement](/mining-and-ecosystem/exchanges)                          | Current implementation does not support the historical workflow | Complete |
| `wallet/cli-wallet.md`                                | [original](https://docs.qwertycoin.org/wallet/cli-wallet)                                                                                         | cli-wallet.md                  | Rewrite                        | [Current page](/wallets/cli-wallet)                                                                                                              | Validated Wiki content and pinned implementation evidence       | Complete |
| `wallet/gui-wallet.md`                                | [original](https://docs.qwertycoin.org/wallet/gui-wallet)                                                                                         | gui-wallet.md                  | Rewrite                        | [Current page](/wallets/gui-wallet)                                                                                                              | Validated Wiki content and pinned implementation evidence       | Complete |
| `wallet/mobile-wallet.md`                             | [original](https://docs.qwertycoin.org/wallet/mobile-wallet)                                                                                      | mobile-wallet.md               | Retire with replacement notice | [Compatibility page](/legacy-url-compatibility/mobile-wallet) · [replacement](/contribution-and-evidence/retired-features)                       | Current implementation does not support the historical workflow | Complete |
| `wallet/paper-wallet.md`                              | [original](https://docs.qwertycoin.org/wallet/paper-wallet)                                                                                       | paper-wallet.md                | Retire with replacement notice | [Compatibility page](/legacy-url-compatibility/paper-wallet) · [replacement](/contribution-and-evidence/retired-features)                        | Current implementation does not support the historical workflow | Complete |
| `wallet/sign-and-verify-messages.md`                  | [original](https://docs.qwertycoin.org/wallet/sign-and-verify-messages)                                                                           | sign-and-verify-messages.md    | Rewrite                        | [Current page](/wallets/sign-and-verify-messages)                                                                                                | Validated Wiki content and pinned implementation evidence       | Complete |
| `wallet/types-of-wallet.md`                           | [original](https://docs.qwertycoin.org/wallet/types-of-wallet)                                                                                    | types-of-wallet.md             | Rewrite                        | [Current page](/wallets/types-of-wallet)                                                                                                         | Validated Wiki content and pinned implementation evidence       | Complete |
| `wallet/using-rpc-wallet.md`                          | [original](https://docs.qwertycoin.org/wallet/using-rpc-wallet)                                                                                   | using-rpc-wallet.md            | Retire with replacement notice | [Compatibility page](/legacy-url-compatibility/using-rpc-wallet) · [replacement](/apis/wallet-rpc-setup)                                         | Current implementation does not support the historical workflow | Complete |
| `wallet/wallet-backup.md`                             | [original](https://docs.qwertycoin.org/wallet/wallet-backup)                                                                                      | wallet-backup.md               | Rewrite                        | [Current page](/wallets/wallet-backup)                                                                                                           | Validated Wiki content and pinned implementation evidence       | Complete |
| `wallet/wallet-recovery.md`                           | [original](https://docs.qwertycoin.org/wallet/wallet-recovery)                                                                                    | wallet-recovery.md             | Retire with replacement notice | [Compatibility page](/legacy-url-compatibility/wallet-recovery) · [replacement](/wallets/wallet-backup)                                          | Current implementation does not support the historical workflow | Complete |
| `wallet/wallet-update.md`                             | [original](https://docs.qwertycoin.org/wallet/wallet-update)                                                                                      | wallet-update.md               | Rewrite                        | [Current page](/wallets/wallet-update)                                                                                                           | Validated Wiki content and pinned implementation evidence       | Complete |
| `wallet/web-wallet.md`                                | [original](https://docs.qwertycoin.org/wallet/web-wallet)                                                                                         | web-wallet.md                  | Rewrite                        | [Current page](/wallets/web-wallet)                                                                                                              | Validated Wiki content and pinned implementation evidence       | Complete |
| `wallet/zero-wallet.md`                               | [original](https://docs.qwertycoin.org/wallet/zero-wallet)                                                                                        | zero-wallet.md                 | Retire with replacement notice | [Compatibility page](/legacy-url-compatibility/zero-wallet) · [replacement](/contribution-and-evidence/retired-features)                         | Current implementation does not support the historical workflow | Complete |

## Counts

* Before: 60 tracked files — 45 Markdown files and 15 media assets.
* Current working tree: 89 Markdown files plus revision-bound support scripts/data and the 15 retained historical assets.


# Discrepancy Register

> **Historical evidence:** this register records the 2026-09 review baseline and intentionally retains exact release versions. Consult current user guides for installation and operation.

> **Verified against:** GitBook baseline `151a593…`, validated GitHub Wiki `b4e1f81…`, Core `a71c0eb2…`, Core release `v2.0.2` (`54308d847…`), Qwertycoin mainnet where applicable, 2026-09-30 UTC.

| Conflict                                                                        | Resolution                                                                                                                                                                        |
| ------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Old GitBook/Wiki content describes a Karbowanec/Bytecoin-derived runtime        | Current Core is based on Monero 0.18.x plus Qwertycoin protocol and EPoSE changes. Historical ancestry is context only.                                                           |
| Old wallet pages use `simplewallet`, `walletd`, container files, and port 8070  | Current binaries are `qwertycoin-wallet-cli` and `qwertycoin-wallet-rpc`; old pages are retirement notices.                                                                       |
| Old masternode page describes the retired service-node path                     | Replaced by EPoSE v2 operator documentation. Legacy `--service-node*` and funded registration workflows are rejected.                                                             |
| Old mining pages use CryptoNight/XMR-Stak                                       | Replaced by RandomX instructions.                                                                                                                                                 |
| Old exchange pages claim support at CREX24, Bitexlive, and Bisq                 | Retired. Current network compatibility must be verified per venue; this documentation does not preserve old deposit instructions.                                                 |
| Core README release link and latest GitHub release may differ                   | Downloads are bound to GitHub release `v2.0.2`; repository text is supporting evidence only.                                                                                      |
| Port `8198` appears as both wallet RPC and public EPoSE probe RPC               | They are different processes. Combined-host examples bind wallet RPC to loopback port `18082` and reserve public `8198` for restricted EPoSE probe RPC.                           |
| EPoSE examples sometimes say six receipts universally                           | Six is the full 9-verifier case. Runtime quorum is `ceil(2n/3)` for actual committee size `n`.                                                                                    |
| `get_epose_diagnostics` appears on `main` but not in `v2.0.2`                   | Marked development-only with minimum commit `a71c0eb2…`.                                                                                                                          |
| Historical “maximum supply” wording conflicts with tail emission                | The emission constant is about 184.467 million QWC; continuing tail subsidy means it is not an absolute lifetime cap.                                                             |
| Published `v2.0.2` Linux metadata contains an EPoSe release-gate `no-go` result | Runtime/test evidence is documented, but this documentation does not claim formal gate approval; see [Implementation Defects](/contribution-and-evidence/implementation-defects). |

Implementation defects discovered during validation are recorded in [Validation Report](/contribution-and-evidence/validation-report); documentation does not change runtime behavior to hide them.


# Validation Report

> **Status:** The latest-first update is locally validated and rendered in the GitBook pull-request preview. Public publication remains pending review/merge. The previous production publication record is retained below.

## Latest-first validation (2026-10-15)

* **Documentation base:** `1d453bcf7f3611ba1ebc3f185782c3e76522ed5d`
* **Core stable evidence:** `766839bb49475200977f6302b60c01e34d66e253`
* **Core development comparison:** `b88bb3781f20e1a0d1427fd6abf41aaac3b8ac5f`

| Gate                      | Result  | Evidence / limitation                                                                                                                                                                                                                                                |
| ------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Release channels          | Pass    | Official Core and GUI latest-release metadata resolve to stable, non-prerelease publications; Docker Hub `latest` and its release-specific tag resolve to the same `linux/amd64` digest at the snapshot                                                              |
| Latest-first policy       | Pass    | `tools/validate_docs.py` rejects fixed Qwertycoin release pages/assets, versioned Qwertycoin archives, numeric Docker release tags and fixed release checkouts in current pages while excluding reports and explicit historical pages                                |
| RPC inventory             | Pass    | Regeneration is byte-identical: 203 development and 203 stable-release registrations; both contain 107 daemon and 96 wallet registrations                                                                                                                            |
| Structure and local links | Pass    | 89 Markdown pages, complete `SUMMARY.md`, valid local targets/anchors, one H1 per page, balanced fences, migration/config/legacy contracts intact                                                                                                                    |
| Rendering                 | Pass    | Pandoc rendered 89/89 pages as standalone HTML; the home, downloads and Docker outputs contain the intended latest-release links and moving-tag guidance                                                                                                             |
| External links            | Pass    | 449 unique links: 376 immutable Core source links checked against the exact trees and 73 network links returned 2xx/3xx                                                                                                                                              |
| Python helpers            | Pass    | All `tools/*.py` files compile; RPC generation is reproducible                                                                                                                                                                                                       |
| Git diff                  | Pass    | `git diff --check` reports no whitespace errors after the documented changes                                                                                                                                                                                         |
| GitBook preview           | Pass    | Both GitBook statuses on [PR #6](https://github.com/qwertycoin-org/gitbook-docs/pull/6) pass; representative current pages return HTTP 200, the preview sitemap contains 88 unique revision-bound pages, and generated `llms.txt` has no stale current-release label |
| Public publication        | Pending | Requires reviewed merge to `master`; preview success is not a production-publication claim                                                                                                                                                                           |

## Previous publication record (2026-09-30)

**Validation time:** 2026-09-30 05:22 UTC\
**Environment:** Linux x86\_64, Python 3.11.2, Pandoc 2.17.1.1, Git 2.39.5\
**GitBook baseline:** `151a593c09f7443f67bae982b10e1447e19797ca`, tree `bed2eb3cdd497a3a670bd833f66da78465502964`\
**Overhaul base:** root-mapping commit `113c65eb8d45056caaf94d17532e80b261250c74`

* **Publication time:** 2026-09-30 06:15 UTC
* **Published merge:** [PR #3](https://github.com/qwertycoin-org/gitbook-docs/pull/3), `9318e1e340706f63b3a0ae9dc062c1a85da8e6de` on `master`
* **GitBook production revision:** `02wWARNyaYmkQvIWxgCC`

### Matrix

| Gate                                           | Result | Evidence / limitation                                                                                                                                                                                         |
| ---------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| GitBook baseline                               | Pass   | Repository `151a593c09f7443f67bae982b10e1447e19797ca`, tree `bed2eb3cdd497a3a670bd833f66da78465502964`, 60 files                                                                                              |
| Root site mapping                              | Pass   | [PR #2](https://github.com/qwertycoin-org/gitbook-docs/pull/2) merged as `5ebb540685694c61413790098c65f4459573b809`; the only baseline change is one default space (`space-1`) mapped to `./`                 |
| Content migration                              | Pass   | All 60 baseline files have `Complete` rows: 45 Markdown pages and 15 retained, unreferenced historical media assets                                                                                           |
| Current technical content                      | Pass   | 89 Markdown pages adapted from validated Wiki commit `b4e1f81…`; 28 stale operational URLs are explicit compatibility notices                                                                                 |
| RPC inventory                                  | Pass   | Re-extraction is byte-identical: 203 development registrations (107 daemon, 96 wallet) and 201 release registrations                                                                                          |
| Internal links, anchors, structure, stale scan | Pass   | `tools/validate_docs.py`: 89 pages, exactly one H1 each, balanced fences, complete `SUMMARY.md`, valid local targets/anchors, evidence headers, config and legacy-command gates                               |
| Rendering                                      | Pass   | Pandoc rendered 89/89 pages as standalone HTML; warnings only supplied filename-derived HTML titles because the smoke command did not pass metadata titles                                                    |
| External links                                 | Pass   | 449 unique links: 376 immutable Core source links checked locally against pinned trees; 73 remaining HTTPS links returned 2xx/3xx                                                                             |
| Python helpers                                 | Pass   | All five `tools/*.py` files compile with Python 3.11.2; generated cache files are ignored                                                                                                                     |
| GitBook connector                              | Pass   | GitBook reported both `GitBook (./)` and `GitBook (./) - docs.qwertycoin.org/` successful for PR head `7ad9437…` and revision `sR0DZDqPesn5bmuynDKl`                                                          |
| GitBook revision preview                       | Pass   | Preview sitemap contains 88 published pages (`SUMMARY.md` is navigation only); 88/88 returned HTTP 200. Home, EPoSE, RPC inventory, validation report, and legacy compatibility markers were checked directly |
| Current content publication                    | Pass   | Both GitBook production statuses passed for merge `9318e1e…`; the custom domain serves the new home, EPoSE, RPC inventory, validation report, and compatibility pages                                         |
| Production sitemap                             | Pass   | `https://docs.qwertycoin.org/sitemap-pages.xml` contains 88 unique non-preview URLs; 88/88 returned HTTP 200 with no revision URL leaked into the production sitemap                                          |
| Legacy public paths                            | Pass   | Representative old paths redirect to explicit retirement pages; the production home contains current RandomX/EPoSE content and no CryptoNight or Karbowanec/Bytecoin runtime claim                            |

### Reproducible commands

```bash
python3 tools/generate_migration_manifest.py
python3 tools/validate_docs.py
python3 -m py_compile tools/*.py

python3 tools/extract_rpc_inventory.py \
  --development-core /path/to/core-a71c0eb2 \
  --development-revision a71c0eb2c5b5675f9664fde5738e9cd9ba2e1eac \
  --release-core /path/to/core-v2.0.2 \
  --release-revision 54308d8473dc5606d054c0ba428cfb2d64e758c1 \
  --output-directory /tmp/qwc-rpc-inventory

python3 tools/check_external_links.py \
  --development-core /path/to/core-a71c0eb2 \
  --development-revision a71c0eb2c5b5675f9664fde5738e9cd9ba2e1eac \
  --release-core /path/to/core-v2.0.2 \
  --release-revision 54308d8473dc5606d054c0ba428cfb2d64e758c1
```

The RPC gate additionally compares both generated files byte-for-byte with `rpc-inventory.json` and `api/rpc-inventory.md`. The rendering gate recursively invokes `pandoc --from=gfm --to=html5 --standalone` for every Markdown page.

## Explicit validation limits

* Platform execution and release-evidence limitations from the [validated Wiki report](https://github.com/qwertycoin-org/qwertycoin/wiki/Validation-Report) remain applicable unless rerun here.
* No production node, wallet, EPoSE identity, consensus parameter, RPC behavior, or DNS record is changed by this documentation migration.


# Implementation Defects

> **Historical evidence:** this report records the 2026-09 review baseline and intentionally retains exact release versions. Consult current user guides for installation and operation.

> These findings were recorded during documentation validation. The documentation does not change runtime behavior or release artifacts to hide them.

## Core README release pointer is stale

At Core `a71c0eb2`, the README still presents an older release-candidate path while GitHub publishes `v2.0.2`. This documentation resolves downloads from release metadata and exact source SHA rather than copying that statement.

## Published v2.0.2 embeds a non-permitting EPoSE gate result

The Linux `v2.0.2` artifact from workflow run `35385285493` identifies source `54308d84`, passes its three binary help/version checks, offline-mainnet smoke, 239 EPoSe C++ tests and 43 EPoSe Python tests. However, the same embedded `BUILD-INFO.json` records:

```
epose_release_gate.overall_status = no-go
epose_release_gate.stable_permitted = false
epose_release_gate.candidate_bound = false
```

The unresolved entries describe missing candidate-bound security/rehearsal evidence. This conflicts with treating the artifact as having passed that formal release-readiness ledger. It does **not** by itself show that the compiled EPoSe runtime is disabled; it means the stronger release-gate approval must not be claimed from this artifact. The operator pages distinguish executable/test evidence from formal readiness evidence.

## Diagnostics release gap

Development source `a71c0eb2` registers `get_epose_diagnostics`; release `v2.0.2` does not. Documentation labels the method development-only rather than presenting it as a release feature.

## Platform signing gaps

Current Core artifacts are unsigned. Current GUI Windows artifacts are unsigned and the macOS package is ad-hoc signed rather than Developer ID signed/notarized. Checksums provide integrity against the published digest, not publisher identity.


# Paper Wallet

> **Compatibility notice:** This URL is retained so old links do not silently present obsolete Qwertycoin operations.

Use the [current replacement](/contribution-and-evidence/retired-features).

The original content remains recoverable from Git commit `151a593c09f7443f67bae982b10e1447e19797ca`.


# Zero Wallet

> **Compatibility notice:** This URL is retained so old links do not silently present obsolete Qwertycoin operations.

Use the [current replacement](/contribution-and-evidence/retired-features).

The original content remains recoverable from Git commit `151a593c09f7443f67bae982b10e1447e19797ca`.


# Mobile Wallet

> **Compatibility notice:** This URL is retained so old links do not silently present obsolete Qwertycoin operations.

Use the [current replacement](/contribution-and-evidence/retired-features).

The original content remains recoverable from Git commit `151a593c09f7443f67bae982b10e1447e19797ca`.


# Legacy RPC Wallet

> **Compatibility notice:** This URL is retained so old links do not silently present obsolete Qwertycoin operations.

Use the [current replacement](/apis/wallet-rpc-setup).

The original content remains recoverable from Git commit `151a593c09f7443f67bae982b10e1447e19797ca`.


# Wallet Recovery

> **Compatibility notice:** This URL is retained so old links do not silently present obsolete Qwertycoin operations.

Use the [current replacement](/wallets/wallet-backup).

The original content remains recoverable from Git commit `151a593c09f7443f67bae982b10e1447e19797ca`.


# Cloud Mining

> **Compatibility notice:** This URL is retained so old links do not silently present obsolete Qwertycoin operations.

Use the [current replacement](/contribution-and-evidence/retired-features).

The original content remains recoverable from Git commit `151a593c09f7443f67bae982b10e1447e19797ca`.


# SBC Mining

> **Compatibility notice:** This URL is retained so old links do not silently present obsolete Qwertycoin operations.

Use the [current replacement](/mining-and-ecosystem/mining-options).

The original content remains recoverable from Git commit `151a593c09f7443f67bae982b10e1447e19797ca`.


# Mobile Mining

> **Compatibility notice:** This URL is retained so old links do not silently present obsolete Qwertycoin operations.

Use the [current replacement](/contribution-and-evidence/retired-features).

The original content remains recoverable from Git commit `151a593c09f7443f67bae982b10e1447e19797ca`.


# XMR-Stak

> **Compatibility notice:** This URL is retained so old links do not silently present obsolete Qwertycoin operations.

Use the [current replacement](/mining-and-ecosystem/mining-options).

The original content remains recoverable from Git commit `151a593c09f7443f67bae982b10e1447e19797ca`.


# XMR-Stak Linux

> **Compatibility notice:** This URL is retained so old links do not silently present obsolete Qwertycoin operations.

Use the [current replacement](/mining-and-ecosystem/mining-options).

The original content remains recoverable from Git commit `151a593c09f7443f67bae982b10e1447e19797ca`.


# Historical XMRig Guide

> **Compatibility notice:** This URL is retained so old links do not silently present obsolete Qwertycoin operations.

Use the [current replacement](/mining-and-ecosystem/pool-mining).

The original content remains recoverable from Git commit `151a593c09f7443f67bae982b10e1447e19797ca`.


# Historical Pool-Mining Guide

> **Compatibility notice:** This URL is retained so old links do not silently present obsolete Qwertycoin operations.

Use the [current replacement](/mining-and-ecosystem/pool-mining).

The original content remains recoverable from Git commit `151a593c09f7443f67bae982b10e1447e19797ca`.


# Checkpoint Import

> **Compatibility notice:** This URL is retained so old links do not silently present obsolete Qwertycoin operations.

Use the [current replacement](/nodes-and-builds/upgrade-and-recovery).

The original content remains recoverable from Git commit `151a593c09f7443f67bae982b10e1447e19797ca`.


# Legacy Masternode Setup

> **Compatibility notice:** This URL is retained so old links do not silently present obsolete Qwertycoin operations.

Use the [current replacement](/epose/service-node-quickstart).

The original content remains recoverable from Git commit `151a593c09f7443f67bae982b10e1447e19797ca`.


# Historical Bisq Guide

> **Compatibility notice:** This URL is retained so old links do not silently present obsolete Qwertycoin operations.

Use the [current replacement](/mining-and-ecosystem/exchanges).

The original content remains recoverable from Git commit `151a593c09f7443f67bae982b10e1447e19797ca`.


# Historical CREX24 Guide

> **Compatibility notice:** This URL is retained so old links do not silently present obsolete Qwertycoin operations.

Use the [current replacement](/mining-and-ecosystem/exchanges).

The original content remains recoverable from Git commit `151a593c09f7443f67bae982b10e1447e19797ca`.


# Historical macOS Qt Workaround

> **Compatibility notice:** This URL is retained so old links do not silently present obsolete Qwertycoin operations.

Use the [current replacement](/nodes-and-builds/compiling-from-source/macos).

The original content remains recoverable from Git commit `151a593c09f7443f67bae982b10e1447e19797ca`.


# Historical CMake Installation

> **Compatibility notice:** This URL is retained so old links do not silently present obsolete Qwertycoin operations.

Use the [current replacement](/nodes-and-builds/compiling-from-source).

The original content remains recoverable from Git commit `151a593c09f7443f67bae982b10e1447e19797ca`.


# Historical Forking Guide

> **Compatibility notice:** This URL is retained so old links do not silently present obsolete Qwertycoin operations.

Use the [current replacement](/contribution-and-evidence/retired-features).

The original content remains recoverable from Git commit `151a593c09f7443f67bae982b10e1447e19797ca`.


# Historical Breakpad Integration

> **Compatibility notice:** This URL is retained so old links do not silently present obsolete Qwertycoin operations.

Use the [current replacement](/contribution-and-evidence/retired-features).

The original content remains recoverable from Git commit `151a593c09f7443f67bae982b10e1447e19797ca`.


# Historical Explorer Hosting

> **Compatibility notice:** This URL is retained so old links do not silently present obsolete Qwertycoin operations.

Use the [current replacement](/mining-and-ecosystem/current-hosting).

The original content remains recoverable from Git commit `151a593c09f7443f67bae982b10e1447e19797ca`.


# Historical Faucet Hosting

> **Compatibility notice:** This URL is retained so old links do not silently present obsolete Qwertycoin operations.

Use the [current replacement](/contribution-and-evidence/retired-features).

The original content remains recoverable from Git commit `151a593c09f7443f67bae982b10e1447e19797ca`.


# Historical Web Wallet Hosting

> **Compatibility notice:** This URL is retained so old links do not silently present obsolete Qwertycoin operations.

Use the [current replacement](/mining-and-ecosystem/current-hosting).

The original content remains recoverable from Git commit `151a593c09f7443f67bae982b10e1447e19797ca`.


# Historical Local Testnet

> **Compatibility notice:** This URL is retained so old links do not silently present obsolete Qwertycoin operations.

Use the [current replacement](/nodes-and-builds/compiling-from-source/tests-and-troubleshooting).

The original content remains recoverable from Git commit `151a593c09f7443f67bae982b10e1447e19797ca`.


# Historical Developer Resources

> **Compatibility notice:** This URL is retained so old links do not silently present obsolete Qwertycoin operations.

Use the [current replacement](/contribution-and-evidence/contributing).

The original content remains recoverable from Git commit `151a593c09f7443f67bae982b10e1447e19797ca`.


# Historical Daemon HTTP RPC

> **Compatibility notice:** This URL is retained so old links do not silently present obsolete Qwertycoin operations.

Use the [current replacement](/apis/daemon-http-and-binary-rpc).

The original content remains recoverable from Git commit `151a593c09f7443f67bae982b10e1447e19797ca`.


# Historical Daemon JSON-RPC

> **Compatibility notice:** This URL is retained so old links do not silently present obsolete Qwertycoin operations.

Use the [current replacement](/apis/daemon-json-rpc).

The original content remains recoverable from Git commit `151a593c09f7443f67bae982b10e1447e19797ca`.


# Historical Wallet RPC API

> **Compatibility notice:** This URL is retained so old links do not silently present obsolete Qwertycoin operations.

Use the [current replacement](/apis/wallet-rpc-reference).

The original content remains recoverable from Git commit `151a593c09f7443f67bae982b10e1447e19797ca`.


