x402 List Submit a serviceSubmit

how.is

payment-readyonline

payment-ready until 2026-11-05

Check a URL, domain or IP before an agent trusts it: URL pre-flight safety verdict, read-a-page with verdict, company card, WHOIS, DNS, TLS, email auth, zone-file change history, brand look-alike domains, real-crawler verification, screenshots.

Compare: all web scraping APIs · all screenshot APIs · all WHOIS and domain APIs

Call it x402 v2

x402 v2

Base URL
https://how.is
Payment
x402 v2, header channel
$ curl -i 'https://how.is/v1/bot/verify'

An unpaid request returns HTTP 402 with the payment terms. Sign a payment authorization, then retry with the PAYMENT-SIGNATURE header.

Endpoints 23 paid routes on how.is

GET/v1/bot/verifyBase$0.005since 10-29
POST/v1/bot/verify/batchBase$0.005since 10-29
GET/v1/botsBase$0.05since 10-29
GET/v1/brand/lookalikesBase$0.02since 10-29
GET/v1/check/siteBase$0.005since 10-29
GET/v1/companyBase$0.01since 10-29
GET/v1/domain/ageBase$0.005since 10-29
GET/v1/domain/availableBase$0.005since 10-29

15 more in Example 402 response

Prices as captured in the 402 response: median $0.005 across the 23 endpoints, unchanged since first capture.

Example 402 response

Endpoints and prices

Current paid endpoints; minimum quoted prices in USD where available; first capture dates in UTC
MethodPathDescriptionPriceNetworkAsset402 channelCaptured
GET/v1/bot/verifyVerify a crawler's identity: is this IP + user-agent really Googlebot, Bingbot, GPTBot or ClaudeBot, an impostor using the name, another bot, or a person?$0.005BaseUSDCheadersince 10-29
POST/v1/bot/verify/batchVerify many crawler visitors (IP + user-agent) in one call: real Googlebot, GPTBot, ClaudeBot or impostor, billed per item.$0.005BaseUSDCheadersince 10-29
GET/v1/botsGet the last 7 days of crawler and bot traffic intelligence: every network, named crawler, JA4 TLS fingerprint and firewall rule seen, refreshed hourly.$0.05BaseUSDCheadersince 10-29
GET/v1/brand/lookalikesFind newly registered look-alikes of a brand: typos, look-alike characters, the same name on another TLD, or the brand beside a lure word, new in the zone files in the last 14 days, each with a risk tier and reasons.$0.02BaseUSDCheadersince 10-29
GET/v1/check/siteCheck whether websites are up right now: HTTP status, latency, DNS time, resolved IP and TLS days left, for up to 10 URLs.$0.005BaseUSDCheadersince 10-29
GET/v1/companyLook up the company behind a domain: name, description, category, location, socials, mail/DNS/hosting providers and registration, each with source and confidence.$0.01BaseUSDCheadersince 10-29
GET/v1/domain/ageFind out how old a domain is: registration date, age in days and whether it was registered in the last 30 days, a common phishing signal.$0.005BaseUSDCheadersince 10-29
GET/v1/domain/availableCheck whether a domain name is available to register, asked of the registry over RDAP, with first-year and renewal price.$0.005BaseUSDCheadersince 10-29
GET/v1/domain/blacklistCheck whether a domain's mail and web addresses are listed on spam and abuse blocklists.$0.005BaseUSDCheadersince 10-29
GET/v1/domain/changesCheck when a domain appeared in the registry zone file, left it, came back or changed nameservers, from daily gTLD and .com/.net zone files. A sudden nameserver move signals a hijack or sale; a brand-new name signals phishing.$0.01BaseUSDCheadersince 10-29
GET/v1/domain/dnsLook up a domain's DNS records (A, AAAA, MX, NS, TXT and more) with resolve timing.$0.005BaseUSDCheadersince 10-29
GET/v1/domain/dnssecCheck whether a domain is DNSSEC-signed and validates, with the chain of trust.$0.005BaseUSDCheadersince 10-29
GET/v1/domain/email-authCheck a domain's email authentication: SPF, DKIM and DMARC records, a score and what to fix.$0.005BaseUSDCheadersince 10-29
GET/v1/domain/profileLook up everything about a domain in one call: DNS, WHOIS, TLS, DNSSEC, SPF/DKIM/DMARC, security grade, blocklist status and IP owner.$0.025BaseUSDCheadersince 10-29
GET/v1/domain/security-scoreGrade a domain's security posture: a letter grade and point score with every scored item behind it.$0.005BaseUSDCheadersince 10-29
GET/v1/domain/tlsCheck a domain's TLS/SSL certificate: valid or not, issuer, protocol and days until it expires.$0.005BaseUSDCheadersince 10-29
GET/v1/domain/trustCheck whether a domain is safe to click, sign in to or pay: a risk score and verdict with plain-English reasons from domain age, blocklists and HTTPS.$0.02BaseUSDCheadersince 10-29
GET/v1/domain/whoisLook up a domain's WHOIS/RDAP record: registrar, creation and expiry dates, nameservers and status codes.$0.005BaseUSDCheadersince 10-29
GET/v1/ipLook up an IP address: network owner (ASN), company, location, VPN/proxy flags and abuse contact.$0.005BaseUSDCheadersince 10-29
GET/v1/readRead a web page as clean markdown, with a safety verdict attached: robots.txt honored for your agent, risky sites flagged as untrusted, optional screenshot.$0.005BaseUSDCheadersince 10-29
GET/v1/site/screenshotTake a screenshot of any public web page: a 1280-wide JPEG, viewport or full page, with its final URL, HTTP status and title.$0.02BaseUSDCheadersince 10-29
GET/v1/url/preflightCheck whether a URL is safe to fetch, read, sign in to or pay before you do: domain age, look-alike, blocklists, HTTPS, robots.txt for your agent and the site's own x402 price.$0.005BaseUSDCheadersince 10-29
GET/v1/watch/pageDetect whether a web page changed since your last call, with a text diff and how much of the page moved.$0.005BaseUSDCheadersince 10-29

Payment evidence

402 payload captured at . Check evidence JSON · Measurement methodology.

First of 23 payloads captured by the monitor.

135 lines, scroll inside

{
  "accepts": [
    {
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2"
      },
      "payTo": "0xa76a0E93C5af3fd43521300B0a58eF5F70fC44F6",
      "amount": "5000",
      "scheme": "exact",
      "network": "eip155:8453",
      "maxTimeoutSeconds": 300
    }
  ],
  "resource": {
    "url": "https://how.is/v1/url/preflight",
    "tags": [
      "url-safety",
      "fetch",
      "robots-txt",
      "phishing",
      "security"
    ],
    "iconUrl": "https://how.is/icon.png",
    "mimeType": "application/json",
    "description": "Check whether a URL is safe to fetch, read, sign in to or pay before you do: domain age, look-alike, blocklists, HTTPS, robots.txt for your agent and the site's own x402 price.",
    "serviceName": "how.is"
  },
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "body": {
            "url": "https://github.com"
          },
          "type": "http",
          "method": "POST",
          "bodyType": "json"
        },
        "output": {
          "type": "json",
          "example": {
            "data": {
              "_shape": "data: verdict (likely_safe/caution/high_risk/inconclusive), risk_score, safe_to{fetch,read,sign_in,pay} each yes/caution/no/unknown, actions{...: {answer, why}}, reasons[{risk, why}], domain_age_days, newborn, lookalike, https_valid, robots{allowed, token, status}, http{status, content_type, redirects}, x402{offers[{price_usd, network, pay_to}]}, bot_policy, not_checked[]."
            },
            "result": "URL pre-flight for the requested subject",
            "receipt": {
              "rail": "x402",
              "tool": "preflight",
              "charge_usd": 0.005,
              "settlement_tx": "0x…"
            }
          }
        }
      },
      "schema": {
        "type": "object",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "required": [
          "input"
        ],
        "properties": {
          "input": {
            "type": "object",
            "required": [
              "type",
              "method",
              "bodyType",
              "body"
            ],
            "properties": {
              "body": {
                "type": "object",
                "required": [
                  "url"
                ],
                "properties": {
                  "ua": {
                    "type": "string",
                    "maxLength": 512,
                    "description": "The user agent you will fetch with; robots.txt and our bot policy are judged for it. Defaults to the User-Agent of this request."
                  },
                  "url": {
                    "type": "string",
                    "format": "uri",
                    "maxLength": 2000,
                    "description": "The http(s) URL you are about to fetch"
                  }
                },
                "additionalProperties": false
              },
              "type": {
                "type": "string",
                "const": "http"
              },
              "method": {
                "enum": [
                  "POST",
                  "PUT",
                  "PATCH"
                ],
                "type": "string"
              },
              "bodyType": {
                "enum": [
                  "json",
                  "form-data",
                  "text"
                ],
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "output": {
            "type": "object",
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "type": "string"
              },
              "example": {
                "type": "object"
              }
            }
          }
        }
      }
    }
  },
  "x402Version": 2
}
Other captured 402 responses (22)

