FEEWORK · ARGON2D READY BLOCK 30,847,291
TPS 412 FEE PER TX $0.00 — UTC
STEALTH /wiki
Document
Wiki / Deep Reference
Primitive
Feework · Argon2d
Expiry
24 blocks · 2 minutes
Revision
April 2026
Wiki · Feeless · Spam-Resistant · Throughput

Work, not fees.

A cryptographic coupon — one second of CPU time — replaces the per-transaction fee. The economics of micropayments become viable. Feeless is not free — feework is the shape of anti-spam when there is no fee market.

Feeless Argon2d 24-block expiry Memory-hard Multisig-capable ~150k TPS
Feework lifecycle. Mine · bind · broadcast · (include or expire). 2-minute window.
Block time
5s
QP_TARGET_SPACING · Junaeth
Feework
Argon2d
Memory-hard · 16-byte nonce
Expiry
24 blk
2-minute window · then invalid
Verify advantage
~9,362×
One hash to verify · many to produce
Multi-core TPS
~150k
16-core · parallel verification
§01 · THESIS

Feeless is not free.

Work replaces money · Coupon not tip

On a fee-based chain, the fee is the ledger's tax on motion. Every call, every stream frame, every sensor reading pays again. At machine frequency and micropayment size, the tax exceeds the payload and the model collapses.

Stealth takes the fee off the critical path entirely on stealthCORE. The sender does the work. The network charges nothing. Spam is still priced — just in seconds of compute, not dollars of block space.

§02 · FEEWORK

The coupon, the nonce, the binding.

Argon2d · 16-byte nonce · ceiling 0x0006ffffffffffff

A feework output is a digital coupon attached to a feeless transaction. Each coupon carries a 16-byte proof-of-work nonce, found by hashing the transaction data with Argon2d until the output falls below a fixed ceiling. The coupon is highly specific to both the transaction and the precise moment it was created. Verification is one hash. Production is many.

FEEWORK · ARGON2D

Illustrative trace
algorithm: argon2d — memory-hard
nonce: 16 bytes
ceiling: 0x0006ffffffffffff
binding: tx-hash · block-height · difficulty
produce: ~1s on desktop CPU
verify: one hash
advantage: ~9,362× validator over spammer

# if hash(tx · nonce · height) < ceiling → coupon valid
# otherwise: increment nonce, hash again, repeat
Memory-hardness matters. Argon2d deliberately requires RAM during the hash — more as difficulty rises. An empty block needs 262 KB; a 20%-full block, 819 KB. A GPU's advantage over a CPU shrinks when the bottleneck is memory bandwidth rather than arithmetic throughput. Stealth is the only cryptocurrency using a memory-hard hash for spam prevention.

Structure · Coupon → Difficulty → Binding

  1. The feework coupon

    Attached to every feeless transaction. Proves the sender's computer did at least one second of computational work. The production cost equals renting a CPU core for one second. Work substitutes for money.
  2. Committed difficulty

    The coupon specifies the difficulty of the calculation upfront. A spammer must commit to a difficulty level before calculating feework — and must exceed the difficulty legitimate users are willing to tolerate. Legitimate users can outbid spammers by raising their own difficulty, or by paying a tiny fee instead.
  3. Block-specific binding

    Feework binds to a specific recent block height — committing to both a moment in time and a specific fork. Failed transaction feework cannot be reused. An attacker must continuously produce fresh work, creating a relentless and expensive burden.
§03 · EXPIRY

Unconfirmed transactions expire in 24 blocks.

Stealth-pioneered · 2-minute window

A feeless transaction that doesn't make it into a block within 24 blocks · 120 seconds is invalidated. The spammer's work expires — and must be redone from scratch.

Transaction expiration is a Stealth-pioneered innovation. Unconfirmed feeless transactions are valid only inside a rolling 24-block window — about two minutes — tied to the block height the feework committed to.

Expiration does two jobs at once. For users, a held-up transaction doesn't wait indefinitely — it invalidates cleanly, and the sender retries with higher feework difficulty rather than staring at a stuck pending state. For spammers, it neutralises mempool flooding at the root.

Without expiry, a spammer at just 100 extra TPS could fill a 1 GB mempool in roughly 11 hours. With 24-block expiry, sustaining that same flood indefinitely requires over 4,000,000 TPS of fresh feework — every two minutes, forever.

no expiry: 100 TPS  →  1 GB mempool flooded in ~11h
24-blk expiry: sustained flood needs >4,000,000 TPS
Δ: four orders of magnitude harder

Every two minutes, stale feework vanishes from memory. The mempool has a drain. Spam that arrived at the top of the hour is gone by the five-past.

Analogy

A thought experiment — two identical rooms.

Picture the mempool — the waiting area where unconfirmed transactions sit before they're bundled into a block — as a small room, roughly three metres on a side. Now imagine two of those rooms, side by side. They're identical. Same volume. Same door. Same owner outside.

