Skills
The community catalog of HTTP 402–gated APIs that pay and AI agents read from.
pay-skills is the registry behind pay skills search. It's a curated repository of provider definitions, each pointing at an x402- or MPP-gated endpoint, with the metadata an agent needs to understand pricing, authentication, and shape.
If you've ever wondered "where does pay skills search 'translate' get its answers?" — it's this repo, built and published to a CDN.
Layout
The source of truth is the providers/ directory:
providers/
quicknode/rpc/PAY.md ← native operator (2 levels)
paysponge/2captcha/PAY.md ← proxied gateway (3 levels)
merit-systems/stableenrich/enrichment/PAY.md
solana-foundation/google/translate/PAY.mdThe path is the provider's fully-qualified name (FQN): quicknode/rpc, paysponge/2captcha. Two levels for an operator running its own endpoint; three levels for a gateway operator proxying somebody else's API.
Each provider directory contains:
| File | Required | Purpose |
|---|---|---|
PAY.md | yes | Frontmatter + prose describing the provider. |
openapi.json | usually | OpenAPI 3 (or Google Discovery) document for the upstream API. |
A typical PAY.md frontmatter:
---
name: rpc
title: 'Quicknode'
description: 'Pay-per-request JSON-RPC endpoints for 140+ blockchain networks…'
use_case: 'Use for blockchain JSON-RPC, querying account or contract state…'
category: compute
service_url: https://x402.quicknode.com
openapi:
path: openapi.json
---The frontmatter is what the agent reads when deciding whether a provider matches a task. use_case is the most important field for discovery — it's prose-shaped guidance for an LLM.
How pay consumes it
pay-skills is the input repository. The CLI doesn't read it directly; it reads the built index from a CDN.
The lifecycle:
- A contributor edits
providers/<fqn>/PAY.mdand opens a PR. - GitHub Actions runs
pay catalog checkon the PR — frontmatter validation, live HTTP probes, Solana-payment verdicts. A bad PAY.md or a dead endpoint blocks the merge. - On merge to
main, the workflow runspay catalog build .and publishesdist/skills.jsontogs://pay-skills/v1/index.jsonplus per-provider detail files. pay skills update(called explicitly or automatically) fetches the index from the CDN.pay skills searchqueries it.- When the user selects a provider, the agent fetches the per-provider detail file (
gs://pay-skills/v1/<fqn>.json) — that holds the OpenAPI document.
Within a few minutes of merge, the new provider is discoverable from any pay skills search worldwide.
Two artifacts to know about
index.json
The built catalog index — generated, not hand-edited. Contains metadata for every provider: FQN, title, description, category, declared currencies, endpoint count, and the URL to the per-provider detail JSON. Published at gs://pay-skills/v1/index.json. Don't commit changes here; commit changes to providers/ and let CI rebuild.
x402-solana-catalog.md
A human-readable inventory of every x402-on-Solana endpoint accepting USDC. Organized by category (analytics, social, enrichment, e-mail, voice, etc.). It's manually curated and serves as a reference document — useful for browsing, not used as a build input.
Add a provider
pay catalog scaffold acme/search https://api.acme.example/openapi.jsonThis generates ./acme/search/PAY.md from the upstream OpenAPI doc with TODO markers for the discovery-critical fields. Fill in category and use_case, then validate locally:
pay catalog check providers/acme/search/PAY.mdPR CI runs the same command across the whole registry on --changed-from main. A merged PR auto-publishes. See Commands → catalog for the full reference.
Add a provider source
A team running its own catalog (not the official one) can publish their own skills.json and register it locally:
pay install your-org/your-repo
pay skills update
pay skills search "your search"pay install is shorthand for pay skills add — see Commands → other. Multiple sources stack; pay skills search queries all of them.
Browse the catalog
The canonical browser view is built into the pay.sh site at /services (the same data, surfaced on the web). For CLI-side discovery:
pay skills search "translate"
pay skills search "data" --category data
pay skills endpoints google/bigquery jobs