Issue #2: Reading a 99% Drop, a Spec Author's Own Mint Bug, DAGKnight's Tie-Breaker, and More
Digging into Kaspa's 99% daily transaction decline since June, a token spec's self-caught mint bug and DAGKnight's first real tie-breaking rule.
In this issue: Kaspa's daily transaction count is down more than 99% since June, and the conclusion most people would draw from that is the wrong one. Plus KRON's creator found a mint bug in his own proposal, DAGKnight's first real tie-breaker, and four explainers worth keeping.
Deep-Dive
Kaspa's Transaction Count Fell More Than 99%. Here Is What That Number Actually Measures
Look up Kaspa's daily transaction count today and you will find about 84,000. In the second week of June it averaged 11.8 million. The decline is real, it is confirmed on two independent sources, and on its own it tells you almost nothing.
On June 30 the Toccata hardfork raised the minimum fee rate from 1 sompi per gram to 100 — a hundredfold increase in the cheapest transaction a node will relay. A sompi is one hundred-millionth of a KAS; a gram is Kaspa's unit of transaction weight. The node guide is explicit that this is a mempool policy rule and not a consensus rule: "Consensus does not have a fee policy; zero-fee transactions are and remain consensus-valid." What changed is what nodes accept, not what the chain considers valid.
The effect is visible to the hour. Counts ran around 44,000 an hour before activation at 16:15 UTC and around 2,500 an hour by the end of that day. The daily total went from 483,051 on June 30 to 67,436 on July 1, an 86% fall inside a day, and the median fee paid moved on the same day from 2,036 sompi to 232,500.
In reality, the bulk of transactions leading up to the Toccata hard fork originated from Kaspadrome. Which, at the time of this writing, is offline. And most likely has been since the hard fork. appears to be offline since the hard fork. It's likely the hard fork introduced changes that Kaspadrome is working to accomodate.
Also This Week
Kaspa's First Covenant Wave Has Crested, and the Covenant UTXO Set Kept Growing Anyway
Transactions creating at least one covenant-bound output peaked at 9,837 on August 1, bottomed at 628 on August 10 and have since sat between 728 and 773 — down 92.6% from the peak, but still roughly thirty times July's typical 24 a day. The covenant UTXO set has gone on accumulating through all of it, reaching 2,730, its highest ever; network-wide distinct senders fell over the same window, so a single deployer finishing a campaign would look identical to a broad change, and we cannot tell the two apart.
A Kaspa Token-Spec Contributor Built His Own Proposal, Found a Mint Bug in It, and Published the Fix
KCC20, the fungible-token covenant specification, is still an unversioned draft — an open pull request on kaspanet/kccs — and tokens have been deployed against it anyway. On August 11 the contributor Shawn reported that a byte-saving shortcut he had proposed days earlier let anyone mint tokens with no signature at all, fixed it in three bytes before anyone built on it, and drew the general lesson himself: "if you exempt one input from authentication to save bytes, that input's own flags become the whole security boundary."
DAGKnight's Tie-Breaking Rule Has Left the TODO Stage
DAGKnight is the parameterless successor to GHOSTDAG, the algorithm that orders Kaspa's parallel blocks, and its implementation had been handling one case — two competing groups of blocks finishing the search tied — with a placeholder and a TODO asking for the paper's real procedure. coderofstuff merged a working tie-breaker on August 12; it sits on the dagknight feature branch rather than master, with nothing on mainnet and no activation date attached.
Paying for a Single API Call With KAS, on Testnet
kaspa-x402 is an independent developer's Kaspa binding for x402, the scheme where an API answers a request with 402 Payment Required, the caller pays and retries, and no account or subscription is involved. Alpha.10 landed on August 10 and rebuilds its batch payments on Toccata's covenant identity so a payment survives top-ups and partial claims; the release notes carry their own caveat, that it "remains Testnet-10 only and is not a mainnet-readiness claim."
Silverscript Has a Security Policy Now, and It Came From a Builder Who Reported Privately
Silverscript is the language Kaspa covenants are written in, and it merged a hardening pass on August 10 and its first security policy on August 11 — after a builder found that a signature function he was calling did not do what he assumed, reported it to the maintainers rather than posting details, and was told it had already been fixed upstream. The repo still has no releases and no documentation site, so its commits remain the whole public surface, and the practical note is his: if you are pinned to an older compiler, check that the signature builtin you call actually lowers to a verify.
Why a Covenant Token Can't Just Show Up in Your Wallet
Since Toccata you can put a contract on Kaspa, but no wallet has a standard way to find and decode that contract's state, or to build a valid spend for it, so every builder currently ships their own. A team running a covenant token on testnet put the cost plainly: "the app is the actor right now, and has to be. We ship the wallet inside the app… Nobody else's wallet can touch our token without reimplementing all of it." The thread sketches what a fix would look like — a descriptor, a reader spec and a writer spec — as draft design, not an adopted standard.
Why blockDAG Fee Markets Behave Differently From Bitcoin's
Shai (Deshe) Wyborski, a co-author of the GHOSTDAG paper, names three failure modes of a fee market with a single block producer per round: race-to-the-bottom, where fees collapse whenever the chain is not congested; aberration, where fees track service quality poorly; and starvation, the indefinite exclusion of low-fee transactions. He then argues that several producers per round mitigates all three. Read this version rather than the copy that circulates elsewhere — the author has marked the older one outdated and unmaintained.
Where Does a Contract's State Live on a Chain With No Accounts?
The official Toccata dev guide answers the question in a single paragraph and an eight-line example: "There is no mutable Counter object stored inside a Kaspa node. There is a UTXO whose script public key commits to a script preimage… the script refuses to pass unless the transaction creates the next committed UTXO." It is the most legible page on the developer docs for a reader who is not writing any of this themselves.
The "Kaspa's Mining Algorithm Is Broken" Claim, Answered With Arithmetic
kHeavyHash is Kaspa's proof-of-work algorithm, and a claim that recirculates holds it is broken because of a shortcut in its matrix-multiplication step. The rebuttal is quantitative: by the author's analysis that step is only about 10% of the work on a GPU and about 20% on an ASIC, the input the shortcut needs turns up with probability 0.77^64 — roughly one in 18 million — and a miner actually exploiting it would run some 8,000 times slower than one mining normally.
Thanks for reading! Please feel free to forward this to any Kaspa-curious.