A vandal walks up and starts throwing books through the door of both rooms — one book per second, every second. Each book is a spam transaction; the rate is a cheap, sustained flood. The only thing that differs between the two rooms is a single rule written on the wall — do books expire, or do they stay forever? — and that rule is the entire difference between a chain that can be DoS'd to a halt and one that cannot.

  • Room= the mempool (unconfirmed-tx buffer in memory)
  • Book= one broadcast transaction with feework attached
  • Rule= do books expire on their own, or must a block producer carry them out?
Room A · Nano

The rule: once a book is in the room, it stays there until a block producer physically carries it out. Books never expire on their own.

Fills up forever.

After 2 minutes — 120 books. After 10 minutes — 600. After an hour — 3,600. The books never leave. Eventually the room is full and nothing new fits — legitimate users get turned away at the door.

This isn't hypothetical. In early 2021 Nano was hit with a months-long spam attack that peaked at nearly 5 million transactions per day. Because Nano transactions never expire, a determined attacker can also pre-prepare tens of millions of transactions over months and unleash them all at once.

Mempool · books over time

t = 0 → accumulates indefinitely
Room B · Stealth XST

The rule: every book's feework is stamped with a block-height expiry. Exactly 2 minutes after it lands, the book vanishes on its own — no block producer required.

Never exceeds 120 books.

After 2 minutes — 120 books. But then something happens: feework expires after exactly 2 minutes. For every new book thrown in, the oldest one disappears. The count stays flat at 120, forever.

The room is self-cleaning. The vandal is running on a treadmill — going nowhere. To actually overwhelm the room, he'd need to throw books faster than 4,000,000 per second — and the work to produce each book is Argon2d, memory-hard, bounded by his RAM budget rather than his CPU.

Mempool · books over time

t = 0 → capped at 120

TL;DR. Stealth's 2-minute feework expiry is like a self-cleaning room. Nano's room has no drain.

§04 · MULTISIG

The world's first feeless multisig.

P2SH · n-of-m · spam-resistant round trip

Stealth completed the world's first feeless (spam-resistant) multi-signature round trip — both sending to and spending from a multisig account without a monetary fee. Nano, the only other cryptocurrency with true feeless transactions, has no multisig support and no plans to introduce it. Multisig lives on the BTC-style ledger; Stealth is the only BTC descendant where multisig is also feeless.

Security · 01

Unauthorised spending requires conspiracy.

When a company holds a large balance in a single-signature account, one compromised key drains the treasury. Multisig forces a conspiracy across multiple individuals. Game theory makes such conspiracies unstable — any defector can turn the others in and have something to gain.

Security · 02

Compromised keys become useless alone.

If a signatory's key is stolen, the thief can't send anything. They need to convince a valid subset of the other legitimate signatories to co-sign — which, in practice, is not going to happen. A stolen key in an n-of-m multisig is a key that does nothing.

Security · 03

Lost keys don't freeze the funds.

If a signatory dies and their key is lost, the remaining signatories can still spend — as long as the account is structured n-of-m with n < m. This is the standard configuration. Single-signature wallets have no equivalent; key loss is terminal.

Adoption

Custodians run on multisig.

Most users can't be expected to secure private keys themselves — especially in times of urgency. They rely on exchanges and custodians, who in turn depend on multisig for their own security standards. Feeless multisig is therefore essential for mainstream adoption, not a niche feature.

Technical reference · how to send

The commands below are used by programs serving as interfaces to the underlying functionality — not by end users manually. Custodial parties build their own workflows from these primitives. Sending feelessly to a multisig address is the same sendtoaddress command; the multisig nature is carried by the P2SH address prefix.

sendtoaddress 2MxfkUWojAic6gPuFjW9fADTiLtJpnSZghd 20
  • Sending to multisig ↗
  • Transaction listing ↗
  • Spending from multisig ↗
  • Spend tx listing ↗
§05 · SPAM

Nano is the benchmark. It isn't close.

Feeless-peer comparison · two vulnerabilities

Nano is widely considered the leader among feeless cryptocurrencies and is the most logical competitor to compare against. In early 2021, Nano suffered a months-long spam attack peaking at nearly 5M transactions per day. Their response was architectural: sort unconfirmed transactions into 129 buckets by account balance, prioritise less-recently-used accounts, and form a ~50,000-transaction Active Election Container.

Vulnerability · 01

Small-balance buckets are cheap to flood.

Of Nano's 129 balance buckets, 87 serve accounts under 0.0001 XNO. Populating those buckets with 87,000 attacker-controlled accounts costs approximately $0.40. The bucket structure was meant to price legitimate users fairly; it also prices attackers at basement rates.

Vulnerability · 02

Transactions never expire.

Nano has no analogue to Stealth's 24-block expiry. Spam accumulates in memory indefinitely. A patient attacker can pre-prepare tens of millions of transactions over months — then release them all at once as a single coordinated burst. There is no architectural counter.

There is also a utility cost: Nano accounts can only submit one unconfirmed transaction at a time. Each payee must be paid sequentially. Stealth's UTXO model — inherited from Bitcoin — supports full parallel spend across independent note outputs.

