---
title: "Uw eerste betaalde verzoek versturen met x402"
description: "Stuur een verzoek naar x402.erpc.global, lees de prijs in het 402-antwoord, betaal die met een x402-client en ontvang het RPC-resultaat met een betalingsbewijs."
canonical: "https://erpc.global/nl/doc/x402/quickstart/"
locale: "nl"
---

# Uw eerste betaalde verzoek versturen met x402

Deze handleiding doorloopt x402 met één Solana-verzoek: de prijs lezen, die betalen en het antwoord ontvangen met een betalingsbewijs. De andere 15 chains werken op dezelfde manier, elk via een eigen pad.

U hebt een wallet nodig met USDC op Solana, of USDC of EURC op Base, en een x402-client: de software die het 402-antwoord leest, met uw wallet een betaling ondertekent en het verzoek daarmee opnieuw verstuurt. Zie voor x402-clients de x402-documentatie op [x402.org](https://x402.org/).

## 1. Het verzoek versturen

Stuur het RPC-verzoek zonder betaling:

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

Het antwoord is 402 Payment Required. De headers vermelden de methode en de prijs:

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

De body noemt de betaalopties in `accepts`, één voor elke stablecoin waarmee het verzoek kan worden betaald. `amount` staat in de kleinste eenheid van de stablecoin, dus 1000 is 0.001 USDC, of 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. Betalen met een x402-client

Geef het 402-antwoord aan uw x402-client. Die kiest een optie die uw wallet kan betalen, ondertekent een betaling voor dat bedrag en codeert die voor de header X-Payment. Voor de netwerkkosten van de betaling hebt u geen SOL of ETH nodig.

## 3. Het verzoek opnieuw versturen met de betaling

Stuur dezelfde body opnieuw, met de betaling in de header 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"}'
```

Laat de body ongewijzigd. De prijs wordt berekend op basis van de body: heeft een gewijzigde body een andere prijs, dan past de betaling er niet meer bij en wordt het verzoek beantwoord met `price_mismatch`.

Zodra de betaling is geverifieerd en afgewikkeld, komt het RPC-antwoord terug met het betalingsbewijs in de header X-Payment-Response:

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

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

Eén betaling dekt één verzoek. Als u dezelfde betaling opnieuw verstuurt, wordt die geweigerd met 402 `payment_invalid` of 409 `duplicate_payment`, en wordt het verzoek niet nog eens doorgestuurd.

## Antwoorden

Een verzoek dat x402.erpc.global met een fout beantwoordt voordat het om betaling vraagt, kost niets.

| Status | `error.code` | Wat er is gebeurd |
| --- | --- | --- |
| 402 | `payment_required` | Er is geen betaling meegestuurd. De body geeft de prijs en de betaalopties. |
| 402 | `payment_invalid` | De betaling kwam niet door de verificatie. Onderteken een nieuwe betaling en verstuur het verzoek opnieuw. |
| 402 | `price_mismatch` | De betaling past bij geen van de opties die de 402 van dit verzoek aanbood, bijvoorbeeld qua prijs. |
| 402 | `payment_amount_too_low` | Het bedrag ligt onder de kleinste betaling die x402.erpc.global afwikkelt. |
| 402 | `settlement_failed` | De afwikkeling is als mislukt gemeld. Het antwoord biedt de betaalopties opnieuw aan. |
| 409 | `duplicate_payment` | De betaling is al gebruikt. |
| 400 | `method_not_supported`, `invalid_request` | Het pad verkoopt de methode niet, of accepteert de body niet. Er wordt niets in rekening gebracht. |
| 413 | `batch_too_large` | De batch bevat meer dan 100 aanroepen. Er wordt niets in rekening gebracht. |
| 500 | `configuration_error` | Het pad kan op dit moment geen verzoeken verwerken. Er wordt niets in rekening gebracht. |
| 503 | `payment_unavailable` | Er kan op dit moment geen betaaloptie worden aangeboden. Er wordt niets in rekening gebracht. Wacht het aantal seconden uit Retry-After en probeer het dan opnieuw. |
| 503 | `service_busy` | Te veel verzoeken tegelijk. Er wordt niets in rekening gebracht. Wacht het aantal seconden uit Retry-After en probeer het dan opnieuw. |
| 502 | `settlement_failed` | De uitkomst van de afwikkeling is onbekend: de betaling is mogelijk doorgegaan, en er is geen betalingsbewijs bijgevoegd. Controleer op Solana of Base of de betaling die u hebt ondertekend is doorgegaan, voordat u een nieuwe ondertekent. |
| 502, 504 | `upstream_error`, `upstream_timeout` | De betaling is afgewikkeld, maar de chain antwoordde niet, of niet op tijd. Het betalingsbewijs is wel bijgevoegd. Om het verzoek opnieuw te versturen is een nieuwe betaling nodig. |

Op Solana wordt een aanroep die te veel zou lezen, zoals een ongefilterde `getProgramAccounts` op een groot programma, beantwoord met HTTP 200 en een JSON-RPC-fout voordat er om betaling wordt gevraagd, dus die kost niets.

## Volgende stappen

- [Hoe x402 de prijs van een verzoek berekent](https://erpc.global/nl/doc/x402/pricing/): de prijs van één aanroep, het minimum van \$0.001 en batches.
- [Overzicht van x402](https://erpc.global/nl/doc/x402/overview/): het pad van elke chain en de betaalopties.
- [OpenAPI-document](https://x402.erpc.global/doc): de structuur van het verzoek en het antwoord van elk pad.