Captured payload 2 of 23

{
  "accepts": [
    {
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2"
      },
      "payTo": "0xa76a0E93C5af3fd43521300B0a58eF5F70fC44F6",
      "amount": "5000",
      "scheme": "exact",
      "network": "eip155:8453",
      "maxTimeoutSeconds": 300
    }
  ],
  "resource": {
    "url": "https://how.is/v1/read",
    "tags": [
      "markdown",
      "web-scraping",
      "fetch",
      "url-safety",
      "content-extraction"
    ],
    "iconUrl": "https://how.is/icon.png",
    "mimeType": "application/json",
    "description": "Read a web page as clean markdown, with a safety verdict attached: robots.txt honored for your agent, risky sites flagged as untrusted, optional screenshot.",
    "serviceName": "how.is"
  },
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "body": {
            "url": "https://github.com"
          },
          "type": "http",
          "method": "POST",
          "bodyType": "json"
        },
        "output": {
          "type": "json",
          "example": {
            "data": {
              "_shape": "data: markdown, title, description, lang, canonical, final_url, http_status, content_type, words, truncated, untrusted_content, preflight{verdict, safe_to, reasons, ...}, screenshot{image_base64, ...} when asked."
            },
            "result": "Read a page (with verdict) for the requested subject",
            "receipt": {
              "rail": "x402",
              "tool": "read",
              "charge_usd": 0.005,
              "settlement_tx": "0x…"
            }
          }
        }
      },
      "schema": {
        "type": "object",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "required": [
          "input"
        ],
        "properties": {
          "input": {
            "type": "object",
            "required": [
              "type",
              "method",
              "bodyType",
              "body"
            ],
            "properties": {
              "body": {
                "type": "object",
                "required": [
                  "url"
                ],
                "properties": {
                  "ua": {
                    "type": "string",
                    "maxLength": 512,
                    "description": "The user agent you will fetch with; robots.txt and our bot policy are judged for it. Defaults to the User-Agent of this request."
                  },
                  "url": {
                    "type": "string",
                    "format": "uri",
                    "maxLength": 2000,
                    "description": "The http(s) page to read"
                  },
                  "screenshot": {
                    "type": "boolean",
                    "description": "Also return a 1280x800 JPEG of the page"
                  }
                },
                "additionalProperties": false
              },
              "type": {
                "type": "string",
                "const": "http"
              },
              "method": {
                "enum": [
                  "POST",
                  "PUT",
                  "PATCH"
                ],
                "type": "string"
              },
              "bodyType": {
                "enum": [
                  "json",
                  "form-data",
                  "text"
                ],
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "output": {
            "type": "object",
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "type": "string"
              },
              "example": {
                "type": "object"
              }
            }
          }
        }
      }
    }
  },
  "x402Version": 2
}

Captured payload 3 of 23

{
  "accepts": [
    {
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2"
      },
      "payTo": "0xa76a0E93C5af3fd43521300B0a58eF5F70fC44F6",
      "amount": "25000",
      "scheme": "exact",
      "network": "eip155:8453",
      "maxTimeoutSeconds": 300
    }
  ],
  "resource": {
    "url": "https://how.is/v1/domain/profile",
    "tags": [
      "domain",
      "dns",
      "whois",
      "security",
      "enrichment"
    ],
    "iconUrl": "https://how.is/icon.png",
    "mimeType": "application/json",
    "description": "Look up everything about a domain in one call: DNS, WHOIS, TLS, DNSSEC, SPF/DKIM/DMARC, security grade, blocklist status and IP owner.",
    "serviceName": "how.is"
  },
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "body": {
            "domain": "github.com"
          },
          "type": "http",
          "method": "POST",
          "bodyType": "json"
        },
        "output": {
          "type": "json",
          "example": {
            "data": {
              "_shape": "data.sections.{dns,whois,tls,dnssec,email-auth,security-score,blacklist,ip}; data.errors names any section that failed; data.billing says what was delivered."
            },
            "result": "Domain profile (bundle) for the requested subject",
            "receipt": {
              "rail": "x402",
              "tool": "profile",
              "charge_usd": 0.025,
              "settlement_tx": "0x…"
            }
          }
        }
      },
      "schema": {
        "type": "object",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "required": [
          "input"
        ],
        "properties": {
          "input": {
            "type": "object",
            "required": [
              "type",
              "method",
              "bodyType",
              "body"
            ],
            "properties": {
              "body": {
                "type": "object",
                "required": [
                  "domain"
                ],
                "properties": {
                  "domain": {
                    "type": "string",
                    "maxLength": 253,
                    "description": "A bare domain name, e.g. example.com"
                  }
                },
                "additionalProperties": false
              },
              "type": {
                "type": "string",
                "const": "http"
              },
              "method": {
                "enum": [
                  "POST",
                  "PUT",
                  "PATCH"
                ],
                "type": "string"
              },
              "bodyType": {
                "enum": [
                  "json",
                  "form-data",
                  "text"
                ],
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "output": {
            "type": "object",
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "type": "string"
              },
              "example": {
                "type": "object"
              }
            }
          }
        }
      }
    }
  },
  "x402Version": 2
}

Captured payload 4 of 23

{
  "accepts": [
    {
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2"
      },
      "payTo": "0xa76a0E93C5af3fd43521300B0a58eF5F70fC44F6",
      "amount": "20000",
      "scheme": "exact",
      "network": "eip155:8453",
      "maxTimeoutSeconds": 300
    }
  ],
  "resource": {
    "url": "https://how.is/v1/domain/trust",
    "tags": [
      "url-safety",
      "phishing",
      "domain",
      "security",
      "trust"
    ],
    "iconUrl": "https://how.is/icon.png",
    "mimeType": "application/json",
    "description": "Check whether a domain is safe to click, sign in to or pay: a risk score and verdict with plain-English reasons from domain age, blocklists and HTTPS.",
    "serviceName": "how.is"
  },
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "body": {
            "domain": "github.com"
          },
          "type": "http",
          "method": "POST",
          "bodyType": "json"
        },
        "output": {
          "type": "json",
          "example": {
            "data": {
              "_shape": "data: verdict, risk_score (0-100), reasons[{risk, why}], age_days, blocklist_listings, blocklists_unanswered[], https_valid, not_checked[]."
            },
            "result": "Trust check for the requested subject",
            "receipt": {
              "rail": "x402",
              "tool": "trust",
              "charge_usd": 0.02,
              "settlement_tx": "0x…"
            }
          }
        }
      },
      "schema": {
        "type": "object",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "required": [
          "input"
        ],
        "properties": {
          "input": {
            "type": "object",
            "required": [
              "type",
              "method",
              "bodyType",
              "body"
            ],
            "properties": {
              "body": {
                "type": "object",
                "required": [
                  "domain"
                ],
                "properties": {
                  "domain": {
                    "type": "string",
                    "maxLength": 253,
                    "description": "A bare domain name, e.g. example.com"
                  }
                },
                "additionalProperties": false
              },
              "type": {
                "type": "string",
                "const": "http"
              },
              "method": {
                "enum": [
                  "POST",
                  "PUT",
                  "PATCH"
                ],
                "type": "string"
              },
              "bodyType": {
                "enum": [
                  "json",
                  "form-data",
                  "text"
                ],
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "output": {
            "type": "object",
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "type": "string"
              },
              "example": {
                "type": "object"
              }
            }
          }
        }
      }
    }
  },
  "x402Version": 2
}

Captured payload 5 of 23