Attack scenario XST · Result Nano · Result
Mempool flooding Requires >4M TPS (24-block expiry) Transactions never expire
Pre-prepared spam burst Feework expires in 2 min Accumulates indefinitely in memory
GPU DoS at 20% block fill ~$14,000 of GPUs needed Bucket structure exploitable for ~$0.40
UX during attack Pay tiny fee · unaffected Sequential tx confirmation
Parallel processing Full UTXO parallelism Single unconfirmed tx per account
"Stealth's feeless protocol was designed to thwart any conceivable exploit that may arise when offering feeless transactions."
— Stealth R&D LLC
§06 · COST

The attack budget is a nation-state line item.

Memory · Compute · GPU economics

At maximum feework difficulty, the cost to keep Stealth's mempool saturated runs into millions of dollars per month. The numbers below are not aspirational — they fall directly out of the Argon2d work function, the 2-minute expiry window, and the block-binding requirement working together.

Memory requirement

2.88M transactions every 2 minutes.

To saturate a 1 GB mempool at maximum feework difficulty

A typical node with 4 GB of RAM allocates roughly 1 GB to the mempool. Keeping it filled requires the attacker to generate nearly 2,880,000 transactions every two minutes — each requiring ~13 seconds of computation on a high-end Intel Xeon core.

Compute requirement

320,000 CPU cores · $6,700 per hour.

Continuous — 720 hours a month

At max difficulty, each core produces 9 transactions per 2-minute window. Filling the mempool requires 320,000 cores running non-stop. An 8-core machine runs ~$120/month; scaling to 320,000 cores runs approximately $4.8M/month, or $6,700/hour. Only nation-states could sustain this.

GPUs don't help. A Tesla V100 ($7,000) manages only ~88 feeless TPS under Argon2d. Filling blocks to just 20% capacity takes more than two such GPUs working continuously — and legitimate users can always outbid spammers by specifying higher hardness or paying a tiny fee. Memory-hard hashing flattens the attacker's structural advantage.

"A denial of service spam attack on Stealth's feeless transaction system is prohibitively difficult — and will always remain so by design."
— Stealth R&D LLC · July 1, 2021
§07

Throughput.

5-second blocks. 917 TPS on a single core. ~150,000 on sixteen.

Junaeth targets a 5-second block interval (QP_TARGET_SPACING = 5 in QPConstants.hpp) — 12 blocks per minute, 720 per hour, 17,280 per day. Throughput scales along three orthogonal axes: block-size, core-count, and the micropayment multiplier that only a feeless chain can access.

STAGE · 01

917 TPS

1 MB block · single core · feework-verify

Baseline. Every node in the network meets this ceiling today with conservative parameters. Already 130× Bitcoin's observed throughput.

STAGE · 02

9,362+ TPS

~10 MB block · single core · feework-verify

Larger blocks. Verifier advantage over an attacker holds at ~9,362× because Argon2d is asymmetric between mining and validation.

STAGE · 03

~150,000 TPS

16-core parallel verify

Verifier-side parallelism. Signature checks, feework validation, and UTXO updates are embarrassingly parallel at the block level.

Where this puts Stealth.

Chain Block time Block size Observed TPS Feeless
Stealth XST 5 s 1 – 10 MB 917 – 150,000 Yes
Bitcoin ~600 s 1 – 4 MB ~7 No
Monero ~120 s Dynamic ~30 – 50 No
Litecoin ~150 s 1 MB ~56 No
Ethereum ~12 s ~1.8 MB (gas) ~15 – 30 No

The micropayment multiplier.

A fee chain's effective throughput for sub-dollar payments is zero. A feeless chain's effective throughput is its observed throughput.

FEE CHAIN

$0.001 × 10,000 per min

= $10.00 of value moved
= $100.00 of fees paid (at $0.01/tx)

Economic collapse. Nobody sends $0.001 when the fee is 10×.

FEELESS CHAIN

$0.001 × 10,000 per min

= $10.00 of value moved
= $0.00 of fees paid (Argon2d work only)

Micropayment market is reachable. So are IoT, machine-to-machine, and streaming.

JUNAETH · 5-SECOND BLOCK QUEUE
t+00BLK · N
t+05BLK · N+1
t+10BLK · N+2
t+15BLK · N+3
t+20BLK · N+4

Every 5 seconds, a deterministic quorum-elected validator publishes the next block. No mining race. No fork. No wait.

§08

Specifications.

The feeless protocol, in hard numbers.
Block time5 secondsQP_TARGET_SPACING = 5
Blocks per day17,28012 / min · 720 / hr
ConsensusJunaeth (quorum PoS)Mainnet · May 2021
Feework algorithmArgon2dMemory-hard PoW coupon
Nonce size16 bytesPer-transaction
Difficulty ceiling0x0006ffffffffffffMax feework hardness
Tx expiry24 blocks (~2 min)Unconfirmed feework drops
Validator advantage~9,362×Verify / mine asymmetry
Base TPS9171 MB · single core
Scaled TPS9,362+~10 MB · single core
Parallel TPS~150,00016-core verify
Transaction modelUTXOBTC-descended
MultisigFeeless · world's firstP2SH · any M-of-N
Fee for feeless tx$0Argon2d work, not currency