{
  "lang": "ja",
  "ページ": "https://x402-catalog-history.ai-business-surface.workers.dev/ja/x402-price-benchmark",
  "title": "x402 price benchmark — 0.02 の /price を払う前に、無料の /data.json で帯を出す（実測）",
  "h1": "x402 price benchmark を自分でやる — /price の無料プレビューは金額を見ず、無料 /data.json は19時間新しい（実測）",
  "description": "x402 の価格が相場かどうかを確かめる /price は 0.02 USDC。2026-10-20 に支払いなしで測ると、402 は 32,884 B・292 ms、無料プレビューは 1,690 B で 5通りの金額（0.02 / 0.05 / 1 / abc / なし）がすべて同一 SHA-256 でした。判定・パーセンタイル・n はプレビューに含まれません。一方、無料の /data.json（5,884 B）には 2,330件の価格帯があり、0.02 が「$0.01〜$0.05 の 1,699件（72.9%）」に入ることまで無料で分かります。有料の索引は 2026-10-15T14:49Z 生成で、無料データ（2026-10-16T10:11Z）より約19時間古いことも実測で分かりました。",
  "検索語": "x402 price benchmark",
  "読者の問い": "x402 の価格が相場より高いか安いかを、払う前にどこまで無料で確かめられるのか。",
  "実測日": "2026-10-20 JST",
  "実測": {
    "caption": "x402 price benchmark の実測（2026-10-20 JST・公開URLへの支払いなしGET）",
    "columns": [
      "リクエスト",
      "応答",
      "大きさ",
      "応答時間",
      "中身"
    ],
    "rows": [
      [
        "/data.json",
        "200",
        "5,884 B",
        "487 ms",
        "無料。2,503件・価格あり2,330件・6つの価格帯"
      ],
      [
        "/price?amount=0.02",
        "402",
        "32,884 B",
        "292 ms",
        "0.02 USDC の宣言のみ。200 の本文は未取得"
      ],
      [
        "/price?amount=0.02&preview=1",
        "200",
        "1,690 B",
        "436 ms",
        "判定・パーセンタイル・n なし"
      ],
      [
        "/price?amount=0.05&preview=1",
        "200",
        "1,690 B",
        "150 ms",
        "上の本文と SHA-256 一致"
      ],
      [
        "/price?amount=1&preview=1",
        "200",
        "1,690 B",
        "151 ms",
        "同上"
      ],
      [
        "/price?amount=abc&preview=1",
        "200",
        "1,690 B",
        "138 ms",
        "不正な金額でも 400 にならない"
      ],
      [
        "/price?preview=1（amount なし）",
        "200",
        "1,690 B",
        "148 ms",
        "同上"
      ],
      [
        "/status.json",
        "200",
        "26,388 B",
        "8,942 ms",
        "無料。/price は納品7件・最終 2026-10-18T01:14:45Z"
      ]
    ],
    "note": "402 の accepts[0] は scheme=exact、network=base、maxAmountRequired=20000（0.02 USDC）、maxTimeoutSeconds=60、asset は Base の USDC。本文は x402Version=1。プレビュー5通りはすべて 1,690 B・同一 SHA-256（e415faf55b0f8bcd…）。応答時間の中央値はプレビュー 150 ms、402 は 292 ms、/status.json は 8,942 ms。"
  },
  "見出し": [
    "結論",
    "実測",
    "無料の /data.json で「帯」まで出す",
    "プレビューが金額を見ない理由",
    "有料の 200 で増えるもの（宣言から）",
    "払うか、自分で帯を出すか",
    "次の一歩"
  ],
  "本文": [
    {
      "見出し": "結論",
      "html": "<p><code>/price</code> は「その金額が x402 の市場で高いか安いか」を1回 0.02 USDC で返す API です。支払い前に返るのは 402（32,884 B・292 ms）で、価格と支払条件、そして無料プレビューの案内だけです。<strong>判定・パーセンタイル・サンプル数は、無料プレビューには入っていません</strong>。実際に 5通りの金額で叩くと、<strong>1,690 B・同一 SHA-256</strong> が返り、<code>amount</code> は本文に反映されませんでした（<code>abc</code> でも 200）。</p><p>つまり「x402 price benchmark」を買う前に確かめられるのは、<strong>価格の帯まで</strong>です。無料の <a href=\"https://x402-catalog-history.ai-business-surface.workers.dev/data.json\"><code>/data.json</code></a> には 2,330件の価格が6つの帯で入っていて、0.02 は <strong>$0.01〜$0.05 の 1,699件（72.9%）</strong>に入ります。中央値は 0.01 なので <strong>0.02 は中央値の2倍</strong>。ここまでは 0 円で出せます。有料の 200 が足すのは、帯の中での正確な位置（パーセンタイル）と n、カテゴリ別の比較です。</p><p>もう1つ、実測で分かった注意点があります。プレビューが示す有料索引の生成時刻は <strong>2026-10-15T14:49:56Z</strong>、無料の <code>/data.json</code> の更新は <strong>2026-10-16T10:11:00Z</strong> で、<strong>無料データの方が約19時間新しい</strong>ということです。同じ市場を見るなら、まず無料の新しい方を読み、足りない部分だけ 0.02 を払う順番が合理的です。</p>"
    },
    {
      "見出し": "実測",
      "html": "<table>\n<thead><tr><th>リクエスト</th><th>応答</th><th>大きさ</th><th>応答時間</th><th>中身</th></tr></thead>\n<tbody>\n<tr><td><code>/data.json</code></td><td>200</td><td>5,884 B</td><td>487 ms</td><td>無料。2,503件・価格あり2,330件・6つの価格帯</td></tr>\n<tr><td><code>/price?amount=0.02</code></td><td>402</td><td>32,884 B</td><td>292 ms</td><td>0.02 USDC の宣言のみ。200 の本文は未取得</td></tr>\n<tr><td><code>/price?amount=0.02&amp;preview=1</code></td><td>200</td><td>1,690 B</td><td>436 ms</td><td>判定・パーセンタイル・n なし</td></tr>\n<tr><td><code>/price?amount=0.05&amp;preview=1</code></td><td>200</td><td>1,690 B</td><td>150 ms</td><td>上の本文と SHA-256 一致</td></tr>\n<tr><td><code>/price?amount=1&amp;preview=1</code></td><td>200</td><td>1,690 B</td><td>151 ms</td><td>同上</td></tr>\n<tr><td><code>/price?amount=abc&amp;preview=1</code></td><td>200</td><td>1,690 B</td><td>138 ms</td><td>不正な金額でも 400 にならない</td></tr>\n<tr><td><code>/price?preview=1</code>（amount なし）</td><td>200</td><td>1,690 B</td><td>148 ms</td><td>同上</td></tr>\n<tr><td><code>/status.json</code></td><td>200</td><td>26,388 B</td><td>8,942 ms</td><td>無料。/price は納品7件・最終 2026-10-18T01:14:45Z</td></tr>\n</tbody>\n</table>\n<p>プレビューの本文はこういう形です: <code>product_id</code> / <code>preview</code> / <code>path</code> / <code>summary</code> / <code>not_in_a_preview</code> / <code>full_report</code> / <code>if_this_helped</code>。<code>summary</code> に入るのは索引の有無・生成時刻・<strong>呼び出し元の支払い条件</strong>（<code>amount_atomic=20000</code>）・<code>basis</code> だけです。質問した金額は、<code>amount</code> を渡しても返りません。</p><p>402 は 32,884 B と大きめですが、内訳は <code>accepts[0]</code>（10項目）と <code>terms</code>（返金なし・保証なしの明記）、<code>receive</code>（2回呼び方の説明）、そして商品説明です。<code>payment-required</code> ヘッダは 6,888 B でした。無料プレビューの 1,690 B と比べると<strong>約19.5倍</strong>あります。</p>"
    },
    {
      "見出し": "無料の /data.json で「帯」まで出す",
      "html": "<p><code>/data.json</code> は 2026-10-16T10:11:00Z 更新、2,503件（価格あり 2,330件・価格なし 172件）で、価格を6つの帯に分けて返します。2026-10-20 に取得した値は次の通りです。</p><table>\n<thead><tr><th>帯</th><th>件数</th><th>2,330件に占める割合</th><th>累積</th></tr></thead>\n<tbody>\n<tr><td>under $0.005</td><td>424</td><td>18.2%</td><td>18.2%</td></tr>\n<tr><td>$0.005 - $0.01</td><td>142</td><td>6.1%</td><td>24.3%</td></tr>\n<tr><td>$0.01 - $0.05</td><td>1,699</td><td>72.9%</td><td>97.2%</td></tr>\n<tr><td>$0.05 - $0.10</td><td>28</td><td>1.2%</td><td>98.4%</td></tr>\n<tr><td>$0.10 - $1.00</td><td>33</td><td>1.4%</td><td>99.8%</td></tr>\n<tr><td>$1.00 and above</td><td>4</td><td>0.2%</td><td>100%</td></tr>\n</tbody>\n</table>\n<p>中央値 0.01・p90 0.01・p99 0.10・最大 5 USDC。この帯だけでも、いくつかの金額の位置は言えます。</p><ul>\n<li><strong>0.001</strong>: under $0.005（18.2%）に入る。市場の下位5分の1。</li>\n<li><strong>0.02</strong>: $0.01〜$0.05 の帯。下から数えると 24.3% より上、上から数えると 2.8% より下。つまり<strong>24〜97パーセンタイルのどこか</strong>までしか絞れない。中央値 0.01 の2倍。</li>\n<li><strong>0.5</strong>: $0.10〜$1.00（1.4%）。p99 の 0.10 より上。</li>\n<li><strong>1</strong>: $1.00 and above（4件・0.2%）。</li>\n</ul>\n<p>これが「帯まで」の意味です。0.02 が中央値の2倍なのは無料で分かりますが、<strong>0.02 が上位何%かは、帯の中の分布が無いので決められません</strong>。有料の <code>/price</code> の 200 は、ここを<code>price_position.percentile_text</code> として埋めると宣言しています（未取得）。</p>"
    },
    {
      "見出し": "プレビューが金額を見ない理由",
      "html": "<p>5通り（0.02 / 0.05 / 1 / abc / amount なし）のプレビューが<strong>バイト単位で同一</strong>だったことは、2つの読み方を許します。1つは「プレビューは商品の形だけを見せるもの」で、金額に依存しないのは設計通り。もう1つは「<strong>金額の形式や妥当性は、課金の前にも後にも検証されない</strong>」という実装上の事実です。<code>abc</code> が 200 を返すのは後者で、入力の誤りを 402 の前に 400 で止める他経路（例: <code>/news?limit=abc</code> は 400）とは挙動が違います。</p><p>買い手にとって大事なのは、<strong>「この金額は相場か」という問いに、プレビューが答えない</strong>ことです。プレビューの <code>not_in_a_preview</code> は、判定（verdict）・p25/median/p90・n・カテゴリ別・所見を「有料の 200 で返す」と明記しています。つまり 1,690 B を読んでも、0.02 が高いか安いかは1文字も分かりません。</p>"
    },
    {
      "見出し": "有料の 200 で増えるもの（宣言から）",
      "html": "<p>402 の <code>accepts[0].description</code> によると、200 の本文は <code>verdict</code>（label / plain / one_line / rule）、<code>price_position</code>（percentile_text / band / multiple_of_median）、<code>market</code>（sample_size / p25 / median / p90 / bands / fetched_at）、<code>category</code>、<code>my_price</code> を含みます。比較は同梱スナップショットから返り、第三者へは問い合わせない、とも書いています。</p><p>ここで実測できた食い違いが1つあります。プレビューの <code>summary.index_generated_at</code> は <strong>2026-10-15T14:49:56.365Z</strong>、<code>index_source_fetched_at</code> は <strong>2026-10-15T14:47:05.456Z</strong>。一方、無料の <code>/data.json</code> の <code>updated_at</code> は <strong>2026-10-16T10:11:00Z</strong> です。<strong>有料の索引は、無料データより約19時間21分古い</strong>時点の市場を指しています。</p><p>これは「有料が間違い」という話ではありません。有料の判定は<strong>同梱スナップショットに固定されている</strong>ので、呼ぶたびに答えが変わらない（監査しやすい）という利点があります。ただし<strong>「今の相場」を知りたい買い手には、無料の <code>/data.json</code> の方が新しい</strong>という事実は、0.02 を払う前に知っておく価値があります。払うなら「新しい帯」と「古いが固定された判定」のどちらが欲しいかで決めます。</p>"
    },
    {
      "見出し": "払うか、自分で帯を出すか",
      "html": "<ul>\n<li><strong>自分で出す（無料）</strong>：金額が中央値の何倍か、どの帯か、上位数%か（帯の粗さでよければ）は <code>/data.json</code> で足ります。実測 5,884 B・487 ms で、更新日時は <code>updated_at</code> に明記されています。スクリプトは十数行です。</li>\n<li><strong>/price に払う（0.02/回）</strong>：帯の中の正確なパーセンタイル、n、カテゴリ別比較、所見の文章が要る場合。索引が固定なので、同じ入力に同じ答えが返ることを前提にした判断（社内の価格表の根拠づけ）に向きます。</li>\n<li><strong>向かない場合</strong>：今この瞬間の市場だけを知りたい（無料の方が新しい）、金額の入力ミスを課金前に弾いてほしい（プレビューは 200 を返す）、判定の根拠を自分で再計算したい（同梱スナップショットの中身は 200 を取るまで見えない）。</li>\n</ul>\n<pre><code>curl -s \"https://x402-catalog-history.ai-business-surface.workers.dev/data.json\" \\\n  | jq '.price_distribution | {median_usd, p90_usd, p99_usd, bands}'</code></pre>\n<p>まずこの1行で帯を取り、自分の価格がどの帯かを確認する。帯の外（p99 超えなど）なら、0.02 を払う前に値付けそのものを見直す材料になります。0.02 を払うのは、帯の中の位置が必要になったときで十分です。</p>"
    },
    {
      "見出し": "次の一歩",
      "html": "<p>市場全体の分布と自分の値付けの置き方は <a href=\"https://x402-catalog-history.ai-business-surface.workers.dev/ja/price-benchmark\"><code>/ja/price-benchmark</code></a>（2,330件の中央値・p90・p99）、売り手としての値付けは <a href=\"https://x402-catalog-history.ai-business-surface.workers.dev/ja/what-price-to-charge-x402\"><code>/ja/what-price-to-charge-x402</code></a>、402 とプレビューの読み方は <a href=\"https://x402-catalog-history.ai-business-surface.workers.dev/ja/is-x402-endpoint-alive\"><code>/ja/is-x402-endpoint-alive</code></a> に実測でまとめています。価格の生データは <a href=\"https://x402-catalog-history.ai-business-surface.workers.dev/data.json\"><code>/data.json</code></a>（無料・CC0）、当方の宣言価格は <a href=\"https://x402-catalog-history.ai-business-surface.workers.dev/product.json\"><code>/product.json</code></a> で読めます。</p>"
    }
  ],
  "一覧": "https://x402-catalog-history.ai-business-surface.workers.dev/ja"
}
