Endpoints
-
/rieles.json— catálogo canónico -
/catalog.json— alias idéntico -
/llms.txt— índice de gemelos markdown -
/api/lookup— búsqueda paga (x402 v2 Exact). Sinstatus: $0.005 (amount 5000). Constatus(SKU#5 x402-live): $0.01 (amount 10000).statussolo no alcanza — hace faltaqorail(400). Sin pago, 402. No vuelca el catálogo. Smoke:?rail=x402&status=produccion&limit=5. -
/api/condition/settle-ready— condición AR settle-ready (x402 v2 Exact, $0.02 USDC en Base). Sinrailowants_usdc_settleresponde 400; sin pago, 402. Rulesetar-settle-ready-v1(reglas explícitas, no oráculo). -
/api/rail/matrix— matriz de rieles AR (x402 v2 Exact, $0.01 USDC en Base).caseinválido responde 400; sin pago, 402. Rulesetar-rail-matrix-v1(settle ≠ consent). -
/api/liveness— liveness de URLs del catálogo (x402 v2 Exact, $0.02 USDC en Base). SoloPOSTcon{ ids: string[] }(1–10). GET responde 405; body inválido responde 400 antes del cobro. Rulesetriel-liveness-v1(solo URLs resueltas del catálogo). -
/api/reserve/brief— brief informativo de auth-capture (x402 v2 Exact, $0.01 USDC en Base).resourceausente o que no sea URL http(s) responde 400 antes del cobro; sin pago, 402. Rulesetx402-auth-capture-brief-v1(no hold on-chain, no reserva). -
/api/settle/receipt— recibo informativo post-settle (x402 v2 Exact, $0.01 USDC en Base).txausente o que no sea0x+ 64 hex responde 400 antes del cobro; sin pago, 402. Rulesetsettle-receipt-v1(settle ≠ consent; no re-oráculo Basescan). -
/api/mandate/scope— verificación de Intent Mandate v0.1.0 / Mandato AR (x402 v2 Exact, $0.02 USDC en Base).resource,price_usdcymandateausentes o inválidos responden 400 antes del cobro; sin pago, 402. Rulesetmandate-scope-v1(scope ≠ create/sign). -
/api/reserve/hold— HOLD live auth-capture (x402 v2 auth-capture, no exact, $0.05 USDC en Base). Sin query requerida; sin pago, 402. Poll:?checkoutId=. Rulesetx402-auth-capture-hold-v1(200 = HOLD; settle = checkout COMPLETED; distinto de brief #16). -
/openapi.jsony/.well-known/x402— discovery
CORS y tipo
Respuesta Content-Type: application/json; charset=utf-8
y Access-Control-Allow-Origin: * (también en
public/_headers para Cloudflare Pages).
Forma
{
"corte": "2026-10-03",
"stats": { "unique_fichas": 668, "raw_total": 697 },
"fichas": [{
"slug": "openai",
"name": "OpenAI",
"rails": ["acp", "ap2", "mpp"],
"status": "anunciado",
"statuses": ["produccion", "anunciado"],
"one_liner": "...",
"source_url": "...",
"detected_at": "2026-08-21",
"last_reviewed": "2026-10-03",
"evidences": [{ "rail": "ap2", "status": "anunciado", "...": "..." }]
}]
} status de la ficha es el más conservador entre sus
rieles (anunciado < piloto < producción). El detalle por riel
está en evidences[]. Precio y red solo aparecen si la
tabla origen los tenía.
668 fichas únicas a partir de 697 filas. Metodología: /metodologia/.