Phone Number Validation

Professor Sausages

SocialLiveeip155:8453Exactvia cdp
PhoneValidationE164VerificationTrust
Settlements · 30d
116↑ 523%
No per-endpoint history for this service yet, so this is payments indexed to its PROVIDER's wallet over 30 days.
$4.28
Verified settled volume
326 settlements proven x402 by their on-chain EIP-3009 marker.
$0.010
Listed price
As published in the catalog. Always read the live 402 before paying.
1
Calls · 30d
Upstream's own call count for this endpoint, not ours.
1
Unique payers · 30d
Last called 2026-07-21 01:52Z
Upstream on-chain volume
Reported by the source catalog.
Paid to
0x54ebFCF3870439B9db62381848c5DabC05c70d5B

The wallet the 402 directs payment to. Its whole payment record — every payer, every chain — is on the merchant page.

Asset 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913

Provider

The payTo wallet does not resolve to a registered ERC-8004 agent. That is not a verdict on the service — most of the catalog is unregistered.

Live 402 challenge

Captured by the enrichment pass, not read just now. Prices can change — always read the 402 the endpoint answers with.

{
  "error": "payment required",
  "accepts": [
    {
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2"
      },
      "payTo": "0x54ebFCF3870439B9db62381848c5DabC05c70d5B",
      "amount": "10000",
      "scheme": "exact",
      "network": "eip155:8453",
      "maxTimeoutSeconds": 60
    }
  ],
  "resource": {
    "url": "https://x402.professorsausages.com/phone-check/batch",
    "tags": [
      "phone",
      "validation",
      "e164",
      "verification",
      "trust"
    ],
    "mimeType": "application/json",
    "description": "Validate up to 25 phone numbers in one call — per-item results, error-isolated (pure CPU)",
    "serviceName": "Phone Number Validation"
  },
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "type": "http",
          "method": "GET",
          "queryParams": {
            "region": "Shared ISO 3166-1 alpha-2 region for national-format items.",
            "numbers": "Comma-separated phone numbers (max 25). Each may be + prefixed or use the shared region=."
          }
        },
        "output": {
          "type": "object",
          "required": [
            "method",
            "count",
            "results"
          ],
          "properties": {
            "count": {
              "type": "integer"
            },
            "method": {
              "type": "string"
            },
            "region": {
              "type": [
                "string",
                "null"
              ],
              "description": "Shared batch-level region, if supplied."
            },
            "results": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "ok": {
                    "type": "boolean"
                  },
                  "e164": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "description": "E.164 normalized form (e.g. +14155552671)."
                  },
                  "type": {
                    "enum": [
                      "mobile",
                      "fixed_line",
                      "fixed_line_or_mobile",
                      "toll_free",
                      "premium_rate",
                      "shared_cost",
                      "voip",
                      "personal_number",
                      "pager",
                      "uan",
                      "voicemail",
                      "unknown"
                    ],
                    "type": "string"
                  },
                  "error": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "type": "string"
                      },
                      "message": {
                        "type": "string"
                      }
                    }
                  },
                  "input": {
                    "type": "string"
                  },
                  "valid": {
                    "type": "boolean"
                  },
                  "region": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "description": "Parsed ISO 3166-1 alpha-2 region."
                  },
                  "rfc3966": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "description": "RFC 3966 tel: URI."
                  },
                  "verdict": {
                    "enum": [
                      "VALID",
                      "POSSIBLE_BUT_INVALID",
                      "INVALID"
                    ],
                    "type": "string",
                    "description": "VALID = assigned range; POSSIBLE_BUT_INVALID = plausible length, no range; INVALID = not possible."
                  },
                  "evidence": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "national": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "possible": {
                    "type": "boolean"
                  },
                  "disclaimer": {
                    "type": "string"
                  },
                  "not_checked": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "carrier_lookup, line_activity_hlr, ported_status, spam_reputation — need paid telco APIs."
                  },
                  "region_used": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "country_code": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "description": "Country calling code, e.g. \"1\" or \"44\"."
                  },
                  "length_valid": {
                    "type": "boolean"
                  },
                  "international": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "example_number_for_region": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                }
              },
              "description": "One entry per input number, in order. ok:true items carry the full check body; ok:false items carry an error."
            }
          }
        }
      },
      "schema": {
        "type": "object",
        "required": [
          "input"
        ],
        "properties": {
          "input": {
            "type": "object"
          },
          "output": {
            "type": "object"
          }
        }
      },
      "category": "verification",
      "routeTemplate": "https://x402.professorsausages.com/phone-check/batch"
    },
    "sample": {
      "url": "https://x402.professorsausages.com/phone-check/sample",
      "hint": "A real cached response from this API (with its capture timestamp), free — judge the data quality before paying."
    },
    "catalog": {
      "message": "28 more agent-ready APIs you can call the same way (x402 pay-per-call). Full free catalog at the catalog URL; each serves a FREE real sample record (freeSample link) — taste before you pay. A few you might want:",
      "services": [
        {
          "call": "/token-safety?ref=xsell&v=menu&from=phone-check",
          "name": "Token Safety Check",
          "summary": "On-chain token risk screening for agents",
          "freeSample": "/token-safety/sample?ref=xsell&v=menu&from=phone-check"
        },
        {
          "call": "/address-screen?ref=xsell&v=menu&from=phone-check",
          "name": "Address Risk Screen",
          "summary": "Crypto address risk screening for agents",
          "freeSample": "/address-screen/sample?ref=xsell&v=menu&from=phone-check"
        },
        {
          "call": "/sanctions-screen?ref=xsell&v=menu&from=phone-check",
          "name": "OFAC Sanctions Name Screen",
          "summary": "Fuzzy OFAC name screening for agents with compliance duties",
          "freeSample": "/sanctions-screen/sample?ref=xsell&v=menu&from=phone-check"
        },
        {
          "call": "/email-check?ref=xsell&v=menu&from=phone-check",
          "name": "Email Deliverability Check",
          "summary": "Part of the Trust & Verification suite — verify anything, pay-per-check",
          "freeSample": "/email-check/sample?ref=xsell&v=menu&from=phone-check"
        },
        {
          "call": "/domain-intel?ref=xsell&v=menu&from=phone-check",
          "name": "Domain Intel (RDAP + DNS)",
          "summary": "Domain registration truth + DNS posture for agents, pay-per-check — part of the Trust & Verification suite…",
          "freeSample": "/domain-intel/sample?ref=xsell&v=menu&from=phone-check"
        },
        {
          "call": "/url-screen?ref=xsell&v=menu&from=phone-check",
          "name": "Malicious URL Screen",
          "summary": "Phishing & malicious-URL screening for agents — hand over any http(s) URL and get a structured risk verdict…",
          "freeSample": "/url-screen/sample?ref=xsell&v=menu&from=phone-check"
        },
        {
          "call": "/swap-quote?ref=xsell&v=menu&from=phone-check",
          "name": "DEX Swap Quote",
          "summary": "Read-only on-chain swap pricing for agents",
          "freeSample": "/swap-quote/sample?ref=xsell&v=menu&from=phone-check"
        },
        {
          "call": "/gas-oracle?ref=xsell&v=menu&from=phone-check",
          "name": "Multichain Gas Oracle",
          "summary": "Live multi-chain gas oracle for on-chain agents",
          "freeSample": "/gas-oracle/sample?ref=xsell&v=menu&from=phone-check"
        },
        {
          "call": "/prices?ref=xsell&v=menu&from=phone-check",
          "name": "Crypto Prices (Chainlink)",
          "summary": "Decentralized crypto spot prices + oracle price history for on-chain agents, read DIRECTLY from Chainlink p…",
          "freeSample": "/prices/sample?ref=xsell&v=menu&from=phone-check"
        },
        {
          "call": "/ens-resolve?ref=xsell&v=menu&from=phone-check",
          "name": "ENS Resolver",
          "summary": "Spoof-safe ENS resolution for on-chain agents",
          "freeSample": "/ens-resolve/sample?ref=xsell&v=menu&from=phone-check"
        },
        {
          "call": "/company?ref=xsell&v=menu&from=phone-check",
          "name": "Company Enrichment (SEC EDGAR)",
          "summary": "Company enrichment for agents — hand over a ticker, CIK, or name and get ground-truth SEC identity plus fin…",
          "freeSample": "/company/sample?ref=xsell&v=menu&from=phone-check"
        },
        {
          "call": "/sec-10k?ref=xsell&v=menu&from=phone-check",
          "name": "SEC Annual Report (10-K)",
          "summary": "U.S",
          "freeSample": "/sec-10k/sample?ref=xsell&v=menu&from=phone-check"
        },
        {
          "call": "/sec-10q?ref=xsell&v=menu&from=phone-check",
          "name": "SEC Quarterly Report (10-Q)",
          "summary": "U.S",
          "freeSample": "/sec-10q/sample?ref=xsell&v=menu&from=phone-check"
        },
        {
          "call": "/sec-8k?ref=xsell&v=menu&from=phone-check",
          "name": "SEC Current Report (8-K)",
          "summary": "U.S",
          "freeSample": "/sec-8k/sample?ref=xsell&v=menu&from=phone-check"
        },
        {
          "call": "/insider-trades?ref=xsell&v=menu&from=phone-check",
          "name": "Insider Trades",
          "summary": "SEC Form 4 insider transactions made agent-ready — who's buying and selling their own company's stock, norm…",
          "freeSample": "/insider-trades/sample?ref=xsell&v=menu&from=phone-check"
        },
        {
          "call": "/13f-holdings?ref=xsell&v=menu&from=phone-check",
          "name": "13F Institutional Holdings",
          "summary": "What every institutional manager actually holds, made agent-ready — normalized SEC 13F-HR portfolios for ~8…",
          "freeSample": "/13f-holdings/sample?ref=xsell&v=menu&from=phone-check"
        },
        {
          "call": "/macro?ref=xsell&v=menu&from=phone-check",
          "name": "US Macro Indicators",
          "summary": "WIP / FREE (BETA) — currently free while data coverage and freshness are expanded; pricing returns once pro…",
          "freeSample": "/macro/sample?ref=xsell&v=menu&from=phone-check"
        },
        {
          "call": "/patent?ref=xsell&v=menu&from=phone-check",
          "name": "US Patent Search",
          "summary": "WIP / FREE (BETA) — currently free; the corpus is a small curated slice of landmark patents while the full…",
          "freeSample": "/patent/sample?ref=xsell&v=menu&from=phone-check"
        },
        {
          "call": "/ipo-calendar?ref=xsell&v=menu&from=phone-check",
          "name": "IPO Calendar",
          "summary": "The US IPO pipeline straight from SEC EDGAR — public domain, no paid feed",
          "freeSample": "/ipo-calendar/sample?ref=xsell&v=menu&from=phone-check"
        },
        {
          "call": "/fx-rates?ref=xsell&v=menu&from=phone-check",
          "name": "FX Reference Rates",
          "summary": "Daily reference FX rates for commerce and accounting agents",
          "freeSample": "/fx-rates/sample?ref=xsell&v=menu&from=phone-check"
        },
        {
          "call": "/weather?ref=xsell&v=menu&from=phone-check",
          "name": "Weather & Forecast",
          "summary": "Weather for agents — the canonical tool call, pay-per-use",
          "freeSample": "/weather/sample?ref=xsell&v=menu&from=phone-check"
        },
        {
          "call": "/reader?ref=xsell&v=menu&from=phone-check",
          "name": "Web Reader & Screenshot",
          "summary": "Give your agent a real browser",
          "freeSample": "/reader/sample?ref=xsell&v=menu&from=phone-check"
        },
        {
          "call": "/convert?ref=xsell&v=menu&from=phone-check",
          "name": "Document Convert (PDF/Image → Text)",
          "summary": "Document conversion tools for agents — hand over any PDF or image (public URL, base64, or raw POSTed bytes,…",
          "freeSample": "/convert/sample?ref=xsell&v=menu&from=phone-check"
        },
        {
          "call": "/nft?ref=xsell&v=menu&from=phone-check",
          "name": "NFT Insight (Scam Check, Owners)",
          "summary": "NFT collection intelligence for agents — Ethereum now, Base next",
          "freeSample": "/nft/sample?ref=xsell&v=menu&from=phone-check"
        },
        {
          "call": "/sfx?ref=xsell&v=menu&from=phone-check",
          "name": "8-bit SFX Generator",
          "summary": "Deterministic 8-bit sound-effect synthesis for agents — game-ready WAVs from a seed or preset in one paid c…",
          "freeSample": "/sfx/sample?ref=xsell&v=menu&from=phone-check"
        },
        {
          "call": "/icons?ref=xsell&v=menu&from=phone-check",
          "name": "Icon Search",
          "summary": "Inline SVG icons for agents building UIs without CDN access — CSP blocks icon CDNs and hand-drawn path data…",
          "freeSample": "/icons/sample?ref=xsell&v=menu&from=phone-check"
        },
        {
          "call": "/pokemon?ref=xsell&v=menu&from=phone-check",
          "name": "Pokemon API",
          "summary": "Pokemon knowledge base for agents",
          "freeSample": "/pokemon/sample?ref=xsell&v=menu&from=phone-check"
        },
        {
          "call": "/minecraft?ref=xsell&v=menu&from=phone-check",
          "name": "Minecraft Data",
          "summary": "Minecraft game data for agents — look up any block or item by name with properties, ids and metadata, list…",
          "freeSample": "/minecraft/sample?ref=xsell&v=menu&from=phone-check"
        }
      ],
      "strategy": "menu",
      "catalogUrl": "https://x402.professorsausages.com/?ref=402&v=menu&from=phone-check"
    },
    "suggest": {
      "url": "https://x402.professorsausages.com/suggest",
      "hint": "Missing data you'd pay for? POST {want, would_pay_usd} — free. The most-requested datasets get built first."
    },
    "discount": {
      "off": "50%",
      "hint": "Send X-Intent: <40+ chars describing what you're building and what data you need> for 50% off this call.",
      "header": "X-Intent"
    }
  },
  "x402Version": 2
}

