PCOC · Docs · Measured cost

PCOC at scale

What one Satoshi Hike v1.35 object costs to produce. Derived 6 October 2026. The host price below was read again on 7 October 2026. This page does not amend the specification. It is not a price list for sale, and it is not a parameter of the specification. Every figure carries a label: measured, assumption, derived (with its formula), or locked.

An earlier prototype page modelled a pre-v1.35 construction. It is not this page.

Two figures

Both figures hold on two-channel desktop-class hosts (a lab Ryzen 5 5600H laptop, and the rented host priced below). Host price read 2026-10-07. See Scope.

Use (a) for what it costs a fair producer. Use (b) whenever the question is whether faking pays: every fake-cost-as-a-multiple-of-C claim and every scale claim uses the adversary floor (b).

What you are paying for

A v1.35 hike runs for about 18 Bitcoin blocks, roughly three hours. For that whole time the producer holds one 256 MiB terrain in memory and keeps one core busy taking legs. The default floor asks each hike to keep up at least half a leg per second.

Input Value Label Source
Locked default floor 1/2 leg/s locked Locked 2026-10-06
Hike duration about 18 blocks ≈ 3 h assumption Bitcoin block mean 600 s × 18
Terrain per hike 256 MiB (TERRAIN_BYTES) measured Specification
Host class AMD Ryzen 5, 6 cores / 12 threads, ≥ 16 GiB RAM measured Lab Ryzen 5 5600H laptop, 16 GiB
Hashcash per hike 17 × 96.5 ms = 1.64 s measured / derived Lab timing; specification §13.1

So the unit to price is a share of one whole machine for three hours, not a vCPU-hour per hike. The sections below explain why.

What was measured

One to five honest producers ran side by side on one lab machine, 90 seconds at each step. The median leg rate of each hike:

Hikes at once (N) Median legs/s per hike Label Source
1 1.060 measured Lab ladder, free scheduling, 90 s per N
2 0.883 measured same
3 0.708 measured same
4 0.563 measured same
5 0.450 measured same

N = 4 is the last step where every hike stays above the floor (minimum 0.550 at N = 4; all at or under 0.5 at N = 5; measured, same source). CPU was only about 43% busy at N = 5 (measured, same run).

These rates are measurements. They are not a price.

Why memory bandwidth is the binding resource

A leg is a long chain of reads. Each step reads a place in the terrain that the previous step picked, so the chip cannot fetch ahead, and every read has to come from main memory. A hike running alone barely notices this. When several hikes share one machine, they all queue for the same memory channels. The ladder shows exactly that pattern: every extra hike slows all the others, while more than half the processor sits idle.

So the limit is neither cores nor the amount of memory. Five terrains together take under 2 GiB, which is small next to the machine's RAM. The limit is how fast memory can be read. This is inferred from the shape of the ladder (rates fall while cores stay idle). It was not read off a bandwidth counter.

Scope

Both figures are on two-channel desktop-class hosts (lab Ryzen 5 5600H laptop, and the rented host below), host price read 2026-10-07. The ladder is memory-bandwidth bound. A many-channel host (8–12 memory channels) could pack more concurrent hikes before the rate hits the floor, and so may lower the adversary floor. No many-channel ladder exists yet, so this page gives no number for that case.

Honest refusal at each packing

The check refuses a hike that falls too far below the floor, and measured leg rates wobble. A hike whose true rate is just above the floor will therefore sometimes measure below it. To keep honest refusals at or under 1%, a hike needs to run at least 1.58× the floor, about 0.79 legs/s (derived). The floor check itself is q·N ≥ p·S_eff with p/q = 1/2.

Per-N honest refusal at the default floor, using each N's measured median rate and the default paths minimums (7, 14); funded plant delivery (h = 1.00); single-thread noise model (derived, 400,000 hikes):

N Median rate (measured) Margin r / F Floor-only refusal (derived) Default (7, 14) refusal (derived)
1 1.060 2.12 0.02% 0.02%
2 0.883 1.77 0.18% 0.18%
3 0.708 1.42 3.32% 3.34%
4 0.563 1.13 47.7% 48.0%
5 0.450 0.90 100% 100%

N = 2 is the largest packing that keeps honest refusal at or under 1% (margin 1.77 ≥ 1.58).

The price

The rented machine is the closest publicly priced bare-metal match to the lab host: the same core and thread count, the same Ryzen 5 class, and more memory than needed.

