MAINNET LIVE

Mine it. Send it. Own it.

SPW is a proof-of-work cryptocurrency you can mine with a CPU, send for fractions of a cent, and hold in full self-custody. No staking. No governance tokens. No bloat.

SPW Coin
Block Height
Difficulty
Block Reward
Min Fee

Why Sparrow?

A sparrow is small — yet it navigates the world with instinct and precision. It survives winters that fell larger creatures. It builds with what it has.

SPW is built on the same philosophy. No bloated VM, no governance tokens, no venture capital. Just a clean proof-of-work blockchain with honest rules and a supply cap of 21,000,000 SPW.

1 SPW = 100,000,000 feathers. Bell-curve emission: starts at 1 SPW/block, peaks in years 5–7, then long gradual decay. Supply cap: 21,024,000 SPW.

Sparrow SPW Coin

Built to Last

Every design decision favours simplicity, honesty, and longevity.

Proof of Work

RandomX Proof-of-Work with automatic difficulty adjustment every 2,016 blocks. CPU-optimized and ASIC-resistant — anyone can mine competitively. No shortcuts, no stake.

UTXO Model

Bitcoin-style unspent transaction outputs. Clean, auditable, and resistant to double-spend. No global state, no hidden complexity.

Low Fees

Minimum fee of 0.0001 SPW per transaction. Miners collect fees as incentive. Cheap to use, sustainable to run.

Privacy: Stealth Addresses

ECDH-based one-time addresses. Recipient identity hidden on-chain. Dual spend/view key wallet keeps your finances private.

REST API

Simple JSON API for balances, UTXOs, transactions, blocks, and broadcasting. No SDK required — any HTTP client works.

Browser Wallet

Keys generated and transactions signed entirely in your browser. Your private key never leaves your device. No extension needed.

Technical Specifications

Everything you need to know about the protocol.

Ticker
SPW
Full name
Sparrow
Max supply
21,000,000 SPW
Smallest unit
1 feather = 0.00000001 SPW
Consensus
Proof of Work (RandomX — same algorithm as Monero)
Target block time
60 seconds
Difficulty adjustment
Every 2,016 blocks (~1.4 days), max 4× per period
Initial block reward
1.0 SPW (bootstrap phase, yr 0–4)
Emission schedule
Bell-curve table (see §7); tail halvings every 2 yr after yr 20
Address prefix
D… (secp256k1, Base58Check, version 0x1e)
Signature scheme
secp256k1, DER-encoded, SHA-256d digest
Minimum fee
0.0001 SPW per transaction
API port
TCP 8333
Storage
SQLite (WAL mode)
Pre-mine
None

Your keys, your coins.

The SPW web wallet runs entirely in your browser. Keys are generated locally using secp256k1 — the same curve as Bitcoin. Nothing is ever sent to a server.

SPW Coin
Also on Chrome Web Store

SPW Wallet, in your browser bar

Same self-custody wallet, packaged as a Chrome extension. One click to open — no website, no remote code, no account.

SPW Wallet on the Chrome Web Store
Open Chrome Web Store →

Design Principles

The decisions that shape Sparrow — and what they mean in practice.

Bitcoin's UTXO simplicity, with user-optional privacy.

A clear positioning in a market crowded with high-FDV launches: pure proof-of-work, no pre-mine, no governance token, no VC backing — auditable from first principles.

A return to early-cryptocurrency principles.

Small but complete. Sparrow combines a Bitcoin-style UTXO model with Monero-style RandomX proof-of-work — a deliberate “old-school” design that prioritises auditability and individual sovereignty over hype.

CPU-friendly mining is genuinely accessible.

RandomX is memory-hard and ASIC-resistant. Anyone with a laptop can participate in consensus — a rare property in 2026, when most networks are dominated by capital-intensive hardware.

No pre-mine. No VC. No governance token.

A genuinely fair launch in an era of high-FDV insider allocations. The chain ships an auditable codebase, a simple UTXO model, and a public REST API — anyone can run a node and verify the rules themselves.

Optional stealth addresses, no privacy-coin compromise.

Default-transparent UTXO with opt-in ECDH stealth addresses gives users meaningful privacy without forcing the whole network into the regulatory category that pure privacy coins occupy.

Lightweight, easy to audit, easy to self-host.

A single Python miner client and a documented REST API are enough to fully participate. Compared with multi-million-line L1 stacks, Sparrow is something one developer can actually read end-to-end.

Roadmap

Where we've been, where we're going.

Done

Genesis & Core Protocol

PoW chain, UTXO model, Merkle tree, difficulty adjustment, block halving logic.

Done

Transaction Fees

