See it. Verify it. Run it.

Review an example result and the exact request, then connect a browser wallet only after the live x402 price and recipient pass verification. One successful call costs $0.1 USDC on Base.

No accountNo subscriptionNo private-key uploadOne-call authorization

API Acre never receives your private key; signing stays inside your wallet.

Loading a no-payment verification…

What the result looks like

OpenAPI pytest generator returns structured JSON. The paid call uses your input and displays both the fresh result and settlement receipt below.

Curated static example
{
  "request_id": "018f1f54-7f38-7ba2-8dc3-5f90272d9f1a",
  "service": "developer.openapi-test-generate",
  "version": "1",
  "data": {
    "documentSha256": "2f27879b24323466c5dbca7df9bf137561b826bd43c318b8642b92f04b17930d",
    "openapiVersion": "3.1.0",
    "apiTitle": "Widget API",
    "baseUrlDefault": "https://api.example.com",
    "operationCount": 2,
    "generatedTestCount": 2,
    "guardedMutationCount": 1,
    "truncated": false,
    "sourceFileName": "test_openapi_generated.py",
    "sourceSha256": "44d05573bd64ef63deb934c9bef7b1ed6c618e4093c9cc7eee8e3a55b12b0f26",
    "source": "\"\"\"Generated API smoke tests. Review targets and payloads before running.\"\"\"\n\nimport os\n\nimport pytest\nimport requests\n\nDEFAULT_BASE_URL = 'https://api.example.com'\nBASE_URL = os.environ.get(\"API_BASE_URL\", DEFAULT_BASE_URL).rstrip(\"/\")\nTIMEOUT_SECONDS = 20\n\n\ndef _require_base_url():\n    if not BASE_URL:\n        pytest.skip(\"Set API_BASE_URL to the API origin\")\n    return BASE_URL\n\n\ndef _headers(extra=None):\n    headers = dict(extra or {})\n    if token := os.environ.get('API_BEARER_TOKEN'):\n        headers[\"Authorization\"] = f\"Bearer {token}\"\n    if api_key := os.environ.get('API_KEY'):\n        headers[\"X-API-Key\"] = api_key\n    return headers\n\n\ndef test_gethealth():\n    base_url = _require_base_url()\n    response = requests.request('GET', base_url + '/health', headers=_headers({}), timeout=TIMEOUT_SECONDS)\n    assert response.status_code in [200]\n\[email protected](\n    os.environ.get(\"API_ALLOW_MUTATING_TESTS\") != \"1\",\n    reason=\"POST test disabled; set API_ALLOW_MUTATING_TESTS=1\",\n)\ndef test_createwidget():\n    base_url = _require_base_url()\n    response = requests.request('POST', base_url + '/widgets', headers=_headers({}), json={'name': 'Acre'}, timeout=TIMEOUT_SECONDS)\n    assert response.status_code in [201]\n",
    "operations": [
      {
        "operationId": "getHealth",
        "testName": "test_gethealth",
        "method": "GET",
        "path": "/health",
        "mutatingGuard": false,
        "documentedResponses": [
          "200"
        ]
      },
      {
        "operationId": "createWidget",
        "testName": "test_createwidget",
        "method": "POST",
        "path": "/widgets",
        "mutatingGuard": true,
        "documentedResponses": [
          "201"
        ]
      }
    ],
    "requirements": [
      "pytest>=8",
      "requests>=2.31"
    ],
    "environment": {
      "baseUrl": "API_BASE_URL",
      "bearerToken": "API_BEARER_TOKEN",
      "apiKey": "API_KEY",
      "allowMutatingTests": "API_ALLOW_MUTATING_TESTS"
    },
    "warnings": [],
    "execution": {
      "sourceSyntaxValidated": true,
      "generatedTestsExecuted": false,
      "networkRequestsMade": false
    }
  },
  "meta": {
    "duration_ms": 42,
    "cached": false,
    "sources": [],
    "warnings": [],
    "next_actions": []
  }
}

1 · Review input and live price

Live price verification runs automatically and never requests a wallet signature or payment. Editing the input invalidates the verified challenge.

Browser checkout requires an EVM wallet with USDC on Base. For agents and automated clients, use the official x402 SDK examples.