{
  "openapi": "3.1.0",
  "info": {
    "title": "AV-Hub x402 Tools API",
    "version": "0.0.0-phase0",
    "description": "Phase 0 discovery stub. Paid routes on api.defifintechdirectory.com are coming soon — payments not live. listed:false. Network: Base USDC (eip155:8453).",
    "x-guidance": "pay with x402 exact on Base; see https://defifintechdirectory.com/llms.txt. Phase 0 = discovery only.",
    "x-listed": false,
    "x-phase": 0,
    "x-payTo": "0x96873Fb532C630aE88c5e8A5dF5ef430c92dfF32",
    "contact": {
      "name": "Aeternus Vita / AV-Hub",
      "url": "https://defifintechdirectory.com/about.html"
    }
  },
  "servers": [
    {
      "url": "https://api.defifintechdirectory.com",
      "description": "HTTP x402 gateway (Phase 1+ — not live in Phase 0)"
    }
  ],
  "tags": [
    { "name": "tools", "description": "AV-Hub MVP studio tools" },
    { "name": "coming", "description": "Agent-daily tools planned — not sellable yet" },
    { "name": "meta", "description": "Discovery / health" }
  ],
  "paths": {
    "/health": {
      "get": {
        "tags": ["meta"],
        "summary": "Gateway health",
        "operationId": "getHealth",
        "responses": {
          "200": {
            "description": "Liveness",
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/Health" }
              }
            }
          }
        }
      }
    },
    "/tools/game_launch_kit": {
      "post": {
        "tags": ["tools"],
        "summary": "Game Launch Kit — $1.00 USDC",
        "description": "Genre → PRD + COMPS + PROMPTS + LAUNCH-NOTES + checklist. Coming soon (Phase 0 stub).",
        "operationId": "gameLaunchKit",
        "x-payment-info": {
          "protocols": ["x402"],
          "price": { "amount": "1.00", "amountAtomic": "1000000", "asset": "USDC", "network": "eip155:8453" },
          "scheme": "exact",
          "payTo": "0x96873Fb532C630aE88c5e8A5dF5ef430c92dfF32",
          "status": "coming_soon"
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "genre": { "type": "string" },
                  "platform": { "type": "string", "enum": ["itch", "ios", "quest", "roblox"] },
                  "tone": { "type": "string" }
                },
                "required": ["genre", "platform"]
              }
            }
          }
        },
        "responses": {
          "402": { "description": "Payment Required (x402) — when live" },
          "501": { "description": "Not implemented — Phase 0 discovery stub" },
          "200": { "description": "Tool result + payment receipt (when live)" }
        }
      }
    },
    "/tools/store_art_prompt_pack": {
      "post": {
        "tags": ["tools"],
        "summary": "Store Art Prompt Pack — $0.15 USDC",
        "description": "Imagine-ready prompts + negatives for store listing art. Coming soon.",
        "operationId": "storeArtPromptPack",
        "x-payment-info": {
          "protocols": ["x402"],
          "price": { "amount": "0.15", "amountAtomic": "150000", "asset": "USDC", "network": "eip155:8453" },
          "scheme": "exact",
          "payTo": "0x96873Fb532C630aE88c5e8A5dF5ef430c92dfF32",
          "status": "coming_soon"
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": { "type": "string" },
                  "genre": { "type": "string" },
                  "palette": { "type": "string" },
                  "aspects": { "type": "array", "items": { "type": "string" } }
                },
                "required": ["title", "genre"]
              }
            }
          }
        },
        "responses": {
          "402": { "description": "Payment Required (x402) — when live" },
          "501": { "description": "Not implemented — Phase 0 discovery stub" }
        }
      }
    },
    "/tools/ship_gate_audit": {
      "post": {
        "tags": ["tools"],
        "summary": "Ship Gate Audit — $0.10 USDC",
        "description": "Scored SEO / ASO / GDPR / polish checklist. Coming soon.",
        "operationId": "shipGateAudit",
        "x-payment-info": {
          "protocols": ["x402"],
          "price": { "amount": "0.10", "amountAtomic": "100000", "asset": "USDC", "network": "eip155:8453" },
          "scheme": "exact",
          "payTo": "0x96873Fb532C630aE88c5e8A5dF5ef430c92dfF32",
          "status": "coming_soon"
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "project_type": { "type": "string" },
                  "url": { "type": "string" },
                  "text": { "type": "string" }
                },
                "required": ["project_type"]
              }
            }
          }
        },
        "responses": {
          "402": { "description": "Payment Required (x402) — when live" },
          "501": { "description": "Not implemented — Phase 0 discovery stub" }
        }
      }
    },
    "/tools/companion_book_outline": {
      "post": {
        "tags": ["tools"],
        "summary": "Companion Book Outline — $0.50 USDC",
        "description": "Topic → outline + affiliate-safe CTA slots. Coming soon.",
        "operationId": "companionBookOutline",
        "x-payment-info": {
          "protocols": ["x402"],
          "price": { "amount": "0.50", "amountAtomic": "500000", "asset": "USDC", "network": "eip155:8453" },
          "scheme": "exact",
          "payTo": "0x96873Fb532C630aE88c5e8A5dF5ef430c92dfF32",
          "status": "coming_soon"
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "topic": { "type": "string" },
                  "audience": { "type": "string" },
                  "chapter_count": { "type": "integer" }
                },
                "required": ["topic", "audience"]
              }
            }
          }
        },
        "responses": {
          "402": { "description": "Payment Required (x402) — when live" },
          "501": { "description": "Not implemented — Phase 0 discovery stub" }
        }
      }
    },
    "/tools/stickman_short_script": {
      "post": {
        "tags": ["tools"],
        "summary": "Stickman Short Script — $0.10 USDC",
        "description": "45–60s stick Shorts script + shot list. Discovery only; FacelessYT parked. Coming soon.",
        "operationId": "stickmanShortScript",
        "x-payment-info": {
          "protocols": ["x402"],
          "price": { "amount": "0.10", "amountAtomic": "100000", "asset": "USDC", "network": "eip155:8453" },
          "scheme": "exact",
          "payTo": "0x96873Fb532C630aE88c5e8A5dF5ef430c92dfF32",
          "status": "coming_soon"
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "metaphor_id": { "type": "string" },
                  "theme": { "type": "string" }
                }
              }
            }
          }
        },
        "responses": {
          "402": { "description": "Payment Required (x402) — when live" },
          "501": { "description": "Not implemented — Phase 0 discovery stub" }
        }
      }
    },
    "/tools/directory_search": {
      "post": {
        "tags": ["coming"],
        "summary": "Directory Search — $0.005 USDC (coming)",
        "description": "Agent-daily: search catalog. Not sellable in Phase 0.",
        "operationId": "directorySearch",
        "x-payment-info": {
          "protocols": ["x402"],
          "price": { "amount": "0.005", "amountAtomic": "5000", "asset": "USDC", "network": "eip155:8453" },
          "scheme": "exact",
          "payTo": "0x96873Fb532C630aE88c5e8A5dF5ef430c92dfF32",
          "status": "coming_soon"
        },
        "responses": {
          "501": { "description": "Coming — not sellable yet" }
        }
      }
    },
    "/tools/x402_preflight": {
      "post": {
        "tags": ["coming"],
        "summary": "x402 Preflight — $0.003 USDC (coming)",
        "description": "Agent-daily: probe PaymentRequired before spend. Not sellable in Phase 0.",
        "operationId": "x402Preflight",
        "x-payment-info": {
          "protocols": ["x402"],
          "price": { "amount": "0.003", "amountAtomic": "3000", "asset": "USDC", "network": "eip155:8453" },
          "scheme": "exact",
          "payTo": "0x96873Fb532C630aE88c5e8A5dF5ef430c92dfF32",
          "status": "coming_soon"
        },
        "responses": {
          "501": { "description": "Coming — not sellable yet" }
        }
      }
    },
    "/tools/listing_health_check": {
      "post": {
        "tags": ["coming"],
        "summary": "Listing Health Check — $0.01 USDC (coming)",
        "description": "Agent-daily: score discovery surfaces. Not sellable in Phase 0.",
        "operationId": "listingHealthCheck",
        "x-payment-info": {
          "protocols": ["x402"],
          "price": { "amount": "0.01", "amountAtomic": "10000", "asset": "USDC", "network": "eip155:8453" },
          "scheme": "exact",
          "payTo": "0x96873Fb532C630aE88c5e8A5dF5ef430c92dfF32",
          "status": "coming_soon"
        },
        "responses": {
          "501": { "description": "Coming — not sellable yet" }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Health": {
        "type": "object",
        "properties": {
          "ok": { "type": "boolean" },
          "listed": { "type": "boolean" },
          "phase": { "type": "integer" },
          "network": { "type": "string" },
          "paymentsLive": { "type": "boolean" }
        }
      }
    }
  }
}
