x402 List

x402 Protocol Service Directory

Invoket

Data ✓ VERIFIED

verified until 2026-08-17

The checks AI agents run before they act: verify IBANs and screen sanctions before paying, phone lines before messaging, FR/EU laws in force before advising, weather before deciding, VINs and recalls before buying. Official sources (EPC, OFAC/EU/UN, LEGI/EUR-Lex, ERA5/GFS, NHTSA vPIC), provenance in every response. You only pay for answers.

Pay from $0.001 to $0.05 per request in USDC on Base / Solana, settled onchain via the x402 protocol, no signup, no API key needed.

first settlement 2026-06-12 · $19.93 all-time · settled via coinbase

BASE URL https://api.invoket.com WEBSITE https://invoket.com ENDPOINTS 68 NETWORK Base / Solana ASSET USDC MEMBER SINCE 2026-06-25 MONITORED SINCE 2026-06-25

ASSESSMENT

updated 11m ago

Evidence-backed signals, not a single score. Click any chip for the proof. Measured values stay read-only; unknown is honest.

reliability 99.9%
uptime 24h
100%
uptime 7d
99.8%
uptime 30d
99.9%
uptime 90d
99.9%
response p95
61ms
avg response
86ms
total checks
2,775

Measured on the unpaid 402 handshake, not the paid call. A service can 402 correctly and still fail after payment.

compliance A (13/13)

13 of 13 x402 conformance checks pass. Full checklist below.

jump to compliance checklist

price $0.001 to $0.05 (p9 in Data)
price (min)
$0.001
price (max)
$0.05
category percentile (min)
p9 in Data
category percentile (max)
p63 in Data
endpoints / prices
51 / 5
model
tiered
stability
19%
risk clean

No deterministic risk flag. Risk fires only on an exact blocklist match, or a reserved-brand name with a mismatched verified payTo. Never from low uptime, a high price, or a model guess.

domain age
-
registrar
-
hosting
custom
domain created
---

Identity facts, not a risk score.

traction $13.31 30d · 46 buyers
volume 30d
$13.31
buyers 30d
46
settlements 30d
1,067
first settlement
2026-06-12
last settlement
2026-08-10
top buyer share
13% of 30d volume
trend 7d vs 30d
0.15x the 30d daily rate
networks
eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpKuc147dw2N9d
volume all-time
$19.93
settlements all-time
1,555
median settlement 30d
$0.01
max settlement 30d
$0.05
settled via
coinbase

Conservative undercount: only USDC settlements via facilitators we measure are counted. A measured floor, not an estimate.

Top buyer share is a concentration signal, not part of the ranking score.

WHAT IT DOES

ai-derived

Invoket provides pre-action checks for AI agents including data validation, compliance screening, and information retrieval across various domains like climate, company data, legal, and more.

category
pre-action-checks
in
query params and body
data-validationcompliance-screeningclimate-datacompany-datalegal-informationinvoice-processingphone-validationvehicle-data

AI-generated summary. The measured data is never altered by it.

ENDPOINTS

Service endpoints with HTTP method, path, description, pricing, and network
METHOD PATH DESCRIPTION PRICE NETWORK ASSET 402 CHANNEL
GET /climate/aggregate $0.001 Base/Solana USDC header
GET /climate/anomaly $0.001 Base/Solana USDC header
GET /climate/degree-days $0.001 Base/Solana USDC header
GET /climate/indices $0.001 Base/Solana USDC header
GET /climate/point $0.001 Base/Solana USDC header
POST /climate/point/batch $0.01 Base/Solana USDC header
GET /climate/return-period $0.001 Base/Solana USDC header
GET /company/events $0.001 Base/Solana USDC header
GET /company/lei $0.001 Base/Solana USDC header
GET /company/ownership $0.001 Base/Solana USDC header
GET /company/peppol $0.001 Base/Solana USDC header
GET /company/report $0.001 Base/Solana USDC header
GET /company/resolve $0.001 Base/Solana USDC header
GET /company/vat $0.001 Base/Solana USDC header
GET /iban/repair $0.001 Base/Solana USDC header
POST /iban/repair/batch $0.01 Base/Solana USDC header
GET /iban/resolve $0.001 Base/Solana USDC header
POST /iban/resolve/batch $0.01 Base/Solana USDC header
GET /iban/screen $0.001 Base/Solana USDC header
POST /iban/screen/batch $0.01 Base/Solana USDC header
GET /invoice/generate --- USDC -
GET /invoice/generate-pdf --- USDC -
GET /invoice/late-payment --- USDC -
GET /invoice/read --- USDC -
GET /invoice/validate --- USDC -
GET /invoice/vat-treatment --- USDC -
GET /invoice/vat-treatment/batch --- USDC -
GET /label/chem/classify $0.001 Base/Solana USDC header
GET /label/chem/classify/batch --- USDC -
GET /label/chem/svhc $0.001 Base/Solana USDC header
GET /label/chem/svhc/batch --- USDC -
GET /label/claims/check --- USDC -
GET /label/claims/permitted $0.001 Base/Solana USDC header
GET /label/cosmetic/ingredient $0.001 Base/Solana USDC header
GET /label/cosmetic/ingredient/batch --- USDC -
GET /label/food/additive $0.001 Base/Solana USDC header
GET /legal/article $0.001 Base/Solana USDC header
POST /legal/article/batch $0.01 Base/Solana USDC header
GET /legal/deadline $0.001 Base/Solana USDC header
GET /legal/diff $0.001 Base/Solana USDC header
GET /legal/diff/batch --- USDC -
GET /legal/eu-act $0.001 Base/Solana USDC header
GET /legal/history $0.001 Base/Solana USDC header
GET /legal/history/batch --- USDC -
GET /legal/transposition $0.001 Base/Solana USDC header
GET /medication/availability $0.001 Base/Solana USDC header
GET /medication/generics $0.001 Base/Solana USDC header
GET /medication/interactions --- USDC -
GET /medication/report $0.001 Base/Solana USDC header
GET /medication/resolve $0.001 Base/Solana USDC header
GET /phone/resolve $0.024 Base/Solana USDC -
POST /phone/resolve/batch $0.025 Base/Solana USDC -
GET /phone/validate $0.001 Base/Solana USDC header
GET /preflight/payment $0.001 Base/Solana USDC header
GET /preflight/supplier $0.001 Base/Solana USDC header
GET /screen/address $0.001 Base/Solana USDC header
GET /screen/address/batch --- USDC -
GET /screen/entity $0.001 Base/Solana USDC header
GET /screen/entity/batch --- USDC -
GET /vehicle/co2 $0.001 Base/Solana USDC header
GET /vehicle/critair $0.001 Base/Solana USDC header
GET /vehicle/recalls $0.001 Base/Solana USDC header
GET /vehicle/report $0.001 Base/Solana USDC header
GET /vehicle/tax $0.001 Base/Solana USDC header
GET /vehicle/vin/decode $0.001 Base/Solana USDC header
GET /weather/forecast $0.001 Base/Solana USDC header
GET /weather/forecast/batch --- USDC -
GET /weather/forecast/daily $0.001 Base/Solana USDC header
68 endpoints

REQUEST / RESPONSE EXAMPLE

An unpaid request to GET /climate/aggregate returns HTTP 402 with the payment terms. Settle onchain via your facilitator, then retry with the X-Payment header.

