Freedom Coin
============
Mining Guide & Specifications
Sage Kratos

Sound money. Quantum proof. No masters.

Introduction
------------
Freedom Coin is mined on ordinary computers. There is no specialized hardware
to buy and no pre-mine to compete against — from the first block, everyone
mines on the same terms. This guide walks you through getting a node running
and mining, two ways: with the Launcher, a friendly dashboard, and with the
command line (CLI), for those who prefer direct control. It ends with the full
list of specifications, a short set of commands worth knowing, and a wallet-
recovery guide.

Two ideas to keep in mind throughout. First, your wallet holds your keys, but
your coins live on the chain — the wallet file is not the money, it is the key
to the money. Second, mining rewards become spendable only after 100
confirmations (about four hours at the target block time), so a freshly mined
reward will show as "immature" until then.

1. What You Need
----------------
- A normal laptop or desktop. More processor cores mine faster, but any modern
  machine works.
- The Freedom Coin software. You can compile it yourself from the published
  source, or use the pre-built binaries released with each version.

To build from source, install a recent Rust toolchain and run:

    cd freedom-coin
    cargo build --release

This produces the programs in target/release/:

    frqc              the Launcher (dashboard)
    frqc-node         the full node and miner
    frqc-wallet       the command-line wallet
    frqc-wallet-gui   the local graphical wallet

In the examples below, Linux and macOS paths look like ./target/release/frqc-
node; on Windows the same command is target\release\frqc-node.exe. The node
keeps its chain data and wallet in a data directory; you can choose it with
--datadir <path>, and the Launcher and the first-run setup pick a sensible
location for you automatically.

2. The Easy Way: the Launcher
-----------------------------
The Launcher is the simplest path. Start it from the folder containing the
programs:

    ./target/release/frqc

It opens a live dashboard that refreshes every few seconds, showing whether
you are mining, the current block height and sync progress, how many peers you
are connected to, your hashrate, and your spendable and immature balances.
Below the dashboard is a numbered menu. Type a number and press Enter to
choose an action:

- 1 — Start mining. On the first run this creates a wallet for your rewards
  (if you do not already have one), then launches the node and begins mining
  to it. On later runs it simply starts the node and mining again.
- 2 — Stop mining. Stops the node cleanly.
- 3 — GUI Wallet. Shows you how to open the local graphical wallet, which runs
  in your browser at 127.0.0.1:9931.
- 4 — Send FRQC. Sends a payment from your wallet, showing the estimated fee
  for you to confirm first.
- 5 — Recover wallet. Restores a wallet from a 24-word recovery phrase (see
  Section 7).

That is the whole loop: open the Launcher, press 1, and you are mining.
Everything below is the same thing done by hand.

3. The CLI Way: Node Setup and Mining
-------------------------------------
3.1 The guided command
The fastest command-line start is the built-in setup, which prepares a reward
wallet and begins mining in one step:

    ./target/release/frqc-node --setup

It will create (or reuse) a wallet, ask how many processor threads and what
CPU intensity to use, save your answers to a configuration file, and start
mining. After the first time, it prints the exact command to start mining
directly without the prompts.

3.2 Doing it by hand
If you would rather set each piece yourself, first create a wallet and read
its first address:

    ./target/release/frqc-wallet new ~/.freedom-coin/wallet.dat
    ./target/release/frqc-wallet address ~/.freedom-coin/wallet.dat 0

Creating a wallet shows you a 24-word recovery phrase. Write it down and keep
it offline — it is the only way to restore the wallet, and anyone who has it
controls the coins. You may also set a passphrase, which acts as a 25th word.

Now start the node and mine to that address:

    ./target/release/frqc-node --mine --mine-address <YOUR_ADDRESS> --threads 4 --intensity 75 --datadir ~/.freedom-coin

- --threads sets how many processor threads to mine with. Use 0 for automatic
  (about 75% of your cores).
- --intensity is a percentage from 1 to 100 that controls how hard each thread
  works, so you can keep the machine responsive while mining in the
  background.

3.3 Connecting to the network
Your node needs at least one peer to sync and to share the blocks it finds. It
will discover peers automatically, but you can point it at a known node
directly:

    ./target/release/frqc-node --mine --mine-address <YOUR_ADDRESS> --connect <ip:port-or-onion:port>

If you are the very first node on a fresh network and there is genuinely no
one to connect to yet, add --mine-bootstrap so mining can begin before any
peers appear. To run over Tor for privacy, add --tor.

3.4 Stopping the node
To stop a running node cleanly, type stop (or quit) into its console and press
Enter, or press Ctrl+C. A clean stop lets it save its state before exiting.

4. Checking Your Node and Balance
---------------------------------
The Launcher dashboard is the easiest view: height, sync, peers, hashrate, and
balances update on their own. From the command line, you can read your balance
directly:

    ./target/release/frqc-wallet balance --rpc http://127.0.0.1:9932 --address <YOUR_ADDRESS>

The balance separates spendable from immature coins; mining rewards move from
immature to spendable after 100 confirmations.

