{"x402Version":2,"service":"lock-smith","description":"Automated security checks for x402 endpoints — not a penetration test. POST /v1/audit ($0.50) runs eight non-destructive, unpaid probes against one paid route: paywall presence, challenge sanity, garbage and forged payment rejection, exposure surface, error hygiene, body-size cap, and discovery consistency. Returns SECURE / FINDINGS / EXPOSED with per-check results and a fix note per finding. Use this when you operate an x402 route and want its locks checked before an attacker rattles them.","network":"eip155:8453","payTo":"0x097f9685D1e0752bF8B02d61E5Ce9be7eA0FBA7F","ownershipProofs":["0xa83562902f31c86319b1b60c7ecdcd4662807dd85b91e2547798cccbe1ba5ccb0232a908182471d39f4790aec4614e99246753b0828b1ead407ff465708adc401c"],"extensions":{"nudge":{"endpoint":"https://lock-smith-production.up.railway.app/v1/nudge","accepts":["fleet-health/v1"],"spec":"https://github.com/QuincyGB/x402-loop-kits/blob/main/nudge-inbox.md"},"mcp":{"name":"io.github.QuincyGB/lock-smith-mcp","title":"LockSmith MCP server","transport":"stdio","repository":"https://github.com/QuincyGB/lock-smith-mcp","manifest":"https://github.com/QuincyGB/lock-smith-mcp/blob/main/server.json"},"quickstart":{"title":"Inspector Quickstart Pack","curl":"https://stall-row-production.up.railway.app/quickstart/curl","python":"https://stall-row-production.up.railway.app/quickstart/python","typescript":"https://stall-row-production.up.railway.app/quickstart/typescript"},"gradeability":{"title":"Gradeability Self-Test Report","report":"https://lock-smith-production.up.railway.app/.well-known/gradeability-report.json"},"verdict_row":{"title":"Verdict Row Fleet Discovery Bundle + A2A agent card","bundle":"https://lock-smith-production.up.railway.app/.well-known/verdict-row.json","a2a_agent_card":"https://lock-smith-production.up.railway.app/.well-known/a2a-agent-card.json"}},"resources":[{"resource":"https://lock-smith-production.up.railway.app/v1/audit","method":"POST","price":"$0.50","scheme":"exact","mimeType":"application/json","description":"Security-audit one x402 endpoint: eight automated, non-destructive, unpaid checks (paywall, challenge sanity, garbage/forged payment rejection, exposure surface, error hygiene, body cap, discovery consistency) with a SECURE / FINDINGS / EXPOSED verdict and a fix note per finding. Automated security checks, not a penetration test.","tags":["x402","security","audit","agents","security-audit","endpoint-verification","preflight"],"accepts":[{"scheme":"exact","network":"eip155:8453","amount":"500000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x097f9685D1e0752bF8B02d61E5Ce9be7eA0FBA7F","maxTimeoutSeconds":300}],"inputSchema":{"type":"object","required":["endpoint_url"],"properties":{"endpoint_url":{"type":"string","description":"Full URL of the x402 endpoint (paid route) to audit, e.g. https://service.example.com/v1/endpoint"},"mode":{"type":"string","enum":["full","compact"],"default":"full","description":"Response mode. 'full' (default) returns every check's full detail prose. 'compact' returns the same audit with headline summaries for passing checks (findings keep full detail) — for buyers who republish or forward the response; some indexers drop samples over ~1.5 KB."}},"example":{"endpoint_url":"https://token-verdict-production.up.railway.app/v1/verdict","mode":"compact"}},"outputSchema":{"type":"object","required":["ok","service","audit_version","target","verdict","summary","terms_observed","checks","probes_used","scope_note"],"properties":{"ok":{"type":"boolean"},"mode":{"type":"string","enum":["full","compact"]},"service":{"type":"string"},"audit_version":{"type":"string"},"target":{"type":"string"},"verdict":{"type":"string","enum":["SECURE","FINDINGS","EXPOSED"]},"summary":{"type":"object","properties":{"passed":{"type":"integer"},"findings":{"type":"integer"},"not_tested":{"type":"integer"},"worst_severity":{"type":["string","null"]}}},"terms_observed":{"type":"object","properties":{"price":{"type":["string","null"]},"amount_units":{"type":["string","null"]},"network":{"type":["string","null"]},"asset":{"type":["string","null"]},"pay_to":{"type":["string","null"]}}},"checks":{"type":"array","items":{"type":"object","required":["id","name","status","detail"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"status":{"type":"string","enum":["pass","finding","not_tested"]},"severity":{"type":"string","enum":["low","medium","high","critical"]},"detail":{"type":"string"},"fix":{"type":"string"}}}},"probes_used":{"type":"integer"},"scope_note":{"type":"string"}},"example":{"ok":true,"mode":"compact","service":"lock-smith","audit_version":"1.0","target":"https://token-verdict-production.up.railway.app/v1/verdict","verdict":"SECURE","summary":{"passed":8,"findings":0,"not_tested":0,"worst_severity":null},"terms_observed":{"price":"$0.02","amount_units":"20000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x097f9685D1e0752bF8B02d61E5Ce9be7eA0FBA7F"},"checks":[{"id":"paywall_present","name":"Paywall present","status":"pass","detail":"Unpaid request drew 402."},{"id":"challenge_sanity","name":"Challenge sanity","status":"pass","detail":"Terms complete, consistent."},{"id":"garbage_payment","name":"Garbage payment rejected","status":"pass","detail":"Junk rejected."},{"id":"forged_payment","name":"Forged payment rejected","status":"pass","detail":"Forged rejected."},{"id":"exposure_surface","name":"Exposure surface","status":"pass","detail":"Nothing sensitive exposed."},{"id":"error_hygiene","name":"Error hygiene","status":"pass","detail":"Clean errors only."},{"id":"body_cap","name":"Body-cap sanity","status":"pass","detail":"Oversized body refused."},{"id":"discovery_consistency","name":"Discovery consistency","status":"pass","detail":"Discovery matches terms."}],"probes_used":14,"scope_note":"Automated security checks, not a penetration test."}}},{"resource":"https://lock-smith-production.up.railway.app/quote","method":"GET","price":"$0.00","description":"Free price quote for the paid endpoints"}]}