{
  "accepts": [
    {
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2"
      },
      "payTo": "0xa76a0E93C5af3fd43521300B0a58eF5F70fC44F6",
      "amount": "10000",
      "scheme": "exact",
      "network": "eip155:8453",
      "maxTimeoutSeconds": 300
    }
  ],
  "resource": {
    "url": "https://how.is/v1/company",
    "tags": [
      "company",
      "enrichment",
      "firmographics",
      "domain",
      "kyb"
    ],
    "iconUrl": "https://how.is/icon.png",
    "mimeType": "application/json",
    "description": "Look up the company behind a domain: name, description, category, location, socials, mail/DNS/hosting providers and registration, each with source and confidence.",
    "serviceName": "how.is"
  },
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "body": {
            "domain": "github.com"
          },
          "type": "http",
          "method": "POST",
          "bodyType": "json"
        },
        "output": {
          "type": "json",
          "example": {
            "data": {
              "_shape": "data: name, legal_name, description, categories, kind, audience, business_model, location{locality,region,country}, social{x,linkedin,...}, providers{dns,mail,hosting}, registration{registrar,created,expires,age_years,registrant_org}, ownership, confidence{overall,fields}, sources, not_checked[]."
            },
            "result": "Company card for the requested subject",
            "receipt": {
              "rail": "x402",
              "tool": "company",
              "charge_usd": 0.01,
              "settlement_tx": "0x…"
            }
          }
        }
      },
      "schema": {
        "type": "object",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "required": [
          "input"
        ],
        "properties": {
          "input": {
            "type": "object",
            "required": [
              "type",
              "method",
              "bodyType",
              "body"
            ],
            "properties": {
              "body": {
                "type": "object",
                "required": [
                  "domain"
                ],
                "properties": {
                  "domain": {
                    "type": "string",
                    "maxLength": 253,
                    "description": "A bare domain name, e.g. example.com"
                  }
                },
                "additionalProperties": false
              },
              "type": {
                "type": "string",
                "const": "http"
              },
              "method": {
                "enum": [
                  "POST",
                  "PUT",
                  "PATCH"
                ],
                "type": "string"
              },
              "bodyType": {
                "enum": [
                  "json",
                  "form-data",
                  "text"
                ],
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "output": {
            "type": "object",
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "type": "string"
              },
              "example": {
                "type": "object"
              }
            }
          }
        }
      }
    }
  },
  "x402Version": 2
}

Captured payload 6 of 23

{
  "accepts": [
    {
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2"
      },
      "payTo": "0xa76a0E93C5af3fd43521300B0a58eF5F70fC44F6",
      "amount": "5000",
      "scheme": "exact",
      "network": "eip155:8453",
      "maxTimeoutSeconds": 300
    }
  ],
  "resource": {
    "url": "https://how.is/v1/domain/dns",
    "tags": [
      "dns",
      "domain",
      "records",
      "network",
      "lookup"
    ],
    "iconUrl": "https://how.is/icon.png",
    "mimeType": "application/json",
    "description": "Look up a domain's DNS records (A, AAAA, MX, NS, TXT and more) with resolve timing.",
    "serviceName": "how.is"
  },
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "body": {
            "domain": "github.com"
          },
          "type": "http",
          "method": "POST",
          "bodyType": "json"
        },
        "output": {
          "type": "json",
          "example": {
            "data": {
              "_shape": "data.data.records keyed by record type (A, AAAA, MX, NS, TXT, ...); data.data.responseTime."
            },
            "result": "DNS records for the requested subject",
            "receipt": {
              "rail": "x402",
              "tool": "dns",
              "charge_usd": 0.005,
              "settlement_tx": "0x…"
            }
          }
        }
      },
      "schema": {
        "type": "object",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "required": [
          "input"
        ],
        "properties": {
          "input": {
            "type": "object",
            "required": [
              "type",
              "method",
              "bodyType",
              "body"
            ],
            "properties": {
              "body": {
                "type": "object",
                "required": [
                  "domain"
                ],
                "properties": {
                  "domain": {
                    "type": "string",
                    "maxLength": 253,
                    "description": "A bare domain name, e.g. example.com"
                  }
                },
                "additionalProperties": false
              },
              "type": {
                "type": "string",
                "const": "http"
              },
              "method": {
                "enum": [
                  "POST",
                  "PUT",
                  "PATCH"
                ],
                "type": "string"
              },
              "bodyType": {
                "enum": [
                  "json",
                  "form-data",
                  "text"
                ],
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "output": {
            "type": "object",
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "type": "string"
              },
              "example": {
                "type": "object"
              }
            }
          }
        }
      }
    }
  },
  "x402Version": 2
}

Captured payload 7 of 23

{
  "accepts": [
    {
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2"
      },
      "payTo": "0xa76a0E93C5af3fd43521300B0a58eF5F70fC44F6",
      "amount": "5000",
      "scheme": "exact",
      "network": "eip155:8453",
      "maxTimeoutSeconds": 300
    }
  ],
  "resource": {
    "url": "https://how.is/v1/domain/whois",
    "tags": [
      "whois",
      "rdap",
      "domain",
      "registrar",
      "lookup"
    ],
    "iconUrl": "https://how.is/icon.png",
    "mimeType": "application/json",
    "description": "Look up a domain's WHOIS/RDAP record: registrar, creation and expiry dates, nameservers and status codes.",
    "serviceName": "how.is"
  },
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "body": {
            "domain": "github.com"
          },
          "type": "http",
          "method": "POST",
          "bodyType": "json"
        },
        "output": {
          "type": "json",
          "example": {
            "data": {
              "_shape": "data.data.data: the parsed WHOIS/RDAP record (registrar, dates, nameservers, status)."
            },
            "result": "WHOIS / RDAP for the requested subject",
            "receipt": {
              "rail": "x402",
              "tool": "whois",
              "charge_usd": 0.005,
              "settlement_tx": "0x…"
            }
          }
        }
      },
      "schema": {
        "type": "object",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "required": [
          "input"
        ],
        "properties": {
          "input": {
            "type": "object",
            "required": [
              "type",
              "method",
              "bodyType",
              "body"
            ],
            "properties": {
              "body": {
                "type": "object",
                "required": [
                  "domain"
                ],
                "properties": {
                  "domain": {
                    "type": "string",
                    "maxLength": 253,
                    "description": "A bare domain name, e.g. example.com"
                  }
                },
                "additionalProperties": false
              },
              "type": {
                "type": "string",
                "const": "http"
              },
              "method": {
                "enum": [
                  "POST",
                  "PUT",
                  "PATCH"
                ],
                "type": "string"
              },
              "bodyType": {
                "enum": [
                  "json",
                  "form-data",
                  "text"
                ],
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "output": {
            "type": "object",
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "type": "string"
              },
              "example": {
                "type": "object"
              }
            }
          }
        }
      }
    }
  },
  "x402Version": 2
}

Captured payload 8 of 23

{
  "accepts": [
    {
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2"
      },
      "payTo": "0xa76a0E93C5af3fd43521300B0a58eF5F70fC44F6",
      "amount": "5000",
      "scheme": "exact",
      "network": "eip155:8453",
      "maxTimeoutSeconds": 300
    }
  ],
  "resource": {
    "url": "https://how.is/v1/domain/age",
    "tags": [
      "domain-age",
      "phishing",
      "whois",
      "domain",
      "security"
    ],
    "iconUrl": "https://how.is/icon.png",
    "mimeType": "application/json",
    "description": "Find out how old a domain is: registration date, age in days and whether it was registered in the last 30 days, a common phishing signal.",
    "serviceName": "how.is"
  },
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "body": {
            "domain": "github.com"
          },
          "type": "http",
          "method": "POST",
          "bodyType": "json"
        },
        "output": {
          "type": "json",
          "example": {
            "data": {
              "_shape": "data: created, age_days, age_years, newly_registered, expires, registrar, source."
            },
            "result": "Domain age for the requested subject",
            "receipt": {
              "rail": "x402",
              "tool": "age",
              "charge_usd": 0.005,
              "settlement_tx": "0x…"
            }
          }
        }
      },
      "schema": {
        "type": "object",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "required": [
          "input"
        ],
        "properties": {
          "input": {
            "type": "object",
            "required": [
              "type",
              "method",
              "bodyType",
              "body"
            ],
            "properties": {
              "body": {
                "type": "object",
                "required": [
                  "domain"
                ],
                "properties": {
                  "domain": {
                    "type": "string",
                    "maxLength": 253,
                    "description": "A bare domain name, e.g. example.com"
                  }
                },
                "additionalProperties": false
              },
              "type": {
                "type": "string",
                "const": "http"
              },
              "method": {
                "enum": [
                  "POST",
                  "PUT",
                  "PATCH"
                ],
                "type": "string"
              },
              "bodyType": {
                "enum": [
                  "json",
                  "form-data",
                  "text"
                ],
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "output": {
            "type": "object",
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "type": "string"
              },
              "example": {
                "type": "object"
              }
            }
          }
        }
      }
    }
  },
  "x402Version": 2
}

Captured payload 9 of 23

