x402 List

x402 Protocol Service Directory

difftool

Data PAYMENT-READY

payment-ready until 2026-08-20

Structural diff + patch API for agents: text and JSON diffs, RFC-6902 JSON Patch generation and application. Deterministic output suitable for automated pipelines. 0.03 USDC per call via x402 on Base.

Pay from $0.03 per request in USDC on Base, settled onchain via the x402 protocol, no signup, no API key needed.

first settlement 2026-07-21 · $0.17 all-time · settled via payAI, coinbase

BASE URL https://difftool.leeworks.dev WEBSITE https://difftool.leeworks.dev ENDPOINTS 1 NETWORK Base ASSET USDC MEMBER SINCE 2026-07-25 MONITORED SINCE 2026-07-25

ASSESSMENT

updated 57m ago

Evidence-backed signals, not a single score. Click any chip for the proof. Measured values stay read-only; unknown is honest.

reliability 99.6%
uptime 24h
100%
uptime 7d
100%
uptime 30d
99.6%
uptime 90d
99.6%
response p95
1993ms
avg response
1027ms
total checks
1,712

Measured on the unpaid 402 handshake, not the paid call. A service can 402 correctly and still fail after payment.

compliance A (13/14): declares the current x402 version (2)

13 of 14 x402 conformance checks pass; failing: declares the current x402 version (2). Full checklist below.

jump to compliance checklist

price $0.03 (p74 in Data)
price (min)
$0.03
category percentile (min)
p74 in Data
endpoints / prices
1 / 1
model
flat
stability
100%
risk clean

No deterministic risk flag. Risk fires only on an exact blocklist match, or a reserved-brand name with a mismatched verified payTo. Never from low uptime, a high price, or a model guess.

domain age
739d
registrar
CloudFlare, Inc.
hosting
custom
domain created
2024-07-30

Identity facts, not a risk score.

traction $0.1683333333 30d · 3 buyers
volume 30d
$0.1683333333
buyers 30d
3
settlements 30d
17
first settlement
2026-07-21
last settlement
2026-08-06
top buyer share
74% of 30d volume
trend 7d vs 30d
0.51x the 30d daily rate
networks
eip155:8453
volume all-time
$0.17
settlements all-time
17
median settlement 30d
$0.10
max settlement 30d
$0.10
settled via
payAI ($0.66, 9 tx), coinbase ($0.35, 8 tx)

Attributed pro-quota: this payout address is shared, so volume is the operator-level figure divided by the services sharing it, while buyer and transaction counts stay whole. A declared convention, not an individually observed measure, and still a conservative undercount.

Currently sharing this payout address with agentmail, chainfeed, chainkit, jsonguard, x402 Agent-Commerce Starter + Platform Map.

Top buyer share is a concentration signal, not part of the ranking score.

WHAT IT DOES

ai-derived

The service generates and applies structured diffs using RFC-6902 JSON Patch format.

category
diff-tool
in
body
diff-patchdata-comparison

AI-generated summary. The measured data is never altered by it.

ENDPOINTS

Service endpoints with HTTP method, path, description, pricing, and network
METHOD PATH DESCRIPTION PRICE NETWORK ASSET 402 CHANNEL
POST /v1/diff Structured diffs + RFC-6902 JSON Patch generate/apply $0.03 Base USDC body (v1 style)
1 endpoints

REQUEST / RESPONSE EXAMPLE

An unpaid request to POST /v1/diff returns HTTP 402 with the payment terms. Settle onchain via your facilitator, then retry with the X-Payment header.

// request
curl -i -X POST 'https://difftool.leeworks.dev/v1/diff'
// 402 response (captured by monitor) · 1 payload · click to expand
[
  {
    "error": "payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "input": {
            "method": "POST",
            "schema": {
              "type": "object",
              "required": [
                "op"
              ],
              "properties": {
                "a": {
                  "description": "text_diff: string A. json_patch/json_diff: doc A"
                },
                "b": {
                  "description": "text_diff: string B. json_patch/json_diff: doc B"
                },
                "op": {
                  "enum": [
                    "text_diff",
                    "json_patch",
                    "apply_patch",
                    "json_diff"
                  ],
                  "type": "string",
                  "description": "Operation; remaining fields depend on op"
                },
                "doc": {
                  "description": "apply_patch: base document"
                },
                "aName": {
                  "type": "string",
                  "description": "text_diff: label for A (default 'a')"
                },
                "bName": {
                  "type": "string",
                  "description": "text_diff: label for B (default 'b')"
                },
                "patch": {
                  "type": "array",
                  "description": "apply_patch: RFC-6902 patch to apply"
                }
              }
            },
            "example": {
              "a": {
                "n": 1,
                "name": "ada"
              },
              "b": {
                "n": 2,
                "name": "ada"
              },
              "op": "json_patch"
            },
            "contentType": "application/json"
          },
          "output": {
            "example": {
              "ok": true,
              "op": "json_patch",
              "patch": [
                {
                  "op": "replace",
                  "path": "/n",
                  "value": 2
                }
              ]
            },
            "contentType": "application/json",
            "description": "Always includes {ok, op}; other fields depend on op (patch | result | ops/summary | changedHunks)"
          },
          "version": "2"
        },
        "payTo": "0xa8B061d96F69426f11bcC807BfA00f0AF79541a7",
        "scheme": "exact",
        "network": "base",
        "mimeType": "application/json",
        "resource": "https://difftool.leeworks.dev/v1/diff",
        "description": "Structured diffs + RFC-6902 JSON Patch generate/apply",
        "maxAmountRequired": "30000",
        "maxTimeoutSeconds": 120
      }
    ],
    "x402Version": 1
  }
]

