Skip to main content
Glama

Payment Policy — preflight an x402 payment

payment_policy_decide
Idempotent

Payment Policy Decision (x402-paid, $0.05): deterministic allow / deny / needs_review before your agent signs an x402 payment — checks resource binding, amount vs expected price, network, payTo, facilitator, replay readiness, PII leakage, and buyer spend limits, with evidence-backed findings. Loop it over every payment; pair with assurance_attest for a signed record.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tagsNoBazaar/service tags for sensitive-category detection
assetNoPayment asset address
payToNoPayment recipient from the challenge
payerNoOptional wallet/account identifier; stored only as a hash
apiKeyNoFree-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing.
methodNoHTTP method the agent intends to call
schemeNox402 payment scheme (exact expected)
channelNoDiscovery channel or source tag
networkNoPayment network, e.g. eip155:8453
campaignNoCampaign tag for downstream telemetry
xPaymentNoRaw X-PAYMENT proof from an x402-compatible wallet/client
actorTypeNoCaller type for analytics: agent, human, synthetic, system, or unknown
syntheticNoMark this paid retry as an internal test/probe for analytics exclusion
amountUnitsNoRaw x402 amount units (USDC = 6 decimals)
buyerPolicyNoBuyer guardrails: maxUsdPerCall, allowedNetworks, allowedPayTo, allowedHosts, requireExactScheme, requireHttps, ...
resourceUrlYesAbsolute resource URL from the x402 challenge or Bazaar listing
serviceRiskNoOptional upstream service-risk result (e.g. from mcp_risk_score)
facilitatorUrlNoFacilitator URL used to settle
paymentSignatureNox402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry
maxTimeoutSecondsNoChallenge timeout window
paymentIdentifierNoOptional x402 payment identifier for idempotency/retry correlation

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okYesTrue when the upstream storefront call returned a 2xx response
httpStatusYesUpstream HTTP status code
paymentRequiredNoTrue when the response is an x402 HTTP 402 payment challenge

TDQS

A4.4/5.0
Behavior4/5

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

The description adds behavioral context beyond annotations by stating the tool is deterministic, produces 'evidence-backed findings', and costs $0.05, while clarifying it operates before payment signing. It also mentions specific safety checks (replay readiness, PII leakage). No contradiction with annotations.

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

Conciseness5/5

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

The description is two sentences, front-loads the tool's name and cost, and every clause delivers substantive information without repetition. The dense list of checks is efficiently packed and adds value.

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?

Given 21 parameters, nested objects, and an output schema, the description effectively covers purpose, workflow, and complementary tools while relying on the output schema for return values. It could mention prerequisites (like apiKey) explicitly, but overall it provides sufficient context for an agent to decide when and how to invoke the tool.

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?

Although schema covers 100% of parameters, the description enriches semantics by mapping policy checks (resource binding, amount vs expected price, network, payTo, facilitator, replay readiness, PII leakage, buyer spend limits) to relevant input parameters. This helps agents determine which parameters are essential for a given preflight.

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?

Description explicitly states the tool performs 'deterministic allow / deny / needs_review' for an 'x402 payment' before signing, clearly defining its role as a preflight decision tool. It distinguishes itself from siblings by naming the pairing with assurance_attest and specifying the exact checks performed.

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?

'Loop it over every payment' provides direct guidance on when to use the tool, and 'pair with assurance_attest for a signed record' indicates a complementary workflow. However, it does not explicitly list alternatives or when not to use this tool, so it falls 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.

TDQS

A3.9/5.0
Disambiguation5/5

Each tool has a clear, distinct purpose. Financial tools (bond, cashflow, deal, options, portfolio, wallet, waterfall) each target a specific analysis type, email tools are batch vs single, and e-commerce tools are separate. No two tools could be easily confused.

Naming Consistency4/5

Most tools follow a noun_verb pattern (e.g., bond_analyze, emailguard_validate), but there is some inconsistency: some use verb_noun (get_product, list_products) and brand names like cashflowlens_analyze break the pattern slightly. Overall, it is still readable and mostly predictable.

Tool Count4/5

With 19 tools spanning finance, email, security, and e-commerce, the count is slightly high but reasonable for a pay-per-use server offering diverse deterministic analytics. Each tool serves a distinct function, and the number is not overwhelming.

Completeness4/5

The set covers major financial analysis types, email validation, and basic e-commerce operations. Minor gaps (e.g., no tool for portfolio rebalancing or more advanced email features) exist, but the core advertised services are well-covered.

Resources