{
  "accepts": [
    {
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2"
      },
      "payTo": "0xa76a0E93C5af3fd43521300B0a58eF5F70fC44F6",
      "amount": "5000",
      "scheme": "exact",
      "network": "eip155:8453",
      "maxTimeoutSeconds": 300
    }
  ],
  "resource": {
    "url": "https://how.is/v1/domain/available",
    "tags": [
      "domain",
      "availability",
      "registration",
      "rdap",
      "pricing"
    ],
    "iconUrl": "https://how.is/icon.png",
    "mimeType": "application/json",
    "description": "Check whether a domain name is available to register, asked of the registry over RDAP, with first-year and renewal price.",
    "serviceName": "how.is"
  },
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "body": {
            "domain": "github.com"
          },
          "type": "http",
          "method": "POST",
          "bodyType": "json"
        },
        "output": {
          "type": "json",
          "example": {
            "data": {
              "_shape": "data: available (true/false; null when only DNS could be checked, then likely_available), registered_on, suffix, source (rdap/dns), confidence, price{registration_usd, renewal_usd, registrar, note}, caveat."
            },
            "result": "Domain availability for the requested subject",
            "receipt": {
              "rail": "x402",
              "tool": "available",
              "charge_usd": 0.005,
              "settlement_tx": "0x…"
            }
          }
        }
      },
      "schema": {
        "type": "object",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "required": [
          "input"
        ],
        "properties": {
          "input": {
            "type": "object",
            "required": [
              "type",
              "method",
              "bodyType",
              "body"
            ],
            "properties": {
              "body": {
                "type": "object",
                "required": [
                  "domain"
                ],
                "properties": {
                  "domain": {
                    "type": "string",
                    "maxLength": 253,
                    "description": "A bare domain name, e.g. example.com"
                  }
                },
                "additionalProperties": false
              },
              "type": {
                "type": "string",
                "const": "http"
              },
              "method": {
                "enum": [
                  "POST",
                  "PUT",
                  "PATCH"
                ],
                "type": "string"
              },
              "bodyType": {
                "enum": [
                  "json",
                  "form-data",
                  "text"
                ],
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "output": {
            "type": "object",
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "type": "string"
              },
              "example": {
                "type": "object"
              }
            }
          }
        }
      }
    }
  },
  "x402Version": 2
}

Captured payload 10 of 23

{
  "accepts": [
    {
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2"
      },
      "payTo": "0xa76a0E93C5af3fd43521300B0a58eF5F70fC44F6",
      "amount": "10000",
      "scheme": "exact",
      "network": "eip155:8453",
      "maxTimeoutSeconds": 300
    }
  ],
  "resource": {
    "url": "https://how.is/v1/domain/changes",
    "tags": [
      "domain-history",
      "nameservers",
      "zone-files",
      "phishing",
      "security"
    ],
    "iconUrl": "https://how.is/icon.png",
    "mimeType": "application/json",
    "description": "Check when a domain appeared in the registry zone file, left it, came back or changed nameservers, from daily gTLD and .com/.net zone files. A sudden nameserver move signals a hijack or sale; a brand-new name signals phishing.",
    "serviceName": "how.is"
  },
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "body": {
            "domain": "github.com"
          },
          "type": "http",
          "method": "POST",
          "bodyType": "json"
        },
        "output": {
          "type": "json",
          "example": {
            "data": {
              "_shape": "data: in_zone_now, first_seen, first_seen_is_coverage_start, last_seen, current_ns, events[{type: appeared|disappeared|reappeared|ns_changed, dates, from, to, message}], changed_last_30_days, coverage{daily_since, first_zone_file, runs}, ns_runs, note."
            },
            "result": "Domain change history for the requested subject",
            "receipt": {
              "rail": "x402",
              "tool": "changes",
              "charge_usd": 0.01,
              "settlement_tx": "0x…"
            }
          }
        }
      },
      "schema": {
        "type": "object",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "required": [
          "input"
        ],
        "properties": {
          "input": {
            "type": "object",
            "required": [
              "type",
              "method",
              "bodyType",
              "body"
            ],
            "properties": {
              "body": {
                "type": "object",
                "required": [
                  "domain"
                ],
                "properties": {
                  "domain": {
                    "type": "string",
                    "maxLength": 253,
                    "description": "A registered name directly under a TLD, e.g. example.com (zone files list no subdomains; ccTLDs publish none)"
                  }
                },
                "additionalProperties": false
              },
              "type": {
                "type": "string",
                "const": "http"
              },
              "method": {
                "enum": [
                  "POST",
                  "PUT",
                  "PATCH"
                ],
                "type": "string"
              },
              "bodyType": {
                "enum": [
                  "json",
                  "form-data",
                  "text"
                ],
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "output": {
            "type": "object",
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "type": "string"
              },
              "example": {
                "type": "object"
              }
            }
          }
        }
      }
    }
  },
  "x402Version": 2
}

Captured payload 11 of 23

{
  "accepts": [
    {
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2"
      },
      "payTo": "0xa76a0E93C5af3fd43521300B0a58eF5F70fC44F6",
      "amount": "20000",
      "scheme": "exact",
      "network": "eip155:8453",
      "maxTimeoutSeconds": 300
    }
  ],
  "resource": {
    "url": "https://how.is/v1/brand/lookalikes",
    "tags": [
      "typosquatting",
      "brand-protection",
      "phishing",
      "lookalike-domains",
      "security"
    ],
    "iconUrl": "https://how.is/icon.png",
    "mimeType": "application/json",
    "description": "Find newly registered look-alikes of a brand: typos, look-alike characters, the same name on another TLD, or the brand beside a lure word, new in the zone files in the last 14 days, each with a risk tier and reasons.",
    "serviceName": "how.is"
  },
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "body": {
            "brand": "github"
          },
          "type": "http",
          "method": "POST",
          "bodyType": "json"
        },
        "output": {
          "type": "json",
          "example": {
            "data": {
              "_shape": "data: brand, window{from,to,days}, matches[{domain, day, kind, matched, lures, tier, score, signals, ns{provider,hint}, census{state,registrar}, risk{tier,verdict,target}}], window_totals{total, by_tier, by_kind, listed_cap}, variants_searched, saturated, note."
            },
            "result": "Brand look-alike domains for the requested subject",
            "receipt": {
              "rail": "x402",
              "tool": "lookalikes",
              "charge_usd": 0.02,
              "settlement_tx": "0x…"
            }
          }
        }
      },
      "schema": {
        "type": "object",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "required": [
          "input"
        ],
        "properties": {
          "input": {
            "type": "object",
            "required": [
              "type",
              "method",
              "bodyType",
              "body"
            ],
            "properties": {
              "body": {
                "type": "object",
                "required": [
                  "brand"
                ],
                "properties": {
                  "days": {
                    "type": "integer",
                    "maximum": 14,
                    "minimum": 1,
                    "description": "Only names new in the last N zone days (default 14)"
                  },
                  "brand": {
                    "type": "string",
                    "maxLength": 253,
                    "description": "A brand name or one of its domains, e.g. paypal or paypal.com (4-30 characters)"
                  },
                  "min_tier": {
                    "enum": [
                      "critical",
                      "high",
                      "medium",
                      "low"
                    ],
                    "type": "string",
                    "description": "Only matches at or above this tier"
                  }
                },
                "additionalProperties": false
              },
              "type": {
                "type": "string",
                "const": "http"
              },
              "method": {
                "enum": [
                  "POST",
                  "PUT",
                  "PATCH"
                ],
                "type": "string"
              },
              "bodyType": {
                "enum": [
                  "json",
                  "form-data",
                  "text"
                ],
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "output": {
            "type": "object",
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "type": "string"
              },
              "example": {
                "type": "object"
              }
            }
          }
        }
      }
    }
  },
  "x402Version": 2
}

Captured payload 12 of 23

