{
  "generatedBy": "agent-tip-experiment/scripts/sync-network.mjs",
  "schemaVersion": "1",
  "catalogVersion": "1",
  "catalogHash": "sha256:4f0e60b69bd4daa23ebc3b6e72da92374792f5ca36f7cc63418993399548676f",
  "name": "ONE PERCENT Agent Utility Rack",
  "site": {
    "id": "netlify",
    "label": "netlify"
  },
  "executionOrigin": "https://one-percent-agent-tip.middletontanne137269.chatgpt.site",
  "payment": {
    "scheme": "x402",
    "network": "eip155:8453",
    "networkName": "Base Mainnet",
    "asset": "USDC",
    "facilitator": "https://facilitator.xpay.sh"
  },
  "ownerCostPolicy": "No paid infrastructure or seller-funded gas fallback.",
  "tools": [
    {
      "id": "payment-preflight",
      "name": "Payment Preflight",
      "method": "POST",
      "priceUsd": "0.05",
      "endpoint": "https://one-percent-agent-tip.middletontanne137269.chatgpt.site/api/tools/payment-preflight?source=netlify",
      "summary": "Inspect an x402 payment request before an agent decides whether to pay.",
      "inputSchema": {
        "type": "object",
        "required": [
          "url",
          "maxUsd"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048
          },
          "maxUsd": {
            "type": "string",
            "pattern": "^(0|[1-9][0-9]*)(\\.[0-9]{1,6})?$",
            "maxLength": 20
          }
        },
        "additionalProperties": false
      },
      "resultSchema": {
        "type": "object",
        "required": [
          "reachable",
          "paymentRequired",
          "withinBudget",
          "safeToAttempt",
          "warnings"
        ],
        "properties": {
          "reachable": {
            "type": "boolean"
          },
          "httpStatus": {
            "type": [
              "integer",
              "null"
            ]
          },
          "paymentRequired": {
            "type": "boolean"
          },
          "scheme": {
            "type": [
              "string",
              "null"
            ]
          },
          "network": {
            "type": [
              "string",
              "null"
            ]
          },
          "asset": {
            "type": [
              "string",
              "null"
            ]
          },
          "amountUsd": {
            "type": [
              "string",
              "null"
            ]
          },
          "payTo": {
            "type": [
              "string",
              "null"
            ]
          },
          "withinBudget": {
            "type": "boolean"
          },
          "safeToAttempt": {
            "type": "boolean"
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      }
    },
    {
      "id": "site-audit",
      "name": "Site Audit",
      "method": "POST",
      "priceUsd": "0.10",
      "endpoint": "https://one-percent-agent-tip.middletontanne137269.chatgpt.site/api/tools/site-audit?source=netlify",
      "summary": "Check whether a public HTTPS site is reachable and understandable to agents.",
      "inputSchema": {
        "type": "object",
        "required": [
          "url"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048
          }
        },
        "additionalProperties": false
      },
      "resultSchema": {
        "type": "object",
        "required": [
          "reachable",
          "score",
          "checks",
          "findings"
        ],
        "properties": {
          "reachable": {
            "type": "boolean"
          },
          "finalUrl": {
            "type": [
              "string",
              "null"
            ]
          },
          "httpStatus": {
            "type": [
              "integer",
              "null"
            ]
          },
          "latencyMs": {
            "type": [
              "integer",
              "null"
            ]
          },
          "score": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100
          },
          "checks": {
            "type": "object"
          },
          "findings": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      }
    },
    {
      "id": "budget-guard",
      "name": "Budget Guard",
      "method": "POST",
      "priceUsd": "0.01",
      "endpoint": "https://one-percent-agent-tip.middletontanne137269.chatgpt.site/api/tools/budget-guard?source=netlify",
      "summary": "Check a proposed purchase against remaining budget, per-call limits, and reserves.",
      "inputSchema": {
        "type": "object",
        "required": [
          "proposedUsd",
          "remainingUsd",
          "perCallLimitUsd",
          "reserveUsd"
        ],
        "properties": {
          "proposedUsd": {
            "type": "string",
            "pattern": "^(0|[1-9][0-9]*)(\\.[0-9]{1,6})?$",
            "maxLength": 20
          },
          "remainingUsd": {
            "type": "string",
            "pattern": "^(0|[1-9][0-9]*)(\\.[0-9]{1,6})?$",
            "maxLength": 20
          },
          "perCallLimitUsd": {
            "type": "string",
            "pattern": "^(0|[1-9][0-9]*)(\\.[0-9]{1,6})?$",
            "maxLength": 20
          },
          "reserveUsd": {
            "type": "string",
            "pattern": "^(0|[1-9][0-9]*)(\\.[0-9]{1,6})?$",
            "maxLength": 20
          }
        },
        "additionalProperties": false
      },
      "resultSchema": {
        "type": "object",
        "required": [
          "allowed",
          "proposedUsd",
          "remainingAfterUsd",
          "reasons"
        ],
        "properties": {
          "allowed": {
            "type": "boolean"
          },
          "proposedUsd": {
            "type": "string"
          },
          "remainingAfterUsd": {
            "type": "string"
          },
          "reasons": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      }
    }
  ],
  "documentation": {
    "openapi": "./openapi.json",
    "llms": "./llms.txt",
    "skill": "./skill.md",
    "examples": "./examples.md"
  }
}