Minimum-fee enforcement, fee collection by miners, CLI send with fee support.

Done

REST API & Web Wallet

Full JSON REST API. Browser wallet with in-browser key generation and signing.

Done

spw.network Launch

Official website live. Mainnet running.

Done

Privacy: Stealth Addresses

ECDH-based one-time addresses. Recipient identity hidden on-chain. Dual spend/view key wallet.

In Progress

P2P Network

Peer discovery, block propagation, transaction relay. Multiple independent nodes.

Done

Address Explorer

Live address lookup — balance, UTXOs, and transaction history.

Planned

Mining Pool Protocol

Stratum-compatible pool support so miners can work together.

Planned

Interop Research

Permissionless protocol bridge research for peer-to-peer asset interchange without a trusted intermediary.

FAQ

Straight answers to the questions people actually ask about Sparrow.

What is Sparrow (SPW)? +

Sparrow (SPW) is a Proof-of-Work cryptocurrency. It uses RandomX (the same algorithm Monero uses) so anyone with a standard CPU can mine, and a Bitcoin-style UTXO model with Base58Check addresses. Mainnet launched on April 19, 2026. Total supply is 21,024,000 SPW. There is no pre-mine, no VC, no governance token — every SPW in circulation has been mined by someone.

Is SPW Network legitimate? Is it a scam? +

SPW is open-source and verifiable. The full chain code, miner client, and wallet are on GitHub. The whitepaper, public REST API at spw.network/api, and explorer are live. There is no token sale, no airdrop, no presale — the only way to acquire SPW is to mine it or receive it from someone who did. Anyone can audit the rules by reading the source or running their own miner.

How is SPW different from Bitcoin or Monero? +

Like Bitcoin: UTXO model, fixed supply, Base58Check addresses, deterministic emission, public ledger.
Like Monero: RandomX PoW (CPU-friendly, ASIC-resistant), optional ECDH stealth addresses for recipient privacy.
Different from both: 60-second block time (vs Bitcoin's 10 min), opt-in privacy per transaction (vs Monero's mandatory privacy), and a smaller, fully-auditable codebase one developer can read end-to-end.

Can I mine SPW with my laptop? +

Yes. RandomX is memory-hard and CPU-optimized. A standard laptop, desktop, or VPS works — no GPU or specialized hardware needed. The one-line installer at spw.network → Mining handles Python setup, dependencies, wallet generation, and starts the miner. There is no pool fee, no registration, no KYC. Mining rewards land directly in the address you generate locally.

Was there a pre-mine, ICO, or VC funding? +

No. The genesis block on April 19, 2026 was mined like any other block. There is no founder allocation, no VC investment, no governance token, no airdrop, no team unlock schedule. The bell-curve emission is intentionally low in the first four years (1.0 SPW/block) so the project starts on equal footing — no one had a head start.

Where can I buy or trade SPW? +

SPW is currently mining-only. There are no centralized exchange listings yet. The network just launched mainnet in April 2026 and is in its early phase — exchange access will follow community and miner participation. The protocol itself is fully functional today: you can mine, receive, send, and audit on-chain via the public API.

Who runs Sparrow Network? +

SPW is a public, permissionless network — anyone can run a node and mine. There is no foundation, no DAO, no governance token, no admin keys. Development is open-source. The reference node currently operates spw.network as a public service while the P2P gossip protocol is being finalised; once P2P ships, the network is fully decentralised by design.

What is the total supply and emission schedule? +

Maximum supply: 21,024,000 SPW. Emission follows a custom bell curve: low rewards in years 1–4 (1.0 SPW/block), peak in years 5–8 (3–5 SPW/block), gradual decline through year 20, then small tail emissions to keep miners incentivised. Block time targets 60 seconds; difficulty retargets every 2,016 blocks (~33 hours).

Is SPW a privacy coin? +

No, SPW is default-transparent — every transaction is visible on the public ledger, like Bitcoin. Users can opt in to stealth addresses (ECDH-based one-time addresses) when receiving payments to hide their identity. Unlike full privacy coins where every transaction is mandatorily obfuscated, SPW lets users choose privacy per transaction.

What are the risks? +

SPW is an early-stage experimental network. Mainnet launched April 2026, ecosystem is small, P2P gossip is still being finalised, and there are no exchange listings yet. Network value depends on adoption that has not happened yet. Treat any SPW you mine or hold as experimental — not as an investment. The code is open and the rules are fixed, but a small network can stay small.

Address Explorer

Look up any SPW address to see its balance and full transaction history.

Enter an address above to explore transactions
Recent Blocks Live
HeightHashTXRewardAge
Loading…

Mine SPW

