WebMCP Registry

check_before_you_pay

unverifiedv0.1

Probes one x402 door unpaid and replays the stock @x402/core client selection over the accepts it returned, under the caller's own profile. Returns which accept a stock client would sign — network, asset, amount, signing window — or that it would refuse locally before signing, with the stage and the setting that decided it. Free; nothing is signed and nothing is paid.

Updated 9/6/2026 · Created 9/6/2026

Input Schema

{
  "type": "object",
  "examples": [
    {
      "url": "https://example.com/api/paid-answer"
    },
    {
      "url": "https://example.com/api/paid-answer",
      "client_profile": {
        "max_amount_per_payment_usd": 1
      }
    }
  ],
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "maxLength": 2048,
      "description": "The https x402 door you are about to pay."
    },
    "client_profile": {
      "type": "object",
      "properties": {
        "spend_controls_disabled": {
          "type": "boolean",
          "description": "True if you pass spendControls: false — the one escape from the whole filter."
        },
        "max_amount_per_payment_usd": {
          "type": [
            "number",
            "boolean"
          ],
          "description": "Your spendControls.maxAmountPerPayment, in dollars; false if you set it to false."
        }
      },
      "description": "The caller's own x402 client settings. Absent, the replay runs against a client configured with nothing, the case that loses money quietly.",
      "additionalProperties": false
    }
  },
  "additionalProperties": false
}

Full Contract

{
  "name": "check_before_you_pay",
  "description": "Probes one x402 door unpaid and replays the stock @x402/core client selection over the accepts it returned, under the caller's own profile. Returns which accept a stock client would sign — network, asset, amount, signing window — or that it would refuse locally before signing, with the stage and the setting that decided it. Free; nothing is signed and nothing is paid.",
  "inputSchema": {
    "type": "object",
    "examples": [
      {
        "url": "https://example.com/api/paid-answer"
      },
      {
        "url": "https://example.com/api/paid-answer",
        "client_profile": {
          "max_amount_per_payment_usd": 1
        }
      }
    ],
    "required": [
      "url"
    ],
    "properties": {
      "url": {
        "type": "string",
        "maxLength": 2048,
        "description": "The https x402 door you are about to pay."
      },
      "client_profile": {
        "type": "object",
        "properties": {
          "spend_controls_disabled": {
            "type": "boolean",
            "description": "True if you pass spendControls: false — the one escape from the whole filter."
          },
          "max_amount_per_payment_usd": {
            "type": [
              "number",
              "boolean"
            ],
            "description": "Your spendControls.maxAmountPerPayment, in dollars; false if you set it to false."
          }
        },
        "description": "The caller's own x402 client settings. Absent, the replay runs against a client configured with nothing, the case that loses money quietly.",
        "additionalProperties": false
      }
    },
    "additionalProperties": false
  }
}

GET /api/tool/scvd.store/check_before_you_pay