---
title: "State of the registry"
description: "A weekly running tally of the public x402 discovery list: how many listed doors answer a well-formed payment challenge, how many serve structurally valid signed offers, what the market charges, and how concentrated it is. Aggregates only, no names."
canonical: "https://scvd.store/registry"
url: "https://scvd.store/registry"
---

# State of the registry

A weekly running tally of the public x402 discovery list: how many listed doors answer a well-formed payment challenge, how many serve structurally valid signed offers, what the market charges, and how concentrated it is. Aggregates only, no names.

## @context

<https://schema.org>

## @type

Dataset

## Name

State of the public x402 registry

## Description

A weekly running tally of the public x402 discovery list: how many listed doors answer a well-formed payment challenge, how many serve structurally valid signed offers, what the market charges, and how concentrated it is. Aggregates only, no names.

## URL

<https://scvd.store/registry>

## License

<https://creativecommons.org/licenses/by/4.0/>

## Creator

- **@type** — Organization
- **@id** — <https://scvd.store/#organization>
- **Name** — SCVD General Store
- **URL** — <https://scvd.store>

## Isaccessibleforfree

true

## Conditionsofaccess

Free to read. No account, no key, no rate limit.

## Corrections URL

<https://scvd.store/corrections>

## Measurementtechnique

One signed GET per declared host per week against the published preflight battery, verifiable in the host's own logs. The walk is capped; where a round hit that cap or lost coverage, the week's coverage block says so. Published by the keeper's hand, never by a clock.

## Variablemeasured

### listed x402 doors probed this round

- **@type** — PropertyValue
- **Propertyid** — weeks[].probed

### doors answering a well-formed x402 payment challenge (shape only, one vantage)

- **@type** — PropertyValue
- **Propertyid** — weeks[].ready
- **Description** — Not 'working': this is challenge shape, not delivery.

### listed doors serving no valid payment challenge

- **@type** — PropertyValue
- **Propertyid** — weeks[].rot.pct
- **Unittext** — PERCENT

### shape-ready doors serving structurally valid signed offers (JWS parse only, signatures not verified)

- **@type** — PropertyValue
- **Propertyid** — weeks[].signed_offers.serving

### distinct hosts seen this round

- **@type** — PropertyValue
- **Propertyid** — weeks[].hosts

### share of doors held by the five largest operators

- **@type** — PropertyValue
- **Propertyid** — weeks[].top5_share_pct
- **Unittext** — PERCENT

### what the round could not see: cap hit, coverage suspect, coverage drop, population denominator

#### @type

PropertyValue

#### Propertyid

weeks[].coverage

#### Description

Absent on weeks measured before this layer existed. Missing means not recorded, never means coverage was fine.

## What this is not

NOT a ranking of any operator, no verdict without its derivation and denominator beside it, and not a claim any door is safe to buy from. A verdict is shape-conformance from one vantage at one moment: the census parses signed offers as JWS and does NOT verify their signatures. A door counted as answering is a door that answered our probe, not a door that delivers goods. Weeks whose coverage block is absent were measured before that layer existed — treat missing as NOT MEASURED, never as full coverage.

## How to read

Every percentage ships beside the counts it was computed from; use those rather than recomputing against another field. Read each week's coverage block before comparing weeks — a capped round and a quiet week produce the same totals. The weeks array is ascending by ISO week.

## Version

1

## Weeks

### 2026-W32

#### Observed at

2026-08-09T11:00:44.613Z

#### Published at

2026-09-10T00:11:13.143Z

#### Probed

39

#### Ready

28

#### Rot

- **Dead doors** — 10
- **percent** — 26

#### Signed offers

##### Serving

0

##### Of ready

28

##### percent

0

##### Not found in challenge

28

##### Present but unparseable

0

##### Cannot distinguish