Proof-of-Work CPU mining on the Sparrow Network — open to everyone.

Overview

Sparrow (SPW) uses RandomX Proof-of-Work — the same algorithm as Monero. Blocks are produced every 60 seconds. Difficulty adjusts every 2,016 blocks (~1.4 days) to maintain that target. RandomX is CPU-optimized and memory-hard, making it ASIC-resistant. Difficulty adjusts automatically to whatever hashrate the network attracts.

Mining rewards go directly to your wallet address. There is no pool fee, no registration, and no KYC. Download the script, point it at the network node, and start mining.

⛏ The miner connects to https://spw.network/api as the canonical chain node. Blocks you mine are submitted to this node and immediately credited on-chain.

One-Line Install Recommended

The installer detects Python, sets up a virtualenv, downloads the miner client, generates a wallet, and writes a start.sh / start.ps1 for future runs. No manual steps — just paste one of the lines below.

Linux / macOS

curl -fsSL https://spw.network/install-miner.sh | bash

Then run ~/spw-miner/start.sh to start mining. Override defaults with SPW_ADDRESS=… SPW_CPU=50 curl … | bash.

Windows (PowerShell)

iwr -useb https://spw.network/install-miner.ps1 | iex

Requires Python 3 from python.org. The randomx package builds a C++ extension on first run; if it fails, the easiest fix is WSL: wsl --install, restart, then use the Linux/macOS line inside Ubuntu.

Already mining? Re-running the installer is safe — it reuses your existing wallet and venv. Set SPW_ADDRESS=… if you want a different reward address.

