{
  "openapi": "3.1.0",
  "info": {
    "title": "DOHMAN Agent Commerce Gateway",
    "version": "1.2.0",
    "description": "Machine-payable x402 services for agent release safety, revenue routing, web evidence, domain/company enrichment and Base on-chain snapshots. Each route returns Base-USDC HTTP 402 terms before unpaid processing."
  },
  "servers": [
    {
      "url": "https://dohman-agent-commerce.floot.app"
    }
  ],
  "paths": {
    "/_api/agent-change-radar": {
      "post": {
        "operationId": "agent_change_radar",
        "summary": "Agent Change Radar",
        "description": "Recurring preflight change detector for autonomous agents; compares before/after tool, permission and release state and surfaces meaningful drift before deployment.",
        "tags": [
          "agents",
          "x402",
          "preflight",
          "release"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.001"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "before",
                  "after"
                ],
                "properties": {
                  "before": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "after": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "ignore_top_level_keys": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "maxItems": 50
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Paid successful response"
          },
          "400": {
            "description": "Invalid input"
          },
          "402": {
            "description": "Payment Required"
          },
          "503": {
            "description": "Temporary upstream failure"
          }
        },
        "x-x402-runtime": {
          "network": "eip155:8453",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "amountAtomic": "1000",
          "payTo": "0xcfFC976906D38aA752937C9785Ed4f3FD046a946",
          "scheme": "exact"
        }
      }
    },
    "/_api/revenue-autopilot": {
      "post": {
        "operationId": "revenue_autopilot",
        "summary": "Revenue Autopilot Router",
        "description": "Ranks fresh funded machine work and returns the safest bounded next revenue action for an agent based on capabilities and payout constraints.",
        "tags": [
          "agents",
          "x402",
          "revenue",
          "jobs",
          "bounties"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.02"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "capabilities"
                ],
                "properties": {
                  "capabilities": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "minItems": 1,
                    "maxItems": 30
                  },
                  "min_payout_usd": {
                    "type": "number",
                    "minimum": 0
                  },
                  "max_items": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 20
                  },
                  "allow_requires_wallet": {
                    "type": "boolean"
                  },
                  "allow_requires_gas": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Paid successful response"
          },
          "400": {
            "description": "Invalid input"
          },
          "402": {
            "description": "Payment Required"
          },
          "503": {
            "description": "Temporary upstream failure"
          }
        },
        "x-x402-runtime": {
          "network": "eip155:8453",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "amountAtomic": "20000",
          "payTo": "0xcfFC976906D38aA752937C9785Ed4f3FD046a946",
          "scheme": "exact"
        }
      }
    },
    "/_api/agent-assurance-pack": {
      "post": {
        "operationId": "agent_assurance_pack",
        "summary": "Agent Release Assurance Pack",
        "description": "Unified pre-release assurance over tools, permissions, payment/runtime drift and optional OpenAPI, tool-call and receipt evidence.",
        "tags": [
          "agents",
          "x402",
          "assurance",
          "mcp",
          "openapi",
          "receipts"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.25"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "baseline",
                  "candidate"
                ],
                "properties": {
                  "baseline": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "candidate": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "openapi": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "tool_calls": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "receipts": {
                    "type": "array",
                    "maxItems": 1000
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Paid successful response"
          },
          "400": {
            "description": "Invalid input"
          },
          "402": {
            "description": "Payment Required"
          },
          "503": {
            "description": "Temporary upstream failure"
          }
        },
        "x-x402-runtime": {
          "network": "eip155:8453",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "amountAtomic": "250000",
          "payTo": "0xcfFC976906D38aA752937C9785Ed4f3FD046a946",
          "scheme": "exact"
        }
      }
    },
    "/_api/safe-web-read": {
      "post": {
        "operationId": "web_read_contents",
        "summary": "Web Contents Evidence Batch",
        "description": "Fetch one public HTTPS URL or up to 3 URLs in parallel and return clean text, metadata, links, citation-ready hashed chunks, page hashes and prompt-injection indicators for autonomous research and RAG workflows.",
        "tags": [
          "web-read",
          "web-contents",
          "batch-read",
          "rag",
          "evidence"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.002"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string",
                    "format": "uri"
                  },
                  "urls": {
                    "type": "array",
                    "minItems": 1,
                    "maxItems": 3,
                    "items": {
                      "type": "string",
                      "format": "uri"
                    }
                  },
                  "respect_robots": {
                    "type": "boolean"
                  }
                },
                "anyOf": [
                  {
                    "required": [
                      "url"
                    ]
                  },
                  {
                    "required": [
                      "urls"
                    ]
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Paid successful response"
          },
          "400": {
            "description": "Invalid input"
          },
          "402": {
            "description": "Payment Required"
          },
          "503": {
            "description": "Temporary upstream failure"
          }
        },
        "x-x402-runtime": {
          "network": "eip155:8453",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "amountAtomic": "2000",
          "payTo": "0xcfFC976906D38aA752937C9785Ed4f3FD046a946",
          "scheme": "exact"
        }
      }
    },
    "/_api/domain-company-enrich": {
      "post": {
        "operationId": "company_domain_enrich",
        "summary": "Domain Company Evidence Enrich",
        "description": "Public domain/company enrichment combining homepage metadata, JSON-LD organization evidence, public social/about/contact links, DNS, security headers, technology hints, redirects and evidence hashes.",
        "tags": [
          "data-enrichment",
          "company",
          "domain",
          "dns",
          "evidence"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.003"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "domain": {
                    "type": "string"
                  },
                  "url": {
                    "type": "string",
                    "format": "uri"
                  }
                },
                "anyOf": [
                  {
                    "required": [
                      "domain"
                    ]
                  },
                  {
                    "required": [
                      "url"
                    ]
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Paid successful response"
          },
          "400": {
            "description": "Invalid input"
          },
          "402": {
            "description": "Payment Required"
          },
          "503": {
            "description": "Temporary upstream failure"
          }
        },
        "x-x402-runtime": {
          "network": "eip155:8453",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "amountAtomic": "3000",
          "payTo": "0xcfFC976906D38aA752937C9785Ed4f3FD046a946",
          "scheme": "exact"
        }
      }
    },
    "/_api/domain-company-enrich-batch": {
      "post": {
        "operationId": "domain_company_enrich_batch",
        "summary": "Batch Domain Company Evidence Enrich",
        "description": "Enrich 1-5 public domains per call with company/homepage metadata, JSON-LD organization evidence, public social/about/contact links, DNS, security headers, technology hints, redirects and evidence hashes.",
        "tags": [
          "data-enrichment",
          "batch",
          "company",
          "domain",
          "lead-enrichment",
          "dns",
          "evidence"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.01"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "domains"
                ],
                "properties": {
                  "domains": {
                    "type": "array",
                    "minItems": 1,
                    "maxItems": 5,
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Paid successful response"
          },
          "400": {
            "description": "Invalid input"
          },
          "402": {
            "description": "Payment Required"
          },
          "503": {
            "description": "Temporary upstream failure"
          }
        },
        "x-x402-runtime": {
          "network": "eip155:8453",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "amountAtomic": "10000",
          "payTo": "0xcfFC976906D38aA752937C9785Ed4f3FD046a946",
          "scheme": "exact"
        }
      }
    },
    "/_api/base-address-snapshot": {
      "post": {
        "operationId": "base_address_snapshot",
        "summary": "Base Wallet + Token Snapshot",
        "description": "Read-only Base wallet and token snapshot returning ETH balance, USDC by default, up to 4 optional ERC-20 balances, nonce, EOA-vs-contract classification, bytecode size/hash and latest block.",
        "tags": [
          "onchain",
          "base",
          "wallet",
          "erc20",
          "balance"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.003"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "address"
                ],
                "properties": {
                  "address": {
                    "type": "string",
                    "pattern": "^0x[a-fA-F0-9]{40}$"
                  },
                  "include_usdc": {
                    "type": "boolean"
                  },
                  "token_addresses": {
                    "type": "array",
                    "maxItems": 4,
                    "items": {
                      "type": "string",
                      "pattern": "^0x[a-fA-F0-9]{40}$"
                    }
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Paid successful response"
          },
          "400": {
            "description": "Invalid input"
          },
          "402": {
            "description": "Payment Required"
          },
          "503": {
            "description": "Temporary upstream failure"
          }
        },
        "x-x402-runtime": {
          "network": "eip155:8453",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "amountAtomic": "3000",
          "payTo": "0xcfFC976906D38aA752937C9785Ed4f3FD046a946",
          "scheme": "exact"
        }
      }
    },
    "/_api/base-tx-receipt-snapshot": {
      "post": {
        "operationId": "base_tx_receipt_snapshot",
        "summary": "Base TX + Receipt Snapshot",
        "description": "Read-only Base transaction and receipt intelligence returning transaction fields, receipt status, gas and fee data, contract-creation result, log count and block timestamp from one tx hash.",
        "tags": [
          "onchain",
          "base",
          "transaction",
          "receipt",
          "gas"
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.006"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "tx_hash"
                ],
                "properties": {
                  "tx_hash": {
                    "type": "string",
                    "pattern": "^0x[a-fA-F0-9]{64}$"
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Paid successful response"
          },
          "400": {
            "description": "Invalid input"
          },
          "402": {
            "description": "Payment Required"
          },
          "503": {
            "description": "Temporary upstream failure"
          }
        },
        "x-x402-runtime": {
          "network": "eip155:8453",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "amountAtomic": "6000",
          "payTo": "0xcfFC976906D38aA752937C9785Ed4f3FD046a946",
          "scheme": "exact"
        }
      }
    }
  }
}