Price re-verification sweep of the supply directory, observed 2026-10-05 against records observed 2026-10-03/04
Fields
supply/w5s-price-staleness-audit-2026-10-05Notes
AUDIT RUN 2026-10-05. Method: re-fetched the primary machine-readable price sources for the 86 priced records rather than re-reading the records, then compared figure by figure. Sources are cited per row. OBSERVATION-DATE CAVEAT THAT GOVERNS THE WHOLE RESULT: every supply record carries updated 2026-10-03 or 2026-10-04, i.e. the corpus is only 1-2 days old, and the AWS Price List API file that 5 records cite still publishes publicationDate 2026-09-25, so AWS has not moved. Calendar staleness is therefore NOT the failure mode here. The failure modes are (a) figures that were wrong when written, (b) price tiers that were never recorded, and (c) a source API that lies about what it returns. Findings are grouped by how much they cost a reader.
=== FINDING 1. A PRICE THAT WAS ALREADY WRONG, NOT A PRICE THAT MOVED: Azure ND H200 v5 === Record azure-nd-h200-v5 holds price_usd 10.60 with price_basis 'on-demand $84.80/instance-hr / 8 = $10.60 in eastus2 and westus2'. Re-verified 2026-10-05 against an EXHAUSTIVE walk of the Azure Retail Prices API (879,227 unique rows over 1000 pages; 20,079 rows in eastus2), source w5s-azure-retail-prices-h200-recheck. $84.80 IS the eastus2/westus2/westus3 on-demand non-Windows meter for ND96isrH200v5. The record is CORRECT and the division by 8 is correct. It also correctly reports Low Priority $16.96 and Reservation $407,526 / $1,109,592, both of which exist at exactly those values. THIS RECORD NEEDS NO CHANGE, and the reason that is worth writing down is below.
=== FINDING 2. THE SOURCE API RETURNS MISLEADING PAGE 1s, AND IT ALMOST PRODUCED A FALSE ERROR ON FINDING 1 === prices.azure.com/api/retail/prices accepts $filter, returns HTTP 200, and IGNORES it. Established with two independent methods, source w5s-azure-api-ignores-filter-negative: (a) control values - 'serviceName eq zzznotaservice', 'armRegionName eq zzznotaregion' and 'meterName eq zzznotameter' each returned 1000 rows spanning all 73 regions instead of zero, and returned productNames including 'Virtual Machines D Series Windows'; (b) an unfiltered walk of the NextPageLink chain from a single-region query yielded rows for northeurope, westus3 and 72 other regions. During this audit an intermediate single-page probe appeared to show Azure H200 on-demand was $106.00 with no $84.80 meter present, implying the record understated the price by ~25%. The exhaustive walk refuted it. NO RECORD WAS CHANGED ON THE BASIS OF THE INTERMEDIATE READING. A reader who trusts page 1 of this API will file a false error against a correct record, which is the same trap that produced rent-cerebras-api-token-pricing-negative.
=== FINDING 3. PRICES THAT HAVE MATERIALLY MOVED since the 2026-10-03/04 observation === (a) TOGETHER AI GPU CLUSTERS, moved DOWN and invisible to the repo. Existing record together-gpu-clusters-h100 stores $5.49, which is Together's DEDICATED INFERENCE H100 rate. Together also publishes a GPU CLUSTERS product at DIFFERENT rates for the same silicon on the same page, source w5s-together-gpu-clusters-tiers-2026-10-05: H100 $3.99 on-demand pay-as-you-go, was $5.49 in the record's product; H100 $1.99 preemptible; H200 $5.99 on-demand and $2.99 preemptible, a SKU the repo records as 'Contact us' and therefore prices nowhere; B200 $8.19 on-demand and $4.09 preemptible, against the record's $8.99; B300 $9.99 on-demand and $4.99 preemptible. Reserved: H100 $3.69 (7-30d) / $3.45 (31-90d) / $3.19 (91-180d); H200 $4.99 / $4.15 / $3.99; B200 $7.99 / $7.79 / $6.79. So an H100 GPU-hour at Together spans $1.99 to $5.49 on one page, a 2.76x spread, and the repo holds only the top of that range. Retrieval date 2026-10-05. Direction: the cheapest published H100 rate on that page is now 1.38x BELOW the figure the repo uses for the same GPU. (b) VAST AI PEER-TO-PEER RENTAL, moved and the sample collapsed. The five rental-*-vast-index records were built on n=5 to n=43 hosts per SKU observed 2026-10-03. Re-querying the bundles API on 2026-10-05 returned 64 offers TOTAL for the whole platform, with 27 single-GPU and only 5 eight-GPU bundles, and the 'verified' field absent from every returned row so the records' n=43/n=32/n=14 verified-host counts cannot be reproduced against this endpoint. Spot medians on the 2026-10-05 sample: H100 SXM single-GPU $2.2689, 2-GPU $2.1341, 4-GPU $1.9605, 8-GPU $2.2669; H200 1-GPU $3.5556, 8-GPU $4.4751; B200 1-GPU $6.2521, 4-GPU $6.2505; RTX 4090 1-GPU median $0.4015; RTX 5090 1-GPU median $0.4381; RTX 3090 1-GPU $0.1213; RTX 6000 Ada 1-GPU $0.5393. The records' own medians (H100 $2.4704, H200 $5.0005, B200 $7.9695, RTX 4090 $0.4289) are inside or near these ranges but the sample is 2-20x smaller, so the bands in the records should be treated as carrying their 2026-10-03 n, not today's. Retrieval date 2026-10-05. (c) COREWEAVE, CoreWeave H100 spot $19.71/node and on-demand $49.24/node both re-read identically on 2026-10-05; H200 $50.44 / $20.93; B200 $68.80 / $34.11; A100 $21.60 / $9.65; L40S $18.00 / $7.88. Unchanged. New on the page and absent from the record: GB300 NVL72 spot $35.84 (on-demand 'Contact sales'), RTX PRO 6000 Blackwell Server Edition High Memory $20.00 / $11.09 spot / $2.50 inference, RTX PRO 6000 Standard Memory $9.56 spot, HGX B300 spot $35.84. (d) RUNPOD, page still states 'Updated September 27, 2026' on 2026-10-05 and every figure in runpod-pods-h100-h200 and runpod-serverless-h100-h200 matches: H100 SXM $3.49, H100 PCIe $2.89, H100 NVL $3.19, A100 $1.59, B200 $6.79, B300 $7.89, L40S $1.09; serverless H100 $4.79, H200 $5.93, B200 $8.64. Unchanged. (e) LAMBDA, 2026-10-05: 8x H100 SXM $3.99, 8x A100 SXM 80GB $2.79, 8x A100 SXM 40GB $1.99, 8x B200 SXM6 $6.69, V100 $0.79, and the smaller shapes 4x $4.09 / 2x $4.19 / 1x $4.29 / 1x H100 PCIe $3.29 / GH200 $2.29. Matches lambda-gpu-cloud-h100 exactly. Unchanged. (f) MODAL, 2026-10-05 per-second: H100 SXM5 $0.001097 = $3.9492/hr, H200 $0.001261 = $4.5396, B200 $0.001736 = $6.2496, B300 $0.001972 = $7.0992, A100 80GB $0.000694 = $2.4984, L40S $0.000542 = $1.9512. Matches modal-serverless-gpu. Unchanged. (g) FIREWORKS on-demand, 2026-10-05: H100 $0.134/min = $8.00/hr, H200 $8.00, B200 $13.00, B300 $15.00, GB300 $0.334/min = $20.00/hr. Matches fireworks-on-demand-h100-h200. Unchanged. (h) BASETEN, 2026-10-05: H100 $0.10833/min, H100 MIG $0.0625, B200 $0.16633, A100 $0.06667, L4 $0.01414, A10G $0.02012, T4 $0.01052. Matches baseten-gpu-instances. Unchanged. (i) AWS, re-fetched the us-east-1 and us-west-2 Price List offer files on 2026-10-05: publicationDate is STILL 2026-09-25T17:45:21Z, identical in both regions, so no AWS figure has moved. Verified on-demand Linux: p5.48xlarge $55.04, p5.4xlarge $6.88, p5en.48xlarge $63.296, p4d.24xlarge $21.957642, p4de.24xlarge $27.44705, g6.48xlarge $13.3504, g6.xlarge $0.8048, g6e.48xlarge $30.13118, g5.48xlarge $16.288, trn1.32xlarge $21.50, trn1n.32xlarge $24.78. Every stored per-GPU figure is the node rate divided by the correct GPU count. Unchanged and confirmed.
=== FINDING 4. THE AMD GAP HAS CLOSED, which the repo currently states in reverse === Oracle's GPU - Accelerated Compute table now publishes BM.GPU.MI300X.8 at $6.00 per MI300X-hour and BM.GPU.MI355X.8 at $8.60 per MI355X-hour, alongside NVIDIA H100 at $10.00 in the same column. Verified by two independent methods, sources w5s-oracle-gpu-accelerated-compute-table and the new supply record w5s-oracle-oci-amd-mi300x-mi355x-gpu-hour. docs/08-cost-per-token.md item 2 asserts the opposite and calls it 'the highest-value gap in the repo'; tools/cost_per_token.py gaps repeats the claim 11 times for MI355X and 2 for MI300X. The gap is a supply-record gap, not a market gap, and it is closed. Neither this audit nor the new record edits the doc, which is outside this wave's scope.
=== FINDING 5. UNIT AUDIT: no new 8x errors, and the two historical ones remain fixed === All 86 priced records were re-read for the per-node-vs-per-GPU trap. Confirmed correct: coreweave-h100-h200 (per-GPU, 49.24/8 = 6.155, GB200 NVL72 $42.00/h correctly flagged as a WHOLE 72-GPU Superchip); oracle-bm-gpu-h100-h200 and oracle-bm-gpu-a100 (per-GPU, '.8' is a shape-name GPU count); every AWS record (node rate divided by the instance's real GPU count, cross-checked against gpuInfo totalGpuCount); azure-nd-h100-v5 / h200-v5 / a100-v4 ($98.32 / $84.80 / $32.77 per 8-GPU node, divided by 8); gcp-a3-h100-h200 ($88.49 / $93.400712807 / $84.806908493 per 8-GPU node, divided by 8); used-8x-h100-sxm-node-system ($180,000 correctly flagged as the NODE, not the card). Records that price a per-MACHINE rate for a single-GPU machine state so explicitly and warn against an 8x division: ppl-sup-beam-a100-ondemand ($1.36) and ppl-sup-beam-h100-ondemand ($1.83). Records where a per-GPU figure is DERIVED from a bundle total rather than published per-card say so: the five rental-*-vast-index records (dph_total / num_gpus is the repo's own division). One record is genuinely not priceable as a per-GPU rate and says so in its READING RULE: ppl-sup-anyscale-a100 is per ACU-HOUR with the ACU-to-instance mapping unpublished, and the record explicitly refuses to derive a per-GPU rate from it.
=== FINDING 6. PRICE-CLASS AUDIT: one record whose price is a percentage, not a price === Four records put a NON-MONEY quantity in price_usd and each says so in its own price_basis, which is correct practice and must be preserved: rent-azure-spot-eviction-and-max-price carries 30 (SECONDS of warning), rent-gcp-spot-vm-discount-and-exclusions carries 91 (PERCENT discount ceiling), rent-commitment-discounts-change-the-effective-rate carries 36 (PERCENT reservation discount). A reader who sorts data/supply by price_usd gets these mixed in with dollar figures. rent-commitment-discounts is additionally STALE IN SUBSTANCE: its 36% figure is derived from the Azure ND96isr H100 v5 1-year reservation, and the exhaustive 2026-10-05 dump confirms the reservation meters are unchanged at $551,221 / $1,134,310 / $1,722,566 against $98.32 on-demand, so the ~36% stands today. No correction needed.
=== FINDING 7. CURRENCY AUDIT: the non-USD records correctly refuse to convert === Two records quote non-USD figures and BOTH decline to convert because no FX rate was sourced, which is the correct behaviour and is why they carry price_usd null: geizhals-eu-price-comparison (EUR 5,131.85 RTX 5090, EUR 3,989.99 RTX 4090 FE, EUR 314.90 Arc B580, EUR 757.16 RX 9070 XT) and overclockers-uk-arc-and-rtx5090-channel (GBP 299.99 / 319.99 Arc B580, GBP 3,899.99 laptop). No record anywhere in data/supply mixes a converted figure with an unconverted one, and no record states an FX rate without a date. This audit found no currency defect. The one thing a reader should carry: those two records are NOT comparable to the USD band in market-gpu-price-bands-2026-10 until an FX rate with a date exists, and the repo is right to leave them unconverted rather than invent a rate.
=== WHAT THIS AUDIT DID NOT DO === It did not re-verify the secondary-market asking bands (used-h100-80gb-pcie-market, used-h100-80gb-sxm-market, used-a100-80gb-pcie-market, used-h800-80gb-market, used-8x-h100-sxm-node-system) or the eBay/B&H/CDW/Micro Center retail listings, because those are single-listing observations on marketplaces where the price of any given listing is not expected to persist and the records already carry an ASKING price class plus an observation date. It did not re-verify the API token prices in the rent-*-api-token-pricing records, which are per-token list prices on pages that change on a different cadence from hardware. It did not modify docs/08-cost-per-token.md, tools/, or schemas/, all of which are outside this wave's write scope - see Findings 2, 3a and 4 for what is now wrong there and needs a sibling to pick it up.
Cross-references
This record references no other records — it is a leaf. It is cited by 2.