# AIMarket x402 Payment Authorization Checker

> AIMarket x402 Payment Authorization Checker is a paid API for AI agents from modelmarket.dev, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-12).

Debugs and validates an x402 EIP-3009 payment authorization offline before submission, identifying signature mismatches, domain errors, and invalid fields.

## Facts

- Endpoint: POST https://modelmarket.dev/x402/x402-check?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/aimarket-x402-payment-authorization-checker-0e09380c
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_RwyFtz9q9X1OeAmJwDAPc

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability aimarket-x402-payment-authorization-checker-0e09380c -d '<json body>'
```

Example prompt: My x402 USDC payment on Base mainnet keeps reverting with 'invalid signature' — can you check this X-PAYMENT header and authorization to tell me what's wrong and which domain the signature was actually made for?

## When to prefer this

Use this endpoint when you need to pre-flight an x402 EIP-3009 payment authorization before submitting it on-chain, especially to diagnose 'invalid signature' reverts caused by signing for the wrong EIP-712 domain (e.g. Base Sepolia USDC vs Base mainnet USD Coin). It is deterministic and offline, so it adds zero latency to your payment flow and costs only $0.003 USDC. Prefer it over trial-and-error on-chain submission whenever a payment is reverting for an unclear reason.

## Known failure modes

- Missing required fields (authorization or signature) returns a validation error
- Unrecognized network identifier returns an unknown network error
- Malformed base64 X-PAYMENT header returns a parse error
- Signature shorter than 65 bytes returns an invalid signature format error
- now timestamp outside validity window is flagged as expired rather than a service error

## How this service works

Debug an x402 payment before you submit it — why does USDC answer invalid signature? Verifies the EIP-3009 transferWithAuthorization (EIP-712 signer, v, low s, validity window) and the seller's terms (payTo, amount, asset, network, bound nonce), and names the domain a failing signature was really made for, e.g. Base Sepolia's 'USDC' used for Base mainnet's 'USD Coin', the commonest reason an x402 payment reverts. Offline, deterministic, signed answer.

## Output

A JSON object with a status field ('ok' or error), a result object detailing each validation check (EIP-712 signer recovery, v and low-s correctness, validity window, payTo/amount/asset/network match, nonce binding), a named diagnosis of any failing domain (e.g. 'Base Sepolia USDC vs Base mainnet USD Coin'), and a receipt — all computed offline without submitting anything on-chain.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "now": {
   "type": "integer",
   "description": "unix seconds, to check the validity window"
  },
  "network": {
   "type": "string",
   "description": "base, base-sepolia, … or eip155:<chain id>"
  },
  "signature": {
   "type": "string",
   "description": "65-byte hex signature"
  },
  "x_payment": {
   "type": "string",
   "description": "the X-PAYMENT header (base64) — or authorization + signature + network"
  },
  "requirements": {
   "type": "object",
   "description": "the 402's accepts entry (payTo, amount, asset, network)"
  },
  "authorization": {
   "type": "object",
   "description": "from, to, value, validAfter, validBefore, nonce"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "result": {},
  "status": "ok",
  "receipt": {},
  "service": "x402-check",
  "capability_id": "x402.authorization.check@v1"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/aimarket-x402-payment-authorization-checker-0e09380c/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from modelmarket.dev](https://www.zero.xyz/host/modelmarket.dev/llms.txt)
