Skip to main content
Glama

payee_check

Read-onlyIdempotent

Call this before your agent pays an unfamiliar x402 payTo address or endpoint. Checks public sanctions lists (OFAC SDN crypto addresses), the ScamSniffer scam list, on-chain wallet age, activity and program status on Solana or Base, and optionally the endpoint's unpaid 402 challenge (payTo mismatch, price outliers). Returns verdict ok, caution, do_not_pay or unknown, a 0-100 score, flags with evidence, and missing_fields. Unknown is never reported as safe. If every source is unreachable the call returns HTTP 502 and you are not charged. Part of the agent spend firewall bundle (payee_check + seller_report + pretrade); see /.well-known/x402 bundles. Costs $0.0045 USDC (4500 base units) via x402. The same price is charged for HTTP GET /payee/check. An unpaid HTTP call returns 402 even when the query is missing or invalid. A signed call with invalid arguments is rejected before settlement and is not charged. A successful result can set cached, stale, and cacheAgeMs. stale true means a previous result was served while a refresh runs or the upstream failed. You are charged only when the tool result is not an error.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "payTo": "<payTo>"
    },
    "name": "payee_check"
  }
}

Input Schema

NameRequiredDescriptionDefault
payToYes
priceNo
networkNo
endpointNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

Goes well past the readOnly/idempotent annotations by disclosing cost ($0.0045 USDC / 4500 base units), the fact that a 502 means no charge, that invalid signed arguments are rejected before settlement, that unpaid HTTP calls return 402 even on bad queries, and that cache/stale/cacheAgeMs may be set. It also states the key safety guarantee that unknown is never reported as safe, which no annotation conveys.

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?

Front-loaded with the actionable trigger, then layered with cost, error/billing, and caching semantics in a sensible order. It is long and repeats the charging rule across several sentences (402, 502, invalid args, error results), which costs some efficiency but each clause carries real operational weight for a paid call.

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

Completeness5/5

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

With no output schema, the description fully compensates by enumerating the return shape: verdict values (ok, caution, do_not_pay, unknown), a 0-100 score, flags with evidence, missing_fields, and cache fields. Combined with the billing and failure behavior, an agent has everything needed to call and interpret it.

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 0%, so the description carries the burden and largely does: payTo is identified as an x402 payTo address, network is tied to Solana or Base, endpoint drives the unpaid 402 challenge comparison, and price feeds the outlier check. It still omits concrete formats (price string shape, allowed network values, endpoint URL form), which leaves some ambiguity.

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?

States a specific verb and resource with the exact evidence sources it consults: OFAC SDN crypto addresses, the ScamSniffer list, on-chain wallet age/activity and program status on Solana or Base, plus the endpoint's 402 challenge. It also names its place in the spend-firewall bundle alongside seller_report and pretrade, so an agent can tell it apart from sibling tools without opening a schema.

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 opening sentence gives an explicit trigger: call this before paying an unfamiliar x402 payTo address or endpoint. That is a clear use context, but there is no explicit when-not or a direct routing rule distinguishing this from pretrade or token_check_demo, so the agent must infer the boundary.

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.

Resources