# Slow seller: `/t/slow`

> Every response is delayed by 5 seconds, before the quote and again before delivery. A free public x402 test endpoint: Wait without timing out or paying twice, then receive 200.

|  |  |
| --- | --- |
| Endpoint | `GET https://x402testendpoint.com/t/slow` |
| Kind | pay: a correct buyer completes the payment |
| Payment scheme | `exact` |
| Quoted price | $0.001 in test USDC |
| Networks | Base Sepolia (testnet) (default), Solana Devnet (testnet), Base, Solana |
| Cost to you | Nothing on the test networks. On Base and Solana mainnet it charges the quoted amount in real USDC. |

## What the seller does

Every response is delayed by 5 seconds, before the quote and again before delivery.

## What a correct buyer does

Wait without timing out or paying twice, then receive 200.

## Why test this

Real sellers are slow under load, and settlement adds time. A client that times out after signing may pay without receiving, and one that retries blindly may pay twice.

## Run it

See the quote without paying:

```bash
curl -i https://x402testendpoint.com/t/slow
```

Then point your own client at it, or use the official one:

```ts
import { x402Client, x402HTTPClient } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const account = privateKeyToAccount(process.env.BUYER_KEY);
const core = new x402Client().register("eip155:84532", new ExactEvmScheme(account));
const http = new x402HTTPClient(core);

const first = await fetch("https://x402testendpoint.com/t/slow");
const quote = http.getPaymentRequiredResponse((h) => first.headers.get(h));
const headers = http.encodePaymentSignatureHeader(await core.createPaymentPayload(quote));
const paid = await fetch(first.url, { headers });
console.log(paid.status, paid.headers.get("x-test-verdict"));
```

The wallet needs test USDC on Base Sepolia (testnet) for scenarios that settle. Circle's faucet at https://faucet.circle.com provides it.

## Other networks

Add a `network` parameter to run the same scenario elsewhere:

| Network | URL | Notes |
| --- | --- | --- |
| Solana Devnet (testnet) | `https://x402testendpoint.com/t/slow?network=solana-devnet` | Test USDC on Solana Devnet. Register `ExactSvmScheme` from `@x402/svm/exact/client`. |
| Base | `https://x402testendpoint.com/t/slow?network=base` | Real USDC, charged for real. Answers 400 with `network_not_enabled` while real-money mode is off. |
| Solana | `https://x402testendpoint.com/t/slow?network=solana` | Real USDC, charged for real. Answers 400 with `network_not_enabled` while real-money mode is off. |

## What you will see

A correct client ends with HTTP 200, a `PAYMENT-RESPONSE` header carrying the settlement, and `x-test-verdict: pass`. The JSON body repeats the transaction hash and payer.

If the payment is rejected, the endpoint answers 402 again with the facilitator's reason in the quote's `error` field. Look the reason up in the [error reference](https://x402testendpoint.com/errors).

## How the official client behaves

`@x402/core` 2.31 with default settings: The core client only builds payments and makes no HTTP requests, so timeouts are whatever your calling code or fetch wrapper sets.

## Related errors

- [`invalid_exact_evm_nonce_already_used`](https://x402testendpoint.com/errors/invalid_exact_evm_nonce_already_used): This exact payment authorization has already been spent or cancelled.
- [`invalid_exact_evm_payload_authorization_valid_before`](https://x402testendpoint.com/errors/invalid_exact_evm_payload_authorization_valid_before): The payment authorization has expired, or expires within the next few seconds.

## Other scenarios

- [Standard payment](https://x402testendpoint.com/scenarios/ok) (pay)
- [Pick the supported option](https://x402testendpoint.com/scenarios/choose) (pay)
- [Pay up to a maximum](https://x402testendpoint.com/scenarios/upto) (pay)
- [Absurd price](https://x402testendpoint.com/scenarios/overpriced) (trap)
- [Price changes after you pay](https://x402testendpoint.com/scenarios/price-bump) (trap)
- [Unsupported network only](https://x402testendpoint.com/scenarios/wrong-network) (trap)
- [Unreadable quote](https://x402testendpoint.com/scenarios/malformed) (trap)
- [Quote without a recipient](https://x402testendpoint.com/scenarios/missing-fields) (trap)
- [Seller never delivers](https://x402testendpoint.com/scenarios/always-402) (trap)

Source: https://x402testendpoint.com/scenarios/slow
