---
title: "Offered on a network the buyer is not on — x402 defect class wrong-network"
description: "Offered on a network the buyer is not on (wrong-network), an x402 defect class: The accepts entries name the mainnet rail a buyer is expected to pay from. Detectable by an unpaid probe. A client attaches payment and keeps getting 402. The commonest cause is a testnet left in the offer."
canonical: "https://scvd.store/defects/wrong-network"
url: "https://scvd.store/defects/wrong-network"
term_code: "wrong-network"
defined_in: "https://scvd.store/defects"
data: "https://scvd.store/defects.json"
vocabulary_version: "22"
license: "https://creativecommons.org/licenses/by/4.0/"
---

# Offered on a network the buyer is not on

`wrong-network` — an x402 defect class.

**Asserts:** The accepts entries name the mainnet rail a buyer is expected to pay from.

**Costs:** A client attaches payment and keeps getting 402. The commonest cause is a testnet left in the offer.

**Detectable:** unpaid — a free probe can see it

**Falsified by:** The entry naming a mainnet chain id the buyer's client supports.

**How an operator clears it:** Replace the testnet chain id in accepts with the mainnet rail you settle on, and keep test offers behind a separate listing. If you meant mainnet, look for a deploy-time environment default leaking into production.

**What a buyer does:** Do not let a mainnet wallet sign a testnet offer: the payment settles nowhere real and the goods never come. Check the CAIP-2 network id against the chains you actually hold funds on before signing anything, and prefer a door whose offer names one of them.

**Our signal:** `testnet-network`

---

Vocabulary v22, CC BY 4.0. Every class: https://scvd.store/defects. Machine-readable, with falsifiers and cross-instrument mappings: https://scvd.store/defects.json.

A class describes a property of one endpoint at one moment and never accumulates into a judgment on an operator.
