SKU#3 · ruleset ar-settle-ready-v1

AR settle-readiness

Condición paga de preparación de settle para gasto agéntico en Argentina. Son reglas explícitas LupaRiel, no un oráculo, no un puente on-chain y no un consejo legal.

Endpoint

GET /api/condition/settle-ready — x402 v2 Exact, $0.02 USDC en Base (eip155:8453, amount atómico 20000). Sin pago responde HTTP 402 + PAYMENT-REQUIRED. Sin rail o wants_usdc_settle responde 400 { error, hint } — nunca un dump de datos.

Probe (debe ser 402 tras el deploy):

curl -i 'https://lupariel.com/api/condition/settle-ready?rail=mercado_pago&wants_usdc_settle=true&has_mp_consent=true'

Lookup del catálogo sigue en /api/lookup ($0.005; $0.01 si status está presente). HTML, /rieles.json y las fichas de fee LupaPago no cambian.

Query

  • rail (requerido): x402 | mercado_pago | cards | ap2 | acp | mpp
  • wants_usdc_settle (requerido): true / false (case-insensitive)
  • has_mp_consent (opcional, default false)
  • has_card_auth (opcional, default false)
  • psp (opcional): slug informativo. Se puede ecoear; no cambia las reglas.

Reglas (hardcodeadas)

  1. wants_usdc_settle=false → settle_ready=true, hop=none. Reason: “Caller no pide settle USDC; path fiat fuera de scope.”
  2. rail=x402 y wants_usdc_settle=true → settle_ready=true, hop=none. Reason: “x402 Exact+USDC es settle-native en el riel cobrado.”
  3. rail en mercado_pago|cards y wants_usdc_settle=true → siempre settle_ready=false, aunque has_mp_consent / has_card_auth sean true. hop coincide con el riel. Reasons: “Fiat consent/auth ≠ USDC settle” y “Falta puente stable/PSP o riel x402.”
  4. rail en ap2|acp|mpp y wants_usdc_settle=true → settle_ready=false, hop=none. Reason: “Riel {rail} no implica settle USDC Base en este ruleset v1; usar x402 o documentar bridge.”

hop solo admite mercado_pago, cards o none. No se consultan PSPs, no se inventan volúmenes ni bridges externos.

Respuesta 200 (post-pago)

{
  "settle_ready": false,
  "reasons": ["Fiat consent/auth ≠ USDC settle", "Falta puente stable/PSP o riel x402."],
  "hop": "mercado_pago",
  "ruleset": "ar-settle-ready-v1",
  "disclaimer": "Reglas explícitas LupaRiel; no es oráculo ni consejo legal."
}

Qué no es

  • No es un oráculo de precios, liquidez ni compliance.
  • No autoriza ni mueve fondos. El cobro de la llamada es x402 Exact USDC Base.
  • Consentimiento fiat ≠ settle USDC. Esa distinción es la regla.
  • No reemplaza a /api/lookup ni a los recortes de fee.

Discovery: /openapi.json y /.well-known/x402. Facilitator por defecto: PayAI (https://facilitator.payai.network).