{
  "accepts": [
    {
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2"
      },
      "payTo": "0xa76a0E93C5af3fd43521300B0a58eF5F70fC44F6",
      "amount": "5000",
      "scheme": "exact",
      "network": "eip155:8453",
      "maxTimeoutSeconds": 300
    }
  ],
  "resource": {
    "url": "https://how.is/v1/domain/tls",
    "tags": [
      "tls",
      "ssl",
      "certificate",
      "security",
      "domain"
    ],
    "iconUrl": "https://how.is/icon.png",
    "mimeType": "application/json",
    "description": "Check a domain's TLS/SSL certificate: valid or not, issuer, protocol and days until it expires.",
    "serviceName": "how.is"
  },
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "body": {
            "domain": "github.com"
          },
          "type": "http",
          "method": "POST",
          "bodyType": "json"
        },
        "output": {
          "type": "json",
          "example": {
            "data": {
              "_shape": "data.data: valid, issuer, subject, subjectAltNames, validFrom, validTo, daysUntilExpiry, protocol, cipher, selfSigned."
            },
            "result": "TLS certificate for the requested subject",
            "receipt": {
              "rail": "x402",
              "tool": "tls",
              "charge_usd": 0.005,
              "settlement_tx": "0x…"
            }
          }
        }
      },
      "schema": {
        "type": "object",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "required": [
          "input"
        ],
        "properties": {
          "input": {
            "type": "object",
            "required": [
              "type",
              "method",
              "bodyType",
              "body"
            ],
            "properties": {
              "body": {
                "type": "object",
                "required": [
                  "domain"
                ],
                "properties": {
                  "domain": {
                    "type": "string",
                    "maxLength": 253,
                    "description": "A bare domain name, e.g. example.com"
                  }
                },
                "additionalProperties": false
              },
              "type": {
                "type": "string",
                "const": "http"
              },
              "method": {
                "enum": [
                  "POST",
                  "PUT",
                  "PATCH"
                ],
                "type": "string"
              },
              "bodyType": {
                "enum": [
                  "json",
                  "form-data",
                  "text"
                ],
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "output": {
            "type": "object",
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "type": "string"
              },
              "example": {
                "type": "object"
              }
            }
          }
        }
      }
    }
  },
  "x402Version": 2
}

Captured payload 13 of 23

{
  "accepts": [
    {
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2"
      },
      "payTo": "0xa76a0E93C5af3fd43521300B0a58eF5F70fC44F6",
      "amount": "5000",
      "scheme": "exact",
      "network": "eip155:8453",
      "maxTimeoutSeconds": 300
    }
  ],
  "resource": {
    "url": "https://how.is/v1/domain/dnssec",
    "tags": [
      "dnssec",
      "dns",
      "security",
      "domain",
      "validation"
    ],
    "iconUrl": "https://how.is/icon.png",
    "mimeType": "application/json",
    "description": "Check whether a domain is DNSSEC-signed and validates, with the chain of trust.",
    "serviceName": "how.is"
  },
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "body": {
            "domain": "github.com"
          },
          "type": "http",
          "method": "POST",
          "bodyType": "json"
        },
        "output": {
          "type": "json",
          "example": {
            "data": {
              "_shape": "data.data: isSigned, isValid, validationStatus, chainOfTrust, dsRecords, dnskeyRecords, errors, warnings, recommendations."
            },
            "result": "DNSSEC for the requested subject",
            "receipt": {
              "rail": "x402",
              "tool": "dnssec",
              "charge_usd": 0.005,
              "settlement_tx": "0x…"
            }
          }
        }
      },
      "schema": {
        "type": "object",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "required": [
          "input"
        ],
        "properties": {
          "input": {
            "type": "object",
            "required": [
              "type",
              "method",
              "bodyType",
              "body"
            ],
            "properties": {
              "body": {
                "type": "object",
                "required": [
                  "domain"
                ],
                "properties": {
                  "domain": {
                    "type": "string",
                    "maxLength": 253,
                    "description": "A bare domain name, e.g. example.com"
                  }
                },
                "additionalProperties": false
              },
              "type": {
                "type": "string",
                "const": "http"
              },
              "method": {
                "enum": [
                  "POST",
                  "PUT",
                  "PATCH"
                ],
                "type": "string"
              },
              "bodyType": {
                "enum": [
                  "json",
                  "form-data",
                  "text"
                ],
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "output": {
            "type": "object",
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "type": "string"
              },
              "example": {
                "type": "object"
              }
            }
          }
        }
      }
    }
  },
  "x402Version": 2
}

Captured payload 14 of 23

{
  "accepts": [
    {
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2"
      },
      "payTo": "0xa76a0E93C5af3fd43521300B0a58eF5F70fC44F6",
      "amount": "5000",
      "scheme": "exact",
      "network": "eip155:8453",
      "maxTimeoutSeconds": 300
    }
  ],
  "resource": {
    "url": "https://how.is/v1/domain/email-auth",
    "tags": [
      "email",
      "spf",
      "dmarc",
      "dkim",
      "deliverability"
    ],
    "iconUrl": "https://how.is/icon.png",
    "mimeType": "application/json",
    "description": "Check a domain's email authentication: SPF, DKIM and DMARC records, a score and what to fix.",
    "serviceName": "how.is"
  },
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "body": {
            "domain": "github.com"
          },
          "type": "http",
          "method": "POST",
          "bodyType": "json"
        },
        "output": {
          "type": "json",
          "example": {
            "data": {
              "_shape": "data.data: spf, dkim, dmarc, mx, overallScore, overallStatus, recommendations."
            },
            "result": "Email authentication for the requested subject",
            "receipt": {
              "rail": "x402",
              "tool": "email-auth",
              "charge_usd": 0.005,
              "settlement_tx": "0x…"
            }
          }
        }
      },
      "schema": {
        "type": "object",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "required": [
          "input"
        ],
        "properties": {
          "input": {
            "type": "object",
            "required": [
              "type",
              "method",
              "bodyType",
              "body"
            ],
            "properties": {
              "body": {
                "type": "object",
                "required": [
                  "domain"
                ],
                "properties": {
                  "domain": {
                    "type": "string",
                    "maxLength": 253,
                    "description": "A bare domain name, e.g. example.com"
                  }
                },
                "additionalProperties": false
              },
              "type": {
                "type": "string",
                "const": "http"
              },
              "method": {
                "enum": [
                  "POST",
                  "PUT",
                  "PATCH"
                ],
                "type": "string"
              },
              "bodyType": {
                "enum": [
                  "json",
                  "form-data",
                  "text"
                ],
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "output": {
            "type": "object",
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "type": "string"
              },
              "example": {
                "type": "object"
              }
            }
          }
        }
      }
    }
  },
  "x402Version": 2
}

Captured payload 15 of 23

{
  "accepts": [
    {
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2"
      },
      "payTo": "0xa76a0E93C5af3fd43521300B0a58eF5F70fC44F6",
      "amount": "5000",
      "scheme": "exact",
      "network": "eip155:8453",
      "maxTimeoutSeconds": 300
    }
  ],
  "resource": {
    "url": "https://how.is/v1/domain/security-score",
    "tags": [
      "security",
      "domain",
      "audit",
      "score",
      "posture"
    ],
    "iconUrl": "https://how.is/icon.png",
    "mimeType": "application/json",
    "description": "Grade a domain's security posture: a letter grade and point score with every scored item behind it.",
    "serviceName": "how.is"
  },
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "body": {
            "domain": "github.com"
          },
          "type": "http",
          "method": "POST",
          "bodyType": "json"
        },
        "output": {
          "type": "json",
          "example": {
            "data": {
              "_shape": "data.data: grade, overallScore, maxPossibleScore, categories[] of scored items."
            },
            "result": "Security score for the requested subject",
            "receipt": {
              "rail": "x402",
              "tool": "security-score",
              "charge_usd": 0.005,
              "settlement_tx": "0x…"
            }
          }
        }
      },
      "schema": {
        "type": "object",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "required": [
          "input"
        ],
        "properties": {
          "input": {
            "type": "object",
            "required": [
              "type",
              "method",
              "bodyType",
              "body"
            ],
            "properties": {
              "body": {
                "type": "object",
                "required": [
                  "domain"
                ],
                "properties": {
                  "domain": {
                    "type": "string",
                    "maxLength": 253,
                    "description": "A bare domain name, e.g. example.com"
                  }
                },
                "additionalProperties": false
              },
              "type": {
                "type": "string",
                "const": "http"
              },
              "method": {
                "enum": [
                  "POST",
                  "PUT",
                  "PATCH"
                ],
                "type": "string"
              },
              "bodyType": {
                "enum": [
                  "json",
                  "form-data",
                  "text"
                ],
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "output": {
            "type": "object",
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "type": "string"
              },
              "example": {
                "type": "object"
              }
            }
          }
        }
      }
    }
  },
  "x402Version": 2
}

Captured payload 16 of 23

