SpendPreflight
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Operated by SpendPreflight: sanctions screening and allow/hold/block preflight for x402 payments.
| Author | io.github.spendpreflight |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 144 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"SpendPreflight": {
"url": "https://api.spendpreflight.com/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (10)
listing_guardread-onlyBazaar Listing Guard: CDP technical validation plus a bounded heuristic metadata screen for agent-directed instructions, embedded URLs, tool calls, invisible Unicode, long fields and prices above 100x a fresh Scout category median. Returns riskScore, flagged spans and rewrite suggestions. Not Coinbase policy certification or guaranteed detection. Public HTTPS only; no target payment or request bodies stored. Price $0.05 USDC on Base; shared trial may apply.
Parameters:
url(required) — stringmethod(required) — string
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
check_listingread-onlyCompatibility alias of listing_guard for existing clients. Prefer listing_guard for a new detailed metadata check; these are the same operation, not two independent checks. Bazaar Listing Guard: CDP technical validation plus a bounded heuristic metadata screen for agent-directed instructions, embedded URLs, tool calls, invisible Unicode, long fields and prices above 100x a fresh Scout category median. Returns riskScore, flagged spans and rewrite suggestions. Not Coinbase policy certification or guaranteed detection. Public HTTPS only; no target payment or request bodies stored. Price $0.05 USDC on Base; shared trial may apply.
Parameters:
url(required) — stringmethod(required) — string
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
find_rv_stationsread-onlyNearest RV dump/water stations from FillPoint RV's dated September 17, 2026 ODbL snapshot. $0.01 for bounded straight-line proximity calculation, not live access, potable-water assurance or road routing. Snapshot age and unknown current conditions are explicit. Full underlying projection is free under ODbL.
Parameters:
latitude(required) — numberlongitude(required) — numberlimit— integerservice— stringradius_km— number
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
size_solarread-onlyOff-grid PV energy-balance estimate based on Wattpath by Nomad Energy Club. Supply daily loads, peak sun hours, PV losses, and optional battery assumptions. No location/weather lookup, electrical design, surge or installation certification. $0.02 per calculation; no stored inputs.
Parameters:
loads(required) — arraypeak_sun_hours(required) — numberpv_loss_fraction(required) — numberbattery— objectpanel_watts— numberinverter_efficiency— number
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
check_tokenread-onlyBase contract safety signals from bounded public-chain reads and OFAC. Basic: deployed bytecode and SDN match. Deep adds standard owner(), paused(), totalSupply(), decimals() and ERC-1967 storage observations, exact ERC-1167 minimal-proxy target detection, a Sourcify runtime-verification claim matched to current bytecode, and direct-deployment age when independently supported by the creation receipt. Honeypot/sellability, liquidity locks, holder concentration and scam lists are NOT assessed. Missing data is unknown; never a safe-to-buy verdict. Informational, not financial advice. Basic $0.02; deep $0.05. Shared trial first.
Parameters:
address(required) — stringtier— stringchain— string
Hints: read-only yes · destructive no · idempotent no · open-world yes
lint_endpointFree x402 Lint by SpendPreflight. Checks a public HTTPS endpoint with an unpaid GET: v1/v2 challenge shape, payTo/asset/network syntax, price, Bazaar metadata and browser CORS headers. Returns a heuristic Listing Guard riskScore (0–100 or unknown), fixes and a public seven-day report link. Positive scores include optional paid Listing Guard and monitoring links; no paid call is made. Scores are not safety or Bazaar acceptance guarantees. No payment or credentials; GET cannot validate a POST-only endpoint or paid delivery. Do not submit private URLs.
Parameters:
url(required) — string
Hints: read-only no · destructive no · idempotent no · open-world yes
check_payeeread-onlyPayee risk check. Screens a payee wallet address and name against the OFAC SDN sanctions list and checks the merchant domain's registration age and DNS. Returns risk low|medium|high|unknown with flags such as sanctioned_address, sanctioned_name_possible, new_domain. Call this before a USDC payment when you only have a payee name, wallet or domain. Provide at least one of domain, address, or name; inputs may be combined, and domain accepts a hostname or URL. For an x402 challenge or cart and an allow/hold/block spending-rule decision, use preflight_payment instead. Price $0.01 per call (free trial first).
Parameters:
name— string — Merchant or payee legal namedomain— string — Merchant domain or URL, e.g. shop.example.comaddress— string — Payee wallet address (EVM 0x…, BTC, etc.)
Hints: read-only yes · destructive not declared · idempotent yes · open-world yes
preflight_paymentread-onlyCall this before any x402/USDC payment to evaluate the actual challenge or cart before signing. Spend preflight for AI agents. Send the x402 PaymentRequired body (v1 or v2) you received, or a cart, plus optional rules (per-payment max, hold threshold, daily cap, allowlists, new-domain days, endpoint category price multiple, liveness and payTo changes). Returns allow|hold|block with reasons, the cheapest acceptable payment option, and a receipt id. Read-only: never signs, settles, or holds funds. Use before every payment. It includes payee screening in its spending-rule decision. For standalone wallet, name, or domain screening without a payment, use check_payee instead. Each repeat call creates a new receipt and may consume another trial or paid call. Price $0.02 per call (free trial first).
Parameters:
cart— object — Use instead of challenge for agent checkout / card paymentsrules— object — Spending rules; all optional. See get_service_info for defaults.challenge— object — The x402 PaymentRequired body (v1 or v2) your agent received with HTTP 402resource_url— string — URL that returned the 402, if not inside the challengeresource_method— string — Advertised method for an indexed URL with multiple methodsspent_today_usd— number — What this agent already spent today, for the daily cap
Hints: read-only yes · destructive not declared · idempotent no · open-world yes
check_endpointread-onlyCached x402 endpoint observations, operated by SpendPreflight. Returns a transparent score (or unknown), its components and seven-day unpaid probe history for an already publicly listed URL. Never fetches the caller's URL or pays the endpoint. Unlisted, unavailable or stale data is not charged. This is not a paid-delivery or compliance guarantee. Provide the exact resource URL; add method when the URL has multiple advertised methods. Use for endpoint history and price context before paying. Use check_payee for wallet/name screening or preflight_payment for an allow/hold/block decision. Price $0.005 per cached lookup (shared free trial first). An unknown score means missing evidence; repeated paid calls may incur another charge.
Parameters:
url(required) — string — Exact public HTTP(S) URL already listed by Bazaar or x402scanmethod— string — Advertised method such as GET or POST; required if the URL is ambiguous
Hints: read-only yes · destructive not declared · idempotent yes · open-world no
get_service_inforead-onlyFree, read-only service reference. Use when you need prices, default spending rules, payment setup, trial allowance, or a ready-to-use example call. If you already have a payment challenge or cart, call preflight_payment directly; this reference call is optional. Takes no arguments and performs no payee screening or payment decision. Use check_payee for standalone payee risk; use preflight_payment for an x402 challenge or cart and an allow/hold/block decision.
Hints: read-only yes · destructive not declared · idempotent yes · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.