A paid endpoint name has one small job: help a caller choose correctly before USDC moves.
Agentutility’s registry now has 799 endpoints across 17 clusters. Calls cost between $0.001 and $0.50 in USDC. At that size, vague names create real routing cost. An LLM shouldn’t need to inspect several schemas just to learn which endpoint returns the requested result.
The slug is API copy. Keep it literal.
Use lowercase kebab case everywhere
Lowercase kebab case is easy to tokenize, compare, place in a URL, and reproduce without case errors. Use lowercase words separated by single hyphens. Skip underscores and spaces.
These registry names scan cleanly:
pdf-to-markdowntimezone-converttoken-risk-scoredice-roll
Consistency matters more as the catalog grows. If one route is describe-image and another is image_Describe, an agent has to preserve arbitrary spelling rules. That’s wasted context.
Keep the slug stable too. The same name should appear in discovery metadata, payment records, logs, and documentation.
Put the action first
What’s the caller trying to do?
Start there. An action-noun pattern lets a router narrow candidates from the first token. The registry already has strong examples:
describe-imagesummarize-texttranslate-textdetect-language
Each slug reads like an instruction. That’s useful for humans, but it’s even better for an LLM selecting a tool from a crowded list.
Noun-first names make the model wait. qr-code-generate eventually explains itself, yet generate-qr-code matches how callers phrase the request. “Generate a QR code” is also more likely to appear verbatim in a prompt.
Keep modifiers after the noun when possible. generate-product-image is clearer than product-image-generate, and related actions sort together during tool selection.
Don’t make agents decode abbreviations
Short isn’t always clear.
The current registry includes hn-search, win-prob, character-gen, and nft-floor. Experienced users may read those instantly. A router meeting them for the first time has to infer that hn means Hacker News, prob means probability, and gen means generate.
Clearer forms would be:
search-hacker-newsestimate-win-probabilitygenerate-characterget-nft-floor-price
Keep abbreviations that callers actually search for as fixed identifiers. pdf, csv, json, and html belong in slugs because spelling them out would make discovery worse. Don’t shorten ordinary action words just to save four characters.
Include the unit when one number matters
Units prevent expensive ambiguity.
gas-now-base returns fee values in gwei and transaction estimates in USD. Its schema names those units, but the slug doesn’t. A narrower endpoint called estimate-base-gas-price-gwei would tell an agent what the main number means before the schema comparison starts.
The same test catches names such as convert-temperature or calculate-duration. Celsius to Fahrenheit? Seconds or milliseconds? Prefer convert-celsius-to-fahrenheit and calculate-duration-seconds.
But don’t add a unit that misstates a report. nft-floor returns both floor_native and floor_usd, so an usd suffix would hide part of the response. get-nft-floor-price is the better slug, while the response fields carry their own units.
Run the prompt test before publishing
Place the slug by itself in a tool list, without its description. Then ask:
- Is every token lowercase and separated by one hyphen?
- Does the first word state the action?
- Are shortened words common search terms?
- If the main result is numeric, does the slug name its unit?
Renaming a live paid route is an API change. Keep the old slug as an alias, publish the clearer name, and map both to the same request and response contract. Existing callers won’t break, while new agents get the name that requires less guessing.