Quote Check
Compare a supplied x402 quote with the latest comparable cached public unpaid quote and disclosed observation count, without fetching the seller.
Read input and payment requirementsWho it’s for
Agents and developers reviewing an exact-scheme quote before deciding whether to sign it.
Price
0.001 USDC per usable comparison. Missing, stale or ambiguous evidence returns unknown without charge. No trial.
Paid calls use x402 with USDC on Base. Read the quote before authorizing payment; examples below do not pay automatically.
Know the limits
An informational comparison against the last observed quote, not a market price, seller identity, payment approval or loss-prevention guarantee. A suggested atomic cap does not replace local spending rules. The supplied quote is not independently refreshed. No signature or payment is sent to the seller.
A 30-second integration
Examples use placeholders. Plain requests to paid tools return a payment challenge, not a paid result. Free Lint can perform an unpaid public probe. Inspect the response status and evidence scope before using any result.
curl
curl -sS https://api.spendpreflight.com/quote-checkMCP
Connect to https://api.spendpreflight.com/mcp. Call the existing tool:
{
"name": "quote_check",
"arguments": {
"url": "https://api.example.com/data",
"amount": "10000",
"payTo": "0x1111111111111111111111111111111111111111",
"asset": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"network": "eip155:8453"
}
}SDK / JavaScript
Use standard fetch alongside the SpendPreflight SDK; the example does not invent a dedicated exported method.
// Node.js SDK integration: use your explicitly budgeted fetch.
// Plain fetch below never signs or pays. There is no dedicated
// spendpreflight SDK helper for this operation.
const response = await fetch('https://api.spendpreflight.com/quote-check', { method: 'GET' });
console.log(response.status, await response.text());Frequently asked questions
What do the statuses mean?
ok means the supplied amount is not above the last comparable atomic quote and the recipient matches. above_expected shows the multiple; payTo_changed identifies a different recipient. Neither proves fraud. Unknown means evidence is absent, stale, method-mismatched or ambiguous.
Is the price a market benchmark?
No. The baseline is the last comparable public unpaid observation for this exact URL, network, asset and method. Scout retains only its latest probe; a separately indexed URL may have up to seven days of retained observations. The response identifies the source, time, count and window. Different options are not silently combined.
How do I add it before signing?
Use spendpreflight-js createQuoteCheckHook with onBeforePaymentCreation and an explicitly supplied separate, locally guarded comparison-fee client. It aborts on every non-ok result or error. Keep local spending limits; no cap is applied automatically.
Related tools
Payee Screening · Listing Guard · x402 Security Check
Authoritative OpenAPI schemas · What this service stores · Practical guides