Accepts

The payment requirements as published to the catalog. Read the live 402 before paying — a price here is a claim, not a quote.

0.01USDC≈ $0.01 USD
on Base · exact scheme

Pay 0.01 USDC on Base to 0x54eb…70d5B. The signed payment is good for 1 minute.

USD Coin contract
0x8335…02913
Payment window
1 minute
As published
10000 smallest units
The catalog’s raw entry
[
  {
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "extra": {
      "name": "USD Coin",
      "version": "2"
    },
    "payTo": "0x54ebFCF3870439B9db62381848c5DabC05c70d5B",
    "amount": "10000",
    "scheme": "exact",
    "network": "eip155:8453",
    "maxTimeoutSeconds": 60
  }
]

Extensions

{
  "bazaar": {
    "info": {
      "input": {
        "type": "http",
        "method": "GET",
        "queryParams": {
          "region": "Shared ISO 3166-1 alpha-2 region for national-format items.",
          "numbers": "Comma-separated phone numbers (max 25). Each may be + prefixed or use the shared region=."
        }
      },
      "output": {
        "type": "object",
        "required": [
          "method",
          "count",
          "results"
        ],
        "properties": {
          "count": {
            "type": "integer"
          },
          "method": {
            "type": "string"
          },
          "region": {
            "type": [
              "string",
              "null"
            ],
            "description": "Shared batch-level region, if supplied."
          },
          "results": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ok": {
                  "type": "boolean"
                },
                "e164": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "E.164 normalized form (e.g. +14155552671)."
                },
                "type": {
                  "enum": [
                    "mobile",
                    "fixed_line",
                    "fixed_line_or_mobile",
                    "toll_free",
                    "premium_rate",
                    "shared_cost",
                    "voip",
                    "personal_number",
                    "pager",
                    "uan",
                    "voicemail",
                    "unknown"
                  ],
                  "type": "string"
                },
                "error": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "input": {
                  "type": "string"
                },
                "valid": {
                  "type": "boolean"
                },
                "region": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Parsed ISO 3166-1 alpha-2 region."
                },
                "rfc3966": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "RFC 3966 tel: URI."
                },
                "verdict": {
                  "enum": [
                    "VALID",
                    "POSSIBLE_BUT_INVALID",
                    "INVALID"
                  ],
                  "type": "string",
                  "description": "VALID = assigned range; POSSIBLE_BUT_INVALID = plausible length, no range; INVALID = not possible."
                },
                "evidence": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "national": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "possible": {
                  "type": "boolean"
                },
                "disclaimer": {
                  "type": "string"
                },
                "not_checked": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "carrier_lookup, line_activity_hlr, ported_status, spam_reputation — need paid telco APIs."
                },
                "region_used": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "country_code": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Country calling code, e.g. \"1\" or \"44\"."
                },
                "length_valid": {
                  "type": "boolean"
                },
                "international": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "example_number_for_region": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              }
            },
            "description": "One entry per input number, in order. ok:true items carry the full check body; ok:false items carry an error."
          }
        }
      }
    },
    "schema": {
      "type": "object",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "object"
        },
        "output": {
          "type": "object"
        }
      }
    },
    "category": "verification",
    "routeTemplate": "https://x402.professorsausages.com/phone-check/batch"
  },
  "sample": {
    "url": "https://x402.professorsausages.com/phone-check/sample",
    "hint": "A real cached response from this API (with its capture timestamp), free — judge the data quality before paying."
  },
  "catalog": {
    "message": "You called Phone Number Validation. Agents doing verification work commonly also use these — same pay-per-call model, each with a FREE real sample record (freeSample link):",
    "related": [
      {
        "call": "/email-check?ref=xsell&v=related&from=phone-check",
        "name": "Email Deliverability Check",
        "summary": "Part of the Trust & Verification suite — verify anything, pay-per-check",
        "freeSample": "/email-check/sample?ref=xsell&v=related&from=phone-check"
      },
      {
        "call": "/domain-intel?ref=xsell&v=related&from=phone-check",
        "name": "Domain Intel (RDAP + DNS)",
        "summary": "Domain registration truth + DNS posture for agents, pay-per-check — part of the Trust & Verification suite…",
        "freeSample": "/domain-intel/sample?ref=xsell&v=related&from=phone-check"
      },
      {
        "call": "/url-screen?ref=xsell&v=related&from=phone-check",
        "name": "Malicious URL Screen",
        "summary": "Phishing & malicious-URL screening for agents — hand over any http(s) URL and get a structured risk verdict…",
        "freeSample": "/url-screen/sample?ref=xsell&v=related&from=phone-check"
      }
    ],
    "strategy": "related",
    "catalogUrl": "https://x402.professorsausages.com/?ref=402&v=related&from=phone-check"
  },
  "suggest": {
    "url": "https://x402.professorsausages.com/suggest",
    "hint": "Missing data you'd pay for? POST {want, would_pay_usd} — free. The most-requested datasets get built first."
  },
  "discount": {
    "off": "50%",
    "hint": "Send X-Intent: <40+ chars describing what you're building and what data you need> for 50% off this call.",
    "header": "X-Intent"
  }
}