{
  "accepts": [
    {
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2"
      },
      "payTo": "0xa76a0E93C5af3fd43521300B0a58eF5F70fC44F6",
      "amount": "5000",
      "scheme": "exact",
      "network": "eip155:8453",
      "maxTimeoutSeconds": 300
    }
  ],
  "resource": {
    "url": "https://how.is/v1/domain/blacklist",
    "tags": [
      "blocklist",
      "spam",
      "abuse",
      "reputation",
      "security"
    ],
    "iconUrl": "https://how.is/icon.png",
    "mimeType": "application/json",
    "description": "Check whether a domain's mail and web addresses are listed on spam and abuse blocklists.",
    "serviceName": "how.is"
  },
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "body": {
            "domain": "github.com"
          },
          "type": "http",
          "method": "POST",
          "bodyType": "json"
        },
        "output": {
          "type": "json",
          "example": {
            "data": {
              "_shape": "data.data.ipResults[]: target, isListed, listingCount, totalChecked."
            },
            "result": "Blacklist status for the requested subject",
            "receipt": {
              "rail": "x402",
              "tool": "blacklist",
              "charge_usd": 0.005,
              "settlement_tx": "0x…"
            }
          }
        }
      },
      "schema": {
        "type": "object",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "required": [
          "input"
        ],
        "properties": {
          "input": {
            "type": "object",
            "required": [
              "type",
              "method",
              "bodyType",
              "body"
            ],
            "properties": {
              "body": {
                "type": "object",
                "required": [
                  "domain"
                ],
                "properties": {
                  "domain": {
                    "type": "string",
                    "maxLength": 253,
                    "description": "A bare domain name, e.g. example.com"
                  }
                },
                "additionalProperties": false
              },
              "type": {
                "type": "string",
                "const": "http"
              },
              "method": {
                "enum": [
                  "POST",
                  "PUT",
                  "PATCH"
                ],
                "type": "string"
              },
              "bodyType": {
                "enum": [
                  "json",
                  "form-data",
                  "text"
                ],
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "output": {
            "type": "object",
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "type": "string"
              },
              "example": {
                "type": "object"
              }
            }
          }
        }
      }
    }
  },
  "x402Version": 2
}

Captured payload 17 of 23

{
  "accepts": [
    {
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2"
      },
      "payTo": "0xa76a0E93C5af3fd43521300B0a58eF5F70fC44F6",
      "amount": "5000",
      "scheme": "exact",
      "network": "eip155:8453",
      "maxTimeoutSeconds": 300
    }
  ],
  "resource": {
    "url": "https://how.is/v1/ip",
    "tags": [
      "ip",
      "geolocation",
      "asn",
      "network",
      "enrichment"
    ],
    "iconUrl": "https://how.is/icon.png",
    "mimeType": "application/json",
    "description": "Look up an IP address: network owner (ASN), company, location, VPN/proxy flags and abuse contact.",
    "serviceName": "how.is"
  },
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "body": {
            "ip": "8.8.8.8"
          },
          "type": "http",
          "method": "POST",
          "bodyType": "json"
        },
        "output": {
          "type": "json",
          "example": {
            "data": {
              "_shape": "data.data: ip, hostname, city, region, country, asn, company, privacy, carrier, abuse."
            },
            "result": "IP intelligence for the requested subject",
            "receipt": {
              "rail": "x402",
              "tool": "ip",
              "charge_usd": 0.005,
              "settlement_tx": "0x…"
            }
          }
        }
      },
      "schema": {
        "type": "object",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "required": [
          "input"
        ],
        "properties": {
          "input": {
            "type": "object",
            "required": [
              "type",
              "method",
              "bodyType",
              "body"
            ],
            "properties": {
              "body": {
                "type": "object",
                "required": [
                  "ip"
                ],
                "properties": {
                  "ip": {
                    "type": "string",
                    "description": "An IPv4 or IPv6 address"
                  }
                },
                "additionalProperties": false
              },
              "type": {
                "type": "string",
                "const": "http"
              },
              "method": {
                "enum": [
                  "POST",
                  "PUT",
                  "PATCH"
                ],
                "type": "string"
              },
              "bodyType": {
                "enum": [
                  "json",
                  "form-data",
                  "text"
                ],
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "output": {
            "type": "object",
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "type": "string"
              },
              "example": {
                "type": "object"
              }
            }
          }
        }
      }
    }
  },
  "x402Version": 2
}

Captured payload 18 of 23

{
  "accepts": [
    {
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2"
      },
      "payTo": "0xa76a0E93C5af3fd43521300B0a58eF5F70fC44F6",
      "amount": "5000",
      "scheme": "exact",
      "network": "eip155:8453",
      "maxTimeoutSeconds": 300
    }
  ],
  "resource": {
    "url": "https://how.is/v1/check/site",
    "tags": [
      "uptime",
      "monitoring",
      "http",
      "latency",
      "status"
    ],
    "iconUrl": "https://how.is/icon.png",
    "mimeType": "application/json",
    "description": "Check whether websites are up right now: HTTP status, latency, DNS time, resolved IP and TLS days left, for up to 10 URLs.",
    "serviceName": "how.is"
  },
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "body": {
            "sites": [
              "https://github.com"
            ]
          },
          "type": "http",
          "method": "POST",
          "bodyType": "json"
        },
        "output": {
          "type": "json",
          "example": {
            "data": {
              "_shape": "data keyed by URL; each entry has ok, code, ms, dns_ms, ip, ttl, ns, cert_days, server, ts."
            },
            "result": "Site status for the requested subject",
            "receipt": {
              "rail": "x402",
              "tool": "site_status",
              "charge_usd": 0.005,
              "settlement_tx": "0x…"
            }
          }
        }
      },
      "schema": {
        "type": "object",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "required": [
          "input"
        ],
        "properties": {
          "input": {
            "type": "object",
            "required": [
              "type",
              "method",
              "bodyType",
              "body"
            ],
            "properties": {
              "body": {
                "type": "object",
                "properties": {
                  "sites": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uri"
                    },
                    "maxItems": 10,
                    "description": "Up to 10 http(s):// URLs"
                  }
                },
                "additionalProperties": false
              },
              "type": {
                "type": "string",
                "const": "http"
              },
              "method": {
                "enum": [
                  "POST",
                  "PUT",
                  "PATCH"
                ],
                "type": "string"
              },
              "bodyType": {
                "enum": [
                  "json",
                  "form-data",
                  "text"
                ],
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "output": {
            "type": "object",
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "type": "string"
              },
              "example": {
                "type": "object"
              }
            }
          }
        }
      }
    }
  },
  "x402Version": 2
}

Captured payload 19 of 23

{
  "accepts": [
    {
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2"
      },
      "payTo": "0xa76a0E93C5af3fd43521300B0a58eF5F70fC44F6",
      "amount": "20000",
      "scheme": "exact",
      "network": "eip155:8453",
      "maxTimeoutSeconds": 300
    }
  ],
  "resource": {
    "url": "https://how.is/v1/site/screenshot",
    "tags": [
      "screenshot",
      "browser",
      "web",
      "vision",
      "rendering"
    ],
    "iconUrl": "https://how.is/icon.png",
    "mimeType": "application/json",
    "description": "Take a screenshot of any public web page: a 1280-wide JPEG, viewport or full page, with its final URL, HTTP status and title.",
    "serviceName": "how.is"
  },
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "body": {
            "url": "https://github.com"
          },
          "type": "http",
          "method": "POST",
          "bodyType": "json"
        },
        "output": {
          "type": "json",
          "example": {
            "data": {
              "_shape": "data: image_base64 (JPEG), mime, width, height, final_url, http_status, title, note."
            },
            "result": "Website screenshot for the requested subject",
            "receipt": {
              "rail": "x402",
              "tool": "screenshot",
              "charge_usd": 0.02,
              "settlement_tx": "0x…"
            }
          }
        }
      },
      "schema": {
        "type": "object",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "required": [
          "input"
        ],
        "properties": {
          "input": {
            "type": "object",
            "required": [
              "type",
              "method",
              "bodyType",
              "body"
            ],
            "properties": {
              "body": {
                "type": "object",
                "required": [
                  "url"
                ],
                "properties": {
                  "url": {
                    "type": "string",
                    "format": "uri",
                    "maxLength": 2000,
                    "description": "A public http(s) URL"
                  },
                  "full_page": {
                    "type": "boolean",
                    "description": "Capture the whole page, not just the first screen"
                  }
                },
                "additionalProperties": false
              },
              "type": {
                "type": "string",
                "const": "http"
              },
              "method": {
                "enum": [
                  "POST",
                  "PUT",
                  "PATCH"
                ],
                "type": "string"
              },
              "bodyType": {
                "enum": [
                  "json",
                  "form-data",
                  "text"
                ],
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "output": {
            "type": "object",
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "type": "string"
              },
              "example": {
                "type": "object"
              }
            }
          }
        }
      }
    }
  },
  "x402Version": 2
}