Quick Start (manual, if you don't trust pipe-to-shell)

1

Install Python, create a virtualenv, install deps

# Linux (Ubuntu/Debian) — venv avoids the PEP 668 "externally-managed-environment" error
sudo apt install python3 python3-venv python3-full build-essential -y
mkdir -p ~/spw-miner && cd ~/spw-miner
python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install requests ecdsa randomx
# macOS (with Homebrew)
brew install python
mkdir -p ~/spw-miner && cd ~/spw-miner
python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install requests ecdsa randomx
Why a venv? Ubuntu 24.04 / Debian 12+ / recent macOS Python block system-wide pip install with a PEP 668 externally-managed-environment error. A virtualenv is the clean fix and isolates the miner from your system Python. Every new terminal: cd ~/spw-miner && source venv/bin/activate before running miner commands.
2

Download the miner script (into the same ~/spw-miner folder, with venv still activated)

curl -O https://spw.network/miner_client.py
curl -O https://spw.network/spw_words.py
3

Generate a wallet address (first time only)

# inside the venv from step 1
python miner_client.py --new-wallet

⚠️ Write down the recovery phrase (12 words) on paper. It is the only way to restore your wallet. The phrase can be imported into the web wallet.

4

Start mining

# still inside the venv (re-activate with: source ~/spw-miner/venv/bin/activate)
python miner_client.py \
  --node    https://spw.network/api \
  --address YOUR_SPW_ADDRESS \
  --cpu     80

Replace YOUR_SPW_ADDRESS with the address from step 3 (starts with D, e.g. DDxyz…). --cpu 80 uses 80% of one core.

Download Script

miner_client.py

Single Python file · requires requests, ecdsa, randomx

↓ Download miner_client.py

CLI Options

FlagDefaultDescription
--node <url>SPW node URL to mine on (required). Use https://spw.network/api for the main network.
--address <addr>SPW address that receives block rewards (required)
--cpu <1-100>80CPU usage percentage per core. 100 = full throttle, 50 = half speed.
--new-walletGenerate a new SPW address + private key locally, then exit. No network required.

Get a Wallet Address

You need an SPW address before mining. There are two ways to get one:

Option A — Use the web wallet (recommended)

Open wallet.spw.network in your browser and create a new account. Your address starts with D. Copy it from the wallet home screen.

Option B — Generate locally with the miner script

python miner_client.py --new-wallet

=== New SPW Wallet ===
  Address    : D9xKf...
  Public key : 02a3b4...
  Private key: 7f8c2d...

Save your private key securely. It cannot be recovered if lost.
The private key controls your funds. Write it down or store it in a password manager. The miner script does not store your private key anywhere — only the address is used during mining.

Reward Schedule

SPW has a total supply of 21,024,000 SPW with a custom bell-curve emission — rewards grow in the early years, peak around year 5–8, then gradually decline.

Year 1–4
1.0 SPW/block
Year 5–6
5.0 SPW/block
Year 7–8
3.0 SPW/block
Year 9–12
~1.8 SPW/block
Year 13–20
declining
Year 20+
tail emissions

Block time target: 60 seconds · Difficulty adjusts every 2,016 blocks (~33 hours)

FAQ

When will my reward appear in my wallet?
Immediately after your block is accepted by the node. Open the web wallet and check your balance. Use the balance API: GET https://spw.network/api/balance/<address>
Can I run multiple miners on the same address?
Yes. Multiple machines can mine with the same reward address. Only one will win each block — whoever submits a valid PoW first.
What does "Block rejected: prev_hash mismatch" mean?
Another miner found a block while you were working. The miner automatically fetches the new chain tip and starts over on the next block. This is normal.
Does the miner need to run 24/7?
No. You earn rewards proportional to the time you contribute. Start and stop the miner whenever you like — there is no penalty for going offline.
How do I reduce CPU heat or noise?
Lower the --cpu value. --cpu 30 uses roughly 30% of one core and will run cool on most hardware.
Is pool mining supported?
Not yet. Currently all miners compete solo against the same canonical node. Pool support is planned for a future release.

Sparrow (SPW)

"Small but complete, wild and resilient."

A Proof-of-Work cryptocurrency with RandomX mining, a bell-curve emission schedule, and built-in stealth address privacy — designed to be simple, auditable, and permanently censorship-resistant.

Version 0.2.1 · Genesis Block  April 19, 2026 · Contact  support@spw.network

§ Abstract

Sparrow (SPW) is a decentralized, peer-to-peer digital currency built on a Proof-of-Work consensus mechanism using RandomX — the same memory-hard, CPU-optimized algorithm as Monero — providing ASIC resistance and broad mining accessibility. It introduces a bell-curve token emission model with a hard cap of 21,024,000 SPW, providing a low-inflation bootstrap phase, a peak-growth period in years five through seven, and a long graceful decay thereafter. Transactions are secured by SECP256k1 elliptic-curve digital signatures. Optional sender-side stealth addresses based on Elliptic-Curve Diffie-Hellman (ECDH) allow recipients to receive funds without publishing a reusable public address. The minimum transaction unit is one feather (10−8 SPW), and the chain targets a 60-second block interval with automatic difficulty adjustment every 2,016 blocks.

01 Introduction

1.1 Motivation

Since the publication of Bitcoin's whitepaper in 2008 [1], the cryptocurrency ecosystem has grown enormously. Yet the fundamental promise — a permissionless, censorship-resistant medium of exchange not subject to any single authority — has often been diluted by complex governance structures, opaque pre-mines, or privacy features grafted on as an afterthought.

Sparrow is a return to first principles. It is intentionally small in scope, easy to audit, and built to survive. Like the bird after which it is named, it occupies a modest niche but does so with extraordinary resilience.

1.2 Design Goals

  • Simplicity. Every component — from the block header to the wallet — is readable by a competent programmer in a single sitting.
  • Fair launch. No pre-mine, no founder reward, no investor allocation. The emission schedule intentionally starts slow so early participants have no overwhelming advantage.
  • Long-term security. A tail emission ensures miners are compensated indefinitely, avoiding the fee-only security model that may threaten fixed-supply coins.
  • Privacy by design. Stealth addresses are a first-class feature of the protocol, not a layer-two add-on.
  • Auditability. The full reference implementation is open source. Every consensus rule is traceable to fewer than 2,000 lines of Python.

02 Protocol Overview

Sparrow follows the UTXO-based model pioneered by Bitcoin. Nodes maintain a chain of blocks, each containing a set of transactions. New blocks are produced by miners who perform computational work and are rewarded with freshly minted SPW. The following parameters govern the protocol:

ParameterValue
Coin nameSparrow (SPW)
Base unit1 feather = 10⁻⁸ SPW
Hard cap21,024,000 SPW
Target block time60 seconds
Difficulty retargetEvery 2,016 blocks (~1.4 days)
Proof of WorkRandomX (same algorithm as Monero)
Signature schemeECDSA over SECP256k1
Address prefixD… (Base58Check, version 0x1e)
PrivacyECDH stealth addresses (optional)
Minimum fee0.0001 SPW (10,000 feathers)
Default fee0.001 SPW (100,000 feathers)
Genesis timestamp2026-04-19 (Unix 1745078400)
API port8333
Genesis messageSparrow SPW 0.2.1 - RandomX PoW - Small but complete, wild and resilient. 2026-04-19

03 Transactions

3.1 UTXO Model

Sparrow adopts the Unspent Transaction Output (UTXO) model. The balance of an address is the sum of all unspent outputs locked to it. Spending requires providing a valid cryptographic signature in the transaction input.

Each transaction is identified by its txid, which is the double-SHA-256 hash of its canonical JSON serialisation (inputs, outputs, timestamp, tx_pubkey — sorted keys):

txid = SHA256d(JSON_canonical(inputs ∥ outputs ∥ timestamp ∥ tx_pubkey))

A coinbase transaction has exactly one input with prev_txid = "000…000" (64 zeros) and prev_vout = −1. It creates new SPW according to the emission schedule and may also collect transaction fees from the block.

3.2 Signing

Each non-coinbase input must carry a DER-encoded ECDSA signature and the corresponding compressed public key. The signing digest commits to all inputs (by reference only), all outputs, the transaction timestamp, and the tx_pubkey field used for stealth:

# Signing data (Python) raw = json.dumps({ 'inputs': [{'prev_txid': i.prev_txid, 'prev_vout': i.prev_vout} for i in inputs], 'outputs': [{'amount': o.amount, 'address': o.address} for o in outputs], 'timestamp': timestamp, 'tx_pubkey': tx_pubkey, }, sort_keys=True).encode() digest = SHA256d(raw) # 32 bytes, passed to ECDSA sign

3.3 Fees

The fee for a transaction is the difference between the total value of its inputs and the total value of its outputs:

fee = Σ(inputs) − Σ(outputs)  ≥  MIN_FEE (10,000 feathers)

Fees accumulate over all non-coinbase transactions in a block and are claimable by the miner in the coinbase output, subject to:

coinbase_output  ≤  block_reward(height) + Σ(fees)

04 Proof of Work

4.1 Algorithm

Sparrow uses RandomX for block hashing — the same memory-hard, CPU-optimized algorithm used by Monero [2]. RandomX executes a randomly generated program inside a virtual machine whose working set requires approximately 256 MB of fast memory, making it prohibitively expensive to implement in custom silicon. A block is valid if its RandomX hash, interpreted as a 256-bit big-endian integer, is below the current target:

RandomX(key, block_header)  <  target(bits)

The key is derived from the block height and rotates every 2,048 blocks (~1.4 days), forcing miners to reinitialise their virtual machine periodically. This key schedule is enforced at the consensus layer and raises the amortised cost of building specialised hardware pipelines.

# Key schedule (from core/spw_rx.py) RX_KEY_INTERVAL = 2048 rx_key(height) = f'SPW-v1-epoch-{height // RX_KEY_INTERVAL}'.encode()

The bits field encodes the target in compact form (identical to Bitcoin's nBits). The genesis block uses bits = 0x200147ae, calibrated so that a single CPU core running RandomX in light mode (~24 H/s) solves the genesis block in approximately 8 seconds — accessible to any participant during network bootstrap.

Miners increment a 64-bit nonce until a valid hash is found. Unlike SHA-256d, RandomX cannot be efficiently accelerated by ASICs or FPGAs; the dominant hardware is the standard CPU, placing all participants on equal footing.

4.2 Difficulty Adjustment

Difficulty is adjusted every 2,016 blocks (approximately 1.4 days at the 60-second target). The algorithm compares the actual time elapsed for the last 2,016 blocks against the ideal time (2,016 × 60 s = 120,960 s) and scales the target proportionally, clamped to a 4× change per interval — preventing runaway adjustments:

# Difficulty adjustment (simplified) ideal = DIFF_ADJ_INTERVAL * TARGET_BLOCK_TIME # 120,960 s actual = timestamp[height] - timestamp[height - DIFF_ADJ_INTERVAL] ratio = clamp(actual / ideal, 0.25, 4.0) new_target = current_target * ratio new_bits = target_to_bits(new_target)

The 2,016-block retarget interval was chosen to match Bitcoin's proven design. At 60 s block times it fires roughly 14× more often than Bitcoin's 10-minute equivalent, keeping the network responsive to rapid hash-rate changes.

05 Blocks & Chain

Each block consists of a header and an ordered list of transactions. The header commits to the entire transaction set through a Merkle root and chains to the previous block via its hash:

Header FieldDescription
versionProtocol version (currently 1)
heightBlock index (genesis = 0)
prev_hashRandomX hash of the previous block header
merkle_rootMerkle root of all txid's in this block
timestampUnix time in seconds (wall clock of miner)
bitsCompact target encoding
nonce64-bit miner-chosen value

The Merkle tree is built by repeatedly hashing pairs of txid's (SHA-256d) until a single 32-byte root remains. An odd number of leaves is handled by duplicating the last element — identical to Bitcoin's construction [1].

Block validation enforces:

  • Correct prev_hash linkage to the canonical chain tip.
  • Valid Proof of Work against the current bits target.
  • First transaction is coinbase; coinbase output ≤ reward + fees.
  • Correct Merkle root over all transactions.
  • All non-coinbase transactions individually valid (UTXO existence, signatures, fee ≥ MIN_FEE).

06 Privacy

6.1 Stealth Addresses

A major privacy weakness in transparent blockchains is address reuse: every payment to a public address is permanently linkable on-chain. Stealth addresses, as pioneered by Peter Todd and later refined in Monero [4], allow a sender to derive a one-time address from the recipient's published public keys. The output then appears on-chain at that one-time address, which cannot be linked to the recipient's wallet without the recipient's private view key.

In Sparrow, stealth address support is optional and sender-initiated. A wallet may publish a dual-key stealth address consisting of:

  • Spend key pair (S, s): used to spend outputs. The spend public key S is shared publicly.
  • View key pair (V, v): used to scan the chain. The view public key V is shared publicly; the view private key v is used only for scanning.

6.2 ECDH Protocol

All arithmetic is performed on the SECP256k1 curve. The protocol proceeds as follows:

Stealth Payment Flow
Sender knows
V, S (recipient's public keys)
Pick random r, compute R = r·G (tx pubkey)
Compute shared secret:  shared = r·V
One-time pubkey:  P = H(shared)·G + S
Broadcast: output at addr(P), with R in tx metadata
Recipient scans chain
with v (view private key)
Recompute shared:  shared = v·R  =  r·V  (ECDH)
Expected pubkey:  P' = H(shared)·G + S
If addr(P') = addr(P) → output belongs to me

The hash function H maps the shared EC point to a scalar: H(point) = SHA-256(x-coordinate). Spending requires the recipient to know their spend private key s, computing the one-time private key as p = h + s (mod N) where h = H(shared) as an integer.

Privacy guarantee: An external observer sees only the one-time address addr(P) on-chain. Without the recipient's view private key v, they cannot determine which wallet controls the output, nor link multiple payments to the same recipient.

07 Emission Schedule

Sparrow departs from Bitcoin's simple halving schedule in favour of a bell-curve emission: block rewards start intentionally low during the bootstrap phase, rise to a peak in years 5–7, then decay gradually over two decades. This design serves three goals:

  • Reduce the advantage of genesis-era miners relative to later adopters.
  • Provide a strong economic incentive for miners precisely when the network most needs security — during its growth phase.
  • Sustain a long tail emission that funds mining after most SPW is issued, avoiding the cliff-edge security risk of a purely fixed supply.

7.1 Block Reward Schedule

Block reward (SPW/block) by year — 525,600 blocks/year at 60 s target
Bootstrap (yr 0–4)
Growth (yr 4–10)
Maturity (yr 10–20)
Tail (yr 20+)
PeriodBlock RewardBlocksSPW MintedCumulative %
Year 0–4 (bootstrap)1.0 SPW~2,102,400~2,102,400~10%
Year 4–53.0 SPW~525,600~1,576,800~17%
Year 5–7 (peak)5.0 SPW~1,051,200~5,256,000~42%
Year 7–83.0 SPW~525,600~1,576,800~49%
Year 8–91.8 SPW~525,600~946,080~54%
Year 9–101.2 SPW~525,600~630,720~57%
Year 10–122.5 SPW~1,051,200~2,628,000~69%
Year 12–142.0 SPW~1,051,200~2,102,400~79%
Year 14–161.5 SPW~1,051,200~1,576,800~87%
Year 16–181.0 SPW~1,051,200~1,051,200~92%
Year 18–200.5 SPW~1,051,200~525,600~95%
Year 20+ (tail)Halving every 2 yr→ 0→ 100%

7.2 Tail Emission & Hard Cap

After year 20, the reward halves every two years starting from 0.5 SPW, converging to zero asymptotically (with a floor of 1 feather to keep the schedule well-defined). The geometric series of tail halvings contributes approximately the remaining ~5% toward the hard cap:

Hard cap: 21,024,000 SPW  (≈ 2.1 × 1015 feathers)

Unlike Bitcoin's eventual fee-only security model, Sparrow's perpetual tail emission guarantees miners always receive some block subsidy, preserving the economic incentive to honest-mine even if transaction volume is low.

08 Economics

The economic security of any PoW chain rests on the assumption that the cost of mounting a 51% attack exceeds the expected gain. Sparrow's economic model addresses this through several mechanisms:

8.1 Mining Incentives

Block rewards follow the bell-curve schedule detailed in §7. The peak reward (5 SPW/block in years 5–7) coincides with the expected period of maximum adoption, when the cost of acquiring SPW — and thus the economic value of an attack — is likely to be highest. By concentrating emission during this window, Sparrow maximises miner revenue precisely when network security matters most.

8.2 Fee Market

A mandatory minimum fee of 10,000 feathers (0.0001 SPW) per transaction prevents spam and provides a floor for miner revenue independent of the block subsidy. As the chain matures and block rewards decline, the fee market is expected to organically compensate miners. The default wallet fee is 100,000 feathers (0.001 SPW), providing headroom for future fee bidding in congested blocks.

8.3 Fair Launch

There is no pre-mine, no team allocation, and no venture-capital distribution. The genesis block contains a single coinbase transaction paying the node operator who mines it — just as Bitcoin's genesis block paid Satoshi Nakamoto. The first four years of low rewards (1 SPW/block) ensure that any early miner does not accumulate a disproportionate fraction of total supply before the ecosystem is established.

09 Address Format

Sparrow addresses follow the Base58Check encoding used by Bitcoin, with a version byte of 0x1e — chosen so that encoded addresses begin with the capital letter D.

Derivation from a private key:

# Address derivation private_key = random_32_bytes() public_key = SECP256k1.multiply(private_key, G) # 33-byte compressed hash160 = RIPEMD160(SHA256(public_key)) # 20 bytes versioned = bytes([0x1e]) + hash160 # 21 bytes checksum = SHA256(SHA256(versioned))[:4] # 4 bytes address = Base58Encode(versioned + checksum) # starts with "D"

Wallet files are stored as JSON containing the WIF-like private key, the compressed public key, and the derived address. Stealth wallets additionally store separate view and spend key pairs.

10 Network API

The Sparrow node exposes a REST API on port 8333 (proxied at https://spw.network/api/). All endpoints return JSON. The API is stateless and read-only except for transaction broadcast and the embedded wallet endpoint.

EndpointDescription
GET /chain/infoHeight, difficulty, best hash, mempool count, next reward
GET /block/latestFull latest block (header + transactions)
GET /block/<height>Block by height
GET /block/hash/<hash>Block by header hash
GET /tx/<txid>Transaction by txid
GET /balance/<address>Confirmed balance (SPW + feathers)
GET /utxos/<address>Unspent outputs for address
GET /mempoolPending unconfirmed transactions
POST /tx/broadcastSubmit a signed transaction
GET /explorer/<address>Balance + full transaction history
GET /scan/<view_pub>/<spend_pub>Scan UTXO set for stealth outputs
GET /miner/statsLive hash rate, blocks found, CPU limit
GET /walletEmbedded browser wallet application
GET /inscriptionsList OP_RETURN inscriptions (paginated)
GET /inscription/<txid>/<vout>Single inscription by output reference
GET /color/<color_id>Colored-coin token info (symbol, supply)
GET /color/utxos/<address>Colored UTXOs grouped by token for address

11 Security Analysis

11.1 Consensus Security

As in any longest-chain PoW system, an attacker controlling more than 50% of the network hash rate could rewrite recent history. The economic cost of such an attack scales with the total hardware and electricity investment of the honest miners, providing a quantifiable security bound. The bell-curve emission is designed so that this cost is maximised during the network's most vulnerable growth period.

11.2 Transaction Security

Signatures use ECDSA over SECP256k1 with 256-bit security. Forgery requires solving the elliptic curve discrete logarithm problem (ECDLP), which is computationally infeasible with current and near-future classical hardware. The signing digest includes tx_pubkey, preventing signature replay across stealth and non-stealth transactions.

11.3 Double-Spend Protection

Each UTXO is marked spent atomically when the containing block is committed to the database. Chain reorganisations are handled by the longest-chain rule: any fork shorter than the canonical chain is discarded. Merchants should wait for sufficient confirmations — recommended: 6 blocks (~6 minutes) for moderate-value transactions, proportionally more for high-value transfers.

11.4 Privacy Threat Model

Stealth addresses protect recipient anonymity on-chain. They do not protect against:

  • Network-level surveillance (IP address correlation at broadcast time).
  • Exchange/custodian KYC linking.
  • Amount analysis (output values are transparent).

Future protocol versions may introduce Pedersen commitments or range proofs (as in Mimblewimble [3] or Monero's RingCT [4]) to hide amounts. These are out of scope for v0.2.

12 Extended Protocol

Version 0.2 ships two opt-in protocol extensions that add expressive power to the base layer without changing consensus for plain SPW transfers. Both are implemented and active on mainnet.

12.1 OP_RETURN Inscriptions

Any transaction may embed up to 80 bytes of arbitrary data in a single zero-value output. The output is provably unspendable (amount = 0, no address) and is stored in a dedicated inscriptions index rather than the UTXO set, so it imposes no lasting burden on the live coin state.

Encoding rules:

  • Set output.amount = 0, output.address = "", and output.data = <hex string, ≤ 160 chars>.
  • Maximum one OP_RETURN output per transaction.
  • Data is hex-encoded; the node will additionally try UTF-8 decode for human-readable display.
  • The standard fee applies to the rest of the transaction; the zero-value output does not affect fee calculation.

Representative use cases:

  • Document notarisation — hash a contract, deed, or audit report; inscribe the hash on-chain.
  • SPW-native NFTs — inscribe a content hash + metadata URI.
  • Domain names — register name.spw by inscribing a JSON record.
  • On-chain messages — short memos between parties, provably authored by a signing key.
// Inscription transaction output (JSON) { "amount": 0, "address": "", "data": "7b226e616d65223a22666f6f2e737077227d" // UTF-8: {"name":"foo.spw"} }

12.2 Colored Coins

Colored Coins allow any UTXO to carry an additional integer quantity of a user-defined token alongside its SPW amount. The token type is identified by the txid of its issuance transaction (color_id). Token units obey a strict conservation rule enforced at the consensus layer.

Issuance:

  • Set tx.color_issue = "<SYMBOL>" (e.g. "GOLD").
  • Mark output(s) with color_id = "__issue__" and the desired color_qty.
  • On block confirmation the node replaces __issue__ with the actual txid.

Transfer:

  • Reference the issuance txid in output.color_id and set color_qty.
  • Consensus rule: Σ color_qty(outputs) ≤ Σ color_qty(inputs). Excess is burned.
// Issuance transaction (simplified) { "color_issue": "GOLD", "outputs": [ { "amount": 99990000, "address": "Dxxx..." }, { "amount": 0, "address": "Dxxx...", "color_id": "__issue__", "color_qty": 10000 } ] }

12.3 Disk Impact

Both extensions add minimal on-chain overhead. An OP_RETURN inscription adds at most ~120 bytes to the transaction record. A colored-coin output adds two integer columns to the UTXO row (≈16 bytes). At 10% adoption across a 20 tx/block rate, the combined additional storage over ten years amounts to less than 3% of base-chain data.

13 Roadmap

PhaseTargetMilestone
Phase 0
Genesis
Q2 2026Mainnet launch · Genesis block mined · REST API live · Browser wallet deployed · spw.network online
Phase 1
Foundation
Q3–Q4 2026P2P gossip protocol · Multi-node testnet · CLI full-node binary · SPW Explorer public launch
Phase 2
Growth
2027Mobile wallet (iOS & Android) · Hardware wallet integration · Community tooling · Mining pool protocol
Phase 3
Privacy+
2028Confidential transactions · Tor/I2P network transport · Cross-chain interop research
Phase 4
Maturity
2029+Layer-2 payment channels · Mining pool protocol · Formal specification & independent audit

14 Conclusion

Sparrow is a lean, auditable, and privacy-aware Proof-of-Work currency. Its design inherits Bitcoin's proven primitives (UTXO model, SECP256k1, Base58Check, 2,016-block retarget) while introducing meaningful improvements: RandomX mining for ASIC resistance and broad CPU accessibility, a bell-curve emission that rewards later miners fairly, built-in ECDH stealth addresses that protect recipient privacy without requiring a trusted setup, and a tail emission that keeps the chain economically secure indefinitely.

Version 0.2 extends the base protocol with two opt-in layers — OP_RETURN inscriptions and Colored Coins — all enforced at the consensus layer with no trusted third parties.

The codebase is intentionally small. Simplicity is not a limitation — it is the feature. A system that can be fully understood by a single developer in a weekend is a system that can be trusted, audited, forked, and improved by the community it serves.

Like the sparrow: small but complete, wild and resilient.

Questions, contributions, and partnership inquiries:  support@spw.network
Source code and live chain data:  spw.network/api/

§ References

  • [1] S. Nakamoto, "Bitcoin: A Peer-to-Peer Electronic Cash System," 2008. bitcoin.org/bitcoin.pdf
  • [2] V. Buterin, "Ethereum: A Next-Generation Smart Contract and Decentralized Application Platform," 2014.
  • [3] T. E. Jedusor (pseud.), "Mimblewimble," 2016.
  • [4] S. Noether et al., "Ring Confidential Transactions," Monero Research Lab Bulletin MRL-0005, 2015.
  • [5] P. Todd, "Stealth Addresses," Bitcoin development mailing list, 2014.
  • [6] D. J. Bernstein & T. Lange, "Analysis and Optimization of Elliptic-Curve Single-Scalar Multiplication," 2008.
  • [7] NIST FIPS 180-4, "Secure Hash Standard (SHS)," 2015.