{"uid":"cap_2hxcN-Pec1ZKY4RoYHGWS","slug":"dep-halowerk-com-typosquat-proximity-ranker-fe683ef9","name":"dep.halowerk.com Typosquat Proximity Ranker","description":"Ranks edit-distance proximity between a candidate name and supplied popular package names. Missing facts are returned as null and named in unavailable_fields where applicable. Derived values disclose their method; source-backed values disclose source, time window and age. ","url":"https://dep.halowerk.com/v1/typosquat-proximity","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"candidate":{"type":"string","maxLength":512,"minLength":1,"description":""},"threshold":{"type":"integer","maximum":20,"minimum":0,"description":""},"popular_packages":{"type":"array","items":{"type":"string","maxLength":512,"minLength":1,"description":""},"maxItems":10000}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.004","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.004/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.004","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.004","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_ufOWdWKaxNNLisku1KZmN","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.004","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Ranks candidate package names by edit-distance proximity to a list of popular packages to detect potential typosquatting","exampleAgentPrompt":"Check if the package name 'reqeusts' is a typosquat of any popular Python libraries — compare it against ['requests','flask','numpy','pandas','django'] with an edit-distance threshold of 3 and rank the closest matches.","exampleUseCases":[{"title":"CI pipeline typosquat guard","prompt":"Before I install 'coloers' as a new npm dependency, check it against these popular packages — ['colors','chalk','ansi-styles','kleur','picocolors'] — with a threshold of 2, and tell me if it's dangerously close to any of them."},{"title":"Security audit of suspicious dependency","prompt":"We found 'lodahs' in one of our repos and want to know if it's a typosquat — rank its edit-distance proximity against ['lodash','underscore','ramda','immutable','lazy.js'] using a threshold of 4."},{"title":"Package name validation before publishing","prompt":"I'm about to publish a package called 'expres' to npm — can you check if it's too close to any of these popular packages: ['express','fastify','koa','hapi','restify']? Use an edit-distance threshold of 3 so I know if there's a naming conflict risk."}],"resultDescription":"Returns a ranked list of popular packages ordered by edit-distance proximity to the candidate name, including the computed distance scores. Missing facts are returned as null and listed in unavailable_fields. Derived values disclose their computation method so callers understand how each score was produced.","failureModes":["candidate string exceeds 512 characters — validation error","popular_packages array exceeds 10,000 entries — request rejected","threshold outside 0–20 range — validation error","empty candidate string — validation error","missing required candidate field — bad request error"],"whenToPreferThis":"Choose this endpoint when you need a fast, deterministic edit-distance computation to detect potential typosquatting of known popular packages. It is purpose-built for software supply chain security use cases and returns transparent, method-disclosed scores rather than opaque ML predictions. Prefer it over general fuzzy string matching libraries when you need a pay-per-call API integrated into CI/CD pipelines or dependency auditing workflows, especially when you want null-safe handling and explicit disclosure of unavailable fields.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T12:41:31.001Z","isFirstParty":false}