5. Useful CLI Commands
----------------------
These are the everyday commands worth knowing. The node answers a small set of
read-only status queries on 127.0.0.1:9932; you can ask for them with any HTTP
tool, for example:

    curl -s http://127.0.0.1:9932 -d '{"method":"getblockcount","id":1}'

Read-only node queries (swap the method name in the command above):

- getblockcount — the current block height.
- getblockchaininfo — a summary of the chain, including height and difficulty.
- getconnectioncount — how many peers you are connected to.
- getpeerinfo — details about each connected peer.
- getmempoolinfo — how many transactions are waiting to be mined.
- estimatefee — the suggested fee rate for a transaction right now.

Everyday wallet commands:

- frqc-wallet balance --rpc <url> --address <addr> — check an address balance.
- frqc-wallet address <wallet-file> [index] — show one of your addresses.
- frqc-wallet send <wallet-file> --rpc <url> --to <addr> --amount <FRQC> —
  send a payment (it shows the estimated fee and asks you to confirm; add
  --yes to skip the prompt).
- frqc-wallet consolidate <wallet-file> --rpc <url> — combine many small
  outputs in one address into fewer, which lowers the fee on future large
  sends.
- frqc-wallet estimatefee --rpc <url> — ask the node for the current fee rate.
- frqc-wallet uri <address> [--amount <FRQC>] [--label <text>] — build a
  payment-request link to share.
- frqc-wallet list [directory] — list the wallet files in a folder.
- frqc-wallet verify-seed — check that a 24-word phrase is valid before
  relying on it.
- frqc-wallet --help — the full list of wallet commands.

A note on safety: this guide lists only the commands a miner actually needs.
Freedom Coin's status interface is read-only by default, listens only on your
local machine, and refuses requests from other origins. Commands that could
submit blocks or raw transactions, change peer connections, or widen that
interface are deliberately left out here — a normal miner never needs them,
and using them carelessly can only destabilize your own node, never the
network's rules. The software includes a working pool interface for anyone
who wants to run a mining pool; dedicated documentation for pool operators
has not been published yet.

6. Specifications
-----------------
Property                               Value
-------------------------------------  -----------------------------------------------------------------------------------------------------
Name / ticker                          Freedom Coin / FRQC
Maximum supply                         10,000,000 FRQC (fixed; no pre-mine)
Smallest unit                          1 sovereign = 0.00000001 FRQC (100,000,000 sovereigns per coin)
Target block time                      150 seconds
Blocks per year                        210,240
Emission                               100-year smooth decay, no halvings; year-1 reward 3.5 FRQC per block
Year-1 issuance                        735,840 FRQC
Mining-reward maturity                 100 confirmations
Proof-of-work                          Argon2d, 64 MiB memory-hard, 1 pass, 64-byte output (CPU mining)
Difficulty adjustment                  Per block, 15-block dampened window, 150-second target
Signatures                             Dilithium5 (ML-DSA, NIST FIPS 204); public key 2,592 bytes, signature 4,627 bytes
Key encapsulation                      Kyber1024 (ML-KEM, NIST FIPS 203), for peer-to-peer encryption
Hashing                                SHA3-512 of BLAKE3-512 (64-byte output)
Address format                         Base58Check, version byte 0x46
Maximum block size                     8 MiB
Maximum transaction size               100,000 bytes
Maximum transactions per block         10,000
Consensus minimum fee rate             10 sovereigns per 1,000 bytes (immutable)
Policy fee floor                       scarcity-linked: 100 rising to 5,000 sovereigns per 1,000 bytes by year 100, then to a 12,000 ceiling
Dust threshold                         10,000 sovereigns
Final settlement depth                 100 confirmations (deeper blocks never reorganize)
Recommended confirmations (exchanges)  6
Network ports                          peer-to-peer 9933, status interface 9932, graphical wallet 9931
Network                                mixed clearnet and optional Tor; decentralized peer discovery, no permanent central server required
License                                MIT (open source)

Transaction fees are recycled existing coins paid to the miner, never newly
minted, so no fee can ever increase the total supply beyond the 10,000,000
cap.

7. Wallet Recovery
------------------
Your wallet can be rebuilt on any machine from your 24-word recovery phrase
(and your passphrase, if you set one). The phrase is everything: keep it
written down and offline, never type it into a website, and remember that
anyone who learns it can take your coins. Your balance is not stored in the
wallet file — it lives on the chain — so after recovering, your node needs to
sync before the balance reappears.

Recovering with the CLI
Run the restore command, giving the path where the recovered wallet file
should be written, then enter your phrase (and passphrase) when prompted:

    ./target/release/frqc-wallet restore ~/.freedom-coin/wallet.dat

When it finishes, start your node as usual (Section 3). Once it has synced,
your spendable and immature balances will appear.

Recovering with the Launcher
Start the Launcher, choose 5 — Recover wallet from the menu, and enter your
24-word phrase followed by your passphrase. The Launcher writes the recovered
wallet for you and shows your first address. As your node syncs, the rest of
your funded addresses appear automatically.

If your node is still catching up at the moment you recover, only your first
address may be shown at first; the others fill in on their own once the chain
has synced.

Sound money. Quantum proof. No masters.