Free no-spend x402 safety score
Score a buyer-agent payment before spend.
This page checks route contract, required fields, wallet cap, approved budget, metadata safety, duplicate-payment risk, and expected Base x402 network before a buyer-controlled payment.
What it never does
- No paid calls.
- No paid upstream calls.
- No payment execution.
- No public raw buyer payloads.
- No outreach, scraping, posting, DMs, or emails.
Route contract
Checks /api/opportunity-check and /api/agent-revenue-audit price, amount, network, and required fields.
Budget controls
Requires wallet cap, max budget, and buyer spend approval before returning ready_to_pay.
Metadata safety
Uses the same preflight policy for secrets, private keys, personal data, unsafe advice, outreach, and scraping requests.
Duplicate risk
Stops when a caller says the same payload already produced a payment response.
Try a no-spend score
{
"status": "ready_to_pay",
"score": 100,
"rating": "strong",
"mode": "free-no-spend-payment-safety-score",
"route": "/api/agent-revenue-audit",
"routeContract": {
"supportedRoute": true,
"title": "Agent Revenue Audit",
"price": "$5.00",
"maxAmountAtomicUnits": "5000000",
"network": "eip155:8453",
"requiredFields": [
"serviceName",
"currentOffer",
"targetBuyer",
"currentProblem"
],
"recommendedFields": [
"currentPaymentRail",
"riskTolerance",
"source"
],
"requiredFieldsPresent": true,
"missingFields": []
},
"budgetCheck": {
"requiresWalletPerRequestLimitAtLeastUsd": "5.00",
"walletPerRequestCapUsd": "5.00",
"maxBudgetUsd": "5.00",
"buyerApprovedSpend": true,
"withinBudget": true,
"capTooLow": false,
"budgetTooLow": false,
"missingWalletCap": false,
"missingMaxBudget": false,
"approvalMissing": false,
"message": "Budget, wallet cap, and operator approval are compatible with the $5.00 route."
},
"priceCheck": {
"routePriceUsd": "5.00",
"routePrice": "$5.00",
"expectedPriceUsd": "5.00",
"expectedNetwork": "eip155:8453",
"requiredNetwork": "eip155:8453",
"priceMatchesRoute": true,
"networkMatchesRoute": true,
"priceMismatch": false,
"networkMismatch": false,
"message": "Route price and network are either confirmed or can be read from the unpaid HTTP 402 response before payment."
},
"metadataSafety": {
"status": "ready_to_send",
"piiRisk": "low",
"warnings": [],
"safeToSendWithoutRedaction": true,
"rawPayloadPublic": false,
"buyerLevelDataExposed": false
},
"duplicatePaymentCheck": {
"previousPaymentAttempt": "none",
"paymentResponseAlreadyPresent": false,
"idempotencyKeyPresent": true,
"duplicateLikely": false,
"duplicateUnknown": false,
"safeToPayAgain": true,
"message": "No duplicate payment signal was provided."
},
"replayAndBindingCheck": {
"idempotencyKeyPresent": true,
"duplicatePaymentRisk": "low",
"routeBoundToPayment": true,
"expectedNetwork": "eip155:8453",
"safeToProceed": true,
"note": "The buyer should still read the unpaid 402 response and ensure the paid retry matches the same route, amount, network, and payload."
},
"safeNextAction": "The planned payment is shaped correctly. Only the buyer-controlled wallet should execute payment after operator approval.",
"copyPastePayload": {
"serviceName": "Example Agent API",
"currentOffer": "Pay-per-call API for buyer agents",
"targetBuyer": "x402 builders and buyer agents",
"currentProblem": "The service has working paid routes but needs a clearer buyer-agent conversion path.",
"currentPaymentRail": "base-x402",
"riskTolerance": "medium",
"source": "buyer-agent-payment-safety-example"
},
"x402CommandShape": "Do not run unless your wallet cap and approved budget cover this route and your operator approves the spend.\nnpx awal@latest x402 pay \"https://apexscout.ai/api/agent-revenue-audit\" \\\n -X POST \\\n -h '{\"Content-Type\":\"application/json\"}' \\\n -d '{\"serviceName\":\"Example Agent API\",\"currentOffer\":\"Pay-per-call API for buyer agents\",\"targetBuyer\":\"x402 builders and buyer agents\",\"currentProblem\":\"The service has working paid routes but needs a clearer buyer-agent conversion path.\",\"currentPaymentRail\":\"base-x402\",\"riskTolerance\":\"medium\",\"source\":\"buyer-agent-payment-safety-example\"}' \\\n --max-amount 5000000 \\\n --json",
"publicSafety": {
"paidCallsMade": false,
"paidUpstreamCalls": false,
"rawInputsStoredPublicly": false,
"rawGeneratedPayloadsStoredPublicly": false,
"buyerLevelDataExposed": false,
"safetyScoreUsageIsRevenue": false
},
"guardrails": [
"This score did not make a paid call.",
"Do not pay if status is not ready_to_pay.",
"Do not pay if the unpaid HTTP 402 amount, route, or network differs from this score.",
"Do not reuse a payment payload that already produced PAYMENT-RESPONSE.",
"Do not include secrets, private keys, seed phrases, customer records, passwords, SSNs, API keys, or full wallet addresses.",
"Do not use ApexScout for legal, tax, investment, lending, compliance, trading, outreach, scraping, contact, posting, or messaging requests."
],
"telemetrySignal": {
"status": "ready_to_pay",
"route": "/api/agent-revenue-audit",
"readyToPay": true,
"fixRequiredFields": false,
"fixBudgetCap": false,
"fixRoute": false,
"redactBeforePayment": false,
"stopped": false,
"duplicateStopped": false,
"priceMismatchStopped": false,
"metadataPiiRisk": "low"
}
}
API shape
{
"name": "Buyer-Agent Payment Safety Score",
"version": "v2.2.107-audit-builder-recommended-first-action",
"mode": "free-no-spend-payment-safety-score",
"route": "/buyer-agent-payment-safety",
"api": "/api/buyer-agent-payment-safety",
"scoreApi": "/api/buyer-agent-payment-safety/score",
"purpose": "Score an intended ApexScout x402 payment before spend. It checks route contract, required fields, wallet cap, approved budget, metadata safety, duplicate-payment risk, and expected network.",
"paidCallsMadeBySafetyScore": false,
"paidUpstreamCalls": false,
"paymentExecuted": false,
"supportedRoutes": [
{
"route": "/api/opportunity-check",
"title": "Opportunity Check",
"price": "$0.01",
"maxAmountAtomicUnits": "10000",
"network": "eip155:8453",
"requiredFields": [
"subject"
],
"recommendedFields": [
"goal",
"buyerType",
"source"
]
},
{
"route": "/api/agent-revenue-audit",
"title": "Agent Revenue Audit",
"price": "$5.00",
"maxAmountAtomicUnits": "5000000",
"network": "eip155:8453",
"requiredFields": [
"serviceName",
"currentOffer",
"targetBuyer",
"currentProblem"
],
"recommendedFields": [
"currentPaymentRail",
"riskTolerance",
"source"
]
}
],
"inputSchema": {
"required": [
"route",
"payloadPreview",
"maxBudgetUsd",
"walletPerRequestCapUsd",
"buyerApprovedSpend"
],
"optional": [
"resourceUrl",
"paymentDescription",
"reason",
"expectedPriceUsd",
"expectedNetwork",
"previousPaymentAttempt",
"paymentResponseAlreadyPresent",
"idempotencyKey",
"source"
]
},
"statuses": [
"ready_to_pay",
"fix_route",
"fix_required_fields",
"fix_budget_cap",
"redact_before_payment",
"stop"
],
"noSpendGuarantee": {
"paidCallsMade": false,
"paidUpstreamCalls": false,
"paymentExecuted": false,
"rawInputsPublic": false,
"rawPayloadsPublic": false,
"buyerLevelDataExposed": false
},
"links": {
"page": "https://agent-research-brief-api-production.up.railway.app/buyer-agent-payment-safety",
"api": "https://agent-research-brief-api-production.up.railway.app/api/buyer-agent-payment-safety",
"scoreApi": "https://agent-research-brief-api-production.up.railway.app/api/buyer-agent-payment-safety/score",
"chatTinyPaymentFlow": "https://agent-research-brief-api-production.up.railway.app/chat-tiny-payment-flow",
"chatTinyPaymentFlowApi": "https://agent-research-brief-api-production.up.railway.app/api/chat-tiny-payment-flow",
"agentRevenueAuditBuilder": "https://agent-research-brief-api-production.up.railway.app/agent-revenue-audit-builder",
"agentSpendPassport": "https://agent-research-brief-api-production.up.railway.app/agent-spend-passport",
"metadataPreflight": "https://agent-research-brief-api-production.up.railway.app/x402-metadata-preflight",
"metadataPreflightCheck": "https://agent-research-brief-api-production.up.railway.app/api/x402-metadata-preflight/check",
"x402Proof": "https://agent-research-brief-api-production.up.railway.app/x402-proof",
"mcpToolPack": "https://agent-research-brief-api-production.up.railway.app/mcp-tool-pack"
},
"sampleInput": {
"route": "/api/agent-revenue-audit",
"payloadPreview": {
"serviceName": "Example Agent API",
"currentOffer": "Pay-per-call API for buyer agents",
"targetBuyer": "x402 builders and buyer agents",
"currentProblem": "The service has working paid routes but needs a clearer buyer-agent conversion path.",
"currentPaymentRail": "base-x402",
"riskTolerance": "medium",
"source": "buyer-agent-payment-safety-example"
},
"maxBudgetUsd": "5.00",
"walletPerRequestCapUsd": "5.00",
"expectedPriceUsd": "5.00",
"expectedNetwork": "eip155:8453",
"buyerApprovedSpend": true,
"previousPaymentAttempt": "none",
"idempotencyKey": "example-request-001",
"source": "example"
},
"guardrails": [
"This score is free and no-spend.",
"It does not execute x402 payment.",
"It does not make paid upstream calls.",
"It does not expose raw buyer inputs, generated payloads, wallet histories, or paid response bodies publicly.",
"It stops duplicate-payment risk, route price mismatches, unsafe metadata, secrets, and unsupported route requests.",
"It does not provide legal, tax, investment, lending, compliance, or trading advice.",
"It does not recommend outreach, DMs, posts, email, scraping, crawling, or third-party inspection."
]
}