Tags give the ability to mark specific points in history as being important
-
v0.1.11
8a3f4fe4 · ·WAM Coin v0.1.11 — the solo miner stops losing blocks, and there is a window If you mine solo, update. v0.1.10's miner threw away most of the blocks it found. It asked the node for new work every five seconds and remembered only the last eight jobs — about forty seconds — while a worker keeps hashing one job until the chain moves, which is around two minutes. So when a block was finally found, the miner usually no longer recognised the job it came from and dropped it without submitting. A miner reported it, and he was right. Roughly two blocks in three were lost this way. The fix keeps every job until the tip it was built on is gone, and the miner now counts blocks it found but could not send, writes each one to a file with its full header, and fails the run instead of finishing quietly. A block you found and did not send is the one failure this program must never report as success. WHAT ELSE IS IN IT ------------------ A graphical wallet, in a file of its own. `wam-qt` opens a window, syncs, creates and encrypts a wallet, sends and receives. It is a separate download on every platform so that a node is not several times larger for the people who never open a window: wam-qt-v0.1.11-x86_64-linux-gnu.tar.gz wam-qt-v0.1.11-x86_64-w64-mingw32.zip wam-qt-v0.1.11-arm64-apple-darwin.tar.gz On Linux it needs your distribution's Qt 5 installed; the archive's README carries the one line for apt, dnf and pacman, read out of the binary rather than remembered. The wallet used to say it was somebody else's. Its welcome screen offered to download "the full Bitcoin block chain (4 GB) starting with the earliest transactions in 2009" — this chain is a few megabytes and started this September. Its Pay To field gave a Bitcoin address as the example of a WAM one. On Windows the firewall prompt named the publisher as "Bitcoin". And all 123 translation catalogues inside it named that coin, in their own alphabets, where no check written in English could see them: 95 of the 123. All of it is corrected, and the check that now looks for it does not read English — it asks whether the translation says what the English says, which needs no alphabet to answer. WHAT IS NOT CLAIMED ------------------- The macOS wallet has been built on a Mac, started on a Mac, and synced the test chain from genesis on a Mac, by the build machine. No person has sat in front of it. The Windows and Linux wallets have been opened by hand. This release changes no consensus rule. The verification commands are added below this text by the workflow, and are deliberately not repeated here: the first draft of these notes carried its own copy, so the page showed two verify blocks that did not agree -- one naming a download path that answers 404, the other naming an account that was suspended on 24 September. Two wrong answers to the one question a careful reader asks. -
v0.1.10
4f2cb2e1 · ·v0.1.10 -- mine alone, with no pool at all You can now mine WAM on your own machine against your own node, with no pool at all. `wam-miner --solo -u YOUR_ADDRESS` needs nothing but a running wamd with server=1. When you find a block you keep the whole 47.5 WAM instead of a share of it, and you wait longer between them. Before you spend any electricity, `wam-miner --check -u YOUR_ADDRESS` builds a real block from your node's template and asks the node whether it is valid. It hashes nothing and answers in about a second. If your node accepts it, every part of a block except the proof of work is correct. Both work on Linux, Windows and macOS, and from this release every build proves the second one on each: a regtest node is started and --check is run against it, so the miner must build a block that node accepts before the release exists. That covers everything in a block except the proof of work. Hashing and submission are proved on hardware this project owns, and never in CI. Running a miner on a hosted build service is against the terms of every one of them, which this project learned the expensive way on 2026-09-24 when a step of ours did exactly that and cost it its code-hosting account for a day. Also fixed, all found by reading rather than by anyone reporting them: The Windows and macOS builds carried Bitcoin's logo. Four icon files ship with the GUI and the rename replaced one of them, so since v0.1.8 the window, the taskbar, the dock and the .exe itself showed the wrong mark on a wallet holding real coins. All four are now generated from one master. The miner reached for the mainnet RPC port whatever --network said, so mining alone on testnet or regtest failed with "could not connect" — which reads as "your node is not running" to somebody whose node is running perfectly, on another port. The port now follows the chain. The announcement bot cut these notes at twelve lines regardless of where a sentence ended. Every release before this one was announced mid-sentence, and twice mid-word. It also called every mainnet release "testnet software", because GitHub's pre-release flag means pre-1.0 and the bot read it as a statement about the chain. The mining pool credited block rewards one block before the coin could be spent — COINBASE_MATURITY is 100 and a coinbase becomes spendable at 101 — so it believed it held 47.5 WAM more than the node would let it send. Nothing was lost and nobody was paid twice; the books reconcile to 0.1 WAM of accumulated transaction fees. What it cost was time: payouts drifted from every ten minutes to every twenty or forty. scripts/treasury_spend.py chose inputs on the same wrong boundary, where the failure would have arrived at broadcast instead. Verify the download before running it. Every archive is listed in SHA256SUMS and that list is signed: gpg --import SIGNING-KEY.asc bash verify_release.sh . The fingerprint to check it against lives in one place and nowhere else: https://wamcoin.org/security/ -
v0.1.9
9c58108d · ·v0.1.9 -- a floor under what a new node will follow This release sets nMinimumChainWork on mainnet. Until now it was zero, so a node installed today would follow whatever chain the first peer offered it, however cheaply that chain had been produced. It is not a consensus change and this release is not mandatory. A v0.1.8 node accepts exactly the same blocks, stays on the same chain and needs no update. The value decides only which header chains a node will consider while it is syncing. Why it was not set at launch, twice over. On 15 September there was no history to point at, and a fabricated floor would have been theatre. Then setting one on testnet on 7 September had stopped every new node syncing at all: a non-zero value turns on the header presync path, where upstream asserts Bitcoin's 2016-block retarget schedule, and a chain that retargets every block fails that assertion at height 1. Doing this on launch day would have blocked every newcomer in the week newcomers are the entire point, and it would have looked like a network outage rather than a parameter. The check that watches this was itself asking the testnet node until 18 September, so it did not report the gap either. The assertion is removed, testnet has run with a floor since, and this release was measured before it was cut: a node built from this source, starting with nothing, accepted all 2,645 headers through that presync path and reached the chain tip in 42 seconds from a peer on another continent. The value is 0x2adc39e008 -- 184,083,406,856 hashes, the work at block 936, about two days of network work and 64% of what the chain carried when it was chosen. A value above the real chain's work is how this setting fails badly, so the margin is wide in the direction that matters. What it buys: a peer can no longer walk a fresh node onto a cheap fabricated history. What it does not buy: anything against an attacker who really does out-work the chain. It is a floor, not a shield.
-
v0.1.8
c6143d5e · ·Windows: a node and a miner you can download and verify This release adds Windows. Two archives, signed like the Linux ones, with no WSL and no Linux needed: the node, and the miner. Consensus is unchanged from v0.1.7. No node has to upgrade, and nothing here can fork a node that does not. If you run Linux and everything works, there is nothing in this release for you. WHY IT MATTERS ANYWAY WAM uses RandomX so that an ordinary desktop processor can compete for blocks, and most ordinary desktop processors are inside Windows machines. The node has cross-compiled since 7 September and every platform-build run has proved it agrees with the chain -- but the miner had never been built for Windows at all, so a Windows user could hold a wallet and not take part in the proof of work. That was the wrong half to be missing. WHAT WAS MEASURED, ON WINDOWS 11 --self-test SHA-256, stratum byte order, difficulty targets, and RandomX against both official test vectors connected pool.wamcoin.org, subscribed, authorized 1.88 kH/s 8 of 24 cores, 2 GiB dataset built in 5.5 s shares 10 accepted, 0 rejected block 8478 solved by the Windows binary, accepted, and paid Zero rejected shares is the number that matters: a single byte-order mistake in the header, the nonce or the target comparison gives all rejected and no error message. The node archive was also unpacked on a Windows runner and synced the test chain from the genesis block over the real peer-to-peer protocol, agreeing with the Linux nodes at heights 0, 1, 5000 and 6000 -- block 1 included, where the 5% treasury rule is first enforced. The bytes that did that are the bytes in the archive, not an earlier build of them. YOUR ANTIVIRUS WILL PROBABLY OBJECT TO THE MINER It is a false positive and we would rather you heard it from us. Windows Defender deleted wam-miner.exe fourteen seconds into its first run and called it Trojan:Win32/Bearfoos.A!ml. A program that opens a network connection and then uses every processor core behaves exactly like the cryptojacking malware that infects people without asking. No scanner can tell them apart by behaviour, because the behaviour is identical; the difference is that you chose this one, and it mines to the address on its own command line and nowhere else. A publisher certificate is the only thing that removes the warning and this project does not have one. So verify the file instead of trusting a verdict -- the SHA256 list is signed with a key kept offline, and its fingerprint is in SECURITY.md. If you want to mine, allow that one file by name in your antivirus, never a folder and never the whole machine. If you would rather not, the node is a separate archive, is not a miner, and is not normally flagged. Anyone claiming to be us and telling you to switch your antivirus off entirely is not us. docs/MINE.md has the seven lines for Windows, and the warning in full. ALSO * the Linux archives are unchanged in behaviour; the miner was refactored so one source builds for both platforms, and its socket error reporting on Linux is now read before freeaddrinfo() can overwrite it * mainnet is still 15 September 2026, 00:00 UTC * macOS builds and passes the consensus gate on every run, and is still not a signed download. It is next, and docs/ROADMAP.md section 7 says what is missing -
v0.1.7
49f8e3ff · ·A node can now find the network when DNS cannot be trusted This release is NOT mandatory. No consensus rule changed, and a v0.1.6 node validates exactly the same blocks, connects to the same peers and is in no danger. Upgrade when convenient. WHAT CHANGED Fixed seed nodes are compiled into the binary for the first time. Until now the three names in chainparams were the only way a new node could discover WAM, so whoever could forge one DNS answer for seed1.wamcoin.org decided who every newcomer met -- without touching a block, a key or a rule, and without anything in the project noticing. The domain's transfer and delete locks were already on; the zone was not signed, and now is. Only machines this project runs are in that list. A fixed seed is compiled into every copy of the software and cannot be withdrawn from binaries already downloaded, so an independent operator's address does not go in without their explicit consent, and neither has been asked. The binaries stop naming a different coin. wam-cli was telling people to "make sure the bitcoind server is running" and to run `bitcoin-cli -help`, which is what a stranger sees at the exact moment something has gone wrong. Thirty-seven such strings across eleven files, message text only -- the include paths, source filenames and makefile variables are untouched, and half the tests for that rename assert what it must not change. WHAT IT DOES NOT FIX Hashrate. The test network runs at around 13 kH/s and one ordinary desktop is a meaningful fraction of it. That is true of every new proof-of-work chain, it is not fixed by software, and the guidance stands: 20 confirmations wallet-to-wallet, 60 for an exchange deposit. VERIFYING THIS RELEASE git clone https://github.com/wam-coin-official/wam-coin bash wam-coin/scripts/verify_release.sh ~/Downloads Check the signing fingerprint against SECURITY.md over HTTPS, not against this page. A release page is something an attacker gets to write. -
v0.1.6
b718ed79 · ·v0.1.6 -- the miner survives a pool that stops talking For miners. Consensus is untouched: a node on v0.1.5 and a node on v0.1.6 agree on every block, and no node has to do anything for this release. WHAT WENT WRONG On 24 August a miner on this network held one job for six hours. The pool had sent it at 06:18 for height 1370; the chain reached 1430 without it. At 12:36 a worker solved that six-hour-old job -- work on a block buried sixty deep -- and then the hash rate went to zero. Nothing was broken in a way anything could see. The TCP connection was half-open: recv() returned neither zero nor an error, so the miner had no event to react to. SO_KEEPALIVE is set, and Linux waits two hours before its first probe. The process was alive, the connection was established, and it was carrying nothing. WHAT CHANGED The miner now measures the silence itself. If the pool sends nothing at all for ten minutes -- no job, no reply to a share, nothing -- the connection is treated as dead whatever the socket claims, and it reconnects. Two mistakes were made building it, both caught by testing rather than reasoning. The check has to come after the read, or it measures how long the miner went without looking instead of how long the pool went without speaking. And time in which the miner was not listening cannot be charged to the pool: RandomX rebuilds its dataset on a seed change, which stopped the loop for 78 seconds here, and the first two versions threw away a healthy connection because of it. Verified in three directions: a silent pool with no job (reconnects), a silent pool while holding a job across a 79-second dataset rebuild (no false alarm, then reconnects on the real silence), and the live pool for 170 seconds with the limit set to 60 (never fires, shares accepted throughout). WAM_MINER_SILENCE_SECONDS overrides the ten minutes. It exists so the behaviour can be watched in a minute instead of ten. IF YOU MINE Update. A miner that stops silently loses everything it would have earned and tells you nothing; the only reason this one was found is that its owner noticed the fan. wam-miner-v0.1.6-x86_64-linux-gnu.tar.gz IF YOU RUN A NODE Nothing here is for you, but v0.1.5 is still the release you need. Anything older enforces a consensus payout to the burn placeholder and will fork off the mainnet at height 1 on 15 September. -
v0.1.5
a6bc6d79 · ·v0.1.5 -- the treasury address is real v0.1.4 and everything before it enforce a consensus payout to WNg2svm2qApxheBKndKGQ9sRwporvRgRpT, which is the burn placeholder: twenty zero bytes. A chain started on any of them sends five percent of every block from height 1 to 400,000 to an address nobody owns, forever, and no node objects because the rule is being followed exactly as written. This release carries WdMMqW1DcgWZ6HtyJuEMdce6QkKg4raGmE, generated on an air-gapped machine, written on paper twice, verified by the machine against the paper before it was used, and checked again by decoding it here: 34 characters, version byte 73, base58check valid, not the burn address, and not the founder's. check_consensus_final.sh mainnet every consensus input is final -- a chain started now can stand The treasury key is deliberately separate from the founder's. Treasury money is spent, and spending means putting its key on a connected machine; the founder reserve is locked until 2027 and must never touch a network. Sharing one key would expose all 2,750,000 WAM every time a server bill was paid. And with two addresses anyone can watch the chain and see the founder's reserve has not moved, instead of being asked to believe it. Verified in the packaged tarball rather than the source tree: the binary contains the treasury address once, the founder address once, and the burn placeholder zero times. -
v0.1.4
3a3e9e86 · ·v0.1.4 -- the chain could mint money nobody could move Every wallet on WAM refused to fund any spend, on every network, from block 1. The pool had found 150 blocks, owed 16,176 WAM to two miners and had paid nothing since the chain started; fundrawtransaction failed identically for an ordinary wallet holding 16,387 WAM. estimatesmartfee learns a fee rate by watching what transactions pay. Every transaction on a new chain is a coinbase, coinbases pay no fee, so after 444 blocks it still answered "Insufficient data or no feerate found". Upstream's answer to that is -fallbackfee, and upstream ships it disabled -- correct for Bitcoin, whose fee market was liquid long before the default was chosen, and a deadlock here: the estimator needs fee-paying transactions to exist before it will let one be made. WAM-024 sets DEFAULT_FALLBACK_FEE to 20000 sat/kvB in wallet.h, the value Bitcoin itself shipped until v0.19 and 20x the min relay fee. Wallet policy, not consensus: it forks nothing and invalidates no block, and -fallbackfee still overrides it. Verified from the packaged tarball rather than the source tree: with -fallbackfee=0 forced it still fails, with nothing configured at all it funds and broadcasts. Also in this tag: the site stated the founder's restriction without the reason for it, the Arabic footer still denied the two independent reviewers weeks after the English was corrected, and CHANNELS.txt named five accounts and said "there are no others" while the explorer, the pool and the Electrum server had been live for days -- so the one file whose job is to say what is ours was calling three of our own hosts impostors, days before the pool gets registered where miners look.
-
v0.1.3
da48f98a · ·v0.1.3 -- the first release that runs on the CPU you have v0.1.1 and v0.1.2 both carry 746 AVX-512 instructions inside wamd, because RandomX was built with ARCH=native and the node links it statically. They die with SIGILL on any CPU without AVX-512 -- most server CPUs before EPYC Genoa, and every consumer Intel before Ice Lake. Do not run either. RandomX is now built for the x86-64 baseline and still takes the AES-NI path at runtime when the CPU offers one. check_isa_baseline.sh reads the packaged binaries and refuses the release if any instruction above the baseline is in them, so this cannot be published again without something failing first.
-
v0.1.2
fa72070b · ·v0.1.2 -- one build, on every machine, before block 1 v0.1.1 was correct in every consensus value and reported itself as 0.1.0, because the version lived behind a marker that could not tell one version from another. That is fixed, and the release workflow now refuses to build a tag that disagrees with the source before it compiles anything. Cut while the testnet chain stands at height 0. The chain it is about to carry was reset because its first thirty blocks were mined under a rule that changed underneath them, and no fresh node could validate past height 1. Starting the new chain with one binary on all three machines is the cheapest possible time to make that impossible: after block 1 there is no later.
-
v0.1.1
d22913b3 · ·v0.1.1 -- the first build that is actually this network v0.1.0 was tagged on 2026-08-15. In the three days after it, the founder reserve was locked, all three genesis blocks were re-mined, and the treasury was given its own address. The tarball was never rebuilt, so the published download described a different network: a node from it cannot connect to this chain at all, and one did exactly that for four days. This build carries the current genesis blocks for mainnet, testnet and regtest, the real mainnet founder address, and the separated treasury. scripts/check_release_matches.sh now downloads whatever is published and looks inside the binary for the constants chainparams.cpp declares, so this cannot happen again without something failing loudly.
-
v0.1.0
34b2f882 · ·WAM Coin v0.1.0 -- first testnet release A RandomX fork of Bitcoin Core v28.1. Testnet only. Built and published by GitHub Actions on ubuntu-22.04, so the binary starts on Ubuntu 22.04 and 24.04 alike. Nothing was uploaded by hand. Every difference from Bitcoin Core is an anchored transformation in scripts/patch_upstream.py; run it with --list to read them all. WAM has no market value and may never have one, and this code has had no third-party security audit.