x402 Payment Request Parser
Server Details
x402 payment-request parser with a limited token list. Does not sign, approve or judge payments.
- Status
- Healthy
- Uptime
- 100.0% over 20 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 4 tools
Each tool has a distinct role: catalog describes server offerings, get_receipt retrieves a settled paid-call result by ID, x402_known_assets provides reference data, and x402_parse_payment_request decodes payment requests. There is no meaningful overlap in purpose or action.
The set mixes generic names (catalog, get_receipt) with x402_-prefixed names and mixes noun-style names (catalog, x402_known_assets) with verb_noun names (get_receipt, x402_parse_payment_request). The conventions are inconsistent but still readable and descriptive.
Four tools are well-scoped for a payment request parser: the core parser, a reference-data companion, server catalog metadata, and receipt retrieval. Each tool earns its place without obvious padding.
The surface covers the parser's core workflow: decoding requests, comparing known assets, exposing server metadata, and recovering settled results. Minor gaps like batch parsing or listing receipts are not critical, and merchant verification is explicitly out of scope.
Available Tools
4 toolscatalogCatalog: tools, prices and limitsARead-onlyInspect
List the tools of this server with prices, data sources, licensing, daily limits and data freshness.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| legal | Yes | |
| terms | Yes | URL of the terms of service. |
| tools | Yes | Every tool of this server with its price. |
| paused | Yes | Operator pause flags (true = paused). |
| server | Yes | |
| payment | Yes | |
| provenance | No | Freshness receipts for every upstream source used. |
| daily_limits | Yes | Daily limits of paid calls (calls, usd, timezone) or a misconfiguration notice. |
| fetch_status_values | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so safety is covered. The description adds the content categories returned (prices, licensing, limits, freshness), which is useful context, but an output schema exists and would surface the same structure, so the incremental disclosure is modest.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; every clause enumerates distinct payload content, so nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, a read-only annotation, and an output schema present, the description need not explain return values or safety. It is nearly complete for this simple tool; only a hint about when to reach for it is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline 4 applies under the '0 params' rule.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb ("List") plus resource ("the tools of this server") and an enumeration of the payload contents (prices, data sources, licensing, daily limits, freshness). It is plainly distinguishable from siblings like get_receipt or drone_flight_check, though it does not explicitly name or contrast them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance is given; usage is only implied by the discovery framing ("the tools of this server"). An agent can infer this is the entry point for learning available tools and pricing, but nothing states that intent directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_receiptGet receipt of a paid callARead-onlyInspect
Re-fetch the stored result of a settled paid call by its receipt_id, for when the response was lost after payment. Free. Unknown or unsettled receipt ids return RECEIPT_NOT_FOUND. Results are kept for 30 days after settlement.
| Name | Required | Description | Default |
|---|---|---|---|
| receipt_id | Yes | The receipt_id returned with a paid result ("rcpt_" + 64 hex characters). |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | Yes | Name of the paid tool that produced the result. |
| terms | Yes | URL of the terms of service. |
| result | Yes | The stored result, exactly as returned by the paid call. |
| payment | Yes | |
| provenance | Yes | Freshness receipts for every upstream source used. |
| receipt_id | Yes | Receipt id of the settled paid call ("rcpt_" + 64 hex). Use with get_receipt. |
| settled_at | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond readOnlyHint=true, the description discloses pricing ('Free'), error behavior for unknown/unsettled ids (RECEIPT_NOT_FOUND), and a retention window (30 days after settlement). These are substantive operational facts an agent cannot get from the annotations or schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the purpose, followed by cost, error case, and retention. No sentence is redundant and nothing is buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and the annotations cover safety. The description still covers cost, failure mode, and data lifetime, leaving no material gap for an agent calling this single-param read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already documents the 'rcpt_' + 64 hex format, so the baseline is 3. The description adds semantic constraint by implying the id must belong to a settled paid call, which goes slightly beyond the schema's format-only documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource: 'Re-fetch the stored result of a settled paid call by its receipt_id.' This is unambiguous and an agent can immediately tell what the tool returns and what it operates on, even though the sibling tools are unrelated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the triggering condition clearly ('for when the response was lost after payment'), which is exactly the scenario that should select this tool. It also implicitly scopes usage to settled calls via the RECEIPT_NOT_FOUND note, though it names no alternative tools for other recovery paths.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_known_assetsx402 known assets and networks tableARead-onlyIdempotentInspect
Free. The limited reference list this server compares token addresses with: known assets (network, contract, symbol, decimals) with sources and check dates, known CAIP-2 networks, scheme names from the x402 specs, and payment flows. A table match is not proof that an asset or a merchant is genuine.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| terms | Yes | URL of the terms of service. |
| assets | Yes | Known assets per CAIP-2 network. |
| schemes | Yes | |
| networks | Yes | |
| provenance | Yes | Version and sources of the bundled asset table. |
| payment_flows | Yes | |
| registry_version | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint=false, so safety is covered. The description adds value beyond them: it states the call is free, characterizes the list as 'limited', notes that entries carry sources and check dates (staleness context), and warns that a match is not proof of authenticity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with the key qualifier ('Free.') front-loaded and the content enumeration following. The field list is somewhat dense but each item is informative rather than redundant; nothing reads as padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only reference lookup with an output schema, the description supplies the necessary scope (what tables exist) and the crucial limitation (a match is not proof of authenticity). An agent has enough to decide when the lookup is worthwhile and how much to trust it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, which is the baseline-4 case; there is nothing for the description to disambiguate. The enumerated return fields (network, contract, symbol, decimals) are descriptive of output rather than input, so they add no parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and enumerates its contents: known assets (network, contract, symbol, decimals) with sources and check dates, CAIP-2 networks, x402 scheme names, and payment flows. It is clearly distinguishable from get_receipt or x402_parse_payment_request, though it never names those siblings to route the agent explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the 'Free.' prefix signals cost-free lookup and the closing caveat warns that a table match is not proof of genuineness. There is no explicit statement of when to call this versus the sibling tools, nor any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_parse_payment_requestParse an x402 payment requestARead-onlyIdempotentInspect
Free. Decode one x402 v2 payment request (base64 PAYMENT-REQUIRED header, PaymentRequired JSON or MCP tool result) and list every accepts option with exact atomic and decimal amounts. Token addresses are compared with a limited reference list. status: parsed, ambiguous (options differ in recipient, network or amount; none is chosen), malformed or unsupported. Does not verify the merchant, authorize a transfer, assess fraud risk, or guarantee any payment. URLs in the input are never fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| raw | Yes | The payment request. A string: the base64 PAYMENT-REQUIRED header value (a leading 'PAYMENT-REQUIRED:' is allowed) or JSON text. An object: the PaymentRequired JSON, or for transport mcp the tool result (structuredContent, _meta x402/error or content[0].text). | |
| transport | No | Where the request came from: http (402 response) or mcp (paid tool result). Default http. | http |
Output Schema
| Name | Required | Description |
|---|---|---|
| mode | Yes | |
| note | Yes | |
| terms | Yes | URL of the terms of service. |
| errors | Yes | |
| parsed | Yes | The decoded request with every accepts option (null unless status is parsed or ambiguous). |
| status | Yes | parsed = the checked x402 v2 structure had no defects (not a statement about the merchant or whether to pay). ambiguous = options differ in recipient, network or amount; none was chosen. malformed / unsupported = could not be fully read. |
| evidence | Yes | |
| warnings | Yes | |
| mismatches | Yes | |
| provenance | Yes | Version and sources of the bundled asset table. |
| comparisons | Yes | |
| unsupported | Yes | |
| decoded_from | Yes | |
| checked_scope | Yes | |
| payment_required_location | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-openWorld, but the description adds substantive behavior: the four possible outcomes (parsed, ambiguous, malformed, unsupported), how ambiguity is resolved (options differ in recipient, network or amount and none is chosen), the limited token reference list, and the no-fetch guarantee. These prevent an agent from treating a parse as verification or expecting a network resolution.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Five dense sentences, front-loaded with the cost signal and the core action, then outputs, then limits. Every clause carries information (formats, statuses, guardrails) and nothing is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not enumerate return fields, and it still supplies the status vocabulary and the ambiguity rule. Combined with complete parameter coverage and full annotations, an agent has everything needed to call and interpret this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters already carry full definitions including the string/object union and the transport enum. The description largely restates those input forms and adds only the note about the limited token reference list, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (decode) and resource (one x402 v2 payment request), enumerates the accepted input encodings, and says exactly what the output is: every accepts option with atomic and decimal amounts. The scope line ('Does not verify the merchant, authorize a transfer...') draws the boundary against neighbors like get_receipt and x402_known_assets without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Free.' prefix and the explicit negative list (does not verify merchant, authorize transfer, assess fraud, guarantee payment; URLs never fetched) tell the agent when this tool is the wrong choice. However, it never names an alternative sibling or states a positive trigger condition (e.g. 'use before signing a 402 response'), so routing is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
catalog - First observed
get_receipt - First observed
x402_known_assets - First observed
x402_parse_payment_request
Related MCP Connectors
Read-only on-chain receipt check for x402 payments; confirm settlement before trusting a tx.
x402 v2 payment requests; relays compatible clients' signed payments to the existing product API.
Authorize and prove autonomous x402/AP2 agent payments with cryptographic receipts.
Pay-per-use web extract, token prices, and wallet balances via x402 USDC micropayments.
Related MCP Servers
- AlicenseAqualityAmaintenanceScreens the counterparty of an x402 payment before an agent pays it. One tool, screen_payment, checks address sanity, dynamic-payTo swaps, transport safety and your spend policy, then returns allow / review / block with the reasons — advisory only, and by default it runs with no key, no account and no network call.11MIT
- AlicenseAqualityBmaintenanceLets AI clients call paid x402ai endpoints — embeddings, summaries, and short answers — paying per call in USDC on Base via the x402 protocol, with per-payment and per-session spend caps plus a free inspector for decoding any x402 endpoint's payment challenge. Runs locally over stdio, needs no hosted account, and can operate in quote-only dry-run mode.5608 npmMIT
- FlicenseNot gradedqualityCmaintenanceProvides tools to look up providers, fetch receipts, and verify Ed25519 signatures for x402 payments on Base and Solana, with no API key needed for basic operations.15 npm-
- AlicenseNot gradedqualityFmaintenanceEnables AI agents to resolve tokens, get quotes, check for honeypots/rug pulls, build swaps, and retrieve receipts via x402 micropayments.1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.