OVER TIME

All charts use the 30d selector; each series spans only the dates it has data for. Every series is also served as JSON at /api/v1/services/difftool/price, /scores, /volume and /buyers. On-chain volume and distinct buyers are measured over the service's settlement address and are a conservative undercount (only settlements that reach a measured facilitator are counted). The on-chain series roll up hourly, so the latest day can be up to about an hour behind; distinct buyers are counted per payout address, so a service that settles to more than one address is an upper bound.

UPTIME
07-25 · uptime 100.0% · 1148ms avg07-26 · uptime 100.0% · 910ms avg07-27 · uptime 100.0% · 883ms avg07-28 · uptime 96.7% · 894ms avg07-29 · uptime 100.0% · 813ms avg07-30 · uptime 100.0% · 878ms avg07-31 · uptime 100.0% · 896ms avg08-01 · uptime 100.0% · 1016ms avg08-02 · uptime 100.0% · 1075ms avg08-03 · uptime 100.0% · 1100ms avg08-04 · uptime 100.0% · 1151ms avg08-05 · uptime 100.0% · 1548ms avg08-06 · uptime 95.6% · 982ms avg08-07 · uptime 100.0% · 1025ms avg08-08 · uptime 100.0% · 1159ms avg08-09 · uptime 100.0% · 876ms avg08-10 · uptime 100.0% · 1166ms avg08-11 · uptime 100.0% · 891ms avg08-12 · uptime 100.0% · 955ms avg08-13 · uptime 100.0% · 1357ms avg07-2508-13
30d UPTIME 99.6%
RESPONSE TIME
07-25 · 1148ms avg07-25 · 1148ms avg07-26 · 910ms avg07-26 · 910ms avg07-27 · 883ms avg07-27 · 883ms avg07-28 · 894ms avg07-28 · 894ms avg07-29 · 813ms avg07-29 · 813ms avg07-30 · 878ms avg07-30 · 878ms avg07-31 · 896ms avg07-31 · 896ms avg08-01 · 1016ms avg08-01 · 1016ms avg08-02 · 1075ms avg08-02 · 1075ms avg08-03 · 1100ms avg08-03 · 1100ms avg08-04 · 1151ms avg08-04 · 1151ms avg08-05 · 1548ms avg08-05 · 1548ms avg08-06 · 982ms avg08-06 · 982ms avg08-07 · 1025ms avg08-07 · 1025ms avg08-08 · 1159ms avg08-08 · 1159ms avg08-09 · 876ms avg08-09 · 876ms avg08-10 · 1166ms avg08-10 · 1166ms avg08-11 · 891ms avg08-11 · 891ms avg08-12 · 955ms avg08-12 · 955ms avg08-13 · 1357ms avg08-13 · 1357ms avg07-2508-13
AVG RESP 1027ms
PRICE (captured 402, USD)
07-25 · $0.0308-13 · $0.03$0.0307-2508-13
SUB-SCORES (uptime + x402 compliance)
07-25 uptime: 100.0% compliance: 100% checks07-26 uptime: 100.0% compliance: 100% checks07-27 uptime: 100.0% compliance: 100% checks07-28 uptime: 99.0% compliance: 93% checks07-29 uptime: 99.2% compliance: 93% checks07-30 uptime: 99.4% compliance: 93% checks07-31 uptime: 99.5% compliance: 93% checks08-01 uptime: 99.5% compliance: 93% checks08-02 uptime: 99.6% compliance: 93% checks08-03 uptime: 99.6% compliance: 93% checks08-04 uptime: 99.7% compliance: 93% checks08-05 uptime: 99.7% compliance: 93% checks08-06 uptime: 99.4% compliance: 93% checks08-07 uptime: 99.4% compliance: 93% checks08-08 uptime: 99.4% compliance: 93% checks08-09 uptime: 99.5% compliance: 93% checks08-10 uptime: 99.5% compliance: 93% checks08-11 uptime: 99.5% compliance: 93% checks08-12 uptime: 99.6% compliance: 93% checks08-13 uptime: 99.6% compliance: 93% checksuptimecompliance07-2508-13

