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.0020
Listed price
As published in the catalog. Always read the live 402 before paying.
2
Calls · 30d
Upstream's own call count for this endpoint, not ours.
1
Unique payers · 30d
Last called 2026-07-21 01:58Z
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": "2000",
      "scheme": "exact",
      "network": "eip155:8453",
      "maxTimeoutSeconds": 60
    }
  ],
  "resource": {
    "url": "https://x402.professorsausages.com/phone-check/check",
    "tags": [
      "phone",
      "validation",
      "e164",
      "verification",
      "trust"
    ],
    "mimeType": "application/json",
    "description": "Validate & normalize one phone number — E.164, line type, region, verdict (pure CPU, zero upstream)",
    "serviceName": "Phone Number Validation"
  },
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "type": "http",
          "method": "GET",
          "queryParams": {
            "number": "The phone number, raw. May contain spaces/dashes/parens. If it starts with + the region is optional.",
            "region": "ISO 3166-1 alpha-2 region (e.g. US, GB). Required for national-format numbers without a leading +."
          }
        },
        "output": {
          "type": "object",
          "required": [
            "method",
            "input",
            "region_used",
            "valid",
            "possible",
            "type",
            "verdict",
            "evidence",
            "not_checked",
            "disclaimer"
          ],
          "properties": {
            "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"
            },
            "input": {
              "type": "string"
            },
            "valid": {
              "type": "boolean"
            },
            "method": {
              "type": "string",
              "description": "libphonenumber-js/max <version>."
            },
            "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"
              ]
            }
          }
        }
      },
      "schema": {
        "type": "object",
        "required": [
          "input"
        ],
        "properties": {
          "input": {
            "type": "object"
          },
          "output": {
            "type": "object"
          }
        }
      },
      "category": "verification",
      "routeTemplate": "https://x402.professorsausages.com/phone-check/check"
    },
    "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": "This endpoint is 1 of 29 pay-per-call APIs for agents — all same x402 payment + auth. Browse the full menu free (no payment) at the catalog URL; every API serves a free real sample record at /<api>/sample.",
      "strategy": "minimal",
      "catalogUrl": "https://x402.professorsausages.com/?ref=402&v=minimal&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.002USDC≈ $0.002 USD
on Base · exact scheme

Pay 0.002 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
2000 smallest units
The catalog’s raw entry
[
  {
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "extra": {
      "name": "USD Coin",
      "version": "2"
    },
    "payTo": "0x54ebFCF3870439B9db62381848c5DabC05c70d5B",
    "amount": "2000",
    "scheme": "exact",
    "network": "eip155:8453",
    "maxTimeoutSeconds": 60
  }
]

Extensions

{
  "bazaar": {
    "info": {
      "input": {
        "type": "http",
        "method": "GET",
        "queryParams": {
          "number": "The phone number, raw. May contain spaces/dashes/parens. If it starts with + the region is optional.",
          "region": "ISO 3166-1 alpha-2 region (e.g. US, GB). Required for national-format numbers without a leading +."
        }
      },
      "output": {
        "type": "object",
        "required": [
          "method",
          "input",
          "region_used",
          "valid",
          "possible",
          "type",
          "verdict",
          "evidence",
          "not_checked",
          "disclaimer"
        ],
        "properties": {
          "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"
          },
          "input": {
            "type": "string"
          },
          "valid": {
            "type": "boolean"
          },
          "method": {
            "type": "string",
            "description": "libphonenumber-js/max <version>."
          },
          "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"
            ]
          }
        }
      }
    },
    "schema": {
      "type": "object",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "object"
        },
        "output": {
          "type": "object"
        }
      }
    },
    "category": "verification",
    "routeTemplate": "https://x402.professorsausages.com/phone-check/check"
  },
  "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:58Z
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/check, 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.