Source of truth
The research (snapshot 2026-10-31) is published in full at lupariel.com/catalog.json, built from these tables:
-
research/x402.md: catalog listing (483 parsed rows) -
research/APIs_x402.md: LatAm tracking and history -
research/ap2.md: 127 ecosystem entries -
research/acp.md: 87 ecosystem entries -
research/mpp.md: 180 APIs -
research/pap.md: identity/session rail (not part of the payment snapshot. Announced 2026-10-06, draft 0.1 published 2026-10-09)
The site is generated at build time (Astro SSG). There is no runtime database. The same parse emits the HTML and /rieles.json.
What we don't do
- We don't make up entries, prices, networks or statuses.
- Empty,
—or an em dash means the field is omitted. - We don't promote "announced" to production. The table's status is copied as is.
- We don't present an AP2/ACP launch partner as a pay-per-request x402 endpoint.
- We don't create entries for Mercado Pago, Mercado Libre or Tiendanube: the research doesn't confirm x402/AP2/ACP/MPP.
- Pomelo + Mastercard Agent Pay is a proprietary framework, not one of the four payment rails. Editorial note at /latam/ (Spanish), not a rail entry.
- PAP is the map's 5th rail, for identity/session (OAuth, discovery, guest→auth). It is not part of the payment snapshot or of x402/AP2/ACP/MPP. It is never shown as settlement or live billing.
Dedup
877 raw rows → 814 entries. If the same organization shows up in two files (normalized name, or a first-party URL matching the name), it stays as one entry with several rails. Example: Stripe only has an ACP row in the tables, so no x402 is invented for it. OpenAI does appear in ACP, AP2 and MPP.
Shared announcement URLs (Google Cloud blog, Stripe newsroom, Businesswire) don't merge different partners.
Entries with evidence on more than one rail: 59.
Statuses
- On each rail hub, the status is that rail's status. On the home page and the Index, it is the most advanced across its rails.
- AP2 and ACP: the table's "Status" / "Integration
status" column (
Producción,Piloto,Anunciado, that is production, pilot, announced). - x402 and MPP: those tables carry no status. They list
APIs found to be payable. The catalog shows them as
produccionin the sense of "API listed as billable", not as an uptime certification. Date and source stay visible.
RRL levels
Besides the table status, every rail on every listing carries an RRL level, from RRL 0 · Indexed to RRL 3 · Production, earned with public, dated evidence: primary sources, the weekly unpaid probe and, for RRL 3 on rails with 402, on-chain charges from at least 2 payers distinct from the owner in the last 30 days. The “Paid by Lupa” seal is not a level and expires after 90 days. Full rules in the RRL methodology.
Cadence
The research was updated in daily passes up to the snapshot. This site
is regenerated whenever the tables change. We aim for a weekly review
of the directory. In between, the published snapshot is the date shown
on each entry (last_reviewed).
Machine-readable
/rieles.json (alias
/catalog.json) comes from the same build.
Open CORS, Content-Type: application/json. Entries also
have a markdown twin at /fichas/{slug}.md,
listed in /llms.txt.