A door counted in not_found_in_challenge served no extensions['offer-receipt'] offers in the challenge this census read, on the one path it walked. That single observation does not separate a door that does not serve signed offers, a door that serves them at another placement or path this probe did not look at, or a door that serves them here under a signing convention this census does not recognize. Only the first would be a fact about the door; the other two are facts about our probe, and this census will not publish them as the door's.

##### Basis

challenge-header-and-body

#### Rails

- **Of** — 0
- **Base** — 0
- **Polygon** — 0
- **Solana** — 0
- **Other** — 0
- **Multi** — 0
- **Single** — 0
- **Testnet flagged** — 0
- **Basis** — per-rail-v2

#### Coverage

- **Capped** — false
- **Coverage suspect** — true
- **Population known** — 25
- **Population walked** — 39
- **Coverage percent** — 156

#### Hosts

39

#### Operators

36

#### Top5 share percent

21

#### Schemes

### 2026-W33

#### Observed at

2026-08-16T11:01:00.224Z

#### Published at

2026-09-10T00:11:28.356Z

#### Probed

42

#### Ready

34

#### Rot

- **Dead doors** — 7
- **percent** — 17

#### Signed offers

##### Serving

0

##### Of ready

34

##### percent

0

##### Not found in challenge

34

##### Present but unparseable

0

##### Cannot distinguish

A door counted in not_found_in_challenge served no extensions['offer-receipt'] offers in the challenge this census read, on the one path it walked. That single observation does not separate a door that does not serve signed offers, a door that serves them at another placement or path this probe did not look at, or a door that serves them here under a signing convention this census does not recognize. Only the first would be a fact about the door; the other two are facts about our probe, and this census will not publish them as the door's.

##### Basis

challenge-header-and-body

#### Rails

- **Of** — 0
- **Base** — 0
- **Polygon** — 0
- **Solana** — 0
- **Other** — 0
- **Multi** — 0
- **Single** — 0
- **Testnet flagged** — 0
- **Basis** — per-rail-v2

#### Coverage

- **Capped** — false
- **Coverage suspect** — true
- **Population known** — 5809
- **Population walked** — 42
- **Coverage percent** — 0.7

#### Hosts

42

#### Operators

40

#### Top5 share percent

17

#### Schemes

### 2026-W34

#### Observed at

2026-08-20T14:58:49.180Z

#### Published at

2026-08-20T18:33:19.507Z

#### Probed

964

#### Ready

633

#### Rot

- **Dead doors** — 319
- **percent** — 33

#### Signed offers

- **Serving** — 0
- **Of ready** — 633
- **percent** — 0

#### Rails

- **Of** — 645
- **Both** — 207
- **Base only** — 418
- **Solana only** — 4
- **Other only** — 16
- **Testnet flagged** — 19

#### Price USDC

- **Sample** — 629
- **Min** — 0.001
- **P25** — 0.003
- **Median** — 0.01
- **P75** — 0.03
- **Max** — 190

#### Hosts

964

#### Operators

708

#### Top5 share percent

16

#### Schemes

- **Batch-settlement** — 3
- **Exact** — 644
- **Upto** — 5
- **Onchain** — 1
- **Aggr deferred** — 1

### 2026-W35

#### Observed at

2026-08-27T22:02:19.187Z

#### Published at

2026-08-28T15:04:51.150Z

#### Probed

969

#### Ready

676

#### Rot

- **Dead doors** — 281
- **percent** — 29

#### Signed offers

- **Serving** — 1
- **Of ready** — 676
- **percent** — 0

#### Rails

- **Of** — 689
- **Base** — 674
- **Polygon** — 111
- **Solana** — 252
- **Other** — 13
- **Multi** — 274
- **Single** — 402
- **Testnet flagged** — 15
- **Basis** — per-rail-v2

#### Price USDC

- **Sample** — 676
- **Min** — 0.001
- **P25** — 0.004
- **Median** — 0.01
- **P75** — 0.05
- **Max** — 14.95

#### Coverage