Captured payload 20 of 23

{
  "accepts": [
    {
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2"
      },
      "payTo": "0xa76a0E93C5af3fd43521300B0a58eF5F70fC44F6",
      "amount": "5000",
      "scheme": "exact",
      "network": "eip155:8453",
      "maxTimeoutSeconds": 300
    }
  ],
  "resource": {
    "url": "https://how.is/v1/watch/page",
    "tags": [
      "monitoring",
      "change-detection",
      "web",
      "diff",
      "watch"
    ],
    "iconUrl": "https://how.is/icon.png",
    "mimeType": "application/json",
    "description": "Detect whether a web page changed since your last call, with a text diff and how much of the page moved.",
    "serviceName": "how.is"
  },
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "body": {
            "url": "https://github.com"
          },
          "type": "http",
          "method": "POST",
          "bodyType": "json"
        },
        "output": {
          "type": "json",
          "example": {
            "data": {
              "_shape": "data with baseline, changed, change_pct, added, removed, last_change_ts."
            },
            "result": "Page-change watch for the requested subject",
            "receipt": {
              "rail": "x402",
              "tool": "page_watch",
              "charge_usd": 0.005,
              "settlement_tx": "0x…"
            }
          }
        }
      },
      "schema": {
        "type": "object",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "required": [
          "input"
        ],
        "properties": {
          "input": {
            "type": "object",
            "required": [
              "type",
              "method",
              "bodyType",
              "body"
            ],
            "properties": {
              "body": {
                "type": "object",
                "required": [
                  "url"
                ],
                "properties": {
                  "url": {
                    "type": "string",
                    "format": "uri",
                    "description": "An http(s):// URL on the public internet"
                  }
                },
                "additionalProperties": false
              },
              "type": {
                "type": "string",
                "const": "http"
              },
              "method": {
                "enum": [
                  "POST",
                  "PUT",
                  "PATCH"
                ],
                "type": "string"
              },
              "bodyType": {
                "enum": [
                  "json",
                  "form-data",
                  "text"
                ],
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "output": {
            "type": "object",
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "type": "string"
              },
              "example": {
                "type": "object"
              }
            }
          }
        }
      }
    }
  },
  "x402Version": 2
}

Captured payload 21 of 23

{
  "accepts": [
    {
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2"
      },
      "payTo": "0xa76a0E93C5af3fd43521300B0a58eF5F70fC44F6",
      "amount": "50000",
      "scheme": "exact",
      "network": "eip155:8453",
      "maxTimeoutSeconds": 300
    }
  ],
  "resource": {
    "url": "https://how.is/v1/bots",
    "tags": [
      "bots",
      "crawlers",
      "security",
      "firewall",
      "ja4"
    ],
    "iconUrl": "https://how.is/icon.png",
    "mimeType": "application/json",
    "description": "Get the last 7 days of crawler and bot traffic intelligence: every network, named crawler, JA4 TLS fingerprint and firewall rule seen, refreshed hourly.",
    "serviceName": "how.is"
  },
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "body": {},
          "type": "http",
          "method": "POST",
          "bodyType": "json"
        },
        "output": {
          "type": "json",
          "example": {
            "data": {
              "_shape": "data.data: generated_at, networks, bots, fingerprints (the free tier at dns.pizza/bots shows the same shape without fingerprints)."
            },
            "result": "Bot observatory feed for the requested subject",
            "receipt": {
              "rail": "x402",
              "tool": "bots",
              "charge_usd": 0.05,
              "settlement_tx": "0x…"
            }
          }
        }
      },
      "schema": {
        "type": "object",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "required": [
          "input"
        ],
        "properties": {
          "input": {
            "type": "object",
            "required": [
              "type",
              "method",
              "bodyType",
              "body"
            ],
            "properties": {
              "body": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              },
              "type": {
                "type": "string",
                "const": "http"
              },
              "method": {
                "enum": [
                  "POST",
                  "PUT",
                  "PATCH"
                ],
                "type": "string"
              },
              "bodyType": {
                "enum": [
                  "json",
                  "form-data",
                  "text"
                ],
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "output": {
            "type": "object",
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "type": "string"
              },
              "example": {
                "type": "object"
              }
            }
          }
        }
      }
    }
  },
  "x402Version": 2
}

Captured payload 22 of 23

{
  "accepts": [
    {
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2"
      },
      "payTo": "0xa76a0E93C5af3fd43521300B0a58eF5F70fC44F6",
      "amount": "5000",
      "scheme": "exact",
      "network": "eip155:8453",
      "maxTimeoutSeconds": 300
    }
  ],
  "resource": {
    "url": "https://how.is/v1/bot/verify",
    "tags": [
      "bot-detection",
      "crawlers",
      "googlebot",
      "security",
      "firewall"
    ],
    "iconUrl": "https://how.is/icon.png",
    "mimeType": "application/json",
    "description": "Verify a crawler's identity: is this IP + user-agent really Googlebot, Bingbot, GPTBot or ClaudeBot, an impostor using the name, another bot, or a person?",
    "serviceName": "how.is"
  },
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "body": {
            "ip": "20.171.207.1",
            "ua": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"
          },
          "type": "http",
          "method": "POST",
          "bodyType": "json"
        },
        "output": {
          "type": "json",
          "example": {
            "data": {
              "_shape": "data: verdict (verified / impostor / unknown_bot / likely_human_or_unclassified), confidence, automation_likely, claimed, identified_as{operator, method, evidence}, reasons[], how_to_act, checks{published_ranges, reverse_dns, asn}, observatory{network, fingerprint, claimed_family, impostors_seen}."
            },
            "result": "Crawler identity check for the requested subject",
            "receipt": {
              "rail": "x402",
              "tool": "bot_verify",
              "charge_usd": 0.005,
              "settlement_tx": "0x…"
            }
          }
        }
      },
      "schema": {
        "type": "object",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "required": [
          "input"
        ],
        "properties": {
          "input": {
            "type": "object",
            "required": [
              "type",
              "method",
              "bodyType",
              "body"
            ],
            "properties": {
              "body": {
                "type": "object",
                "required": [
                  "ip"
                ],
                "properties": {
                  "ip": {
                    "type": "string",
                    "description": "The visitor's public IPv4 or IPv6 address"
                  },
                  "ua": {
                    "type": "string",
                    "maxLength": 1000,
                    "description": "The User-Agent header it sent (omit or empty if none)"
                  },
                  "ja4": {
                    "type": "string",
                    "maxLength": 80,
                    "description": "Optional TLS JA4 fingerprint, e.g. t13d1516h2_8daaf6152771_02713d6af862"
                  }
                },
                "additionalProperties": false
              },
              "type": {
                "type": "string",
                "const": "http"
              },
              "method": {
                "enum": [
                  "POST",
                  "PUT",
                  "PATCH"
                ],
                "type": "string"
              },
              "bodyType": {
                "enum": [
                  "json",
                  "form-data",
                  "text"
                ],
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "output": {
            "type": "object",
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "type": "string"
              },
              "example": {
                "type": "object"
              }
            }
          }
        }
      }
    }
  },
  "x402Version": 2
}

Captured payload 23 of 23

