SKU#17 · ruleset settle-receipt-v1

Settle receipt

Atestación informativa post-settle: hash de tx + red + asset. Son reglas explícitas LupaRiel: settle ≠ consent. Este SKU no es un endpoint de condición / plan de pago (eso es settle-ready / consent-hop) y no re-oracula Basescan.

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ón 0x + 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).