---
title: "Haz tu primera solicitud pagada con x402"
description: "Envía una solicitud a x402.erpc.global, lee el precio en la respuesta 402, págalo con un cliente x402 y recibe el resultado RPC con un recibo de liquidación."
canonical: "https://erpc.global/es/doc/x402/quickstart/"
locale: "es"
---

# Haz tu primera solicitud pagada con x402

Esta guía sigue una solicitud de Solana a través de x402: leer el precio, pagarlo y recibir la respuesta con un recibo de liquidación. Las otras 15 cadenas funcionan igual, cada una en su propia ruta.

Necesitas un monedero con USDC en Solana, o con USDC o EURC en Base, y un cliente x402: el software que lee la respuesta 402, firma un pago desde tu monedero y vuelve a enviar la solicitud con él. Para encontrar un cliente x402, consulta la documentación de x402 en [x402.org](https://x402.org/).

## 1. Envía la solicitud

Envía la solicitud RPC sin pago:

```bash
curl -i https://x402.erpc.global/v1/solana-mainnet \
  --header 'Content-Type: application/json' \
  --data '{"jsonrpc":"2.0","id":1,"method":"getSlot"}'
```

La respuesta es 402 Payment Required. Sus cabeceras indican el método y el precio:

```http
HTTP/2 402
x-payment-required: eyJ4NDAyVmVyc2lvbiI6Mi…
x-rpc-methods: getSlot
x-rpc-weight: 1000
x-rpc-price-usd: 0.001
```

El cuerpo enumera las opciones de pago en `accepts`, una por cada stablecoin con la que se puede pagar la solicitud. `amount` está en la unidad más pequeña de la stablecoin, así que 1000 son 0.001 USDC, o 0.001 EURC:

```json
{
  "error": { "code": "payment_required", "message": "Payment required", "request_id": "…" },
  "x402Version": 2,
  "accepts": [
    { "scheme": "exact", "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp", "amount": "1000", "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", … },
    { "scheme": "exact", "network": "eip155:8453", "amount": "1000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", … },
    { "scheme": "exact", "network": "eip155:8453", "amount": "1000", "asset": "0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42", … }
  ],
  "pricing": { "methods": ["getSlot"], …, "weight": 1000, "rawWeight": 42, …, "price": "$0.001", … },
  …
}
```

## 2. Paga con un cliente x402

Pasa la respuesta 402 a tu cliente x402. El cliente elige una opción que tu monedero pueda pagar, firma un pago por ese importe y lo codifica para la cabecera X-Payment. No necesitas SOL ni ETH para las comisiones de red.

## 3. Vuelve a enviar la solicitud con el pago

Envía de nuevo el mismo cuerpo, con el pago en la cabecera X-Payment:

```bash
curl -i https://x402.erpc.global/v1/solana-mainnet \
  --header 'Content-Type: application/json' \
  --header 'X-Payment: <PAYMENT_PAYLOAD>' \
  --data '{"jsonrpc":"2.0","id":1,"method":"getSlot"}'
```

No cambies el cuerpo. El precio se calcula a partir del cuerpo, así que, si un cuerpo modificado tiene otro precio, el pago deja de coincidir y la respuesta es `price_mismatch`.

Cuando el pago se verifica y se liquida, la respuesta RPC llega con el recibo de liquidación en la cabecera X-Payment-Response:

```http
HTTP/2 200
x-payment-response: <RECEIPT>
```

```json
{ "jsonrpc": "2.0", "id": 1, "result": … }
```

Cada pago cubre una sola solicitud. Si vuelves a enviar el mismo pago, se rechaza con 402 `payment_invalid` o 409 `duplicate_payment`, y la solicitud no se reenvía a la cadena por segunda vez.

## Respuestas

Una solicitud a la que x402.erpc.global responde con un error antes de pedir el pago no cuesta nada.

| Estado | `error.code` | Qué ocurrió |
| --- | --- | --- |
| 402 | `payment_required` | No se envió ningún pago. El cuerpo indica el precio y las opciones de pago. |
| 402 | `payment_invalid` | El pago no superó la verificación. Firma un nuevo pago y vuelve a enviar la solicitud. |
| 402 | `price_mismatch` | El pago no coincide con ninguna opción que ofreció la respuesta 402 de esta solicitud, por ejemplo en el precio. |
| 402 | `payment_amount_too_low` | El importe es inferior al pago más pequeño que liquida x402.erpc.global. |
| 402 | `settlement_failed` | Se informó de que la liquidación falló. La respuesta vuelve a ofrecer las opciones de pago. |
| 409 | `duplicate_payment` | El pago ya se usó. |
| 400 | `method_not_supported`, `invalid_request` | La ruta no vende el método o no acepta el cuerpo. No se cobra nada. |
| 413 | `batch_too_large` | El lote tiene más de 100 llamadas. No se cobra nada. |
| 500 | `configuration_error` | La ruta no puede atender solicitudes en este momento. No se cobra nada. |
| 503 | `payment_unavailable` | En este momento no se puede ofrecer ninguna opción de pago. No se cobra nada. Vuelve a intentarlo cuando pasen los segundos que indica Retry-After. |
| 503 | `service_busy` | Demasiadas solicitudes a la vez. No se cobra nada. Vuelve a intentarlo cuando pasen los segundos que indica Retry-After. |
| 502 | `settlement_failed` | El resultado de la liquidación es desconocido: puede que el pago se haya completado, y no se adjunta ningún recibo. Antes de firmar uno nuevo, comprueba en Solana o en Base si el pago que firmaste se completó. |
| 502, 504 | `upstream_error`, `upstream_timeout` | El pago se liquidó, pero la cadena no respondió, o no respondió a tiempo. El recibo se adjunta igualmente. Volver a enviar la solicitud requiere un nuevo pago. |

En Solana, una llamada que leería demasiados datos, como un `getProgramAccounts` sin filtrar sobre un programa grande, recibe HTTP 200 y un error JSON-RPC antes de que se pida ningún pago, así que no cuesta nada.

## Próximos pasos

- [Cómo calcula x402 el precio de una solicitud](https://erpc.global/es/doc/x402/pricing/): el precio de una llamada, el mínimo de \$0.001 y los lotes.
- [Descripción general de x402](https://erpc.global/es/doc/x402/overview/): la ruta de cada cadena y las opciones de pago.
- [Documento OpenAPI](https://x402.erpc.global/doc): la estructura de la solicitud y de la respuesta de cada ruta.
