Endpoint
GET /api/settle/receipt — x402 v2 Exact,
$0.01 USDC en Base (eip155:8453, amount
atómico 10000). Sin pago responde HTTP 402 +
PAYMENT-REQUIRED. tx ausente o que no sea
0x + 64 hex responde 400
{ error, hint } antes del cobro.
No se inventa estado on-chain si el hash falta o es inválido.
Probe unpaid (debe ser 402 tras el deploy):
curl -i 'https://lupariel.com/api/settle/receipt?tx=0x6ec312ffab72460da6fae791711471a80b6375e0c89ccf1a509f73249caea14b&lang=es'
Lookup sigue en
/api/lookup. Reserve-brief
sigue en
/api/reserve/brief.
HTML y
/rieles.json no cambian.
Query
-
tx(requerido): hash de transacción0x+ 64 hex. -
resource(opcional): URL http(s) a ecoear. No se fetchea. -
lang(opcional,es|en): idioma del summary. Si se envía, se ecoea en el 200.
Respuesta 200 (post-pago)
{
"product": "LupaRiel",
"kind": "settle-receipt",
"ruleset": "settle-receipt-v1",
"tx": "0x6ec312ffab72460da6fae791711471a80b6375e0c89ccf1a509f73249caea14b",
"network": "eip155:8453",
"asset": "USDC",
"settled": true,
"settle_vs_consent": {
"settle": "on-chain Exact USDC Base",
"consent": "fiat/OAuth/3DS hop — NOT this endpoint"
},
"summary": "Atestación informativa del settle on-chain Exact USDC en Base. No es consentimiento fiat ni un hop OAuth/3DS.",
"disclaimer": "Not a consent hop or payment-plan condition. Informational settle attestation only. settled=true attests this paid response, not a Basescan re-oracle.",
"attested_at": "2026-09-23T00:00:00.000Z",
"lang": "es"
} settled=true es atestación de la respuesta paga, no
una confirmación obligatoria en Basescan.
Qué no es
- No es settle-ready ni consent-hop (condición / plan de pago).
- No consulta Basescan ni inventa status on-chain.
-
No es consentimiento fiat, OAuth ni 3DS.
settle ≠ consent. - No reemplaza a
/api/lookup, rail-matrix ni liveness.
Discovery: /openapi.json y
/.well-known/x402.
Facilitator por defecto: PayAI
(https://facilitator.payai.network).