{
  "accepts": [
    {
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2"
      },
      "payTo": "0xa76a0E93C5af3fd43521300B0a58eF5F70fC44F6",
      "amount": "5000",
      "scheme": "exact",
      "network": "eip155:8453",
      "maxTimeoutSeconds": 300
    }
  ],
  "resource": {
    "url": "https://how.is/v1/bot/verify/batch",
    "tags": [
      "bot-detection",
      "crawlers",
      "logs",
      "security",
      "firewall"
    ],
    "iconUrl": "https://how.is/icon.png",
    "mimeType": "application/json",
    "description": "Verify many crawler visitors (IP + user-agent) in one call: real Googlebot, GPTBot, ClaudeBot or impostor, billed per item.",
    "serviceName": "how.is"
  },
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "body": {
            "items": [
              {
                "ip": "66.249.66.1",
                "ua": "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
              },
              {
                "ip": "164.92.64.1",
                "ua": "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
              }
            ]
          },
          "type": "http",
          "method": "POST",
          "bodyType": "json"
        },
        "output": {
          "type": "json",
          "example": {
            "data": {
              "_shape": "data: results[] (one bot_verify verdict per item, or {ip, error}), counts by verdict, billing{items, unit_price_usd}."
            },
            "result": "Crawler identity check (batch) for the requested subject",
            "receipt": {
              "rail": "x402",
              "tool": "bot_verify_batch",
              "charge_usd": 0.005,
              "settlement_tx": "0x…"
            }
          }
        }
      },
      "schema": {
        "type": "object",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "required": [
          "input"
        ],
        "properties": {
          "input": {
            "type": "object",
            "required": [
              "type",
              "method",
              "bodyType",
              "body"
            ],
            "properties": {
              "body": {
                "type": "object",
                "required": [
                  "items"
                ],
                "properties": {
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "ip"
                      ],
                      "properties": {
                        "ip": {
                          "type": "string",
                          "description": "The visitor's public IPv4 or IPv6 address"
                        },
                        "ua": {
                          "type": "string",
                          "maxLength": 1000,
                          "description": "The User-Agent header it sent (omit or empty if none)"
                        },
                        "ja4": {
                          "type": "string",
                          "maxLength": 80,
                          "description": "Optional TLS JA4 fingerprint, e.g. t13d1516h2_8daaf6152771_02713d6af862"
                        }
                      },
                      "additionalProperties": false
                    },
                    "maxItems": 100,
                    "minItems": 1,
                    "description": "1-100 visitors; price is per item"
                  }
                },
                "additionalProperties": false
              },
              "type": {
                "type": "string",
                "const": "http"
              },
              "method": {
                "enum": [
                  "POST",
                  "PUT",
                  "PATCH"
                ],
                "type": "string"
              },
              "bodyType": {
                "enum": [
                  "json",
                  "form-data",
                  "text"
                ],
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "output": {
            "type": "object",
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "type": "string"
              },
              "example": {
                "type": "object"
              }
            }
          }
        }
      }
    }
  },
  "x402Version": 2
}

Can I trust it score from our own monitoring

score from our own monitoring

96/100 Strong

#4 of 177 in Verification. Bands: strong 93+, solid 75+, mixed 55+, weak below 55.

Reliability
100% uptime since 10-29
Compliance
A 14/14 checks pass
Price
$0.005 to $0.05 p31 in Verification
Risk
clean no risk flag
Traction
---
14/14 compliance checks
  • 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

402 terms unchanged since 2026-10-29. Last up 2026-10-29.

── Site signals

  • homepage reachable
  • openapi doc
  • pricing page
  • llms.txt
  • robots.txt
  • terms page
How the score works

What the score read on this service: status online, 100% uptime, latest daily rollup (no 30d window yet), 434ms response p95, x402 compliance 14 of 14, $0.005 price against the category. Each of those is measured, and each is published in full below.

The score comes from our own monitoring, never from reviews, operator claims, or a language model: reliability, x402 compliance, price against the category, a deterministic risk flag, and a small on-chain traction term, weighted by ranking generation 3. It is not placement anyone can buy: the paid verify tier is reported beside it and is not one of its inputs. Every component below stays published and read-only.

Bands on the 0 to 100 measured score: strong at 93 and above, solid from 75, mixed from 55, weak below 55. Price and speed are scored against the whole category field, every listing in it that carries no danger flag, the scored service included, so the score places a service in its own field.

It is a score inside Verification, and only there: price and speed are scored against the whole category field, every listing in it that carries no danger flag, the scored service included, which here means 177 listings, this one among them: the same 177 the position above is counted against. When the two differ, the field is the wider one, because a listing we have measured too little of to rank still sits in the field the price and the speed are normalized over. The same service in a different field would read differently. The same engine answers GET /api/v1/best, and asked for a different pool (the whole directory, or another filter) it returns a different number for this service under this same ranking generation. Neither is more correct: they answer different questions, and the methodology states which is which.

All measured facts

What it does

Check a URL, domain or IP before an agent trusts it: URL pre-flight safety verdict, read-a-page with verdict, company card, WHOIS, DNS, TLS, email auth, zone-file change history, brand look-alike domains, real-crawler verification, screenshots. From $0.005 per call; free sample on every endpoint.

how.is is a listed x402 Verification API. Captured payment terms name Base. Monitoring and settlement figures below describe the observations available to this directory; an unpaid HTTP 402 check does not prove that a paid call will deliver.

Assessment computed at . Latest service check observed at . Service data JSON · Measurement methodology.

Page rendered at . This response time is separate from the observation and computation times attached to each measurement.

Latest endpoint observation: . Latest price capture: . Prices are recorded quotes, not a promise of availability. Token assets and payment terms are listed separately. Endpoint data JSON · Price history JSON · Measurement methodology.

Assessment computed at . Uptime uses the stated daily-rollup window; response times are in milliseconds, compliance is passed/evaluated checks, and traction is a measured settlement floor. The comparison score is out of 100 within this category. Assessment JSON · Measurement methodology.

Observed daily coverage: 2026-09-30 to 2026-10-29 UTC. Daily monitoring and settlement rollups do not expose their computation time; a bucket date is not an update timestamp. Uptime and response JSON · Volume JSON · Buyers JSON · Measurement methodology.

Ranked from the measured category pool, refreshed at most once a minute. The comparison has no persisted computation timestamp; the assessment time above belongs to this service only. Ranking API documentation · Ranking methodology.

x402 List home · Services · Verification

uptime · latest daily rollup
-
uptime 7d
-
uptime 30d
-
uptime 90d
-
response p95
434ms
avg response
434ms
total checks
1

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

price (min)
$0.005
price (max)
$0.05
category percentile (min)
p31 in Verification
category percentile (max)
p52 in Verification
endpoints / prices
23 / 5
model
tiered
stability
100%

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
7484d
registrar
-
hosting
custom
domain created
2006-05-03

Identity facts, not a risk score.

On-chain traction has not been assessed for this service yet.

member since
2026-10-29
Recent checks
Latest 8 unpaid HTTP checks, newest first; response times in milliseconds, observation times in UTC
Checked at (UTC)StatusHTTPResponseEndpoints
Online402109ms23
Online402398ms23
Online402865ms23
Online402730ms23
Online4021054ms23
Online402374ms23
Online402715ms23
Online402434ms23

Changes0 in 30d

No changes recorded in the last 30 days.

all changes

Over time

On-chain volume

On-chain traction has not been assessed for this service yet.

Uptime no completed-day data
Uptime
no completed-day data

On-chain traction has not been assessed for this service yet.

More charts
Response time daily average, ms min 695ms, avg 695ms, max 695ms

09-30 to 10-29* UTC

Each series spans only the dates it has data for. Every series is also served as JSON at /api/v1/services/how-is/price, /scores, /volume and /buyers.

Values

* today so far, partial (UTC).

The uptime summary counts completed UTC days only. The strip, readouts and table retain today's partial reading.

Assessment history last recorded at . Each UTC day uses its last recorded run; missing readings stay unmeasured. Assessment history JSON · Measurement methodology.

Daily values, 2026-10-29 to 2026-10-29: uptime percent, average response milliseconds, compliance passed/total, price percentile 0-100, site signals out of 6; UTC dates
DayUptimeResponseCompliancePrice percentileSite signals
2026-10-29*100%695.33ms14/14p314/6

Alternatives in Verification

agentshield.live facts strong 99/100 --- up 30d --- 30d
Grokbot Safe Read & x402 Preflight strong 98/100 --- up 30d --- 30d
BotsRated strong 97/100 --- up 30d --- 30d
Apex Pay · verified agent tools strong 95/100 --- up 30d --- 30d
PaywallWatch strong 95/100 --- up 30d --- 30d

5 of 176 other ranked services in Verification, ordered by the same measured score.

Own this service?

Keep this listing accurate. Ownership is proven with a domain check and every change is reviewed by hand.

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)
Embed a badge

HTML

<a href="https://x402-list.com/services/how-is?utm_source=badge&utm_medium=referral&utm_campaign=embed">
  <img src="https://x402-list.com/badge/how-is.svg" alt="how.is listed on x402-list" height="28">
</a>

Markdown

[![how.is on x402-list](https://x402-list.com/badge/how-is.svg)](https://x402-list.com/services/how-is?utm_source=badge&utm_medium=referral&utm_campaign=embed)

HTML, live uptime variant

<a href="https://x402-list.com/services/how-is?utm_source=badge&utm_medium=referral&utm_campaign=embed">
  <img src="https://x402-list.com/badge/how-is.svg?data=uptime" alt="how.is uptime on x402-list" height="28">
</a>
Delisting

To request delisting, email info@x402-list.com with the service name, slug, or URL. Removal is free and does not require proof of ownership. See all free email requests.