Provenance

Seen in the source catalog
2026-07-21 01:52Z
Last indexed by Roundhouse
2026-07-23 06:10Z
Last enriched (probe, favicon, geo)
2026-09-10 11:45Z
x402 version
2
Max timeout
60s
Liveness probe
HTTP 400
Report

Hand this page to an agent

Copy the prompt and paste it into Claude, an MCP client or your own agent — it will vet this service and call it over the free read API. No key, no account.

GET api.roundhouseai.io/v0/endpoints

No per-endpoint history for this service yet, so this is payments indexed to its PROVIDER's wallet over 30 days. Verified volume counts only settlements with an on-chain EIP-3009 marker.

Open skill.md
Show the prompt
Using Roundhouse, look up the x402 service Phone Number Validation and tell me whether it is
worth paying: what a call costs, whether the endpoint answered when last probed, and what
its payment record actually shows.

curl -s 'https://api.roundhouseai.io/v0/endpoints?q=Phone%20Number%20Validation'
curl -s 'https://api.roundhouseai.io/v0/merchants/<the payTo wallet returned above>'

Then call it: read the price from the live 402 at https://x402.professorsausages.com/phone-check/batch, never from
a cached figure, and pay with an x402 client.

The /v0 API needs an API key (`authorization: Bearer rh_live_…`) on everything except
/v0/unified* and /v0/endpoints. Mint a personal key for $0.01 at GET https://api.roundhouseai.io/v0/test/x402,
or use an organization key from https://roundhouseai.io/dashboard/team.

If you do not have Roundhouse tools or skills installed, read
https://roundhouseai.io/skill.md first — it is the whole procedure.