// request
curl -i 'https://api.invoket.com/climate/aggregate'
// 402 response (captured by monitor) · 49 payloads · click to expand
[
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/iban/resolve/batch",
      "mimeType": "application/json",
      "description": "Before a payment run: validate up to 500 IBANs in one call, resolve bank and BIC from national bank registries, and check SEPA reachability per scheme (SCT, SCT Inst, SDD Core/B2B) against the EPC register"
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method",
                "bodyType",
                "body"
              ],
              "properties": {
                "body": {
                  "type": "object",
                  "required": [
                    "ibans"
                  ],
                  "properties": {
                    "ibans": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                },
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "POST",
                    "PUT",
                    "PATCH"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "bodyType": {
                  "enum": [
                    "json",
                    "form-data",
                    "text"
                  ],
                  "type": "string"
                },
                "queryParams": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/legal/article",
      "mimeType": "application/json",
      "description": "Before your agent cites, advises on or drafts against a French law: check the article is in force at a given date — consolidated text, status (in force / repealed / deferred) and validity dates, from the official Légifrance LEGI dataset. Covers 12 major French codes and statutes (civil, labor, commercial, tax/CGI and more)."
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "article",
                    "code",
                    "date"
                  ],
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "Slug of the French code or statute, resolved against the official Légifrance LEGI consolidated dataset (e.g. code-civil). Covered corpus: Code civil, Code du travail, Code de commerce, Code pénal, Code de la consommation, Code général des impôts (CGI), Code de la sécurité sociale, Code monétaire et financier, Code de l'environnement, Code de la propriété intellectuelle, Code des assurances, plus the Data Protection Act (loi 78-17)"
                    },
                    "date": {
                      "type": "string",
                      "description": "Date at which the law is read, strict ISO calendar format YYYY-MM-DD (zero-padded: 2026-07-05, not 2026-7-5); optional, defaults to today"
                    },
                    "article": {
                      "type": "string"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/climate/aggregate",
      "mimeType": "application/json",
      "description": "Before your agent writes a seasonal report, audits an ESG claim or reconciles a weather-linked contract: period climate summaries for any GPS point or city over a date range — mean, min and max temperature, total precipitation and mean wind — from the Copernicus ERA5 reanalysis (temperature and precipitation: rolling 30-year window; wind: rolling ~5-year window), with the served grid cell and a coverage flag."
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "country",
                    "from",
                    "location",
                    "to"
                  ],
                  "properties": {
                    "to": {
                      "type": "string"
                    },
                    "from": {
                      "type": "string"
                    },
                    "country": {
                      "type": "string",
                      "description": "Optional ISO 3166 alpha-2 country code narrowing the place-name lookup (e.g. country=CH keeps only Swiss matches); only meaningful together with location=/city="
                    },
                    "location": {
                      "type": "string",
                      "description": "City or place name, resolved against the embedded GeoNames cities500 gazetteer: exact name match (case- and accent-insensitive, no fuzzy matching), ties broken by population (most populous wins). Alias: city. Alternative: pass lat + lon directly instead. The resolved place is echoed back as data.location."
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/legal/diff",
      "mimeType": "application/json",
      "description": "Before your agent updates a contract clause or a compliance rule that depends on a law: see exactly what changed in a French or EU article between two dates — resolves the version in force at each date, from the official LEGI and EUR-Lex datasets, and returns a word-level diff plus a git-style unified patch with both versions' metadata. Covers 12 major French codes and statutes and key EU acts (GDPR, DSA, AI Act, MiCA and more)."
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "article",
                    "code",
                    "from",
                    "to"
                  ],
                  "properties": {
                    "to": {
                      "type": "string",
                      "description": "End date of the comparison, strict ISO calendar format YYYY-MM-DD; optional, defaults to today"
                    },
                    "code": {
                      "type": "string",
                      "description": "Slug of the French code or statute (e.g. code-civil); an EU reference passes celex= or eli= instead (e.g. eli=reg/2016/679/oj, or the full URI http://data.europa.eu/eli/reg/2016/679/oj — the scheme, the data.europa.eu host, the /eli/ prefix and the trailing /oj are all optional). Covered corpus — French law (Légifrance LEGI): Code civil, Code du travail, Code de commerce, Code pénal, Code de la consommation, Code général des impôts (CGI), Code de la sécurité sociale, Code monétaire et financier, Code de l'environnement, Code de la propriété intellectuelle, Code des assurances, plus the Data Protection Act (loi 78-17); EU law (EUR-Lex): GDPR, eIDAS, the e-Commerce Directive, the DSM copyright Directive, DSA, DMA, AI Act, MiCA and NIS2"
                    },
                    "from": {
                      "type": "string",
                      "description": "Start date of the comparison, strict ISO calendar format YYYY-MM-DD (zero-padded: 2026-07-05, not 2026-7-5). Must not be after 'to', otherwise the call is rejected with 400 INVALID_RANGE rather than billed for a diff read backwards"
                    },
                    "article": {
                      "type": "string"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/vehicle/vin/decode",
      "mimeType": "application/json",
      "description": "Before your agent buys, lists or insures a vehicle: decode any 17-character VIN offline — manufacturer, country and region of build, model year, check digit validity and deterministic attributes from the official NHTSA vPIC tables"
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "vin"
                  ],
                  "properties": {
                    "vin": {
                      "type": "string",
                      "description": "17-character Vehicle Identification Number (VIN alphabet, excludes I/O/Q). Malformed input is a 400; a well-formed VIN whose manufacturer prefix (WMI) is not in the vPIC tables is a 404 (unbilled)"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/legal/eu-act",
      "mimeType": "application/json",
      "description": "Before your agent advises on EU compliance or cites EU law: check an act or article is in force at a given date, by CELEX or ELI identifier — consolidated text, status, validity dates and the staggered date it becomes APPLICABLE (in force is not the same thing: the AI Act is in force since 2024-08-01, but its Article 50 only applies from 2026-08-02), from the official EUR-Lex dataset. Covers key EU digital and financial acts (GDPR, DSA, AI Act, MiCA and more)."
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "article",
                    "celex",
                    "date"
                  ],
                  "properties": {
                    "date": {
                      "type": "string",
                      "description": "Date at which the law is read, strict ISO calendar format YYYY-MM-DD (zero-padded: 2026-07-05, not 2026-7-5); optional, defaults to today"
                    },
                    "celex": {
                      "type": "string",
                      "description": "CELEX identifier of the EU act (an ELI is accepted via eli= as a fallback (e.g. eli=reg/2016/679/oj, or the full URI http://data.europa.eu/eli/reg/2016/679/oj — the scheme, the data.europa.eu host, the /eli/ prefix and the trailing /oj are all optional)), resolved against the official EUR-Lex consolidated dataset. Covered acts: GDPR, eIDAS, the e-Commerce Directive, the DSM copyright Directive, DSA, DMA, AI Act, MiCA and NIS2. Historical depth VARIES per act and is reported per response in coverage_window: some acts are only covered from their first published consolidation (the e-Commerce Directive, in force since 2000, is only queryable from 2024-02-17)"
                    },
                    "article": {
                      "type": "string"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/legal/article/batch",
      "mimeType": "application/json",
      "description": "Before your agent signs off a contract review or a due-diligence memo: check that up to 50 legal citations are still in force at a given date in one call — consolidated text, status and validity dates per reference, from the official LEGI (French law) and EUR-Lex (EU law) datasets. Covers 12 major French codes and statutes and key EU acts (GDPR, DSA, AI Act, MiCA and more)."
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method",
                "bodyType",
                "body"
              ],
              "properties": {
                "body": {
                  "type": "object",
                  "required": [
                    "refs"
                  ],
                  "properties": {
                    "refs": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "article"
                        ],
                        "properties": {
                          "code": {
                            "type": "string"
                          },
                          "date": {
                            "type": "string"
                          },
                          "article": {
                            "type": "string"
                          }
                        }
                      },
                      "description": "Array of article references, French ({ code, article, date? }) and EU ({ celex or eli, article?, date? }, e.g. eli=reg/2016/679/oj or the full URI http://data.europa.eu/eli/reg/2016/679/oj) mixed freely. Covered corpus — French law (Légifrance LEGI): Code civil, Code du travail, Code de commerce, Code pénal, Code de la consommation, Code général des impôts (CGI), Code de la sécurité sociale, Code monétaire et financier, Code de l'environnement, Code de la propriété intellectuelle, Code des assurances, plus the Data Protection Act (loi 78-17); EU law (EUR-Lex): GDPR, eIDAS, the e-Commerce Directive, the DSM copyright Directive, DSA, DMA, AI Act, MiCA and NIS2"
                    }
                  }
                },
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "POST",
                    "PUT",
                    "PATCH"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "bodyType": {
                  "enum": [
                    "json",
                    "form-data",
                    "text"
                  ],
                  "type": "string"
                },
                "queryParams": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/vehicle/report",
      "mimeType": "application/json",
      "description": "Before your agent buys or appraises a vehicle: one consolidated report from a VIN — decode, candidate recall campaigns, type-approval CO2, the French registration tax it would cost and, from declared characteristics, Crit'Air / low-emission-zone status — from official NHTSA vPIC, RappelConso, EU 2019/631 and French tax sources, each block with its own provenance and honest coverage"
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "fuel",
                    "vin"
                  ],
                  "properties": {
                    "vin": {
                      "type": "string",
                      "description": "17-character Vehicle Identification Number (VIN alphabet, excludes I/O/Q). Required: it is the report's mandatory base. Malformed is a 400; a well-formed VIN whose manufacturer prefix (WMI) is unknown is a 404 (unbilled) — without the decode base there is no report"
                    },
                    "fuel": {
                      "type": "string",
                      "description": "Optional declared fuel/powertrain (electric, hydrogen, gas (gpl/gnv), plug_in_hybrid, petrol, diesel, petrol_hybrid, diesel_hybrid), rules of /vehicle/critair: a thermal vehicle also needs 'euro_norm' (pre_euro, euro1, euro2, euro3, euro4, euro5, euro6) or 'first_registration' (YYYY-MM-DD), an electric one needs neither. Nothing usable, or an implausible date, leaves the Crit'Air block missing with its reason — it never fails the report"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/climate/point/batch",
      "mimeType": "application/json",
      "description": "Before your agent backtests parametric triggers over a site portfolio, verifies claims across parcels or scores weather exposure for an asset fleet: daily 2 m temperature, total precipitation and 10 m wind for up to 500 point/date queries in one call, from the Copernicus ERA5 reanalysis (temperature and precipitation: rolling 30-year window; wind: rolling ~5-year window). Each query takes lat+lon or a city name; an uncovered item is flagged via per-item coverage instead of failing the batch."
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method",
                "bodyType",
                "body"
              ],
              "properties": {
                "body": {
                  "type": "object",
                  "required": [
                    "queries"
                  ],
                  "properties": {
                    "queries": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "date"
                        ],
                        "properties": {
                          "city": {
                            "type": "string",
                            "description": "Per item, resolve the point from a place name instead of lat + lon (alias location; optional country as ISO-3166 alpha-2 to disambiguate), against the embedded GeoNames cities500 gazetteer: exact name match (case- and accent-insensitive, no fuzzy matching), ties broken by population (most populous wins). The resolved place is echoed back per item as output...results[].location. An unknown city degrades that item (coverage.complete=false) without failing the batch."
                          },
                          "date": {
                            "type": "string"
                          },
                          "variables": {
                            "type": "string",
                            "description": "Per item, optional selector of the variable families to return (temperature, precipitation, wind); omitted returns all three. Accepts a comma-separated string (\"temperature,wind\") or an array ([\"temperature\",\"wind\"]). Families not selected are absent from that item; coverage is unaffected, and the per-unit price depends only on the number of queries, never on the filter. An unknown family is a 400 citing the item index."
                          }
                        }
                      },
                      "description": "Array of point/date queries resolved in one call. Its length is priced per unit (base + N x unit), capped at 500; a batch over 500 is rejected with 400. Each item takes a point (lat + lon, or a city name) and a date (YYYY-MM-DD) within the ingested ERA5 window (rolling 30 years for temperature and precipitation, rolling ~5 years for wind)."
                    }
                  }
                },
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "POST",
                    "PUT",
                    "PATCH"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "bodyType": {
                  "enum": [
                    "json",
                    "form-data",
                    "text"
                  ],
                  "type": "string"
                },
                "queryParams": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/company/resolve",
      "mimeType": "application/json",
      "description": "Verify a French company before you invoice, pay or onboard it: legal name, active/ceased status, legal form, NAF activity, workforce band, creation date and head-office address from the official INSEE Sirene register (30M+ legal units, monthly snapshot). Lookup by SIREN or SIRET. No account, no key, pay per call."
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "siren"
                  ],
                  "properties": {
                    "siren": {
                      "type": "string",
                      "description": "9-digit SIREN of the legal unit. Provide exactly one of 'siren' or 'siret'. Malformed input is a 400 (INVALID_INPUT), a failed Luhn checksum is a 400 (INVALID_CHECKSUM, likely a typo), a well-formed SIREN absent from the register is a 404 (unbilled)"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/company/events",
      "mimeType": "application/json",
      "description": "Check a French company for official insolvency, deregistration and business-sale announcements before you invoice or extend credit: dated event timeline and factual flags from the official BODACC gazette, by SIREN. An empty list is a paid answer: no known announcement over the covered window. No account, no key."
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "family",
                    "siren"
                  ],
                  "properties": {
                    "siren": {
                      "type": "string",
                      "description": "9-digit SIREN of the legal unit (required). Malformed input is a 400 (INVALID_INPUT), a failed Luhn checksum is a 400 (INVALID_CHECKSUM, likely a typo). BODACC knows announcements, not companies: a SIREN known to the Sirene register with no announcement is a successful empty timeline (200, billed), never a 404. A well-formed SIREN absent from the Sirene register is a 404 (unbilled, same answer as /company/resolve) - 'unknown to the register' and 'known, no announcement' are different answers"
                    },
                    "family": {
                      "type": "string",
                      "description": "Optional filter on the served view: 'insolvency' (collective proceedings: safeguard, receivership, liquidation), 'deregistration' or 'sale' (business sales and transfers). Default serves all families. The filter narrows events[], never the flags - facts are derived from the complete timeline"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/company/vat",
      "mimeType": "application/json",
      "description": "Validate any EU VAT number live against the official European Commission VIES service before you invoice cross-border, or derive and check the French VAT number from a SIREN. Returns valid/invalid or an honest 'unverifiable' when the member state is down - syntax check always included. No account, no key."
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "vat"
                  ],
                  "properties": {
                    "vat": {
                      "type": "string",
                      "description": "Complete VAT number with its country prefix, any EU member state plus XI (Northern Ireland), EL for Greece. Provide exactly one of 'vat' or 'siren' - 'siren' (9 digits) derives the French VAT number by pure computation, traced in derived_from_siren. Malformed number or unknown prefix is a 400 (INVALID_INPUT), an inconsistent FR key or Luhn checksum is a 400 (INVALID_CHECKSUM, likely a typo). There is no 404"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/company/peppol",
      "mimeType": "application/json",
      "description": "Check whether a company can receive e-invoices on the Peppol network before you send one: participant identifiers and accepted document types from the official Peppol Directory export, by SIREN, SIRET or explicit Peppol participant ID. 'Not registered' is a paid, dated answer. No account, no key."
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "siren"
                  ],
                  "properties": {
                    "siren": {
                      "type": "string",
                      "description": "9-digit SIREN of the French legal unit. Provide exactly one of 'siren', 'siret' (14 digits, matched on its SIREN prefix) or 'participant' ('<icd>:<value>', explicit Peppol participant ID, any country - e.g. '0009:33328563300033'). Malformed input is a 400 (INVALID_INPUT), a failed Luhn checksum is a 400 (INVALID_CHECKSUM, likely a typo). An identifier absent from the directory is NOT a 404: it is a successful 'reachable: false' answer (200, billed). The only 404 on this route is a well-formed 'siret' or 'siren' that does not exist in the Sirene register (a mistyped number, or an ERP filler value such as 000000000) - not billed, same answer as /company/resolve; 'participant' has no existence check (any country)"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/company/report",
      "mimeType": "application/json",
      "description": "Full counterparty due-diligence on a French company in one paid call, by SIREN: Sirene identity and status, dated BODACC insolvency/deregistration/sale announcements, live EU VAT validation (VIES) and Peppol e-invoicing reachability - each block with its own provenance. The pre-action check before you invoice, pay or onboard. No account, no key."
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "siren"
                  ],
                  "properties": {
                    "siren": {
                      "type": "string",
                      "description": "9-digit SIREN (Luhn-checked, 400 on a typo). Optional 'include=identity,events,vat,peppol,lei' trims the report; dropping 'vat' makes it fully offline. Unknown SIREN = 404, no empty report billed"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/company/lei",
      "mimeType": "application/json",
      "description": "Identify the company behind a bank identifier, a French SIREN, an ISIN or an exact name before you onboard, pay or invoice it: official GLEIF LEI identity - legal name, jurisdiction, entity and registration status, addresses, national registration number, mapped BICs and ISINs. Lookup by LEI, BIC (8 or 11), ISIN, SIREN, or exact legal name plus country. Homonyms are returned as candidates, never silently resolved."
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "lei"
                  ],
                  "properties": {
                    "lei": {
                      "type": "string",
                      "description": "20-character LEI (ISO 17442, check digits verified). Provide EXACTLY ONE key: 'lei', 'bic' (8 or 11 characters - both forms are looked up, so the BIC-8 of an IBAN resolves), 'isin' (12 characters, Luhn), 'siren' (9 digits, French bridge) or 'name' plus 'country' (ISO 3166-1 alpha-2, exact normalized equality - no fuzzy search). Zero or two keys is a 400; a failed check digit is a 400 INVALID_CHECKSUM; a well-formed key absent from the reference is a 404, unbilled"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/company/ownership",
      "mimeType": "application/json",
      "description": "Find out who controls a counterparty before you onboard, pay or invoice it: the declared control chain from the official GLEIF Level 2 reference, by LEI - direct parent, ultimate parent, the dated chain between them, and direct subsidiaries. A declared absence of parent comes back with its official reason, never as an empty block. This is the accounting consolidation parent, not beneficial ownership."
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "depth",
                    "direction",
                    "lei"
                  ],
                  "properties": {
                    "lei": {
                      "type": "string",
                      "description": "20-character LEI (ISO 17442, check digits verified) of the entity to look up - required. Get it from /company/lei if you only hold a SIREN, a BIC or a name. A well-formed LEI absent from the reference is a 404, unbilled, with the same message as /company/lei"
                    },
                    "depth": {
                      "type": "string",
                      "description": "Chain depth, 1 to 5 (default 3). A HARD bound: out of range is a 400, never a silent trim - an agent that asks for 7 must know it was not served 7. When the walk stops on the bound, 'chain_truncated' says so, and the declared ultimate parent is still served"
                    },
                    "direction": {
                      "type": "string",
                      "description": "'up' (default) walks the parents, 'down' returns 'direct_children' - the entities declaring this LEI as their direct parent, capped at 100 with 'total_children' exact - and 'both' does both. Only DIRECT subsidiaries are served, there is no multi-level org chart. A block you did not ask for is null, which is distinct from [] meaning 'asked, nothing declared'"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/label/chem/classify",
      "mimeType": "application/json",
      "description": "Before your agent approves a substance for an EU label or safety data sheet: the harmonised classification and labelling from Annex VI of the CLP regulation (ECHA), by CAS, EC number or exact name - hazard classes with H statements, GHS pictograms, signal word, concentration limits, versioned by ATP: the entry in force at the queried date, plus the upcoming change when a published but not-yet-applicable ATP modifies it. Absence from Annex VI returns an explicit self-classification verdict."
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "at",
                    "cas"
                  ],
                  "properties": {
                    "at": {
                      "type": "string",
                      "description": "Optional date (YYYY-MM-DD, default today) the served classification must be in force at - useful around an ATP applicability switch"
                    },
                    "cas": {
                      "type": "string",
                      "description": "CAS number, checksum-validated. Provide exactly ONE key among: cas, ec (EC number, checksum-validated), name (exact Annex VI chemical name). Zero or several keys = 400; bad checksum = 400; valid but not listed = 200 not_harmonised (billed - absence does not mean not hazardous, the verdict says so explicitly)"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/label/chem/svhc",
      "mimeType": "application/json",
      "description": "Before your agent clears a substance, an article or a supply-chain declaration for the EU market: is it on the ECHA Candidate List of substances of very high concern (SVHC, REACH)? By CAS, EC number or exact name - the published entry with its Article 57 inclusion reasons (CMR, PBT, vPvB, equivalent concern), inclusion date and the ECHA inclusion decisions as published, plus the generic obligations it triggers (REACH Article 33 information duty, SCIP notification above 0.1 % w/w). A not-listed verdict is dated to the served list, never an all-clear."
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "cas"
                  ],
                  "properties": {
                    "cas": {
                      "type": "string",
                      "description": "CAS number, checksum-validated. Provide exactly ONE key among: cas, ec (EC number, checksum-validated), name (exact Candidate List name - the only key for UVCB entries published without CAS/EC). Zero or several keys = 400; bad checksum = 400; valid but not listed = 200 not_listed (billed - the verdict is dated to the served list and absence does not mean no concern)"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/label/claims/permitted",
      "mimeType": "application/json",
      "description": "List the authorised EU nutrition and health claims for a given nutrient or substance (Regulation (EC) 1924/2006): what your agent may legally write on a food label. Pass the nutrient; get every authorised claim as published - exact legal wording, conditions of use, EFSA opinion and legislation. A known nutrient whose claims are all rejected returns an explicit empty list with the rejected count (not a silent gap); a nutrient absent from the Register returns an empty list with a limit note (absence is neither authorisation nor prohibition - 'on hold' botanical claims are not in the Register). The counterpart of /label/claims/check: check starts from a wording, permitted starts from the nutrient."
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "nutrient"
                  ],
                  "properties": {
                    "nutrient": {
                      "type": "string",
                      "description": "The nutrient or substance to list authorised claims for, required (absent or empty = 400). Queried after strict normalisation (case, punctuation, spacing); the response echoes the normalised key. This is the entry key - no fuzzy search"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/label/cosmetic/ingredient",
      "mimeType": "application/json",
      "description": "Before your agent clears an ingredient for an EU cosmetic label: is it prohibited (Annex II), restricted (Annex III), or authorised as a colorant (IV), preservative (V) or UV filter (VI) under Regulation (EC) No 1223/2009? By CAS, EC number, INCI name or exact chemical name - every published entry with its maximum concentration, conditions of use and the MANDATORY LABEL WORDING served word for word, versioned by amending regulation: the consolidated version in force at the queried date plus the upcoming change when a published but not-yet-applicable one modifies the entry. CosIng is a legally non-binding information tool: only the Annexes are authoritative, and any divergence is reported, never silently resolved. Absence from the Annexes is not an authorisation - the verdict says so explicitly."
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "cas",
                    "date",
                    "product_type"
                  ],
                  "properties": {
                    "cas": {
                      "type": "string",
                      "description": "CAS number, checksum-validated. Provide exactly ONE key among: cas, ec (EC number, checksum-validated), inci (exact INCI name), name (exact chemical name). Zero or several keys = 400; bad checksum = 400. Identity resolved but absent from the Annexes = 200 not_listed (billed - absence is not an authorisation); identity NOT resolved (unknown to the Annexes and to CosIng) = 404, not billed"
                    },
                    "date": {
                      "type": "string",
                      "description": "Optional date (YYYY-MM-DD, default today): serves the consolidated version in force at that date, not the latest. A date earlier than the oldest ingested version = 400 naming the bound (extrapolating a verdict would be factually wrong)"
                    },
                    "product_type": {
                      "type": "string",
                      "description": "Optional: keeps only the conditions whose published scope covers that product type, PLUS the conditions not bounded by product type. Each entry reports conditions_omitted_by_product_type - nothing is hidden. Provided empty = 400"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/label/food/additive",
      "mimeType": "application/json",
      "description": "Before your agent validates a recipe, a food label or an import: is this additive authorised in this food category, at what maximum level and under which conditions (Union list, Regulation (EC) No 1333/2008, Annexes II and III)? By E number or exact published name, WITH a food category code - you get an authorised/not_authorised verdict with the maximum level, restrictions and footnotes served word for word ('quantum satis' as published, never converted), and via_group when the authorisation comes from a published group such as 'E 249 - 250'. WITHOUT a food category you get the inventory of categories where it is authorised and NO verdict: an additive has no status in the abstract. A not_authorised verdict is dated - the Union list is positive. Where the text bounds a line by a 'Period of application', the lines that apply at your date come first and each one carries in_force_at_date: an expired line is flagged, never dropped."
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "date",
                    "e_number",
                    "food_category"
                  ],
                  "properties": {
                    "date": {
                      "type": "string",
                      "description": "Optional date (YYYY-MM-DD, default today): serves the consolidated version in force at that date. Earlier than the oldest ingested version = 400 naming the bound"
                    },
                    "e_number": {
                      "type": "string",
                      "description": "E number, template E + 3 or 4 digits + optional letter and roman numeral ('E 160a(i)'). Provide exactly ONE key among e_number and name (exact published name); zero or both = 400, off-template = 400 before any lookup. An E number unknown to the Union list = 404, not billed"
                    },
                    "food_category": {
                      "type": "string",
                      "description": "Food category code AS PUBLISHED ('08.3.2'; Annex III parts are exposed as 'III.1' to 'III.5'). Optional, but it changes the shape of the answer: WITH it you get a verdict plus authorisations[]; WITHOUT it you get NO verdict field at all and instead data.authorised_in {total, truncated, categories[] (code, name, via_group), capped at 100} - an inventory, never an 'authorised' claim in the abstract, since an additive has no status without a food category. A code outside the referential = 400 not billed; provided empty = 400"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/medication/resolve",
      "mimeType": "application/json",
      "description": "Resolve a medication before your agent acts on a prescription or an order: official identity from the French BDPM registry (ANSM/HAS) by CIS code, exact name or DCI substance - authorization and marketing status, active substances normalized to INN (the FR-US bridge), pack-level price and reimbursement rate, generic group. Same endpoint resolves US drugs by NDC or name (openFDA/RxNorm). No account, no key, pay per call."
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "cis"
                  ],
                  "properties": {
                    "cis": {
                      "type": "string",
                      "description": "8-digit French CIS code. Provide exactly ONE key among: cis, ndc (US product NDC), dci (substance INN/DCI name, pure local computation), name (exact medication name, requires country=FR|US). Zero or several keys = 400; malformed key = 400; well-formed but unknown = 200 with found:false (billed - the absence is the answer)"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/medication/generics",
      "mimeType": "application/json",
      "description": "Find the French BDPM generic group of a medication before your agent substitutes or sources it: given a CIS code, exact name or DCI substance, returns the group's principle brand (princeps) and every equivalent generic, each with its role (princeps/generique), official name and pack-level public price and reimbursement rate when the BDPM publishes them. French (BDPM) scope: a US NDC key returns an honest FR-only coverage note. No account, no key, pay per call."
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "cis"
                  ],
                  "properties": {
                    "cis": {
                      "type": "string",
                      "description": "8-digit French CIS code. Provide exactly ONE key among: cis, name (exact medication name, French BDPM scope - no country here), dci (substance INN/DCI name), ndc (US product NDC - returns an honest FR-only coverage note). Zero or several keys = 400; malformed key = 400; well-formed but not genericized = 200 with found:false (billed - the absence of a group is the answer)"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/medication/availability",
      "mimeType": "application/json",
      "description": "Check a medication's availability before your agent orders or substitutes it: shortage reports from the French ANSM (data.ANSM) by CIS code or substance (INN/DCI) - status (rupture, risque_rupture, tension, remise_a_disposition, arret_commercialisation, or no_known_shortage), report dates, expected return and the official ANSM report URL. Honest by design: ANSM only records reported shortages, so the absence of a report is never a stock guarantee. French market scope: a US NDC key returns an honest FR-only coverage note. No account, no key, pay per call."
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "cis"
                  ],
                  "properties": {
                    "cis": {
                      "type": "string",
                      "description": "8-digit French CIS code. Provide exactly ONE key among: cis, substance (INN/DCI name; dci= is a synonym), ndc (US product NDC - returns an honest FR-only coverage note). Zero or several keys = 400; malformed key = 400; well-formed CIS with no report = 200 with status no_known_shortage (billed - the absence of a report is the answer, never a stock guarantee)"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/medication/report",
      "mimeType": "application/json",
      "description": "One consolidated medication report before your agent acts on a prescription or an order, by French CIS code or US NDC: official BDPM identity with pack-level price and reimbursement, INN-normalized substances, BDPM generic group, ANSM shortage status, and ANSM-thesaurus drug-drug interactions between the subject and an optional co-medication list (with=, comma-separated CIS/NDC/DCI). Every section carries its own source and date; honest coverage. No account, no key, pay per call."
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "cis",
                    "with"
                  ],
                  "properties": {
                    "cis": {
                      "type": "string",
                      "description": "8-digit French CIS code of the subject. Exactly ONE key among cis and ndc (US product NDC); zero or both = 400; well-formed but unknown = 200 with honest empty sections (billed); an NDC subject gets its FR-only sections flagged in coverage, never an error"
                    },
                    "with": {
                      "type": "string",
                      "description": "Optional comma-separated co-medication list, at most 50 elements (beyond, a 400 stating the limit - same quadratic pairing cost as /medication/interactions), auto-typed by closed rules: 8 digits = CIS, digits+dash = NDC (malformed = 400, never requalified), else INN/DCI name. Pass the parameter ONCE: with=a,b - a repeated with=a&with=b is a 400 restating the comma form. Subject-centered: pairs within the with list are not assessed - use /medication/interactions"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/screen/entity",
      "mimeType": "application/json",
      "description": "Before your agent onboards a counterparty, signs a contract or releases a payment: screen a company or person name against the official designation lists in full - OFAC SDN and Consolidated, the EU financial sanctions list, the UN Security Council list - 26,666 entities with their aliases, programmes and designation dates. Deterministic name matching, every hit sourced to the list that published it. PEP screening, adverse media and transaction analysis are not covered."
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "country",
                    "include_weak",
                    "kind",
                    "name"
                  ],
                  "properties": {
                    "kind": {
                      "type": "string",
                      "description": "Optional filter, one of 'person', 'entity', 'vessel', 'aircraft' - the four kinds the lists publish. Vessels (1516) and aircraft (344) are screened by DEFAULT alongside persons and entities, and their names are often common words (HERMES, VICTORIA, NEPTUNE), so a hit here may be a designated ship rather than a company: read 'kind' on each match. A filter only ever REMOVES candidates, and only on data the list published in a comparable form: an entity that publishes nothing, or publishes its country in plain words, stays a candidate - a false negative costs more than one candidate too many"
                    },
                    "name": {
                      "type": "string",
                      "description": "Company or person name to screen, 2 to 200 characters once whitespace is collapsed. Matched against every name each list publishes - primary names and aliases, strong and weak. No edit distance and no phonetics: matching is deterministic and its type is named in the answer"
                    },
                    "country": {
                      "type": "string",
                      "description": "Optional ISO 3166-1 alpha-2 filter on the country published by the list (nationality or place of registration)"
                    },
                    "birth_year": {
                      "type": "string",
                      "description": "Optional filter for persons, 1800 to 2100, matched with a one-year tolerance either side. Persons whose birth date the list does not publish are never removed by it"
                    },
                    "include_weak": {
                      "type": "string",
                      "description": "Whether weak matches (an alias the source itself flags as weak, or a partial token overlap) count towards the verdict; default false. It changes ONLY the verdict: weak matches are always returned in hits[], so you can judge what was set aside for you"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/screen/address",
      "mimeType": "application/json",
      "description": "Before your agent sends funds to a crypto address: check it against the sanctioned addresses published by OFAC (SDN and Consolidated) AND by the EU financial sanctions list - multi-list, where free feeds are OFAC-only - returning the designated entity, its programmes and its designation date behind every hit. Bitcoin, EVM, Tron, Solana and Monero. No transaction analysis, no clustering, no derived addresses, no risk score."
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "address",
                    "chain"
                  ],
                  "properties": {
                    "chain": {
                      "type": "string",
                      "description": "Optional family: 'bitcoin', 'evm', 'tron', 'solana' or 'monero'. Given, it is LAW - an address that does not have that family's shape is refused (400, unbilled), never reinterpreted as another family. Omitted, the family is inferred from the shape, and the answer says so in chain_family_source. 'other' is never inferred: outside the five named families, a value is an address only if a list publishes it verbatim, otherwise 400 UNRECOGNIZED_ADDRESS_FORMAT - unbilled, because a password or a misplaced IBAN must not be billed as a verdict"
                    },
                    "address": {
                      "type": "string",
                      "description": "Cryptocurrency address to screen, up to 128 characters (internal whitespace is collapsed - an address copied out of a PDF carries some). Compared on a normalized form whose rule the chain family dictates: EVM lowercased with 0x enforced, base58 case PRESERVED (it is significant), bech32 lowercased"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "50000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "50000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/preflight/payment",
      "mimeType": "application/json",
      "description": "Run every check on a bank transfer before your agent executes it, in one call: IBAN validity, bank and BIC from national registries, SEPA scheme reachability from the EPC register, sanctions screening of the bank and of its jurisdiction (OFAC, EU, UN, FATF), and screening of the beneficiary name against the OFAC, EU and UN designation lists. Returns a verdict - stop, review, insufficient_coverage, ok - with every reason attached to its block and its dated source."
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "beneficiary_name",
                    "iban",
                    "include_weak"
                  ],
                  "properties": {
                    "iban": {
                      "type": "string",
                      "description": "The beneficiary IBAN, up to 64 characters (separators tolerated). A structurally invalid IBAN is a USEFUL answer: HTTP 200 with a motivated 'stop', not an error"
                    },
                    "country": {
                      "type": "string",
                      "description": "Optional ISO 3166-1 alpha-2 filter on the beneficiary's DECLARED country, applied to the name screening only. It is your declaration, never an assertion of ours, and it can only remove candidates whose country the list published in a comparable form"
                    },
                    "include_weak": {
                      "type": "string",
                      "description": "Whether weak name matches count towards the verdict; default false. Same semantics as /screen/entity: it changes only the verdict, weak matches are returned either way"
                    },
                    "beneficiary_name": {
                      "type": "string",
                      "description": "Name of the beneficiary, 2 to 200 characters, screened against the designation lists exactly as GET /screen/entity does, except that only person and entity matches can drive the verdict: a designated vessel or aircraft sharing the name is reported, never a 'stop'. Optional - but WITHOUT it the verdict can never be 'ok': the beneficiary was not looked at, and an 'ok' would read as a green light on them"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "50000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "50000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/preflight/supplier",
      "mimeType": "application/json",
      "description": "Run every check on a supplier before you onboard, pay or invoice it, in one call: identity and status (INSEE Sirene or GLEIF), BODACC insolvency and deregistration announcements, live EU VAT validation (VIES), Peppol e-invoicing reachability, the declared control chain, and OFAC/EU/UN sanctions screening of both the company and its ultimate parent. Returns a verdict - stop, review, insufficient_coverage, ok - with every reason attached to its block and source."
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "screen_parent",
                    "siren"
                  ],
                  "properties": {
                    "siren": {
                      "type": "string",
                      "description": "9-digit SIREN (Luhn-checked). Give EXACTLY ONE entity key, 'siren' or 'lei' (20 characters); zero or two is a 400. Both keys pre-flight the same company: a 'lei' whose GLEIF record declares an existing SIREN reopens the French blocks (events, Peppol, derived VAT), stated in query.resolved_siren; a foreign entity gets them as 'not_applicable'. Optional: 'iban' adds the bank block, 'vat_number' replaces the derived one. A well-formed key unknown to the register is a 404, unbilled - no empty pre-flight is billed"
                    },
                    "screen_parent": {
                      "type": "string",
                      "description": "Screen the ultimate parent against the sanctions lists too (default true). False makes that block 'not_requested', which does NOT block an 'ok': your explicit choice is not a coverage gap. WARNING: a sanctions hit on the ultimate parent is a 'stop', so false can turn a stop or a review into an 'ok'. When a parent IS declared, the response says so: verdict_reasons then carries a non-blocking 'parent_screening_skipped_by_caller' naming the parent left unscreened - an 'ok' with a non-empty verdict_reasons. Not knowing whether a parent exists is different - that is 'unavailable', and it does block 'ok'"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/legal/deadline",
      "mimeType": "application/json",
      "description": "Before your agent commits to a filing date, a notice period or a contractual term: the exact due date of a time limit under an explicitly chosen computation regime — calendar days, calendar days with rollover, business days (Mon-Sat), working days (Mon-Fri), clear days (jours francs), months or years — with every weekend and public holiday it skipped, each one named, the end-of-month and next-working-day rules it applied, and the step-by-step reasoning. Holiday calendars for 10 countries: France from the official State dataset, the nine others from a community reference dataset, and every answer says which authority it used. The regime is required and never inferred from the legal matter."
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "country",
                    "duration",
                    "regime",
                    "start"
                  ],
                  "properties": {
                    "start": {
                      "type": "string",
                      "description": "Date of the act that starts the term, strict ISO calendar format YYYY-MM-DD (zero-padded: 2026-05-06, not 2026-5-6)"
                    },
                    "regime": {
                      "type": "string",
                      "description": "Computation regime, REQUIRED and never inferred from the legal matter — one of seven closed values. 'calendar_days': every day counts, no rollover (2026-05-06 + 5 = 2026-05-11). 'calendar_days_with_rollover': same count, due date pushed to the next working day when it falls on a weekend or public holiday. 'business_days': Monday to Saturday, public holidays excluded. 'working_days': Monday to Friday, public holidays excluded (2026-05-06 + 5 = 2026-05-15). 'clear_days' (jours francs): neither the day of the act nor the due day counts, then rollover. 'months': same day-of-month, end-of-month rule then rollover (2026-01-31 + 1 month = 2026-02-28, a Saturday, rolled over to 2026-03-02). 'years': the same rules in years. Every regime except 'calendar_days' consults a holiday calendar and therefore requires 'country'"
                    },
                    "country": {
                      "type": "string",
                      "description": "ISO 3166-1 alpha-2 code of the holiday calendar to use, required by every regime except 'calendar_days'. Covered: FR (official calendar published by the French State), plus BE, DE, ES, IE, IT, LU, NL, PL and PT (community reference dataset). Any other code is refused with 400 COUNTRY_NOT_COVERED listing the covered ones — a deadline is never computed on a guessed calendar. An optional 'subdivision' selects a regional calendar: FR-ALSACE-MOSELLE, FR-BL, FR-GF, FR-GP, FR-MF, FR-MQ, FR-NC, FR-PF, FR-PM, FR-RE, FR-WF, FR-YT"
                    },
                    "duration": {
                      "type": "string",
                      "description": "Length of the term, a positive integer. Its unit follows from the regime (days, months or years) and is bounded: 3650 days, 120 months, 10 years"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/legal/transposition",
      "mimeType": "application/json",
      "description": "Before your agent relies on an EU directive producing effects in a Member State: in force, applicable and transposed are three different things. This returns the national implementing measures a Member State has notified to the European Commission for an EU act — each measure with its national act type, title, national reference, publication and notification dates — plus the published transposition deadline and how many days the first notification came after it (positive means late). Ask for one country, or omit it for a one-line verdict on each of the 30 EEA States. What is served is a register of notifications, never an assessment of conformity."
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "celex",
                    "country"
                  ],
                  "properties": {
                    "celex": {
                      "type": "string",
                      "description": "CELEX identifier of the EU act, e.g. 32019L0790 (DSM copyright Directive). Covered acts, the same selective corpus as /legal/eu-act: 32000L0031 (e-Commerce), 32014R0910 (eIDAS), 32016R0679 (GDPR), 32019L0790 (DSM copyright), 32022L2555 (NIS2), 32022R1925 (DMA), 32022R2065 (DSA), 32023R1114 (MiCA), 32024R1689 (AI Act). Any other CELEX returns 404 (not billed) listing these"
                    },
                    "country": {
                      "type": "string",
                      "description": "ISO 3166-1 alpha-2 code of the Member State. Given: its status, the measures it notified and its gap to the deadline. Omitted: a one-line summary (country, status, measure count) for each of the 30 EEA States — the EU-27 plus IS, LI and NO — plus any non-EEA State that actually notified measures for this act (the United Kingdom carries some, from before its withdrawal: silencing them would make the total lie). A non-EEA code the corpus knows but that notified nothing for the requested act is answered 'out_of_scope' (200), not refused; a code no act covers is refused with 400 listing the countries supported for that act"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/vehicle/co2",
      "mimeType": "application/json",
      "description": "Before your agent prices, imports or compares a European vehicle: get its type-approval CO2 emissions and technical characteristics — WLTP g/km with its dispersion, fuel, engine capacity, power and mass — from the official EU CO2 monitoring data (Regulation (EU) 2019/631, new registrations 2018-2022), keyed by type-approval number or by make, model and year. Every answer states the precision it was matched at"
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "make",
                    "model",
                    "year"
                  ],
                  "properties": {
                    "make": {
                      "type": "string",
                      "description": "Make of the vehicle (e.g. 'Renault'); short forms and member-state spellings are folded ('VW' and 'VOLKSWAGEN VW' both reach VOLKSWAGEN). Use either this approximate key — make, model and year, all three required together — or the precise one: 'type_approval' (the EU type-approval number, optionally narrowed by 'variant' and 'version'). Mixing the two keys is a 400"
                    },
                    "year": {
                      "type": "string",
                      "description": "Registration year (YYYY) within the ingested window; a year outside it is a 404 whose message names the years actually served, never a silent miss"
                    },
                    "model": {
                      "type": "string",
                      "description": "Commercial name as reported to the EU registry (e.g. 'Clio'); case and accents are folded. Required together with 'make' and 'year'"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/vehicle/tax",
      "mimeType": "application/json",
      "description": "Before your agent buys, imports or quotes a vehicle in France: compute what registering it costs — CO2 malus, weight malus and the regional certificate tax — against the official schedule in force on the registration date you supply, not the one a model remembers. Coverage is France only; each item states its bracket, its threshold and the exemption applied with its legal article, and the total disappears rather than being partial"
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "co2_wltp",
                    "country",
                    "fiscal_power",
                    "fuel",
                    "region",
                    "registration_date",
                    "weight_kg"
                  ],
                  "properties": {
                    "fuel": {
                      "type": "string",
                      "description": "Declared fuel/powertrain, in the exact vocabulary of /vehicle/critair (electric, hydrogen, gas (gpl/gnv), plug_in_hybrid, petrol, diesel, petrol_hybrid, diesel_hybrid, usual synonyms accepted). Required unless a resolution key is given. It drives the automatic exemptions: above the mass threshold an unknown fuel leaves the weight malus 'undetermined' rather than guessed"
                    },
                    "region": {
                      "type": "string",
                      "description": "French region, by INSEE code ('11') or name (case and accents folded). Administrative figure: always declarative. Unknown region is a 400"
                    },
                    "country": {
                      "type": "string",
                      "description": "Jurisdiction, required. 'FR' is the only covered value: any other is a 400 COUNTRY_NOT_COVERED (unbilled) — a neighbouring schedule is never approximated"
                    },
                    "co2_wltp": {
                      "type": "string",
                      "description": "Declared WLTP CO2 in g/km (0-1000). The technical figures can instead be resolved from the EU CO2 dataset by passing 'type_approval', or 'make'+'model'+'year' (the keys of /vehicle/co2); they are then marked source 'resolved', and a declared value always wins"
                    },
                    "weight_kg": {
                      "type": "string",
                      "description": "Declared mass in running order, kg (100-20000): the base of the weight malus"
                    },
                    "fiscal_power": {
                      "type": "string",
                      "description": "Declared fiscal power, CV (1-999): the base of the regional tax. A French administrative figure absent from the EU registry — always declarative, never resolved"
                    },
                    "registration_date": {
                      "type": "string",
                      "description": "Date of registration (YYYY-MM-DD, default today UTC). It selects the schedule to the day — the CO2 schedule changed mid-year on 2025-03-01. Earlier than the first published schedule is a 404 naming it (2020-01-01); a future date is legitimate while an open schedule covers it"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/weather/forecast/daily",
      "mimeType": "application/json",
      "description": "Before your agent plans a multi-day operation — logistics, construction, an event, crop work: a day-by-day forecast for any GPS point or city, with daily minimum and maximum 2 m temperature, total precipitation and peak 10 m wind per UTC calendar day, from today to the end of the NOAA GFS window (~16 days), extendable to 35 days on the NOAA GEFS ensemble mean — those extra days are an average of ~30 members, so their extremes are smoothed: trend, not threshold triggers. Each day names the model that served it and carries a coverage flag."
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "days",
                    "lat",
                    "lon"
                  ],
                  "properties": {
                    "lat": {
                      "type": "string"
                    },
                    "lon": {
                      "type": "string"
                    },
                    "days": {
                      "type": "string",
                      "description": "Number of UTC calendar days to return, 1-35, starting today. Defaults to 16 — the deterministic GFS window; ask for more explicitly to reach the GEFS ensemble-mean tail, whose smoothed extremes answer trend questions rather than threshold triggers. Alternative to lat+lon: pass city=<name> (alias location=, optional country= ISO 3166 alpha-2) resolved via the embedded GeoNames gazetteer and echoed back as data.location."
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/iban/screen",
      "mimeType": "application/json",
      "description": "Before your agent onboards or pays a counterparty: screen the bank account for sanctions — flags sanctioned banks (BIC) and high-risk jurisdictions against the official OFAC, EU, UN and FATF lists, for KYB/AML compliance"
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "iban"
                  ],
                  "properties": {
                    "iban": {
                      "type": "string"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/iban/repair",
      "mimeType": "application/json",
      "description": "Before your agent pays an IBAN taken from OCR or invoice ingestion: fix a broken or garbled IBAN — recompute check digits, recover unreadable characters (?) and rank candidates by known bank from national bank registries"
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "iban"
                  ],
                  "properties": {
                    "iban": {
                      "type": "string"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/phone/validate",
      "mimeType": "application/json",
      "description": "Before your agent stores or messages a phone number: validate and normalize it offline — E.164 formatting, region, national format and line type from Google's libphonenumber metadata, no network call"
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "country",
                    "number"
                  ],
                  "properties": {
                    "number": {
                      "type": "string"
                    },
                    "country": {
                      "type": "string"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/iban/repair/batch",
      "mimeType": "application/json",
      "description": "Before a payment run over OCR or invoice data: fix up to 500 broken or garbled IBANs in one call, within a total repair-effort budget — recompute check digits, recover unreadable characters and rank candidates by known bank from national bank registries. A batch whose combined '?' search space is too large is rejected with 400 BATCH_BUDGET_EXCEEDED and never charged: send fewer IBANs per call, or fewer '?' per IBAN"
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method",
                "bodyType",
                "body"
              ],
              "properties": {
                "body": {
                  "type": "object",
                  "required": [
                    "ibans"
                  ],
                  "properties": {
                    "ibans": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                },
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "POST",
                    "PUT",
                    "PATCH"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "bodyType": {
                  "enum": [
                    "json",
                    "form-data",
                    "text"
                  ],
                  "type": "string"
                },
                "queryParams": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/climate/anomaly",
      "mimeType": "application/json",
      "description": "Before your agent verifies a 'hotter than normal' claim, reports climate exposure or settles an anomaly-based trigger: how far observed temperature, precipitation and wind departed from the WMO 1991-2020 climatological normal, for any GPS point or city over a date range within the ingested Copernicus ERA5 window (rolling 30 years for temperature and precipitation, rolling ~5 years for wind)."
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "from",
                    "lat",
                    "lon",
                    "to"
                  ],
                  "properties": {
                    "to": {
                      "type": "string"
                    },
                    "lat": {
                      "type": "string",
                      "description": "Latitude in decimal degrees. Alternative: pass city=<name> (alias location=, optional country= ISO 3166 alpha-2) instead of lat+lon — resolved via the embedded GeoNames gazetteer (exact match, most populous wins) and echoed back as data.location"
                    },
                    "lon": {
                      "type": "string"
                    },
                    "from": {
                      "type": "string"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/climate/indices",
      "mimeType": "application/json",
      "description": "Before your agent prices or settles a parametric-insurance trigger, or screens weather risk for agriculture and construction: climate-event indices for any GPS point or city over a date range — frost and summer days, tropical nights, dry spells, heavy-rain days, max one-day rainfall, total precipitation and peak gust — ETCCDI/Climdex definitions on true daily Tmin/Tmax from the Copernicus ERA5 reanalysis (precipitation-based indices: rolling 30-year window; Tmin/Tmax- and gust-based indices: rolling ~5-year window)."
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "from",
                    "lat",
                    "lon",
                    "to"
                  ],
                  "properties": {
                    "to": {
                      "type": "string"
                    },
                    "lat": {
                      "type": "string",
                      "description": "Latitude in decimal degrees. Alternative: pass city=<name> (alias location=, optional country= ISO 3166 alpha-2) instead of lat+lon — resolved via the embedded GeoNames gazetteer (exact match, most populous wins) and echoed back as data.location"
                    },
                    "lon": {
                      "type": "string"
                    },
                    "from": {
                      "type": "string"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/weather/forecast",
      "mimeType": "application/json",
      "description": "Before your agent schedules a delivery, plans outdoor work or hedges short-term weather exposure: a point forecast of 2 m temperature, precipitation and 10 m wind — plus opt-in convective, humidity, cloud and snow variables — for any GPS point or city. Deterministic NOAA GFS at 0.25 deg to 16 days (384 h), NOAA GEFS ensemble mean at 0.5 deg to 35 days (840 h) — beyond 16 days the value is an ensemble mean with smoothed extremes: trend, not threshold triggers. The lead selector is optional (omitted, the forecast defaults to the current analysis time) and the response names the model that served it and the exact forecast step."
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "city",
                    "horizon_h",
                    "variables"
                  ],
                  "properties": {
                    "city": {
                      "type": "string",
                      "description": "City or place name, resolved against the embedded GeoNames cities500 gazetteer: exact name match (case- and accent-insensitive, no fuzzy matching), ties broken by population (most populous wins). Alias: location. Narrow with country=<ISO 3166 alpha-2>. Alternative: pass lat + lon directly instead. The resolved place is echoed back as data.location."
                    },
                    "horizon_h": {
                      "type": "string",
                      "description": "Forecast lead time in hours from the analysis cycle, 0-840 (35 days). Up to 384 h served from the deterministic GFS 0.25 deg run; beyond 384 h from the GEFS ensemble mean at 0.5 deg (an average of 31 members, not a single deterministic scenario: smoothed extremes, so trend rather than threshold triggers). If the target falls beyond the window currently available (its exact end shifts with ingestion cycles), the request is served at the latest available step and the response sets lead.clamped=true with the valid_time actually served. Alternatives (at most one of the three; all omitted defaults to the current analysis time, horizon_h=0): valid_time (RFC 3339 instant — never clamped, out-of-window returns 400) or date (YYYY-MM-DD calendar day, served at 12:00 UTC that day; weekday names like 'Wednesday' are rejected with a 400 that spells out the expected format)."
                    },
                    "variables": {
                      "type": "string",
                      "description": "Comma-separated selector of the variable families to return; defines the exact set served (omit it for the default temperature,precipitation,wind). Base families: temperature, precipitation, wind. Opt-in families from the deterministic GFS (<= 384 h only): convective (surface CAPE/CIN plus a qualitative convective_risk — an instability proxy for thunderstorm/hail risk, NOT a calibrated hail probability), humidity (2 m relative humidity), clouds (total cloud cover), snow (snow depth on the ground and whether precipitation is falling as snow). An opt-in family requested beyond 384 h, or missing at the grid cell, is served as a null block with coverage.complete=false naming it — never extrapolated."
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/iban/resolve",
      "mimeType": "application/json",
      "description": "Before your agent pays a new bank account: validate the IBAN (all countries), resolve its bank and BIC from national bank registries, and check SEPA reachability per scheme (SCT, SCT Inst, SDD Core/B2B) against the EPC register"
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "iban"
                  ],
                  "properties": {
                    "iban": {
                      "type": "string",
                      "description": "IBAN to verify, any SEPA or non-SEPA country; spaces are tolerated"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/climate/degree-days",
      "mimeType": "application/json",
      "description": "Before your agent sizes heating or cooling demand, settles an energy contract or models crop growth: heating, cooling and growing degree-days (HDD/CDD/GDD) for any GPS point or city over a date range, computed from Copernicus ERA5 daily mean temperature (rolling 30-year window) with the NWS/EIA/WMO mean-temperature method."
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "base",
                    "from",
                    "kind",
                    "lat",
                    "lon",
                    "to"
                  ],
                  "properties": {
                    "to": {
                      "type": "string"
                    },
                    "lat": {
                      "type": "string",
                      "description": "Latitude in decimal degrees. Alternative: pass city=<name> (alias location=, optional country= ISO 3166 alpha-2) instead of lat+lon — resolved via the embedded GeoNames gazetteer (exact match, most populous wins) and echoed back as data.location"
                    },
                    "lon": {
                      "type": "string"
                    },
                    "base": {
                      "type": "string"
                    },
                    "from": {
                      "type": "string"
                    },
                    "kind": {
                      "type": "string"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/vehicle/critair",
      "mimeType": "application/json",
      "description": "Before your agent plans a route or advises on a vehicle in France: compute its Crit'Air class and current low-emission-zone (ZFE) restrictions from the official classification tables (arrêté du 21 juin 2016), from declared fuel and Euro norm or first registration date"
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "euro_norm",
                    "first_registration",
                    "fuel",
                    "vehicle_class"
                  ],
                  "properties": {
                    "fuel": {
                      "type": "string",
                      "description": "Declared fuel/powertrain: electric, hydrogen, gas (gpl/gnv), plug_in_hybrid, petrol, diesel, petrol_hybrid, diesel_hybrid (common FR/EN synonyms accepted). Required; hybrids are classified by their thermal engine"
                    },
                    "euro_norm": {
                      "type": "string",
                      "description": "Declared Euro emission norm (pre_euro, euro1, euro2, euro3, euro4, euro5, euro6; euro1 is accepted and normalised to pre_euro, which the Crit'Air schedule does not distinguish). Provide either 'euro_norm' or 'first_registration'; if both are given, 'euro_norm' wins"
                    },
                    "vehicle_class": {
                      "type": "string",
                      "description": "Vehicle category: m1 (passenger car, default) or n1 (light commercial vehicle); other categories are out of scope (400)"
                    },
                    "first_registration": {
                      "type": "string",
                      "description": "Date of first registration (YYYY-MM-DD), used to derive the Euro norm when 'euro_norm' is not supplied. It must be a plausible registration date: a future date or one before 1900-01-01 is a 400 (a genuinely old vehicle is answered 200 with critair_class 'non_classe', never an error)"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/legal/history",
      "mimeType": "application/json",
      "description": "Before your agent relies on a stored legal citation or watches a provision for change: the full version timeline of a French or EU article — each version's status (in force, repealed, superseded, deferred) and validity dates, from the official LEGI and EUR-Lex datasets — to detect exactly when it changed. Covers 12 major French codes and statutes and key EU acts (GDPR, DSA, AI Act, MiCA and more)."
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "article",
                    "code"
                  ],
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "Slug of the French code or statute (e.g. code-civil); an EU reference passes celex= or eli= instead (e.g. eli=reg/2016/679/oj, or the full URI http://data.europa.eu/eli/reg/2016/679/oj — the scheme, the data.europa.eu host, the /eli/ prefix and the trailing /oj are all optional). Covered corpus — French law (Légifrance LEGI): Code civil, Code du travail, Code de commerce, Code pénal, Code de la consommation, Code général des impôts (CGI), Code de la sécurité sociale, Code monétaire et financier, Code de l'environnement, Code de la propriété intellectuelle, Code des assurances, plus the Data Protection Act (loi 78-17); EU law (EUR-Lex): GDPR, eIDAS, the e-Commerce Directive, the DSM copyright Directive, DSA, DMA, AI Act, MiCA and NIS2"
                    },
                    "article": {
                      "type": "string"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/climate/point",
      "mimeType": "application/json",
      "description": "Before your agent verifies a weather-dependent claim, backtests a parametric trigger or checks what conditions a site or shipment faced: daily 2 m temperature, total precipitation and 10 m wind at any GPS point or city for a past date, from the Copernicus ERA5 reanalysis — temperature and precipitation cover a rolling 30-year window, wind a rolling ~5-year window — with the served grid cell and a coverage flag."
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "city",
                    "date"
                  ],
                  "properties": {
                    "city": {
                      "type": "string",
                      "description": "City or place name, resolved against the embedded GeoNames cities500 gazetteer: exact name match (case- and accent-insensitive, no fuzzy matching), ties broken by population (most populous wins). Alias: location. Narrow with country=<ISO 3166 alpha-2>. Alternative: pass lat + lon directly instead. The resolved place is echoed back as data.location."
                    },
                    "date": {
                      "type": "string",
                      "description": "Calendar day (YYYY-MM-DD) within the ingested ERA5 window: rolling 30 years for temperature and precipitation, rolling ~5 years for wind (a deep date returns the covered families and flags the rest via coverage); a date outside the widest window returns 400 with the covered range"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/climate/return-period",
      "mimeType": "application/json",
      "description": "Before your agent underwrites, reinsures or stress-tests a climate exposure: rank a target year's season against 30 years of a location's climate history (Copernicus ERA5 reanalysis, WMO-standard climatological period) — percentile, empirical return period and sample size, for any GPS point or city. Temperature and precipitation cover a rolling 30-year window; every verdict reports its actual sample size via sample_years and coverage."
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "lat",
                    "lon",
                    "month",
                    "year"
                  ],
                  "properties": {
                    "lat": {
                      "type": "string",
                      "description": "Latitude in decimal degrees. Alternative: pass city=<name> (alias location=, optional country= ISO 3166 alpha-2) instead of lat+lon — resolved via the embedded GeoNames gazetteer (exact match, most populous wins) and echoed back as data.location"
                    },
                    "lon": {
                      "type": "string"
                    },
                    "year": {
                      "type": "string"
                    },
                    "month": {
                      "type": "string"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/iban/screen/batch",
      "mimeType": "application/json",
      "description": "Before onboarding or a payment run: screen up to 500 IBANs in one call for sanctioned banks (BIC) and high-risk jurisdictions against the official OFAC, EU, UN and FATF lists, for KYB/AML compliance"
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method",
                "bodyType",
                "body"
              ],
              "properties": {
                "body": {
                  "type": "object",
                  "required": [
                    "ibans"
                  ],
                  "properties": {
                    "ibans": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                },
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "POST",
                    "PUT",
                    "PATCH"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "bodyType": {
                  "enum": [
                    "json",
                    "form-data",
                    "text"
                  ],
                  "type": "string"
                },
                "queryParams": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "PAYMENT-SIGNATURE header is required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "10000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "domain": "invoket.com",
          "feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"
        },
        "payTo": "Ae1uowYSjbH47uCiZMmc51Aqxf964b1Fs4d1bjaPmMN6",
        "amount": "10000",
        "scheme": "exact",
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "maxTimeoutSeconds": 60
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x4465825B0ac713aA2Fa07Ea29023020804A128ee",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://api.invoket.com/vehicle/recalls",
      "mimeType": "application/json",
      "description": "Before your agent buys, sells or services a vehicle: list manufacturer recall campaigns that may affect it, consolidated from official NHTSA and RappelConso sources, matched by make, model and year or from a VIN. An empty list means no known recall. Results are paged at 200 campaigns, one paid call per page: the busiest brands (~900 campaigns) take 5"
    },
    "extensions": {
      "bazaar": {
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "schema": {
                  "type": "object"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "make",
                    "model",
                    "year"
                  ],
                  "properties": {
                    "make": {
                      "type": "string",
                      "description": "Manufacturer make to match (e.g. 'Toyota'). Provide either 'make' (optionally with 'model'/'year') or 'vin', never both. A make absent from every covered source is a 404 (UNKNOWN_MAKE, unbilled)"
                    },
                    "year": {
                      "type": "string",
                      "description": "Optional model year (YYYY) to keep only campaigns whose year range covers it; a non-numeric year is a 400"
                    },
                    "model": {
                      "type": "string",
                      "description": "Optional model to narrow the match within the make (e.g. 'Corolla'); omitted matches all models of the make"
                    },
                    "cursor": {
                      "type": "string",
                      "description": "Optional opaque cursor, as returned by next_cursor on a previous page — never built by hand. It must be replayed with the same make/model/year or vin: a cursor that is malformed, replayed on a different query, or issued against a recall snapshot since re-ingested is a 400 (INVALID_CURSOR, unbilled), never a silently shifted page"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  }
]

OVER TIME

All charts use the 30d selector; each series spans only the dates it has data for. Every series is also served as JSON at /api/v1/services/invoket/price, /scores, /volume and /buyers. On-chain volume and distinct buyers are measured over the service's settlement address and are a conservative undercount (only settlements that reach a measured facilitator are counted). The on-chain series roll up hourly, so the latest day can be up to about an hour behind; distinct buyers are counted per payout address, so a service that settles to more than one address is an upper bound.

UPTIME
07-12 · uptime 100.0% · 149ms avg07-13 · uptime 100.0% · 135ms avg07-14 · uptime 100.0% · 104ms avg07-15 · uptime 100.0% · 71ms avg07-16 · uptime 100.0% · 81ms avg07-17 · uptime 100.0% · 67ms avg07-18 · uptime 100.0% · 63ms avg07-19 · uptime 100.0% · 59ms avg07-20 · uptime 100.0% · 63ms avg07-21 · uptime 100.0% · 95ms avg07-22 · uptime 100.0% · 73ms avg07-23 · uptime 100.0% · 80ms avg07-24 · uptime 100.0% · 71ms avg07-25 · uptime 100.0% · 99ms avg07-26 · uptime 98.9% · 115ms avg07-27 · uptime 100.0% · 131ms avg07-28 · uptime 100.0% · 99ms avg07-29 · uptime 100.0% · 129ms avg07-30 · uptime 100.0% · 114ms avg07-31 · uptime 100.0% · 92ms avg08-01 · uptime 100.0% · 80ms avg08-02 · uptime 100.0% · 98ms avg08-03 · uptime 100.0% · 75ms avg08-04 · uptime 100.0% · 58ms avg08-05 · uptime 100.0% · 73ms avg08-06 · uptime 100.0% · 63ms avg08-07 · uptime 100.0% · 47ms avg08-08 · uptime 100.0% · 43ms avg08-09 · uptime 98.9% · 47ms avg08-10 · uptime 100.0% · 40ms avg07-1208-10
30d UPTIME 99.9%
RESPONSE TIME
07-12 · 149ms avg07-12 · 149ms avg07-13 · 135ms avg07-13 · 135ms avg07-14 · 104ms avg07-14 · 104ms avg07-15 · 71ms avg07-15 · 71ms avg07-16 · 81ms avg07-16 · 81ms avg07-17 · 67ms avg07-17 · 67ms avg07-18 · 63ms avg07-18 · 63ms avg07-19 · 59ms avg07-19 · 59ms avg07-20 · 63ms avg07-20 · 63ms avg07-21 · 95ms avg07-21 · 95ms avg07-22 · 73ms avg07-22 · 73ms avg07-23 · 80ms avg07-23 · 80ms avg07-24 · 71ms avg07-24 · 71ms avg07-25 · 99ms avg07-25 · 99ms avg07-26 · 115ms avg07-26 · 115ms avg07-27 · 131ms avg07-27 · 131ms avg07-28 · 99ms avg07-28 · 99ms avg07-29 · 129ms avg07-29 · 129ms avg07-30 · 114ms avg07-30 · 114ms avg07-31 · 92ms avg07-31 · 92ms avg08-01 · 80ms avg08-01 · 80ms avg08-02 · 98ms avg08-02 · 98ms avg08-03 · 75ms avg08-03 · 75ms avg08-04 · 58ms avg08-04 · 58ms avg08-05 · 73ms avg08-05 · 73ms avg08-06 · 63ms avg08-06 · 63ms avg08-07 · 47ms avg08-07 · 47ms avg08-08 · 43ms avg08-08 · 43ms avg08-09 · 47ms avg08-09 · 47ms avg08-10 · 40ms avg08-10 · 40ms avg07-1208-10
AVG RESP 86ms
PRICE (captured 402, USD)
07-11 · $0.0107-13 · $0.0108-03 · $0.0108-10 · $0.01$0.0107-1108-10

Median across 51 endpoints. Use the selector to isolate one.

SUB-SCORES (uptime + x402 compliance)
07-13 uptime: 99.9% compliance: 92% checks07-14 uptime: 99.9% compliance: 92% checks07-15 uptime: 99.9% compliance: 92% checks07-16 uptime: 99.9% compliance: 92% checks07-17 uptime: 99.9% compliance: 100% checks07-18 uptime: 99.9% compliance: 100% checks07-19 uptime: 99.9% compliance: 100% checks07-20 uptime: 99.9% compliance: 100% checks07-21 uptime: 99.9% compliance: 100% checks07-22 uptime: 99.9% compliance: 100% checks07-23 uptime: 99.9% compliance: 100% checks07-24 uptime: 99.9% compliance: 100% checks07-25 uptime: 99.9% compliance: 100% checks07-26 uptime: 99.9% compliance: 100% checks07-27 uptime: 99.9% compliance: 100% checks07-28 uptime: 99.9% compliance: 100% checks07-29 uptime: 99.9% compliance: 100% checks07-30 uptime: 99.9% compliance: 100% checks07-31 uptime: 99.9% compliance: 100% checks08-01 uptime: 99.9% compliance: 100% checks08-02 uptime: 99.9% compliance: 100% checks08-03 uptime: 99.9% compliance: 100% checks08-04 uptime: 99.9% compliance: 100% checks08-05 uptime: 99.9% compliance: 100% checks08-06 uptime: 99.9% compliance: 100% checks08-07 uptime: 100.0% compliance: 100% checks08-08 uptime: 100.0% compliance: 100% checks08-09 uptime: 99.9% compliance: 100% checks08-10 uptime: 99.9% compliance: 100% checksuptimecompliance07-1308-10

checklist grew 11->14 on 2026-07-28; a step here is a metric change, not a regression

PILLARS OVER TIME (measured)

Measured site and economics pillars from the assessment history, so the latest value shown elsewhere on this page reads as a point on a trend rather than a permanent state.

VOLUME (on-chain settlement, USD)
07-12 · $0.0207-13 · $0.9407-14 · $207-15 · $0.4207-16 · $0.2407-17 · $0.0807-18 · $0.1507-19 · $0.0807-20 · $0.1607-21 · $0.5507-22 · $0.2807-23 · $0.1707-24 · $0.2607-25 · $0.1507-26 · $0.1507-27 · $0.1907-28 · $0.0607-29 · $0.0607-30 · $0.0607-31 · $708-01 · $0.0608-02 · $0.0608-03 · $0.0608-04 · $0.0608-05 · $0.0608-06 · $0.0608-07 · $0.0608-08 · $0.0608-09 · $0.0808-10 · $0.08peak $707-1208-10
DISTINCT BUYERS
07-12 · 2 buyers07-13 · 7 buyers07-14 · 12 buyers07-15 · 19 buyers07-16 · 6 buyers07-17 · 7 buyers07-18 · 1 buyer07-19 · 2 buyers07-20 · 3 buyers07-21 · 9 buyers07-22 · 2 buyers07-23 · 2 buyers07-24 · 2 buyers07-25 · 2 buyers07-26 · 2 buyers07-27 · 3 buyers07-28 · 1 buyer07-29 · 1 buyer07-30 · 1 buyer07-31 · 8 buyers08-01 · 1 buyer08-02 · 1 buyer08-03 · 1 buyer08-04 · 1 buyer08-05 · 1 buyer08-06 · 1 buyer08-07 · 1 buyer08-08 · 1 buyer08-09 · 3 buyers08-10 · 2 buyerspeak 19 buyers07-1208-10

COMPLIANCE

13/13 checks pass · grade A

last 402 captured 2026-08-03 · last up 2026-08-10

  • 402 payload captured
  • accepts[] array present
  • payTo address recoverable
  • payTo at accepts[0].payTo (conformant shape)
  • payTo is a valid on-chain address
  • atomic price declared
  • atomic price in a sane range
  • asset (token) address declared
  • network resolves to CAIP-2
  • payment scheme declared
  • served over HTTPS
  • declares the current x402 version (2)
  • EIP-712 domain parameters present on every EVM entry
  • x402 v2 envelope delivered in the payment-required header

SITE PILLARS

  • homepage reachable
  • openapi doc
  • pricing page
  • llms.txt
  • robots.txt
  • terms page
recent checks (18) live · click to expand
TIME STATUS RESP CAUSE
● OK 31ms
● OK 34ms
● OK 41ms
● OK 41ms
● OK 29ms
● OK 38ms
● OK 32ms
● OK 32ms
● OK 34ms
● OK 43ms
● OK 28ms
● OK 36ms
● OK 40ms
● OK 52ms
● OK 36ms
● OK 45ms
● OK 35ms
● OK 38ms

EMBED THIS BADGE

Show that Invoket is monitored on x402-list. Paste this on your site or README, it links back to this live listing.

Invoket listed on x402-list
status
Invoket uptime on x402-list
live uptime
// HTML
<a href="https://x402-list.com/services/invoket?utm_source=badge&utm_medium=referral&utm_campaign=embed">
  <img src="https://x402-list.com/badge/invoket.svg" alt="Invoket listed on x402-list" height="28">
</a>
// Markdown
[![Invoket on x402-list](https://x402-list.com/badge/invoket.svg)](https://x402-list.com/services/invoket?utm_source=badge&utm_medium=referral&utm_campaign=embed)
// HTML · live uptime variant
<a href="https://x402-list.com/services/invoket?utm_source=badge&utm_medium=referral&utm_campaign=embed">
  <img src="https://x402-list.com/badge/invoket.svg?data=uptime" alt="Invoket uptime on x402-list" height="28">
</a>

RUN THIS SERVICE?

Keep this listing accurate: propose changes to the name, description, website, category or add new endpoints to monitor. Ownership is verified with a domain proof and every change is reviewed manually; measured data stays read-only.

[ update this listing ]

To request delisting, email [email protected] or update your listing at /services/invoket/update.