Resource Rate Label Source
Hetzner AX41-1-LTD dedicated (AMD Ryzen 5 3600, 6c/12t, 64 GB DDR4, 2×512 GB NVMe) $0.126 / hour assumption Public list price read 2026-10-07. See the conversion note under this table.

Two-channel desktop-class hosts. Host price read 2026-10-07.

Conversion note, the only euro figure on this page: the host list price was €0.1125 per hour, converted at 1.123 US dollars per euro on 2026-10-07, which is $0.126 per hour. A 2026-10-06 read of a nearby listing is not on the order page as of this read. This page does not use it.

The cost per accepted hike is the machine's three-hour bill, split across the hikes on it and grossed up for the hikes the check refuses:

C_accepted(N) = (host_hourly_USD × 3 h ÷ N) ÷ (1 − ε(N)) + hashcash (derived)

Here ε(N) is the default (7, 14) refusal from the table above. Hashcash is 1.64 s of one core, about $0.000057 on this host, so it is under $0.0001 and the table omits it.

Point estimates (derived), at $0.126 per hour, on two-channel desktop-class hosts, 2026-10-07:

N Machine share for 3 h ε(N) Cost per accepted hike Role
1 $0.378 0.02% $0.378 Upper bound (one hike owns the machine)
2 $0.189 0.18% $0.189 ≈ $0.19 (a) Honest-producer cost (refusal ≤ 1%)
3 $0.126 3.34% $0.130 ≈ $0.13 (b) Adversary floor (cheapest across N)
4 $0.0945 48.0% $0.182 Self-defeating: the packing gain is eaten by refusal
5 — 100% no accepted hikes Under the floor: refused 100% of the time

Why N = 3 is the minimum

The cost per accepted hike falls from N = 1 ($0.378) through N = 2 ($0.189) to a minimum at N = 3 ($0.130) on two-channel desktop-class hosts, host price 2026-10-07, then rises again at N = 4 ($0.182). Packing a fourth hike onto the machine does cut each hike's share of the bill. The refusal at N = 4 (48%) more than cancels that gain, so N = 4 is self-defeating. At N = 5 every hike is already under the floor and is refused 100% of the time. The cheapest refusal-adjusted cost per accept is therefore N = 3, about $0.13. That is the adversary floor, and it is the C that every fake-cost multiple and every scale claim uses.

Sensitivity to the machine price

Sensitivity to the host price is linear: both figures move in proportion to the hourly rate. A 10% higher rate, still on two-channel desktop-class hosts at the 2026-10-07 read, gives about $0.208 and $0.143. The structure does not change: the minimum stays at N = 3, and N = 4 stays eaten by refusal.

Cloud, for scale only

Bare metal stays the headline. These two lines only show the premium of renting on-demand cloud instead. Google Cloud C2D (AMD EPYC Milan) is $0.045399 per vCPU-hour on-demand in us-central1 (Compute Engine compute-optimized pricing page, read 2026-10-06; assumption). These are honest-cost lines, so the multiples are against the honest-producer cost ($0.189) at the same N, not the adversary floor. All results in this subsection are derived from that list price and from the 2026-10-07 honest-producer cost.

The cloud shape is a many-channel platform, but these lines reuse the two-channel ladder (N = 2, 0.18% refusal). They show the price premium only, not a measured cost on that shape. A ladder on that shape could pack more hikes per host. Two-channel ladder, cloud list read 2026-10-06, comparison base 2026-10-07.

Shape Hourly At N = 2 (derived) vs (a), derived
Scaled 12-vCPU (matches the lab's 6c/12t; ~48 GiB) ≈ $0.545 / hour (derived: 12 × $0.045399), read 2026-10-06 ($0.545 × 3 h ÷ 2) ÷ (1 − 0.0018) ≈ $0.819 per accepted hike ≈ 4.3×
Orderable c2d-standard-16 (nearest predefined shape at or above the lab host, 64 GiB) $0.7264 / hour, read 2026-10-06 ($0.7264 × 3 h ÷ 2) ÷ (1 − 0.0018) ≈ $1.09 per accepted hike ≈ 5.8×

The multiples are host-price premiums over the rented host above, and they do not depend on N. An adversary renting cloud would pay at least the same premium over the $0.13 floor. Two-channel ladder, 2026-10-07 base.

What is not in the number

Plant fees. The producer sends one waypoint post per stage, and that work already falls inside the three-hour window. The plant is then funded and broadcast from an operator wallet. Keeping that wallet funded is an operating cost, not the producer's, so the on-chain fee is not in this number. A drained wallet is an operator incident, not a producer expense.

Also excluded:

Limits