x402 Lint + Action
Inspect an unpaid public x402 challenge and heuristic listing score in the browser, API or GitHub CI. Reuse seven-day report snapshots in README badges.
Run free x402 LintAction source and setup →Who it’s for
Developers building and maintaining x402 endpoints.
Price
Free, subject to public-check quotas, robots rules and host pacing.
Paid calls use x402 with USDC on Base. Read the quote before authorizing payment; examples below do not pay automatically.
Know the limits
No target payment or paid-delivery proof. An inconclusive result is not an endpoint failure. Reports expire after seven days. The Action makes one sequential free check per endpoint, at most five, with no automatic retry or payment.
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 -i https://api.spendpreflight.com/v1/lint \
-H 'Content-Type: application/json' \
-d '{"url":"https://api.example.com/data"}'MCP
Connect to https://api.spendpreflight.com/mcp. Call the existing tool:
{
"name": "lint_endpoint",
"arguments": {
"url": "https://api.example.com/data"
}
}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/v1/lint', {
method: 'POST', headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({"url":"https://api.example.com/data"})
});
console.log(response.status, await response.text());GitHub Action
- uses: spendpreflight/x402-lint-action@v1
with:
urls: https://api.example.com/dataFrequently asked questions
Can I run this in GitHub Actions?
Yes. Use spendpreflight/x402-lint-action@v1. See the linked source for inputs and exit codes. Public workflow inputs can be visible.
What does a passing badge mean?
A fresh complete report with zero heuristic risk and no errors or warnings. Missing, expired or inconclusive evidence is unknown; passing is not a safety guarantee.
Related tools
Payee Screening · Listing Guard · Seller Monitoring
Authoritative OpenAPI schemas · What this service stores · Practical guides