- **Capped** — false
- **Coverage suspect** — true
- **Population known** — 6206
- **Population walked** — 969
- **Coverage percent** — 15.6

#### Hosts

969

#### Operators

672

#### Top5 share percent

20

#### Schemes

- **Batch-settlement** — 4
- **Exact** — 688
- **Upto** — 4
- **Onchain** — 1
- **Aggr deferred** — 1

### 2026-W36

#### Observed at

2026-09-01T13:27:05.765Z

#### Published at

2026-09-10T00:11:40.304Z

#### Probed

1088

#### Ready

634

#### Rot

- **Dead doors** — 340
- **percent** — 31

#### Signed offers

##### Serving

1

##### Of ready

634

##### percent

0

##### Not found in challenge

633

##### Present but unparseable

0

##### Cannot distinguish

A door counted in not_found_in_challenge served no extensions['offer-receipt'] offers in the challenge this census read, on the one path it walked. That single observation does not separate a door that does not serve signed offers, a door that serves them at another placement or path this probe did not look at, or a door that serves them here under a signing convention this census does not recognize. Only the first would be a fact about the door; the other two are facts about our probe, and this census will not publish them as the door's.

##### Basis

challenge-header-and-body

#### Rails

- **Of** — 762
- **Base** — 733
- **Polygon** — 110
- **Solana** — 255
- **Other** — 26
- **Multi** — 273
- **Single** — 463
- **Testnet flagged** — 15
- **Basis** — per-rail-v2

#### Price USDC

- **Sample** — 736
- **Min** — 0.001
- **P25** — 0.004
- **Median** — 0.01
- **P75** — 0.03
- **Max** — 50
- **Basis** — usdc-base-polygon-solana

#### Coverage

- **Capped** — false
- **Coverage suspect** — true
- **Population known** — 6367
- **Population walked** — 1088
- **Coverage percent** — 17.1

#### Hosts

1088

#### Operators

744

#### Top5 share percent

18

#### Schemes

- **Batch-settlement** — 3
- **Exact** — 761
- **Upto** — 4
- **Onchain** — 1
- **Aggr deferred** — 1

### 2026-W37

#### Observed at

2026-09-13T11:01:56.016Z

#### Published at

2026-09-18T00:44:03.162Z

#### Probed

4912

#### Ready

1709

#### Rot

- **Dead doors** — 3043
- **percent** — 62

#### Signed offers

##### Serving

3

##### Of ready

1709

##### percent

0

##### Not found in challenge

1706

##### Present but unparseable

0

##### Cannot distinguish

A door counted in not_found_in_challenge served no extensions['offer-receipt'] offers in the challenge this census read, on the one path it walked. That single observation does not separate a door that does not serve signed offers, a door that serves them at another placement or path this probe did not look at, or a door that serves them here under a signing convention this census does not recognize. Only the first would be a fact about the door; the other two are facts about our probe, and this census will not publish them as the door's.

##### Basis

challenge-header-and-body

#### Rails

- **Of** — 2087
- **Base** — 1798
- **Polygon** — 208
- **Solana** — 500
- **Other** — 242
- **Multi** — 488
- **Single** — 1357
- **Testnet flagged** — 33
- **Basis** — per-rail-v2

#### Price USDC

- **Sample** — 1841
- **Min** — 0
- **P25** — 0.003
- **Median** — 0.01
- **P75** — 0.04
- **Max** — 1000
- **Basis** — usdc-base-polygon-solana

#### Coverage

- **Capped** — false
- **Coverage suspect** — false
- **Discovery stop** — declared_total
- **Feed declared total** — 15526
- **Population known** — 8929
- **Population walked** — 4912
- **Coverage percent** — 55

#### Hosts

4912

#### Operators

3102

#### Top5 share percent

16

#### Schemes

- **Batch-settlement** — 3
- **Exact** — 2087
- **Upto** — 6
- **Onchain** — 1
- **Aggr deferred** — 2
- **Exact-canton** — 2
- **Settled-transfer** — 1
- **Tab** — 1

