Give it one ambiguous name or ticker — "Apple", "ETH", "Stripe" — and get back ranked entities carrying verified canonical IDs from every official registry, the right one ranked first. The exact cross-registry lookup an LLM guesses — and gets wrong.
Every ID is pulled live from its own authoritative registry and tagged with the sources that agreed — paste the CIK into sec.gov or the LEI into gleif.org and check it yourself.
Anyone who has wired an LLM into a financial or data workflow has hit the same wall — and a steady stream of engineering write-ups, papers and post-mortems describe it: language models confidently invent identifiers. Ask for Apple's SEC CIK or a counterparty's LEI and you get something format-perfect and wrong. Entity resolution — mapping a messy name to its one canonical record — is one of the oldest unsolved chores in data engineering, and it became urgent the moment agents started acting on the answers. This service was built for exactly that gap: it never recalls an ID, it looks each one up live in the entity's own official registry and tells you which sources agreed.
Every ID comes from SEC EDGAR, GLEIF (the official global LEI issuer), Wikidata and CoinGecko. We don't invent, store or own any of it.
Each result tags which sources agreed, so you can verify any ID at its own registry yourself.
Same name → same verified IDs, every call. No model drift, no hallucinated tickers.
Pay-per-call. No account, no API key. Queries aren't stored beyond transient operational logs.
"Stripe" → the exact legal entity + its GLEIF LEI before you onboard a counterparty.
A counterparty name → its LEI, which many filings now mandate.
"ETH" → Ethereum ranked first, with any same-ticker ETF or trust kept below it. The canonical asset wins, not a look-alike fund.
A name → CoinGecko slug to wire a price feed, or → CIK to pull SEC filings.
Hand an LLM the verified canonical key it can't recall reliably, so it can call the next API.
GET /resolve?q=<string> — $0.005 USDC via x402 (Base mainnet, EIP-3009). Ranked canonical-ID candidates.GET /demo?q=<string> — free live demo of the same resolver, capped per IP per day.GET /health — free. Service + network status.GET /llms.txt — free. Machine-readable spec for agents.curl "https://entityresolver.xyz/demo?q=apple"
That is the real resolver, no payment needed, capped per IP per day. When you're ready for production, switch to GET /resolve?q=: an unpaid request returns HTTP 402 with payment terms, and a wallet holding USDC on Base signs an EIP-3009 transfer inline (gasless for the buyer); the facilitator verifies + settles. Agents: see /llms.txt or /openapi.json.
{
"mcpServers": {
"entityresolver": {
"command": "npx",
"args": ["-y", "entityresolver-mcp"],
"env": { "BUYER_PRIVATE_KEY": "0x…" }
}
}
}
The entityresolver-mcp package exposes two tools: demo_resolve (free, works with zero config — omit the env block) and resolve_entity (production, pays $0.005 USDC per call from a dedicated low-value wallet you fund with a few cents of USDC on Base; gasless, no ETH needed).