Skip to main content
Glama

Check before you pay (x402)

pay_check
Read-only

Run before paying for an x402 resource. Give the resource's url (it reads the 402 answer, v1 body or v2 header) or its payment requirements or just the payTo address. For each payment option: whether the token is a dollar stablecoin Fivebar knows on that network (a seller can ask for any token, including a fake 'USDC'), the price in dollars, testnets, and on Robinhood Chain the seller's last 30 days from Fivebar's x402 index: payments, different buyers, volume, its usual price (and whether this asks more than twice that), and wash patterns over the window (too few buyers to judge, two buyers making most of its volume, paying its own buyers back), plus its agent record if registered. Verdict: no warnings, thin record, no history, no record (other chains) or caution with the reasons. Facts to decide with, not a judgment of the seller.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "pay_check"
  }
}

Input Schema

NameRequiredDescriptionDefault
urlNoThe x402 resource's https URL: Fivebar requests it once and reads its 402 answer
assetNoWith payTo: the token address
payToNoJust the seller's address, when there's no URL or requirements
amountNoWith payTo: the amount in the token's base units (USDG and USDC have 6 decimals)
networkNoWith payTo: robinhood (default), base, ethereum, ...
requirementsNoThe 402 answer's JSON (with accepts[]), or one payment option

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint/openWorldHint annotations, the description discloses the network side effect ('Fivebar requests it once and reads its 402 answer') and the fact that both v1 body and v2 header forms are handled. It also exposes the return taxonomy (no warnings, thin record, no history, no record, caution) and the deliberate caveat that these are 'facts to decide with, not a judgment of the seller'. It stops short of describing failure behavior or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose and trigger are front-loaded in the first two clauses, and every clause carries information about inputs or return contents. It is a dense, parenthesis-heavy run-on that could be split into bullets for faster scanning, but there is little pure filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With six optional parameters, no output schema, and open-world behavior, the definition does the necessary work of describing what comes back (verdict classes and the specific 30-day metrics). Missing pieces are minor: what happens when the URL is unreachable or the 402 answer is malformed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so 3 is the baseline, but the description adds real meaning the schema cannot: the parameters are mutually exclusive input modes (url OR requirements OR payTo), and payTo mode implies asset/amount/network. It also explains why token identity matters ('a seller can ask for any token, including a fake USDC'), which motivates the asset parameter semantically.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a concrete verb and resource ('Run before paying for an x402 resource') and then enumerates exactly what is checked: stablecoin recognition per network, dollar price, testnet status, and 30-day seller stats from the x402 index on Robinhood Chain. It is distinguishable from siblings like check_seller or x402_stats because it is scoped to a single payment option being evaluated pre-payment.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The trigger is stated explicitly and front-loaded ('Run before paying for an x402 resource') and the three input modes are spelled out (url, requirements, or payTo address alone). There is no explicit when-not-to-use guidance or pointer to an alternative sibling tool, which keeps it short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.