### 2026-W38

#### Observed at

2026-09-20T11:00:20.381Z

#### Published at

2026-09-23T17:21:19.377Z

#### Probed

5021

#### Ready

1952

#### Rot

- **Dead doors** — 2889
- **percent** — 58

#### Signed offers

##### Serving

2

##### Of ready

1952

##### percent

0

##### Not found in challenge

1950

##### Present but unparseable

0

##### Cannot distinguish

A door counted in not_found_in_challenge served no extensions['offer-receipt'] offers in the challenge this census read, on the one path it walked. That single observation does not separate a door that does not serve signed offers, a door that serves them at another placement or path this probe did not look at, or a door that serves them here under a signing convention this census does not recognize. Only the first would be a fact about the door; the other two are facts about our probe, and this census will not publish them as the door's.

##### Basis

challenge-header-and-body

#### Rails

- **Of** — 2371
- **Base** — 2035
- **Polygon** — 178
- **Solana** — 452
- **Other** — 279
- **Multi** — 442
- **Single** — 1650
- **Testnet flagged** — 34
- **Basis** — per-rail-v2

#### Price USDC

- **Sample** — 2087
- **Min** — 0
- **P25** — 0.002
- **Median** — 0.01
- **P75** — 0.02
- **Max** — 499
- **Basis** — usdc-base-polygon-solana

#### Coverage

- **Capped** — true
- **Coverage suspect** — false
- **Discovery stop** — declared_total
- **Feed declared total** — 15373
- **Population known** — 10164
- **Population walked** — 5021
- **Coverage percent** — 49.4

#### Hosts

5021

#### Operators

3259

#### Top5 share percent

12

#### Schemes

- **Batch-settlement** — 3
- **Exact** — 2369
- **Upto** — 6
- **Aggr deferred** — 2
- **Exact-canton** — 2
- **4mica-credit** — 1
- **Onchain-proof** — 1

### 2026-W39

#### Observed at

2026-09-27T11:01:50.274Z

#### Published at

2026-09-27T22:16:41.157Z

#### Probed

5027

#### Ready

2213

#### Rot

- **Dead doors** — 2591
- **percent** — 52

#### Signed offers

##### Serving

3

##### Of ready

2213

##### percent

0

##### Not found in challenge

2210

##### Present but unparseable

0

##### Cannot distinguish

A door counted in not_found_in_challenge served no extensions['offer-receipt'] offers in the challenge this census read, on the one path it walked. That single observation does not separate a door that does not serve signed offers, a door that serves them at another placement or path this probe did not look at, or a door that serves them here under a signing convention this census does not recognize. Only the first would be a fact about the door; the other two are facts about our probe, and this census will not publish them as the door's.

##### Basis

challenge-header-and-body

#### Rails

- **Of** — 2662
- **Base** — 2317
- **Polygon** — 159
- **Solana** — 499
- **Other** — 278
- **Multi** — 496
- **Single** — 1888
- **Testnet flagged** — 60
- **Basis** — per-rail-v2

#### Price USDC

- **Sample** — 2379
- **Min** — 0
- **P25** — 0.003
- **Median** — 0.01
- **P75** — 0.03
- **Max** — 1500
- **Basis** — usdc-base-polygon-solana

#### Coverage

- **Capped** — false
- **Coverage suspect** — false
- **Discovery stop** — declared_total
- **Feed declared total** — 15170
- **Population known** — 11838
- **Population walked** — 5027
- **Coverage percent** — 42.5

#### Hosts

5027

#### Operators

3222

#### Top5 share percent

14

#### Schemes

- **Batch-settlement** — 5
- **Exact** — 2655
- **Upto** — 12
- **Aggr deferred** — 2
- **Exact-canton** — 2
- **4mica-credit** — 1
- **Settled-transfer** — 1
- **Auth-capture** — 1
- **Onchain-proof** — 1