checklist grew 11->14 on 2026-07-28; a step here is a metric change, not a regression

PILLARS OVER TIME (measured)

Measured site and economics pillars from the assessment history, so the latest value shown elsewhere on this page reads as a point on a trend rather than a permanent state.

VOLUME (on-chain settlement, USD)
07-21 · $0.0107-23 · $0.0207-24 · $0.6307-27 · $0.0107-28 · $0.0107-29 · $0.2108-06 · $0.12peak $0.6307-2108-06

Shared payout address (5 other services). These bars are the full shared address (operator-level), so do not sum them across the services that share it. Where a per-service figure is attributed, the assessment block and the ranking, it is the address total divided pro-quota by the 6 services sharing it: a declared convention, not an individually observed measure.

DISTINCT BUYERS
07-21 · 1 buyer07-23 · 1 buyer07-24 · 2 buyers07-27 · 1 buyer07-28 · 1 buyer07-29 · 2 buyers08-06 · 2 buyerspeak 2 buyers07-2108-06

Shared payout address (5 other services). These bars are the full shared address (operator-level), so do not sum them across the services that share it. Per-service buyer and transaction counts are shown whole (integers), not divided; only volume is attributed pro-quota. A declared convention, not an individually observed measure.

COMPLIANCE

13/14 checks pass · grade A · failing: declares the current x402 version (2)

last 402 captured 2026-07-25 · last up 2026-08-13

  • 402 payload captured
  • accepts[] array present
  • payTo address recoverable
  • payTo at accepts[0].payTo (conformant shape)
  • payTo is a valid on-chain address
  • atomic price declared
  • atomic price in a sane range
  • asset (token) address declared
  • network resolves to CAIP-2
  • payment scheme declared
  • served over HTTPS
  • declares the current x402 version (2)
  • EIP-712 domain parameters present on every EVM entry
  • x402 v2 envelope delivered in the payment-required header

SITE PILLARS

  • homepage reachable
  • openapi doc
  • pricing page
  • llms.txt
  • robots.txt
  • terms page
recent checks (18) live · click to expand
TIME STATUS RESP CAUSE
● OK 969ms
● SLOW 1602ms
● OK 1345ms
● SLOW 1961ms
● OK 1478ms
● OK 1357ms
● SLOW 1819ms
● SLOW 1961ms
● SLOW 1663ms
● SLOW 1646ms
● SLOW 1553ms
● OK 1438ms
● OK 1389ms
● OK 453ms
● OK 906ms
● SLOW 1601ms
● OK 755ms
● SLOW 2032ms

EMBED THIS BADGE

Show that difftool is monitored on x402-list. Paste this on your site or README, it links back to this live listing.

difftool listed on x402-list
status
difftool uptime on x402-list
live uptime
// HTML
<a href="https://x402-list.com/services/difftool?utm_source=badge&utm_medium=referral&utm_campaign=embed">
  <img src="https://x402-list.com/badge/difftool.svg" alt="difftool listed on x402-list" height="28">
</a>
// Markdown
[![difftool on x402-list](https://x402-list.com/badge/difftool.svg)](https://x402-list.com/services/difftool?utm_source=badge&utm_medium=referral&utm_campaign=embed)
// HTML · live uptime variant
<a href="https://x402-list.com/services/difftool?utm_source=badge&utm_medium=referral&utm_campaign=embed">
  <img src="https://x402-list.com/badge/difftool.svg?data=uptime" alt="difftool uptime on x402-list" height="28">
</a>

RUN THIS SERVICE?

Keep this listing accurate: propose changes to the name, description, website, category or add new endpoints to monitor. Ownership is verified with a domain proof and every change is reviewed manually; measured data stays read-only.

[ update this listing ]

Earn the verified tier: x402list pays a real call to this endpoint and, if it delivers, the service is delivery-verified. The fee covers the cost of the probe, not the badge; there is no refund if the call does not deliver. Agent and API only, no in-browser signing. See /api.

[ verify this service ($0.25) ]

To request delisting, email info@x402-list.com or update your listing at /services/difftool/update.