openapi: 3.2.0 info: title: Macaroon Network Agent Services DATA LOOKUP API description: Pay-per-call scientific search, evidence, validation, and simulation services with explicit provenance and limitations. version: 1.0.0 x-guidance: Choose a concrete POST /execute/ operation. Send the documented JSON body, receive an x402 v2 USDC challenge on Base, then retry with PAYMENT-SIGNATURE. Treat licence status and validation claims exactly as returned; unknown evidence is not permission. tags: - name: DATA LOOKUP paths: /execute/tx-new-business-change-feed-v1: post: operationId: execute_tx_new_business_change_feed_v1 summary: Texas New Business Registration Change Feed description: 'Weekly change feed over the Texas Comptroller''s real Active Franchise Taxpayers register: which taxpayer_numbers newly appeared on the roster since a given date -- a free-data, honest-cadence answer to the ''reach the owner of a newly formed business'' demand. Diffed against the prior week''s snapshot each time the Comptroller republishes the dataset (real-tested 2026-09-11: roughly weekly, not daily).' tags: - DATA LOOKUP x-payment-info: price: mode: fixed currency: USD amount: '0.005000' protocols: - x402: {} network: base asset: USDC paymentRequiredHeader: PAYMENT-REQUIRED paymentSignatureHeader: PAYMENT-SIGNATURE paymentResponseHeader: PAYMENT-RESPONSE requestBody: required: true content: application/json: schema: type: object required: - input - predicate properties: input: type: object required: - since properties: limit: type: integer maximum: 100 minimum: 1 description: Maximum number of change events to return. since: type: string description: ISO-8601 timestamp -- only new_registration events detected at or after this are returned. additionalProperties: false predicate: type: object description: Acceptance predicate evaluated before settlement. example: type: all conditions: - type: field_changed field: $.since value: '2020-01-01T00:00:00+00:00' operator: eq - type: within field: $.retrieved_at duration_hours: 1 additionalProperties: false example: input: limit: 20 since: '2026-09-01T00:00:00+00:00' predicate: type: all conditions: - type: field_changed field: $.since value: '2020-01-01T00:00:00+00:00' operator: eq - type: within field: $.retrieved_at duration_hours: 1 responses: '200': description: Predicate-gated result and commercial receipt. content: application/json: schema: type: object required: - payload - predicate_passed - receipt properties: payload: type: object required: - since - events - retrieved_at - limitations properties: since: type: string events: type: array items: type: object properties: event_type: enum: - new_registration type: string detected_at: type: string taxpayer_zip: type: string taxpayer_city: type: string taxpayer_name: type: string taxpayer_state: type: string taxpayer_number: type: string taxpayer_address: type: string taxpayer_organizational_type: type: string limitations: type: array items: type: string retrieved_at: type: string additionalProperties: false predicate_passed: type: boolean receipt: type: object '402': description: x402 Payment Required. Decode PAYMENT-REQUIRED, satisfy the declared exact USDC requirement, then retry this same valid JSON request with PAYMENT-SIGNATURE. headers: PAYMENT-REQUIRED: description: Base64-encoded x402 v2 payment requirements. schema: type: string '422': description: Invalid paid execution request. /execute/uk-logistics-operator-change-feed-v1: post: operationId: execute_uk_logistics_operator_change_feed_v1 summary: UK Logistics Operator Change Feed description: 'Weekly change feed over DVSA''s real UK Vehicle Operator Licensing register: which goods vehicle/PSV operators had a real licence status change (curtailed/suspended), a fleet size change, or entered/left the register since a given date. Built on the same real national dataset as uk-logistics-operator-risk-check-v1, diffed against the prior week''s snapshot every Sunday when DVSA republishes.' tags: - DATA LOOKUP x-payment-info: price: mode: fixed currency: USD amount: '0.005000' protocols: - x402: {} network: base asset: USDC paymentRequiredHeader: PAYMENT-REQUIRED paymentSignatureHeader: PAYMENT-SIGNATURE paymentResponseHeader: PAYMENT-RESPONSE requestBody: required: true content: application/json: schema: type: object required: - input - predicate properties: input: type: object required: - since properties: limit: type: integer maximum: 100 minimum: 1 description: Maximum number of change events to return. since: type: string description: ISO-8601 timestamp -- only change events detected at or after this are returned. additionalProperties: false predicate: type: object description: Acceptance predicate evaluated before settlement. example: type: all conditions: - type: field_changed field: $.since value: '2020-01-01T00:00:00+00:00' operator: eq - type: within field: $.retrieved_at duration_hours: 1 additionalProperties: false example: input: limit: 20 since: '2026-09-01T00:00:00+00:00' predicate: type: all conditions: - type: field_changed field: $.since value: '2020-01-01T00:00:00+00:00' operator: eq - type: within field: $.retrieved_at duration_hours: 1 responses: '200': description: Predicate-gated result and commercial receipt. content: application/json: schema: type: object required: - payload - predicate_passed - receipt properties: payload: type: object required: - since - events - retrieved_at - limitations properties: since: type: string events: type: array items: type: object properties: event_type: enum: - new_operator - operator_removed - licence_status_changed - fleet_size_changed type: string detected_at: type: string operator_name: type: string licence_number: type: string limitations: type: array items: type: string retrieved_at: type: string additionalProperties: false predicate_passed: type: boolean receipt: type: object '402': description: x402 Payment Required. Decode PAYMENT-REQUIRED, satisfy the declared exact USDC requirement, then retry this same valid JSON request with PAYMENT-SIGNATURE. headers: PAYMENT-REQUIRED: description: Base64-encoded x402 v2 payment requirements. schema: type: string '422': description: Invalid paid execution request. /execute/uk-logistics-operator-risk-check-v1: post: operationId: execute_uk_logistics_operator_risk_check_v1 summary: UK Logistics Operator Risk Check description: 'Search DVSA''s real, live UK Vehicle Operator Licensing register -- every goods vehicle and PSV operator licence in Great Britain (69,127 operators, updated weekly) -- for a haulier or logistics operator by name. Returns licence status, authorised fleet size, and cross-references the operator''s real Companies House status to flag a rare but real risk: a licence that still reads valid while the operator''s actual registered company is dissolved or in liquidation.' tags: - DATA LOOKUP x-payment-info: price: mode: fixed currency: USD amount: '0.005000' protocols: - x402: {} network: base asset: USDC paymentRequiredHeader: PAYMENT-REQUIRED paymentSignatureHeader: PAYMENT-SIGNATURE paymentResponseHeader: PAYMENT-RESPONSE requestBody: required: true content: application/json: schema: type: object required: - input - predicate properties: input: type: object required: - query properties: limit: type: integer maximum: 10 minimum: 1 description: Maximum number of matching operators to return. query: type: string maxLength: 200 minLength: 1 description: Operator name or substring, e.g. 'Rhenus' or 'Wincanton'. additionalProperties: false predicate: type: object description: Acceptance predicate evaluated before settlement. example: type: all conditions: - type: count_gte field: $.results value: 1 additionalProperties: false example: input: limit: 5 query: rhenus predicate: type: all conditions: - type: count_gte field: $.results value: 1 responses: '200': description: Predicate-gated result and commercial receipt. content: application/json: schema: type: object required: - payload - predicate_passed - receipt properties: payload: type: object required: - query - results - limitations properties: query: type: string results: type: array items: type: object properties: region: type: string risk_flags: type: array items: enum: - licence_curtailed - licence_suspended - company_dissolved_but_licence_valid type: string licence_type: type: string operator_name: type: string operator_type: type: string company_number: type: - string - 'null' company_status: type: - string - 'null' licence_number: type: string licence_status: enum: - valid - curtailed - suspended - unknown type: string continuation_date: type: - string - 'null' trailers_authorised: type: integer vehicles_authorised: type: integer correspondence_address: type: string operating_centre_address: type: string additionalProperties: false limitations: type: array items: type: string additionalProperties: false predicate_passed: type: boolean receipt: type: object '402': description: x402 Payment Required. Decode PAYMENT-REQUIRED, satisfy the declared exact USDC requirement, then retry this same valid JSON request with PAYMENT-SIGNATURE. headers: PAYMENT-REQUIRED: description: Base64-encoded x402 v2 payment requirements. schema: type: string '422': description: Invalid paid execution request. /execute/nhtsa-vehicle-recall-search-v1: post: operationId: execute_nhtsa_vehicle_recall_search_v1 summary: NHTSA Vehicle Recall Search description: Look up official U.S. vehicle safety recalls by make, model, and model year -- campaign number, affected component, defect summary, safety consequence, and remedy. The only source used is the National Highway Traffic Safety Administration's own public API (api.nhtsa.gov). Restricted to recall lookup only for v1; NHTSA safety ratings and complaint records are a different part of the same API family and are not covered. tags: - DATA LOOKUP x-payment-info: price: mode: fixed currency: USD amount: '0.002000' protocols: - x402: {} network: base asset: USDC paymentRequiredHeader: PAYMENT-REQUIRED paymentSignatureHeader: PAYMENT-SIGNATURE paymentResponseHeader: PAYMENT-RESPONSE requestBody: required: true content: application/json: schema: type: object required: - input - predicate properties: input: type: object required: - make - model - model_year properties: make: type: string maxLength: 100 minLength: 1 description: Vehicle manufacturer, e.g. 'honda'. model: type: string maxLength: 100 minLength: 1 description: Vehicle model, e.g. 'accord'. model_year: type: integer maximum: 2100 minimum: 1950 description: Four-digit model year, e.g. 2020. additionalProperties: false predicate: type: object description: Acceptance predicate evaluated before settlement. example: type: all conditions: - type: count_gte field: $.results value: 1 additionalProperties: false example: input: make: honda model: accord model_year: 2020 predicate: type: all conditions: - type: count_gte field: $.results value: 1 responses: '200': description: Predicate-gated result and commercial receipt. content: application/json: schema: type: object required: - payload - predicate_passed - receipt properties: payload: type: object required: - query - results - notices properties: query: type: object required: - make - model - model_year properties: make: type: string model: type: string model_year: type: integer additionalProperties: false notices: type: array items: type: string results: type: array items: type: object required: - campaign_number - manufacturer - component - summary - consequence - remedy - report_received_date - park_it - park_outside - over_the_air_update - licence - attribution - provenance - content_hash - limitations properties: notes: type: string remedy: type: string licence: type: string park_it: type: boolean summary: type: string component: type: string provenance: type: array items: type: object required: - source - source_url - licence - fetched_at - processed_at properties: source: type: string licence: type: string fetched_at: type: string source_url: type: string processed_at: type: string additionalProperties: false attribution: type: string consequence: type: string limitations: type: array items: type: string content_hash: type: string manufacturer: type: string park_outside: type: boolean campaign_number: type: string over_the_air_update: type: boolean report_received_date: type: string additionalProperties: false additionalProperties: false predicate_passed: type: boolean receipt: type: object '402': description: x402 Payment Required. Decode PAYMENT-REQUIRED, satisfy the declared exact USDC requirement, then retry this same valid JSON request with PAYMENT-SIGNATURE. headers: PAYMENT-REQUIRED: description: Base64-encoded x402 v2 payment requirements. schema: type: string '422': description: Invalid paid execution request. /execute/us-weather-forecast-alerts-v1: post: operationId: execute_us_weather_forecast_alerts_v1 summary: US Weather Forecast & Alerts description: Live multi-day forecast and currently active weather alerts (severe thunderstorm, flood, winter storm, etc.) for a single latitude/longitude point, from the U.S. National Weather Service's own public API (api.weather.gov). Coverage is limited to the United States, its territories, and adjacent coastal/marine zones -- api.weather.gov has no data for points outside that area. tags: - DATA LOOKUP x-payment-info: price: mode: fixed currency: USD amount: '0.002000' protocols: - x402: {} network: base asset: USDC paymentRequiredHeader: PAYMENT-REQUIRED paymentSignatureHeader: PAYMENT-SIGNATURE paymentResponseHeader: PAYMENT-RESPONSE requestBody: required: true content: application/json: schema: type: object required: - input - predicate properties: input: type: object required: - latitude - longitude properties: filters: type: object properties: periods_limit: type: integer maximum: 14 minimum: 1 description: Number of forecast periods to return (each period is roughly a day or night). Defaults to 5. include_alerts: type: boolean description: Whether to include currently active weather alerts for this point. Defaults to true. additionalProperties: false latitude: type: number maximum: 90 minimum: -90 longitude: type: number maximum: 180 minimum: -180 additionalProperties: false predicate: type: object description: Acceptance predicate evaluated before settlement. example: type: all conditions: - type: count_gte field: $.forecast value: 1 additionalProperties: false example: input: filters: periods_limit: 5 latitude: 38.8894 longitude: -77.0352 predicate: type: all conditions: - type: count_gte field: $.forecast value: 1 responses: '200': description: Predicate-gated result and commercial receipt. content: application/json: schema: type: object required: - payload - predicate_passed - receipt properties: payload: type: object required: - latitude - longitude - forecast_updated - forecast - alerts - provenance - content_hash - notices properties: city: type: string state: type: string alerts: type: array items: type: object required: - event - severity - urgency - certainty - headline - area_desc - effective - expires properties: event: type: string expires: type: string urgency: type: string headline: type: string severity: type: string area_desc: type: string certainty: type: string effective: type: string description: type: string instruction: type: string additionalProperties: false notices: type: array items: type: string forecast: type: array items: type: object required: - number - name - start_time - end_time - is_daytime - temperature - temperature_unit - wind_speed - wind_direction - short_forecast - detailed_forecast properties: name: type: string number: type: integer end_time: type: string is_daytime: type: boolean start_time: type: string wind_speed: type: string temperature: type: number short_forecast: type: string wind_direction: type: string temperature_unit: type: string detailed_forecast: type: string probability_of_precipitation_percent: type: number additionalProperties: false latitude: type: number longitude: type: number provenance: type: object required: - source - source_url - licence - fetched_at properties: source: type: string licence: type: string fetched_at: type: string source_url: type: string additionalProperties: false content_hash: type: string forecast_updated: type: string additionalProperties: false predicate_passed: type: boolean receipt: type: object '402': description: x402 Payment Required. Decode PAYMENT-REQUIRED, satisfy the declared exact USDC requirement, then retry this same valid JSON request with PAYMENT-SIGNATURE. headers: PAYMENT-REQUIRED: description: Base64-encoded x402 v2 payment requirements. schema: type: string '422': description: Invalid paid execution request. /execute/uk-parliament-search-v1: post: operationId: execute_uk_parliament_search_v1 summary: UK Parliament Search description: 'Search live UK Parliament data: Members (current and former MPs and Peers, by name) and Bills (by title). The only sources used are the UK Parliament''s own public Members API (members-api.parliament.uk) and Bills API (bills-api.parliament.uk), both unauthenticated. Votes and Divisions data (a different API family) is out of scope for this version.' tags: - DATA LOOKUP x-payment-info: price: mode: fixed currency: USD amount: '0.002000' protocols: - x402: {} network: base asset: USDC paymentRequiredHeader: PAYMENT-REQUIRED paymentSignatureHeader: PAYMENT-SIGNATURE paymentResponseHeader: PAYMENT-RESPONSE requestBody: required: true content: application/json: schema: type: object required: - input - predicate properties: input: type: object required: - search_type - query properties: query: type: string maxLength: 200 minLength: 1 description: 'For search_type=member: a name to search (e.g. ''Starmer''). For search_type=bill: a free-text term matched against bill titles (e.g. ''data protection'').' filters: type: object properties: house: enum: - Commons - Lords type: string description: 'Member search: filter by House. Bill search: filter by the bill''s current House.' limit: type: integer maximum: 25 minimum: 1 current_members_only: type: boolean description: Member search only. Defaults to false (searches current and former members). additionalProperties: false search_type: enum: - member - bill type: string description: '"member" searches current and former MPs/Peers by name. "bill" searches Parliamentary bills by title.' additionalProperties: false predicate: type: object description: Acceptance predicate evaluated before settlement. example: type: all conditions: - type: count_gte field: $.results value: 1 additionalProperties: false example: input: query: data protection filters: house: Commons limit: 5 search_type: bill predicate: type: all conditions: - type: count_gte field: $.results value: 1 responses: '200': description: Predicate-gated result and commercial receipt. content: application/json: schema: type: object required: - payload - predicate_passed - receipt properties: payload: type: object required: - query - results - notices properties: query: type: object required: - search_type - query - filters properties: query: type: string filters: type: object search_type: type: string additionalProperties: false notices: type: array items: type: string results: type: array items: oneOf: - type: object required: - result_type - member_id - name_display_as - party - house - membership_from - is_current_member - source_url - licence - attribution - provenance - content_hash - limitations properties: house: enum: - Commons - Lords - unknown type: string party: type: string licence: type: string member_id: type: integer provenance: type: array items: type: object required: - source - source_url - licence - fetched_at - processed_at properties: source: type: string licence: type: string fetched_at: type: string source_url: type: string processed_at: type: string additionalProperties: false source_url: type: string attribution: type: string limitations: type: array items: type: string result_type: const: member content_hash: type: string membership_from: type: string name_display_as: type: string name_full_title: type: string is_current_member: type: boolean membership_end_date: type: string membership_start_date: type: string additionalProperties: false - type: object required: - result_type - bill_id - short_title - current_house - originating_house - is_act - source_url - licence - attribution - provenance - content_hash - limitations properties: is_act: type: boolean bill_id: type: integer licence: type: string provenance: type: array items: type: object required: - source - source_url - licence - fetched_at - processed_at properties: source: type: string licence: type: string fetched_at: type: string source_url: type: string processed_at: type: string additionalProperties: false source_url: type: string attribution: type: string last_update: type: string limitations: type: array items: type: string result_type: const: bill short_title: type: string content_hash: type: string current_house: type: string current_stage: type: string originating_house: type: string former_short_title: type: string additionalProperties: false additionalProperties: false predicate_passed: type: boolean receipt: type: object '402': description: x402 Payment Required. Decode PAYMENT-REQUIRED, satisfy the declared exact USDC requirement, then retry this same valid JSON request with PAYMENT-SIGNATURE. headers: PAYMENT-REQUIRED: description: Base64-encoded x402 v2 payment requirements. schema: type: string '422': description: Invalid paid execution request. /execute/world-bank-wdi-indicator-search-v1: post: operationId: execute_world_bank_wdi_indicator_search_v1 summary: World Bank WDI Indicator Search description: Search live macroeconomic indicators from the World Bank's World Development Indicators (WDI) database by country and indicator (e.g. GDP, population, inflation, unemployment). Restricted exclusively to WDI, source ID 2 -- the World Bank's own flagship, wholly-owned compiled dataset -- never any of the ~90 other databases the same World Bank API also serves, some of which carry third-party reuse terms. Country and indicator can be given as free text (resolved against the World Bank's own reference lists) or as exact ISO codes / indicator codes. tags: - DATA LOOKUP x-payment-info: price: mode: fixed currency: USD amount: '0.002000' protocols: - x402: {} network: base asset: USDC paymentRequiredHeader: PAYMENT-REQUIRED paymentSignatureHeader: PAYMENT-SIGNATURE paymentResponseHeader: PAYMENT-RESPONSE requestBody: required: true content: application/json: schema: type: object required: - input - predicate properties: input: type: object required: - country - indicator properties: country: type: string maxLength: 100 minLength: 1 description: A country name, ISO2, or ISO3 code (e.g. 'United Kingdom', 'GB', or 'GBR'). filters: type: object properties: limit: type: integer maximum: 25 minimum: 1 year_to: type: integer maximum: 2100 minimum: 1960 year_from: type: integer maximum: 2100 minimum: 1960 indicator_code: type: string maxLength: 50 description: Exact WDI indicator code, e.g. NY.GDP.MKTP.CD. indicator_name: type: string maxLength: 200 additionalProperties: false indicator: type: string maxLength: 200 minLength: 1 description: A WDI indicator name or partial name (e.g. 'GDP', 'Population, total'). Use filters.indicator_code for an exact match. additionalProperties: false predicate: type: object description: Acceptance predicate evaluated before settlement. example: type: all conditions: - type: count_gte field: $.results value: 1 additionalProperties: false example: input: country: GBR filters: year_to: 2023 year_from: 2020 indicator_code: NY.GDP.MKTP.CD indicator: GDP predicate: type: all conditions: - type: count_gte field: $.results value: 1 responses: '200': description: Predicate-gated result and commercial receipt. content: application/json: schema: type: object required: - payload - predicate_passed - receipt properties: payload: type: object required: - query - results - notices properties: query: type: object required: - country - indicator - filters properties: country: type: string filters: type: object indicator: type: string additionalProperties: false notices: type: array items: type: string results: type: array items: type: object required: - country_name - country_code - indicator_id - indicator_name - value - year - decimal - source - source_id - source_url - licence - attribution - provenance - content_hash - limitations properties: unit: type: string year: type: string value: type: number source: enum: - World Development Indicators type: string decimal: type: integer licence: type: string source_id: enum: - 2 type: integer provenance: type: array items: type: object required: - source - database - source_id - source_url - licence - fetched_at - processed_at properties: source: type: string licence: type: string database: type: string source_id: type: integer fetched_at: type: string source_url: type: string processed_at: type: string additionalProperties: false source_url: type: string attribution: type: string limitations: type: array items: type: string content_hash: type: string country_code: type: string country_name: type: string indicator_id: type: string indicator_name: type: string additionalProperties: false additionalProperties: false predicate_passed: type: boolean receipt: type: object '402': description: x402 Payment Required. Decode PAYMENT-REQUIRED, satisfy the declared exact USDC requirement, then retry this same valid JSON request with PAYMENT-SIGNATURE. headers: PAYMENT-REQUIRED: description: Base64-encoded x402 v2 payment requirements. schema: type: string '422': description: Invalid paid execution request. /execute/drug-medicine-metadata-search-v1: post: operationId: execute_drug_medicine_metadata_search_v1 summary: Drug/Medicine Metadata Search description: 'Search live drug and medicine metadata from the U.S. FDA''s openFDA API: brand/generic name, active ingredients with strength, dosage form, route, manufacturer/labeler, product type, marketing status, and NDC codes -- plus an optional short (~400 character) label excerpt (purpose or indications only) and an optional recall/enforcement flag. Composed entirely from openFDA''s NDC Directory, Drug Label, and Drug Enforcement APIs, all public domain (CC0 1.0 Universal). Never returns full label sections, dosage/administration instructions, drug-interaction or contraindication text, adverse-reaction text, device (GMDN) nomenclature, or personalised medical advice.' tags: - DATA LOOKUP x-payment-info: price: mode: fixed currency: USD amount: '0.003000' protocols: - x402: {} network: base asset: USDC paymentRequiredHeader: PAYMENT-REQUIRED paymentSignatureHeader: PAYMENT-SIGNATURE paymentResponseHeader: PAYMENT-RESPONSE requestBody: required: true content: application/json: schema: type: object required: - input - predicate properties: input: type: object required: - query properties: query: type: string maxLength: 200 minLength: 1 description: Free-text search term (e.g. a brand or generic drug name). filters: type: object properties: limit: type: integer maximum: 25 minimum: 1 route: type: string maxLength: 100 brand_name: type: string maxLength: 200 dosage_form: type: string maxLength: 100 generic_name: type: string maxLength: 200 product_type: type: string maxLength: 100 marketing_status: type: string maxLength: 100 active_ingredient: type: string maxLength: 200 include_recall_flag: type: boolean include_label_excerpt: type: boolean additionalProperties: false additionalProperties: false predicate: type: object description: Acceptance predicate evaluated before settlement. example: type: all conditions: - type: count_gte field: $.results value: 1 additionalProperties: false example: input: query: tylenol filters: limit: 5 predicate: type: all conditions: - type: count_gte field: $.results value: 1 responses: '200': description: Predicate-gated result and commercial receipt. content: application/json: schema: type: object required: - payload - predicate_passed - receipt properties: payload: type: object required: - query - results - notices properties: query: type: string notices: type: array items: type: string results: type: array items: type: object required: - drug_name - active_ingredients - package_ndc - rxcui - source_url - provenance - content_hash - limitations properties: route: type: string rxcui: type: array items: type: string drug_name: type: string brand_name: type: string provenance: type: array items: type: object required: - source - endpoint - licence - source_url - fetched_at - processed_at properties: source: type: string licence: type: string endpoint: enum: - drug/ndc - drug/label - drug/enforcement type: string fetched_at: type: string source_url: type: string processed_at: type: string additionalProperties: false source_url: type: string spl_set_id: type: string dosage_form: type: string limitations: type: array items: type: string package_ndc: type: array items: type: string product_ndc: type: string content_hash: type: string generic_name: type: string labeler_name: type: string product_type: type: string marketing_status: type: string manufacturer_name: type: string active_ingredients: type: array items: type: object required: - name properties: name: type: string strength: type: string additionalProperties: false short_label_excerpt: type: string label_excerpt_source_field: enum: - purpose - indications_and_usage type: string recall_or_enforcement_flag: type: object required: - checked - has_recent_match - matched_recall_count properties: checked: type: boolean has_recent_match: type: boolean matched_recall_count: type: integer additionalProperties: false additionalProperties: false additionalProperties: false predicate_passed: type: boolean receipt: type: object '402': description: x402 Payment Required. Decode PAYMENT-REQUIRED, satisfy the declared exact USDC requirement, then retry this same valid JSON request with PAYMENT-SIGNATURE. headers: PAYMENT-REQUIRED: description: Base64-encoded x402 v2 payment requirements. schema: type: string '422': description: Invalid paid execution request. /execute/clinical-trials-search-v1: post: operationId: execute_clinical_trials_search_v1 summary: Clinical Trials Search description: 'Search live clinical trial records from ClinicalTrials.gov: status, phase, conditions, interventions, lead sponsor, eligibility (sex, age range, a short truncated criteria excerpt), and locations. The only source used is the U.S. National Library of Medicine''s public ClinicalTrials.gov API v2, available at no charge. Full eligibility-criteria text, full descriptions, and investigator/recruitment contact details are never returned -- only source-linked, truncated summary metadata.' tags: - DATA LOOKUP x-payment-info: price: mode: fixed currency: USD amount: '0.003000' protocols: - x402: {} network: base asset: USDC paymentRequiredHeader: PAYMENT-REQUIRED paymentSignatureHeader: PAYMENT-SIGNATURE paymentResponseHeader: PAYMENT-RESPONSE requestBody: required: true content: application/json: schema: type: object required: - input - predicate properties: input: type: object required: - query properties: query: type: string maxLength: 200 minLength: 1 description: Free-text search term (e.g. a drug name, condition, or NCT ID). filters: type: object properties: sex: enum: - ALL - FEMALE - MALE type: string limit: type: integer maximum: 25 minimum: 1 phase: enum: - PHASE1 - PHASE2 - PHASE3 - PHASE4 type: string status: enum: - RECRUITING - ACTIVE_NOT_RECRUITING - COMPLETED - TERMINATED - WITHDRAWN - UNKNOWN type: string country: type: string maxLength: 100 max_age: type: string maxLength: 20 min_age: type: string maxLength: 20 sponsor: type: string maxLength: 200 condition: type: string maxLength: 200 additionalProperties: false additionalProperties: false predicate: type: object description: Acceptance predicate evaluated before settlement. example: type: all conditions: - type: count_gte field: $.results value: 1 additionalProperties: false example: input: query: diabetes filters: limit: 5 status: RECRUITING predicate: type: all conditions: - type: count_gte field: $.results value: 1 responses: '200': description: Predicate-gated result and commercial receipt. content: application/json: schema: type: object required: - payload - predicate_passed - receipt properties: payload: type: object required: - query - results - notices properties: query: type: string notices: type: array items: type: string results: type: array items: type: object required: - nct_id - title - status - study_type - conditions - interventions - lead_sponsor - eligibility - locations - dates - source_url - provenance - content_hash - limitations properties: dates: type: object properties: start_date: type: string completion_date: type: string last_update_submitted: type: string additionalProperties: false phase: type: string title: type: string nct_id: type: string status: type: string locations: type: array items: type: object required: - country properties: city: type: string country: type: string additionalProperties: false conditions: type: array items: type: string provenance: type: array items: type: object required: - source - source_url - licence_or_terms_basis - fetched_at - processed_at properties: source: type: string fetched_at: type: string source_url: type: string processed_at: type: string licence_or_terms_basis: type: string additionalProperties: false source_url: type: string study_type: type: string eligibility: type: object required: - sex properties: sex: enum: - ALL - FEMALE - MALE - unknown type: string maximum_age: type: string minimum_age: type: string criteria_excerpt: type: string additionalProperties: false limitations: type: array items: type: string content_hash: type: string lead_sponsor: type: string interventions: type: array items: type: string additionalProperties: false additionalProperties: false predicate_passed: type: boolean receipt: type: object '402': description: x402 Payment Required. Decode PAYMENT-REQUIRED, satisfy the declared exact USDC requirement, then retry this same valid JSON request with PAYMENT-SIGNATURE. headers: PAYMENT-REQUIRED: description: Base64-encoded x402 v2 payment requirements. schema: type: string '422': description: Invalid paid execution request. /execute/universal-macaroon-search-v1: post: operationId: execute_universal_macaroon_search_v1 summary: Universal Macaroon Search description: Discover which Macaroon Network service, endpoint, or data product to call next. Searches Macaroon's own published catalogue -- title, category, description, price, and trust evidence metadata -- and returns a short, source-linked ranked list plus a safe recommended next call for each match. A thin wrapper over this registry's own existing semantic search and router infrastructure; does not execute matched services, does not call any underlying paid endpoint, and does not duplicate a matched service's own output. tags: - DATA LOOKUP x-payment-info: price: mode: fixed currency: USD amount: '0.001000' protocols: - x402: {} network: base asset: USDC paymentRequiredHeader: PAYMENT-REQUIRED paymentSignatureHeader: PAYMENT-SIGNATURE paymentResponseHeader: PAYMENT-RESPONSE requestBody: required: true content: application/json: schema: type: object required: - input - predicate properties: input: type: object required: - query properties: query: type: string maxLength: 200 minLength: 1 description: Free-text intent, or an exact service_id (e.g. 'cyber-vulnerability-risk-search-v1'). filters: type: object properties: limit: type: integer maximum: 25 minimum: 1 category: type: string maxLength: 80 max_price_usdc: type: number include_evidence_summary: type: boolean additionalProperties: false additionalProperties: false predicate: type: object description: Acceptance predicate evaluated before settlement. example: type: all conditions: - type: count_gte field: $.matches value: 1 additionalProperties: false example: input: query: domain trust and DNS check predicate: type: all conditions: - type: count_gte field: $.matches value: 1 responses: '200': description: Predicate-gated result and commercial receipt. content: application/json: schema: type: object required: - payload - predicate_passed - receipt properties: payload: type: object required: - query - matches - notices - limitations properties: query: type: string matches: type: array items: type: object required: - service_id - name - category - description - route - status - trust_evidence_available - listing_url - why_matched properties: name: type: string route: type: string status: enum: - available type: string payment: type: string category: type: string price_usdc: type: string service_id: type: string description: type: string listing_url: type: string why_matched: type: string input_summary: type: string output_summary: type: string evidence_summary: type: string recommended_next_call: type: object required: - route - example_input properties: route: type: string example_input: type: object additionalProperties: false trust_evidence_available: type: boolean additionalProperties: false notices: type: array items: type: string limitations: type: array items: type: string additionalProperties: false predicate_passed: type: boolean receipt: type: object '402': description: x402 Payment Required. Decode PAYMENT-REQUIRED, satisfy the declared exact USDC requirement, then retry this same valid JSON request with PAYMENT-SIGNATURE. headers: PAYMENT-REQUIRED: description: Base64-encoded x402 v2 payment requirements. schema: type: string '422': description: Invalid paid execution request. /execute/grant-tender-opportunity-search-v1: post: operationId: execute_grant_tender_opportunity_search_v1 summary: Grant & Tender Opportunity Search description: 'Search live UK/EU public procurement tenders and US federal grant opportunities in one call: UK Contracts Finder, UK Find a Tender Service, EU TED (Tenders Electronic Daily), and Grants.gov. Returns source-linked metadata only -- title, buyer/funder, deadline, value, region, category codes, and a link to the original notice -- never full tender documents, specifications, or application forms. Grants.gov is queried live per-request and is never bulk-cached or resold as a stored dataset.' tags: - DATA LOOKUP x-payment-info: price: mode: fixed currency: USD amount: '0.005000' protocols: - x402: {} network: base asset: USDC paymentRequiredHeader: PAYMENT-REQUIRED paymentSignatureHeader: PAYMENT-SIGNATURE paymentResponseHeader: PAYMENT-RESPONSE requestBody: required: true content: application/json: schema: type: object required: - input - predicate properties: input: type: object required: - query properties: query: type: string maxLength: 200 minLength: 1 description: Free-text keywords (e.g. 'software', 'climate research'). filters: type: object properties: type: enum: - grant - tender - procurement type: string limit: type: integer maximum: 25 minimum: 1 sources: type: array items: enum: - contracts_finder - find_a_tender - ted - grants_gov type: string max_value: type: number min_value: type: number deadline_after: type: string maxLength: 10 minLength: 10 description: YYYY-MM-DD deadline_before: type: string maxLength: 10 minLength: 10 description: YYYY-MM-DD region_or_country: type: string maxLength: 100 additionalProperties: false additionalProperties: false predicate: type: object description: Acceptance predicate evaluated before settlement. example: type: all conditions: - type: count_gte field: $.results value: 1 additionalProperties: false example: input: query: software filters: type: tender limit: 5 predicate: type: all conditions: - type: count_gte field: $.results value: 1 responses: '200': description: Predicate-gated result and commercial receipt. content: application/json: schema: type: object required: - payload - predicate_passed - receipt properties: payload: type: object required: - query - results - notices properties: query: type: string notices: type: array items: type: string results: type: array items: type: object required: - opportunity_id - source - notice_type - title - description_summary - cpv_or_eligibility_codes - publication_date - status - licence_reference - fetched_at - content_hash - provenance - limitations properties: title: type: string source: enum: - contracts_finder - find_a_tender - ted - grants_gov type: string status: enum: - open - closed - unknown type: string currency: type: string fetched_at: type: string provenance: type: array items: type: object required: - source - source_url - licence - fetched_at properties: source: type: string licence: type: string fetched_at: type: string source_url: type: string additionalProperties: false source_url: type: string limitations: type: array items: type: string notice_type: enum: - grant - tender - procurement type: string content_hash: type: string deadline_date: type: string opportunity_id: type: string buyer_or_funder: type: string publication_date: type: string licence_reference: type: string region_or_country: type: string description_summary: type: string value_amount_or_range: type: string cpv_or_eligibility_codes: type: array items: type: string procedure_type_or_award_stage: type: string additionalProperties: false additionalProperties: false predicate_passed: type: boolean receipt: type: object '402': description: x402 Payment Required. Decode PAYMENT-REQUIRED, satisfy the declared exact USDC requirement, then retry this same valid JSON request with PAYMENT-SIGNATURE. headers: PAYMENT-REQUIRED: description: Base64-encoded x402 v2 payment requirements. schema: type: string '422': description: Invalid paid execution request. /execute/cyber-vulnerability-risk-search-v1: post: operationId: execute_cyber_vulnerability_risk_search_v1 summary: Cyber Vulnerability Risk Search description: 'Search CVEs, CISA Known Exploited Vulnerabilities status, and GitHub Security Advisory package/ecosystem metadata in one call. Composes three separately licence-cleared sources: the NVD CVE API (CVSS scoring, descriptions), CVE Program data from cve.org (delivered via NVD), the CISA KEV catalog (CC0 1.0), and the GitHub Security Advisory Database''s github-reviewed set (CC-BY-4.0), ingested only via a local git checkout of the public repository -- never the live GitHub Security Advisories API. Does not use OSV.dev, vendor advisory text, or any proprietary vulnerability/exploit database.' tags: - DATA LOOKUP x-payment-info: price: mode: fixed currency: USD amount: '0.003000' protocols: - x402: {} network: base asset: USDC paymentRequiredHeader: PAYMENT-REQUIRED paymentSignatureHeader: PAYMENT-SIGNATURE paymentResponseHeader: PAYMENT-RESPONSE requestBody: required: true content: application/json: schema: type: object required: - input - predicate properties: input: type: object required: - query properties: query: type: string maxLength: 200 minLength: 1 description: A CVE ID (e.g. CVE-2021-44228), a GHSA ID (e.g. GHSA-jfh8-c2jp-5v3q), a package name (with filters.ecosystem), or free-text keywords. filters: type: object properties: limit: type: integer maximum: 25 minimum: 1 ecosystem: enum: - npm - pypi - maven - go - rust - nuget - rubygems - packagist - debian type: string min_severity: enum: - LOW - MEDIUM - HIGH - CRITICAL type: string published_after: type: string maxLength: 10 minLength: 10 description: YYYY-MM-DD known_exploited_only: type: boolean additionalProperties: false additionalProperties: false predicate: type: object description: Acceptance predicate evaluated before settlement. example: type: all conditions: - type: count_gte field: $.results value: 1 additionalProperties: false example: input: query: CVE-2021-44228 predicate: type: all conditions: - type: count_gte field: $.results value: 1 responses: '200': description: Predicate-gated result and commercial receipt. content: application/json: schema: type: object required: - payload - predicate_passed - receipt properties: payload: type: object required: - query - results - notices properties: query: type: string notices: type: array items: type: string results: type: array items: type: object required: - id - aliases - summary - severity - affected - known_exploited - vendor_advisory_urls - provenance - limitations properties: id: type: string aliases: type: array items: type: string summary: type: string affected: type: array items: type: object required: - ecosystem - package - version_ranges properties: package: type: string ecosystem: type: string version_ranges: type: array items: type: object properties: fixed: type: string introduced: type: string additionalProperties: false additionalProperties: false severity: type: object required: - label properties: label: enum: - LOW - MEDIUM - HIGH - CRITICAL - UNKNOWN type: string score: type: number vector: type: string cvss_version: type: string additionalProperties: false provenance: type: array items: type: object required: - source - source_url - licence - fetched_at properties: source: enum: - NVD - CVE - CISA_KEV - GHSA type: string licence: type: string fetched_at: type: string source_url: type: string additionalProperties: false limitations: type: array items: type: string modified_date: type: string published_date: type: string known_exploited: type: object required: - is_known_exploited properties: date_added: type: string ransomware_use: enum: - known - unknown type: string is_known_exploited: type: boolean additionalProperties: false vendor_advisory_urls: type: array items: type: string additionalProperties: false additionalProperties: false predicate_passed: type: boolean receipt: type: object '402': description: x402 Payment Required. Decode PAYMENT-REQUIRED, satisfy the declared exact USDC requirement, then retry this same valid JSON request with PAYMENT-SIGNATURE. headers: PAYMENT-REQUIRED: description: Base64-encoded x402 v2 payment requirements. schema: type: string '422': description: Invalid paid execution request. /execute/domain-trust-report-v1: post: operationId: execute_domain_trust_report_v1 summary: Domain Trust Report description: 'Single higher-value composite report for one domain: DNS resolution, TLS/SSL certificate validity and issuer, RDAP/WHOIS registration and nameservers, and email deliverability (MX/SPF/DMARC) signals, plus a derived trust score and risk band. Built entirely from already-cleared, already-live internal capabilities (domain-dns-check-v1, domain-ssl-check-v1, domain-whois-lookup-v1, email-domain-deliverability-check-v1) -- no new source, no new licence question, no proprietary reputation database.' tags: - DATA LOOKUP x-payment-info: price: mode: fixed currency: USD amount: '0.005000' protocols: - x402: {} network: base asset: USDC paymentRequiredHeader: PAYMENT-REQUIRED paymentSignatureHeader: PAYMENT-SIGNATURE paymentResponseHeader: PAYMENT-RESPONSE requestBody: required: true content: application/json: schema: type: object required: - input - predicate properties: input: type: object required: - domain properties: domain: type: string maxLength: 253 minLength: 1 description: Bare hostname, e.g. example.com -- not a full URL. dkim_selector: type: string maxLength: 63 minLength: 1 description: Optional DKIM selector to check (e.g. 'google', 'selector1'). Without it, DKIM presence is not checked -- only MX/SPF/DMARC. additionalProperties: false predicate: type: object description: Acceptance predicate evaluated before settlement. example: type: all conditions: - type: field_changed field: $.dns_resolves value: true operator: eq - type: count_gte field: $.source_urls value: 1 additionalProperties: false example: input: domain: example.com predicate: type: all conditions: - type: field_changed field: $.dns_resolves value: true operator: eq - type: count_gte field: $.source_urls value: 1 responses: '200': description: Predicate-gated result and commercial receipt. content: application/json: schema: type: object required: - payload - predicate_passed - receipt properties: payload: type: object required: - domain - dns_resolves - ip_addresses - ssl_valid - rdap_registered - mx_present - spf_present - dmarc_present - dmarc_policy - trust_score - risk - warnings - source_urls - retrieved_at - limitations properties: risk: enum: - low - medium - high type: string domain: type: string warnings: type: array items: type: string registrar: type: string ssl_valid: type: boolean mx_present: type: boolean limitations: type: array items: type: string nameservers: type: array items: type: string source_urls: type: array items: type: string spf_present: type: boolean trust_score: type: number dmarc_policy: type: string dns_resolves: type: boolean ip_addresses: type: array items: type: string retrieved_at: type: string dmarc_present: type: boolean domain_age_days: type: integer rdap_registered: type: boolean registration_date: type: string certificate_issuer: type: string certificate_expiry_days: type: integer additionalProperties: false predicate_passed: type: boolean receipt: type: object '402': description: x402 Payment Required. Decode PAYMENT-REQUIRED, satisfy the declared exact USDC requirement, then retry this same valid JSON request with PAYMENT-SIGNATURE. headers: PAYMENT-REQUIRED: description: Base64-encoded x402 v2 payment requirements. schema: type: string '422': description: Invalid paid execution request. /execute/email-domain-deliverability-check-v1: post: operationId: execute_email_domain_deliverability_check_v1 summary: Email Deliverability Check description: 'Checks whether a domain appears technically configured for email delivery, from direct public DNS records only: MX presence, SPF presence, DMARC presence and policy, and an optional DKIM selector check. Queries DNS over HTTPS against a public resolver -- no test emails sent, no mailbox existence verification, no personal data, no leaked-email databases, no proprietary deliverability dataset.' tags: - DATA LOOKUP x-payment-info: price: mode: fixed currency: USD amount: '0.003000' protocols: - x402: {} network: base asset: USDC paymentRequiredHeader: PAYMENT-REQUIRED paymentSignatureHeader: PAYMENT-SIGNATURE paymentResponseHeader: PAYMENT-RESPONSE requestBody: required: true content: application/json: schema: type: object required: - input - predicate properties: input: type: object required: - domain properties: domain: type: string maxLength: 253 minLength: 1 description: Bare hostname, e.g. example.com -- not a full URL. dkim_selector: type: string maxLength: 63 minLength: 1 description: Optional DKIM selector (e.g. 'google', '20161025') to check for a DKIM TXT record. Only checked when supplied. additionalProperties: false predicate: type: object description: Acceptance predicate evaluated before settlement. example: type: all conditions: - type: field_changed field: $.source value: direct_dns operator: eq - type: count_gte field: $.limitations value: 1 additionalProperties: false example: input: domain: example.com predicate: type: all conditions: - type: field_changed field: $.source value: direct_dns operator: eq - type: count_gte field: $.limitations value: 1 responses: '200': description: Predicate-gated result and commercial receipt. content: application/json: schema: type: object required: - payload - predicate_passed - receipt properties: payload: type: object required: - domain - mx_present - mx_records - spf_present - dmarc_present - dmarc_policy - dkim_checked - dkim_present - deliverability_score - risk - warnings - source - retrieved_at - limitations properties: risk: enum: - low - medium - high type: string domain: type: string source: type: string const: direct_dns warnings: type: array items: type: string mx_present: type: boolean mx_records: type: array items: type: string spf_record: type: string limitations: type: array items: type: string spf_present: type: boolean dkim_checked: type: boolean dkim_present: type: boolean dmarc_policy: enum: - none - quarantine - reject - unknown type: string retrieved_at: type: string dmarc_present: type: boolean deliverability_score: type: number additionalProperties: false predicate_passed: type: boolean receipt: type: object '402': description: x402 Payment Required. Decode PAYMENT-REQUIRED, satisfy the declared exact USDC requirement, then retry this same valid JSON request with PAYMENT-SIGNATURE. headers: PAYMENT-REQUIRED: description: Base64-encoded x402 v2 payment requirements. schema: type: string '422': description: Invalid paid execution request. /execute/product-safety-recall-search-v1: post: operationId: execute_product_safety_recall_search_v1 summary: Product Safety Recall Search description: Search official product safety recalls and alerts by product or brand keyword, across US FDA (food/drug) and UK OPSS (general product safety) -- the same already-cleared sources composed inside merchant-trust-check-v1, exposed here as a standalone product for use outside a merchant-domain context (e.g. checking a specific product name). EU Safety Gate non-food product alert data is licensed for inclusion (CC BY 4.0) but not yet technically integrated pending a documented access path. tags: - DATA LOOKUP x-payment-info: price: mode: fixed currency: USD amount: '0.003000' protocols: - x402: {} network: base asset: USDC paymentRequiredHeader: PAYMENT-REQUIRED paymentSignatureHeader: PAYMENT-SIGNATURE paymentResponseHeader: PAYMENT-RESPONSE requestBody: required: true content: application/json: schema: type: object required: - input - predicate properties: input: type: object required: - query properties: limit: type: integer default: 10 maximum: 20 minimum: 1 query: type: string maxLength: 160 minLength: 1 description: Product name, brand, or manufacturer keyword to search for. additionalProperties: false predicate: type: object description: Acceptance predicate evaluated before settlement. example: type: all conditions: - type: count_gte field: $.sources_checked value: 2 - type: count_gte field: $.limitations value: 1 additionalProperties: false example: input: limit: 5 query: Primark predicate: type: all conditions: - type: count_gte field: $.sources_checked value: 2 - type: count_gte field: $.limitations value: 1 responses: '200': description: Predicate-gated result and commercial receipt. content: application/json: schema: type: object required: - payload - predicate_passed - receipt properties: payload: type: object required: - query - records - total_matched - sources_checked - regions_checked - retrieved_at - limitations properties: query: type: string records: type: array items: type: object required: - title - source properties: url: type: string title: type: string source: enum: - US FDA (openfda-recalls) - UK OPSS type: string additionalProperties: false limitations: type: array items: type: string retrieved_at: type: string total_matched: type: integer regions_checked: type: array items: type: string sources_checked: type: array items: type: string additionalProperties: false predicate_passed: type: boolean receipt: type: object '402': description: x402 Payment Required. Decode PAYMENT-REQUIRED, satisfy the declared exact USDC requirement, then retry this same valid JSON request with PAYMENT-SIGNATURE. headers: PAYMENT-REQUIRED: description: Base64-encoded x402 v2 payment requirements. schema: type: string '422': description: Invalid paid execution request. /execute/government-surplus-auction-search-v1: post: operationId: execute_government_surplus_auction_search_v1 summary: Government Surplus Auction Search description: 'Search official US government surplus auction listings -- equipment, vehicles, machinery, scientific equipment, electronics, aircraft, vessels, and other surplus assets -- via the live GSA Auctions API. Returns source-linked listing metadata only: no eBay, third-party auction scrapers, or other marketplace data. GSA Auctions API responses are US federal government works, public domain under 17 U.S.C. Section 105.' tags: - DATA LOOKUP x-payment-info: price: mode: fixed currency: USD amount: '0.003000' protocols: - x402: {} network: base asset: USDC paymentRequiredHeader: PAYMENT-REQUIRED paymentSignatureHeader: PAYMENT-SIGNATURE paymentResponseHeader: PAYMENT-RESPONSE requestBody: required: true content: application/json: schema: type: object required: - input - predicate properties: input: type: object required: - query properties: limit: type: integer default: 10 maximum: 20 minimum: 1 query: type: string maxLength: 160 minLength: 1 description: Keyword to search for, e.g. 'forklift', 'microscope', 'aircraft'. state: type: string maxLength: 2 minLength: 2 description: Optional 2-letter US state code to narrow results by item/sale location. additionalProperties: false predicate: type: object description: Acceptance predicate evaluated before settlement. example: type: all conditions: - type: field_changed field: $.provenance.live_data value: true operator: eq - type: field_changed field: $.provenance.source_name value: GSA Auctions operator: eq additionalProperties: false example: input: limit: 5 query: microscope predicate: type: all conditions: - type: field_changed field: $.provenance.live_data value: true operator: eq - type: field_changed field: $.provenance.source_name value: GSA Auctions operator: eq responses: '200': description: Predicate-gated result and commercial receipt. content: application/json: schema: type: object required: - payload - predicate_passed - receipt properties: payload: type: object required: - query - records - total_matched - provenance - limitations properties: query: type: string records: type: array items: type: object required: - title - auction_status - source_url - source_name - content_hash properties: title: type: string category: type: string location: type: string source_url: type: string current_bid: type: number source_name: type: string closing_date: type: string content_hash: type: string auction_status: type: string sale_lot_number: type: string additionalProperties: false provenance: type: object required: - source_name - licence_basis - retrieved_at - metadata_only - live_data properties: live_data: type: boolean source_name: type: string retrieved_at: type: string licence_basis: type: string metadata_only: type: boolean limitations: type: array items: type: string total_matched: type: integer additionalProperties: false predicate_passed: type: boolean receipt: type: object '402': description: x402 Payment Required. Decode PAYMENT-REQUIRED, satisfy the declared exact USDC requirement, then retry this same valid JSON request with PAYMENT-SIGNATURE. headers: PAYMENT-REQUIRED: description: Base64-encoded x402 v2 payment requirements. schema: type: string '422': description: Invalid paid execution request. /execute/merchant-trust-check-v1: post: operationId: execute_merchant_trust_check_v1 summary: Merchant Trust Check description: 'Composite trust check for a merchant domain before an agent recommends or transacts with it: live DNS/SSL/RDAP domain signals, same-origin shipping/returns/contact policy-page presence, UK Companies House registration match (GB-only), and US FDA + UK OPSS product recall/safety alert flags. Built entirely from already-cleared internal capabilities and direct, robots.txt-respecting fetches of the merchant''s own public pages -- no new third-party licensed dataset. Not a fraud or compliance determination.' tags: - DATA LOOKUP x-payment-info: price: mode: fixed currency: USD amount: '0.005000' protocols: - x402: {} network: base asset: USDC paymentRequiredHeader: PAYMENT-REQUIRED paymentSignatureHeader: PAYMENT-SIGNATURE paymentResponseHeader: PAYMENT-RESPONSE requestBody: required: true content: application/json: schema: type: object required: - input - predicate properties: input: type: object required: - domain properties: domain: type: string maxLength: 253 minLength: 1 description: Merchant's bare hostname, e.g. example-store.com -- not a full URL. country: type: string maxLength: 2 minLength: 2 description: Optional 2-letter country code. Only GB currently enables company_match, via UK Companies House. company_name: type: string maxLength: 160 minLength: 1 description: Optional merchant legal/trading name, used for company_match and recall_flags lookups. additionalProperties: false predicate: type: object description: Acceptance predicate evaluated before settlement. example: type: all conditions: - type: field_changed field: $.dns_ok value: true operator: eq - type: count_gte field: $.source_urls value: 1 additionalProperties: false example: input: domain: example-store.com country: GB company_name: Example Store Ltd predicate: type: all conditions: - type: field_changed field: $.dns_ok value: true operator: eq - type: count_gte field: $.source_urls value: 1 responses: '200': description: Predicate-gated result and commercial receipt. content: application/json: schema: type: object required: - payload - predicate_passed - receipt properties: payload: type: object required: - domain - dns_ok - ssl_ok - rdap_found - trust_score - risk properties: risk: enum: - low - medium - high type: string dns_ok: type: boolean domain: type: string ssl_ok: type: boolean registrar: type: string rdap_found: type: boolean limitations: type: array items: type: string source_urls: type: array items: type: string trust_score: type: number recall_flags: type: array items: type: string recall_scope: type: string retrieved_at: type: string company_match: enum: - matched - not_found - unclear type: string domain_age_days: type: integer contact_page_url: type: string contact_page_found: type: boolean recall_limitations: type: array items: type: string recall_source_urls: type: array items: type: string returns_policy_url: type: string company_match_scope: type: string recall_retrieved_at: type: string shipping_policy_url: type: string returns_policy_found: type: boolean shipping_policy_found: type: boolean recall_regions_checked: type: array items: type: string recall_sources_checked: type: array items: type: string additionalProperties: false predicate_passed: type: boolean receipt: type: object '402': description: x402 Payment Required. Decode PAYMENT-REQUIRED, satisfy the declared exact USDC requirement, then retry this same valid JSON request with PAYMENT-SIGNATURE. headers: PAYMENT-REQUIRED: description: Base64-encoded x402 v2 payment requirements. schema: type: string '422': description: Invalid paid execution request. /execute/vat-validate-v1: post: operationId: execute_vat_validate_v1 summary: 'Financial Validation: EU VAT Number Check' description: Single live pass-through call to the EU Commission's VIES (VAT Information Exchange System) confirming whether an EU VAT registration number is currently valid, with registered name/address when available. Every call is a real-time confirmation only -- never a cached, stored, or aggregated result -- matching VIES's own stated purpose (real-time confirmation of VAT number validity per Council Regulation (EC) No. 904/2010) and how existing commercial VIES-based products already operate. tags: - DATA LOOKUP x-payment-info: price: mode: fixed currency: USD amount: '0.003000' protocols: - x402: {} network: base asset: USDC paymentRequiredHeader: PAYMENT-REQUIRED paymentSignatureHeader: PAYMENT-SIGNATURE paymentResponseHeader: PAYMENT-RESPONSE requestBody: required: true content: application/json: schema: type: object required: - input - predicate properties: input: type: object required: - country_code - vat_number properties: vat_number: type: string maxLength: 20 minLength: 2 description: VAT number without the country prefix. country_code: type: string maxLength: 2 minLength: 2 description: 2-letter EU member state code, e.g. IE, DE, FR. additionalProperties: false predicate: type: object description: Acceptance predicate evaluated before settlement. example: type: all conditions: - type: field_changed field: $.valid value: true operator: eq additionalProperties: false example: input: vat_number: 6388047V country_code: IE predicate: type: all conditions: - type: field_changed field: $.valid value: true operator: eq responses: '200': description: Predicate-gated result and commercial receipt. content: application/json: schema: type: object required: - payload - predicate_passed - receipt properties: payload: type: object required: - country_code - vat_number - valid properties: name: type: string valid: type: boolean address: type: string vat_number: type: string country_code: type: string request_date: type: string additionalProperties: false predicate_passed: type: boolean receipt: type: object '402': description: x402 Payment Required. Decode PAYMENT-REQUIRED, satisfy the declared exact USDC requirement, then retry this same valid JSON request with PAYMENT-SIGNATURE. headers: PAYMENT-REQUIRED: description: Base64-encoded x402 v2 payment requirements. schema: type: string '422': description: Invalid paid execution request. /execute/iban-validate-v1: post: operationId: execute_iban_validate_v1 summary: 'Financial Validation: IBAN Structural Check' description: Offline International Bank Account Number (IBAN) structural and checksum validation (ISO 7064 MOD 97-10) against the published SWIFT IBAN Registry per-country length table. Pure algorithmic validation of a published international standard -- no proprietary bank dataset, no network call, no third-party licence dependency. tags: - DATA LOOKUP x-payment-info: price: mode: fixed currency: USD amount: '0.002000' protocols: - x402: {} network: base asset: USDC paymentRequiredHeader: PAYMENT-REQUIRED paymentSignatureHeader: PAYMENT-SIGNATURE paymentResponseHeader: PAYMENT-RESPONSE requestBody: required: true content: application/json: schema: type: object required: - input - predicate properties: input: type: object required: - iban properties: iban: type: string maxLength: 42 minLength: 1 description: IBAN, with or without spaces. additionalProperties: false predicate: type: object description: Acceptance predicate evaluated before settlement. example: type: all conditions: - type: field_changed field: $.valid value: true operator: eq additionalProperties: false example: input: iban: DE89370400440532013000 predicate: type: all conditions: - type: field_changed field: $.valid value: true operator: eq responses: '200': description: Predicate-gated result and commercial receipt. content: application/json: schema: type: object required: - payload - predicate_passed - receipt properties: payload: type: object required: - iban - valid properties: iban: type: string valid: type: boolean length: type: integer reason: type: string country_code: type: string additionalProperties: false predicate_passed: type: boolean receipt: type: object '402': description: x402 Payment Required. Decode PAYMENT-REQUIRED, satisfy the declared exact USDC requirement, then retry this same valid JSON request with PAYMENT-SIGNATURE. headers: PAYMENT-REQUIRED: description: Base64-encoded x402 v2 payment requirements. schema: type: string '422': description: Invalid paid execution request. /execute/lei-lookup-v1: post: operationId: execute_lei_lookup_v1 summary: 'Financial Validation: LEI Lookup' description: 'Live Legal Entity Identifier (LEI) lookup via GLEIF''s public API: legal name, entity status, jurisdiction, and registration status. GLEIF LEI reference data is published under CC0 1.0 Universal -- commercial reuse, including paid API resale, is explicitly permitted with no attribution requirement.' tags: - DATA LOOKUP x-payment-info: price: mode: fixed currency: USD amount: '0.003000' protocols: - x402: {} network: base asset: USDC paymentRequiredHeader: PAYMENT-REQUIRED paymentSignatureHeader: PAYMENT-SIGNATURE paymentResponseHeader: PAYMENT-RESPONSE requestBody: required: true content: application/json: schema: type: object required: - input - predicate properties: input: type: object required: - lei properties: lei: type: string maxLength: 20 minLength: 20 description: 20-character alphanumeric Legal Entity Identifier. additionalProperties: false predicate: type: object description: Acceptance predicate evaluated before settlement. example: type: all conditions: - type: field_changed field: $.found value: true operator: eq - type: not condition: type: field_changed field: $.legal_name value: '' operator: eq additionalProperties: false example: input: lei: 529900T8BM49AURSDO55 predicate: type: all conditions: - type: field_changed field: $.found value: true operator: eq - type: not condition: type: field_changed field: $.legal_name value: '' operator: eq responses: '200': description: Predicate-gated result and commercial receipt. content: application/json: schema: type: object required: - payload - predicate_passed - receipt properties: payload: type: object required: - lei - found properties: lei: type: string found: type: boolean legal_name: type: string jurisdiction: type: string entity_status: type: string legal_address_city: type: string registration_status: type: string legal_address_country: type: string additionalProperties: false predicate_passed: type: boolean receipt: type: object '402': description: x402 Payment Required. Decode PAYMENT-REQUIRED, satisfy the declared exact USDC requirement, then retry this same valid JSON request with PAYMENT-SIGNATURE. headers: PAYMENT-REQUIRED: description: Base64-encoded x402 v2 payment requirements. schema: type: string '422': description: Invalid paid execution request. /execute/domain-whois-lookup-v1: post: operationId: execute_domain_whois_lookup_v1 summary: 'Domain Web Trust: WHOIS/RDAP Lookup' description: 'Part of the Domain Web Trust family: live domain registration lookup via RDAP (RFC 9083), useful for confirming registrar/provenance metadata before an agent interacts with a website or merchant. RDAP is the IANA-standardized, machine-readable successor to legacy WHOIS: reports registration status, registrar, and registration/expiration dates. Queried through the public rdap.org bootstrap redirector at request time -- not a scrape of any single registrar''s own WHOIS server, and not a resold third-party dataset.' tags: - DATA LOOKUP x-payment-info: price: mode: fixed currency: USD amount: '0.003000' protocols: - x402: {} network: base asset: USDC paymentRequiredHeader: PAYMENT-REQUIRED paymentSignatureHeader: PAYMENT-SIGNATURE paymentResponseHeader: PAYMENT-RESPONSE requestBody: required: true content: application/json: schema: type: object required: - input - predicate properties: input: type: object required: - domain properties: domain: type: string maxLength: 253 minLength: 1 description: Bare hostname, e.g. example.com -- not a full URL. additionalProperties: false predicate: type: object description: Acceptance predicate evaluated before settlement. example: type: all conditions: - type: field_changed field: $.registered value: true operator: eq additionalProperties: false example: input: domain: example.com predicate: type: all conditions: - type: field_changed field: $.registered value: true operator: eq responses: '200': description: Predicate-gated result and commercial receipt. content: application/json: schema: type: object required: - payload - predicate_passed - receipt properties: payload: type: object required: - domain - registered properties: domain: type: string status: type: array items: type: string registrar: type: string registered: type: boolean nameservers: type: array items: type: string expiration_date: type: string registration_date: type: string additionalProperties: false predicate_passed: type: boolean receipt: type: object '402': description: x402 Payment Required. Decode PAYMENT-REQUIRED, satisfy the declared exact USDC requirement, then retry this same valid JSON request with PAYMENT-SIGNATURE. headers: PAYMENT-REQUIRED: description: Base64-encoded x402 v2 payment requirements. schema: type: string '422': description: Invalid paid execution request. /execute/domain-ssl-check-v1: post: operationId: execute_domain_ssl_check_v1 summary: 'Domain Web Trust: SSL Certificate Check' description: 'Part of the Domain Web Trust family: live TLS handshake against a domain''s HTTPS port, useful for confirming a domain has a valid, current certificate before an agent interacts with a website or merchant. Reports certificate validity, issuer/subject, and validity window (including days until expiry). Performed via a real TLS connection at request time -- no third-party certificate-transparency dataset or resale-terms question.' tags: - DATA LOOKUP x-payment-info: price: mode: fixed currency: USD amount: '0.001000' protocols: - x402: {} network: base asset: USDC paymentRequiredHeader: PAYMENT-REQUIRED paymentSignatureHeader: PAYMENT-SIGNATURE paymentResponseHeader: PAYMENT-RESPONSE requestBody: required: true content: application/json: schema: type: object required: - input - predicate properties: input: type: object required: - domain properties: domain: type: string maxLength: 253 minLength: 1 description: Bare hostname, e.g. example.com -- not a full URL. additionalProperties: false predicate: type: object description: Acceptance predicate evaluated before settlement. example: type: all conditions: - type: field_changed field: $.has_valid_certificate value: true operator: eq - type: field_changed field: $.is_expired value: false operator: eq additionalProperties: false example: input: domain: example.com predicate: type: all conditions: - type: field_changed field: $.has_valid_certificate value: true operator: eq - type: field_changed field: $.is_expired value: false operator: eq responses: '200': description: Predicate-gated result and commercial receipt. content: application/json: schema: type: object required: - payload - predicate_passed - receipt properties: payload: type: object required: - domain - has_valid_certificate properties: domain: type: string issuer: type: string subject: type: string not_after: type: string is_expired: type: boolean not_before: type: string days_until_expiry: type: integer verification_error: type: string has_valid_certificate: type: boolean additionalProperties: false predicate_passed: type: boolean receipt: type: object '402': description: x402 Payment Required. Decode PAYMENT-REQUIRED, satisfy the declared exact USDC requirement, then retry this same valid JSON request with PAYMENT-SIGNATURE. headers: PAYMENT-REQUIRED: description: Base64-encoded x402 v2 payment requirements. schema: type: string '422': description: Invalid paid execution request. /execute/domain-dns-check-v1: post: operationId: execute_domain_dns_check_v1 summary: 'Domain Web Trust: DNS Check' description: 'Part of the Domain Web Trust family: live DNS resolution check for a domain, useful for confirming a domain has valid DNS before an agent interacts with a website or merchant. Reports whether it resolves and to which IPv4/IPv6 addresses. Queries the public DNS protocol directly at request time -- no third-party dataset, no cached or scraped WHOIS/registry data, so there is no resale-terms question.' tags: - DATA LOOKUP x-payment-info: price: mode: fixed currency: USD amount: '0.001000' protocols: - x402: {} network: base asset: USDC paymentRequiredHeader: PAYMENT-REQUIRED paymentSignatureHeader: PAYMENT-SIGNATURE paymentResponseHeader: PAYMENT-RESPONSE requestBody: required: true content: application/json: schema: type: object required: - input - predicate properties: input: type: object required: - domain properties: domain: type: string maxLength: 253 minLength: 1 description: Bare hostname, e.g. example.com -- not a full URL. additionalProperties: false predicate: type: object description: Acceptance predicate evaluated before settlement. example: type: all conditions: - type: field_changed field: $.resolves value: true operator: eq - type: count_gte field: $.addresses value: 1 additionalProperties: false example: input: domain: example.com predicate: type: all conditions: - type: field_changed field: $.resolves value: true operator: eq - type: count_gte field: $.addresses value: 1 responses: '200': description: Predicate-gated result and commercial receipt. content: application/json: schema: type: object required: - payload - predicate_passed - receipt properties: payload: type: object required: - domain - resolves - addresses properties: domain: type: string resolves: type: boolean addresses: type: array items: type: string additionalProperties: false predicate_passed: type: boolean receipt: type: object '402': description: x402 Payment Required. Decode PAYMENT-REQUIRED, satisfy the declared exact USDC requirement, then retry this same valid JSON request with PAYMENT-SIGNATURE. headers: PAYMENT-REQUIRED: description: Base64-encoded x402 v2 payment requirements. schema: type: string '422': description: Invalid paid execution request.