{
  "openapi": "3.1.0",
  "info": {
    "title": "Saylor Innovations Agent API",
    "version": "1.2.0",
    "summary": "Machine-payable live data, agent APIs, and technical guides. No signup or API key.",
    "description": "Use /.well-known/x402-listing for the complete endpoint catalog, including each resource's schema, example, use cases, freshness, price, and accepted payment options. This OpenAPI document describes the primary API surface; the live listing is authoritative for every offer.\n\nPaid requests use x402 v2: make an unpaid request, read the HTTP 402 PAYMENT-REQUIRED quote, then retry with PAYMENT-SIGNATURE created by a compatible facilitator-backed x402 client. Solana payloads use payload.transaction; EVM payloads use payload.signature and payload.authorization (EIP-3009). The facilitator submits and verifies payment. Do not send a separate transfer or use reference/session payloads; the live payment handler does not accept them. Read the settlement receipt from PAYMENT-RESPONSE. The exact amount and payee are in the selected 402 accepts entry.\n\nEvery live-data endpoint has a free fixed-subject sample at /api/sample/{kind}. Discover guides with /api/search and retrieve a paid guide from /api/kb/{id}.",
    "contact": {
      "email": "dave@saylorinnovations.com",
      "url": "https://saylorinnovations.com"
    },
    "license": {
      "name": "LicenseRef-Saylor-Agent-Use-1.0"
    }
  },
  "servers": [
    {
      "url": "https://saylorinnovations.com"
    }
  ],
  "paths": {
    "/api/search": {
      "get": {
        "operationId": "searchGuides",
        "summary": "Search the catalog. Free, no payment.",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Free-text query over title, tags, category, summary, teaser."
          },
          {
            "name": "category",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "AI & Agents",
                "Business & Operations",
                "Content & Growth",
                "Crypto Basics",
                "IoT & Hardware",
                "Linux & Systems",
                "On-chain & DeFi",
                "Security & OpSec",
                "Self-Hosting & Infra",
                "Solana",
                "Wallets & Self-Custody",
                "Web & Domains"
              ]
            }
          },
          {
            "name": "tag",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Comma-separated; all must match."
          },
          {
            "name": "difficulty",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "advanced",
                "beginner",
                "intermediate"
              ]
            }
          },
          {
            "name": "free",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "true"
              ]
            },
            "description": "Only guides with no price."
          },
          {
            "name": "maxPrice",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "description": "Atomic USDC cap."
          },
          {
            "name": "maxReadMins",
            "in": "query",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20,
              "maximum": 100
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Ranked results plus facets.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "total": {
                      "type": "integer"
                    },
                    "offset": {
                      "type": "integer"
                    },
                    "limit": {
                      "type": "integer"
                    },
                    "facets": {
                      "type": "object"
                    },
                    "results": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "title": {
                            "type": "string"
                          },
                          "category": {
                            "type": "string"
                          },
                          "tags": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "difficulty": {
                            "type": "string"
                          },
                          "readMins": {
                            "type": "integer"
                          },
                          "teaser": {
                            "type": "string"
                          },
                          "summary": {
                            "type": "string"
                          },
                          "price": {
                            "type": [
                              "integer",
                              "null"
                            ],
                            "description": "Atomic USDC (6 dp). 10000 = $0.01. null = free."
                          },
                          "license": {
                            "type": "string"
                          },
                          "updated": {
                            "type": "string"
                          },
                          "tokenCount": {
                            "type": "integer"
                          },
                          "url": {
                            "type": "string",
                            "format": "uri"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/catalog": {
      "get": {
        "operationId": "listGuides",
        "summary": "Every guide with all free fields. Bodies stripped. Free, no payment.",
        "responses": {
          "200": {
            "description": "Full catalog.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string"
                      },
                      "category": {
                        "type": "string"
                      },
                      "tags": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "difficulty": {
                        "type": "string"
                      },
                      "readMins": {
                        "type": "integer"
                      },
                      "teaser": {
                        "type": "string"
                      },
                      "summary": {
                        "type": "string"
                      },
                      "price": {
                        "type": [
                          "integer",
                          "null"
                        ],
                        "description": "Atomic USDC (6 dp). 10000 = $0.01. null = free."
                      },
                      "license": {
                        "type": "string"
                      },
                      "updated": {
                        "type": "string"
                      },
                      "tokenCount": {
                        "type": "integer"
                      },
                      "url": {
                        "type": "string",
                        "format": "uri"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/kb": {
      "get": {
        "operationId": "getGuideBody",
        "summary": "Full guide body. Returns 402 unless paid (or the guide is free).",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "examples": [
                "how-to-tell-if-a-cryptocurrency-is-legit",
                "installing-the-duino-coin-repo-on-linux-desktop",
                "repurposing-an-old-gpu-for-crypto-mining"
              ]
            }
          },
          {
            "name": "PAYMENT-SIGNATURE",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "base64 of an x402 PaymentPayload. Either {payload:{transaction}} with the chosen accepts entry as \"accepted\" for Solana, or {payload:{signature, authorization}} for EVM EIP-3009. Use a facilitator-backed x402 client; separate direct transfers and session/reference payloads are not accepted."
          }
        ],
        "responses": {
          "200": {
            "description": "The guide body. PAYMENT-RESPONSE carries the settlement receipt.",
            "headers": {
              "PAYMENT-RESPONSE": {
                "schema": {
                  "type": "string"
                },
                "description": "base64 SettlementResponse."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "t": {
                      "type": "string"
                    },
                    "c": {
                      "type": "string"
                    },
                    "body": {
                      "type": "string"
                    },
                    "price": {
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "license": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "402": {
            "description": "Payment required. Body is an x402 PaymentRequired object.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "x402Version": {
                      "type": "integer",
                      "const": 2
                    },
                    "error": {
                      "type": "string"
                    },
                    "resource": {
                      "type": "object"
                    },
                    "accepts": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "scheme": {
                            "type": "string",
                            "const": "exact"
                          },
                          "network": {
                            "type": "string",
                            "enum": [
                              "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
                              "eip155:8453",
                              "eip155:137",
                              "eip155:42161"
                            ]
                          },
                          "amount": {
                            "type": "string"
                          },
                          "asset": {
                            "type": "string"
                          },
                          "payTo": {
                            "type": "string"
                          },
                          "maxTimeoutSeconds": {
                            "type": "integer"
                          },
                          "extra": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Unknown guide id."
          }
        }
      }
    },
    "/.well-known/x402.json": {
      "get": {
        "operationId": "getX402Manifest",
        "summary": "x402 discovery manifest — every resource, price, and payment requirement.",
        "responses": {
          "200": {
            "description": "Manifest.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/x402-listing": {
      "get": {
        "operationId": "getCompactX402Listing",
        "summary": "Compact resource index. Follow each details URL for schemas and payment options.",
        "responses": {
          "200": {
            "description": "Compact discovery index.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/discovery": {
      "get": {
        "operationId": "listDiscoveryResources",
        "summary": "Paginated discovery details with optional search, kind, network or exact-id lookup.",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "q",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "kind",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "guides",
                "live",
                "utilities",
                "rentals"
              ]
            }
          },
          {
            "name": "network",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
                "eip155:8453",
                "eip155:137",
                "eip155:42161"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 20
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A resource detail or paginated resource list."
          },
          "404": {
            "description": "Unknown resource id."
          }
        }
      }
    },
    "/discovery/resources": {
      "get": {
        "operationId": "listX402Resources",
        "summary": "x402-style resource listing with filters and pagination.",
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "http"
              ]
            }
          },
          {
            "name": "payTo",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "scheme",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "exact"
              ]
            }
          },
          {
            "name": "network",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
                "eip155:8453",
                "eip155:137",
                "eip155:42161"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated resource descriptors."
          }
        }
      }
    },
    "/discovery/search": {
      "get": {
        "operationId": "searchX402Services",
        "summary": "Search live services and guides by natural-language intent.",
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "network",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
                "eip155:8453",
                "eip155:137",
                "eip155:42161"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Relevance-ranked resource descriptors."
          }
        }
      }
    },
    "/api/price/{mint}": {
      "get": {
        "operationId": "priceForMint",
        "summary": "Fast price and liquidity from independent sources, including the spread between them. Amount is shown in the x402 quote (minimum $0.01).",
        "tags": [
          "watchdog"
        ],
        "parameters": [
          {
            "name": "mint",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Token address or identifier supported by Watchdog; see /api/watchdog/chains."
          },
          {
            "name": "chain",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Optional chain id to select a chain when an address is ambiguous; required for some identifier formats. See /api/watchdog/chains."
          },
          {
            "name": "PAYMENT-SIGNATURE",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "base64 of an x402 PaymentPayload. Omit to receive HTTP 402 with payment requirements."
          }
        ],
        "responses": {
          "200": {
            "description": "Live data (20s cache).",
            "headers": {
              "PAYMENT-RESPONSE": {
                "schema": {
                  "type": "string"
                },
                "description": "base64 SettlementResponse, present when paid."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "mint": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "chain": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Chain the address was resolved to, for example solana, base, bsc, tron or sui."
                    },
                    "chain_name": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "name": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "price_usd": {
                      "type": [
                        "number",
                        "null"
                      ],
                      "description": "Best available price."
                    },
                    "price_dexscreener": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "price_jupiter": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "price_spread_pct": {
                      "type": [
                        "number",
                        "null"
                      ],
                      "description": "Disagreement between the two sources — a wide spread is itself a signal."
                    },
                    "price_change_24h": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "liquidity_usd": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "volume_24h_usd": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "top_pair": {
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "pair_count": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "sources_ok": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "sources_failed": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "fetched_at": {
                      "type": [
                        "number",
                        "null"
                      ],
                      "description": "Unix seconds."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Missing or invalid mint/address, or (for compare) invalid mint list."
          },
          "402": {
            "description": "Payment required. Body is an x402 PaymentRequired object.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "x402Version": {
                      "type": "integer",
                      "const": 2
                    },
                    "error": {
                      "type": "string"
                    },
                    "resource": {
                      "type": "object"
                    },
                    "accepts": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "scheme": {
                            "type": "string",
                            "const": "exact"
                          },
                          "network": {
                            "type": "string",
                            "enum": [
                              "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
                              "eip155:8453",
                              "eip155:137",
                              "eip155:42161"
                            ]
                          },
                          "amount": {
                            "type": "string"
                          },
                          "asset": {
                            "type": "string"
                          },
                          "payTo": {
                            "type": "string"
                          },
                          "maxTimeoutSeconds": {
                            "type": "integer"
                          },
                          "extra": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/token/{mint}": {
      "get": {
        "operationId": "tokenForMint",
        "summary": "Full token snapshot with price, liquidity, holders, pairs, socials and security flags. Amount is shown in the x402 quote (minimum $0.01).",
        "tags": [
          "watchdog"
        ],
        "parameters": [
          {
            "name": "mint",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Token address or identifier supported by Watchdog; see /api/watchdog/chains."
          },
          {
            "name": "chain",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Optional chain id to select a chain when an address is ambiguous; required for some identifier formats. See /api/watchdog/chains."
          },
          {
            "name": "PAYMENT-SIGNATURE",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "base64 of an x402 PaymentPayload. Omit to receive HTTP 402 with payment requirements."
          }
        ],
        "responses": {
          "200": {
            "description": "Live data (60s cache).",
            "headers": {
              "PAYMENT-RESPONSE": {
                "schema": {
                  "type": "string"
                },
                "description": "base64 SettlementResponse, present when paid."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "intel": {
                      "type": [
                        "object",
                        "null"
                      ],
                      "description": "Chain-native facts read from the chain itself, independent of any scanner. Shape depends on the chain: EVM adds verified_source, privileged_functions, creator, deployer, liquidity_lock, depth (quoted Uniswap V3 price impact at $100-$100k), oracle_check and sanctions; Solana adds authorities, Token-2022 extensions, transfer_fee and top token accounts; Tron/Sui/Aptos/TON/XRPL/Hedera/Stellar/Algorand/NEAR/Cosmos add that chain's own token controls (who can mint, freeze, claw back, pause or upgrade)."
                    },
                    "intel_flags": {
                      "type": [
                        "array",
                        "null"
                      ],
                      "description": "Flags raised from the native facts; they are also merged into analysis.flags.",
                      "items": {
                        "type": "object"
                      }
                    },
                    "intel_sources": {
                      "type": [
                        "object",
                        "null"
                      ],
                      "description": "Which native sources answered (ok) and which did not (failed)."
                    },
                    "mint": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "chain": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Chain the address was resolved to, for example solana, base, bsc, tron or sui."
                    },
                    "chain_name": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "verdict": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "avoid, high-risk, caution, looks-ok, or unverified when security data is incomplete."
                    },
                    "watchdog_score_v2": {
                      "type": [
                        "number",
                        "null"
                      ],
                      "description": "Established-asset-aware score on Solana; absent on other chains where watchdog_score already is."
                    },
                    "coverage": {
                      "type": [
                        "object",
                        "null"
                      ],
                      "description": "Which data was actually read: market, security (full, partial, none), holders, and a 0-1 confidence."
                    },
                    "analysis": {
                      "type": [
                        "object",
                        "null"
                      ],
                      "description": "flags[] with severity and evidence, critical_count, high_count, and a price_impact_estimate for sells of 100 to 100000 USD."
                    },
                    "onchain": {
                      "type": [
                        "object",
                        "null"
                      ],
                      "description": "EVM only: facts read directly from the contract (owner, renounced, proxy, bytecode capabilities)."
                    },
                    "alternatives": {
                      "type": [
                        "array",
                        "null"
                      ],
                      "items": {
                        "type": "object"
                      },
                      "description": "Other chains where the same address has pools."
                    },
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "name": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "decimals": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "supply": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "price_usd": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "market_cap_usd": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "fdv_usd": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "liquidity_usd": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "volume_24h_usd": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "price_change_24h": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "buys_24h": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "sells_24h": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "holder_count": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "token_age_days": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "tradable_on_jupiter": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "pairs": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "security": {
                      "type": "object",
                      "properties": {
                        "mint_authority_revoked": {
                          "type": [
                            "boolean",
                            "null"
                          ],
                          "description": "False means new supply can still be minted."
                        },
                        "freeze_authority_revoked": {
                          "type": [
                            "boolean",
                            "null"
                          ],
                          "description": "False means your balance can be frozen."
                        },
                        "lp_locked_pct": {
                          "type": [
                            "number",
                            "null"
                          ],
                          "description": "Percent of liquidity locked, 0-100."
                        },
                        "lp_unlock_date": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "description": "ISO timestamp of the nearest future LP unlock, if any locked LP has a known unlock date. Null if fully unlocked or no lock data."
                        },
                        "top10_holder_pct": {
                          "type": [
                            "number",
                            "null"
                          ],
                          "description": "Percent of supply held by the top 10 holders."
                        },
                        "insider_network_count": {
                          "type": [
                            "number",
                            "null"
                          ],
                          "description": "Number of connected-wallet clusters RugCheck's graph analysis detected across ALL holders (not just the top 10/20)."
                        },
                        "insider_accounts_detected": {
                          "type": [
                            "number",
                            "null"
                          ],
                          "description": "Total accounts across all detected clusters."
                        },
                        "insider_accounts_pct_of_holders": {
                          "type": [
                            "number",
                            "null"
                          ],
                          "description": "insider_accounts_detected as a percent of total_holders. A lead to investigate, not a verdict — legitimate exchanges/market makers can also show up as large connected clusters."
                        },
                        "rugcheck_score": {
                          "type": [
                            "number",
                            "null"
                          ],
                          "description": "Raw upstream RugCheck score."
                        },
                        "rugcheck_risks": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "Named risks."
                        }
                      }
                    },
                    "socials": {
                      "type": "object"
                    },
                    "narratives": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "security_score": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "liquidity_score": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "momentum_score": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "watchdog_score": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "ai_summary": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "fetched_at": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Missing or invalid mint/address, or (for compare) invalid mint list."
          },
          "402": {
            "description": "Payment required. Body is an x402 PaymentRequired object.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "x402Version": {
                      "type": "integer",
                      "const": 2
                    },
                    "error": {
                      "type": "string"
                    },
                    "resource": {
                      "type": "object"
                    },
                    "accepts": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "scheme": {
                            "type": "string",
                            "const": "exact"
                          },
                          "network": {
                            "type": "string",
                            "enum": [
                              "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
                              "eip155:8453",
                              "eip155:137",
                              "eip155:42161"
                            ]
                          },
                          "amount": {
                            "type": "string"
                          },
                          "asset": {
                            "type": "string"
                          },
                          "payTo": {
                            "type": "string"
                          },
                          "maxTimeoutSeconds": {
                            "type": "integer"
                          },
                          "extra": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/security/{mint}": {
      "get": {
        "operationId": "securityForMint",
        "summary": "Security report with token controls, liquidity locks, holder concentration and named risks. Amount is shown in the x402 quote (minimum $0.01).",
        "tags": [
          "watchdog"
        ],
        "parameters": [
          {
            "name": "mint",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Token address or identifier supported by Watchdog; see /api/watchdog/chains."
          },
          {
            "name": "chain",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Optional chain id to select a chain when an address is ambiguous; required for some identifier formats. See /api/watchdog/chains."
          },
          {
            "name": "PAYMENT-SIGNATURE",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "base64 of an x402 PaymentPayload. Omit to receive HTTP 402 with payment requirements."
          }
        ],
        "responses": {
          "200": {
            "description": "Live data (60s cache).",
            "headers": {
              "PAYMENT-RESPONSE": {
                "schema": {
                  "type": "string"
                },
                "description": "base64 SettlementResponse, present when paid."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "intel": {
                      "type": [
                        "object",
                        "null"
                      ],
                      "description": "Chain-native facts read from the chain itself, independent of any scanner. Shape depends on the chain: EVM adds verified_source, privileged_functions, creator, deployer, liquidity_lock, depth (quoted Uniswap V3 price impact at $100-$100k), oracle_check and sanctions; Solana adds authorities, Token-2022 extensions, transfer_fee and top token accounts; Tron/Sui/Aptos/TON/XRPL/Hedera/Stellar/Algorand/NEAR/Cosmos add that chain's own token controls (who can mint, freeze, claw back, pause or upgrade)."
                    },
                    "intel_flags": {
                      "type": [
                        "array",
                        "null"
                      ],
                      "description": "Flags raised from the native facts; they are also merged into analysis.flags.",
                      "items": {
                        "type": "object"
                      }
                    },
                    "intel_sources": {
                      "type": [
                        "object",
                        "null"
                      ],
                      "description": "Which native sources answered (ok) and which did not (failed)."
                    },
                    "mint": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "chain": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Chain the address was resolved to, for example solana, base, bsc, tron or sui."
                    },
                    "chain_name": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "verdict": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "avoid, high-risk, caution, looks-ok, or unverified when security data is incomplete."
                    },
                    "watchdog_score_v2": {
                      "type": [
                        "number",
                        "null"
                      ],
                      "description": "Established-asset-aware score on Solana; absent on other chains where watchdog_score already is."
                    },
                    "coverage": {
                      "type": [
                        "object",
                        "null"
                      ],
                      "description": "Which data was actually read: market, security (full, partial, none), holders, and a 0-1 confidence."
                    },
                    "analysis": {
                      "type": [
                        "object",
                        "null"
                      ],
                      "description": "flags[] with severity and evidence, critical_count, high_count, and a price_impact_estimate for sells of 100 to 100000 USD."
                    },
                    "onchain": {
                      "type": [
                        "object",
                        "null"
                      ],
                      "description": "EVM only: facts read directly from the contract (owner, renounced, proxy, bytecode capabilities)."
                    },
                    "alternatives": {
                      "type": [
                        "array",
                        "null"
                      ],
                      "items": {
                        "type": "object"
                      },
                      "description": "Other chains where the same address has pools."
                    },
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "name": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "security_score": {
                      "type": [
                        "number",
                        "null"
                      ],
                      "description": "0-100. Transparent rule-based math, not a model."
                    },
                    "watchdog_score": {
                      "type": [
                        "number",
                        "null"
                      ],
                      "description": "Composite. Security is 45%; a security score under 30 caps this at 25."
                    },
                    "security": {
                      "type": "object",
                      "properties": {
                        "mint_authority_revoked": {
                          "type": [
                            "boolean",
                            "null"
                          ],
                          "description": "False means new supply can still be minted."
                        },
                        "freeze_authority_revoked": {
                          "type": [
                            "boolean",
                            "null"
                          ],
                          "description": "False means your balance can be frozen."
                        },
                        "lp_locked_pct": {
                          "type": [
                            "number",
                            "null"
                          ],
                          "description": "Percent of liquidity locked, 0-100."
                        },
                        "lp_unlock_date": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "description": "ISO timestamp of the nearest future LP unlock, if any locked LP has a known unlock date. Null if fully unlocked or no lock data."
                        },
                        "top10_holder_pct": {
                          "type": [
                            "number",
                            "null"
                          ],
                          "description": "Percent of supply held by the top 10 holders."
                        },
                        "insider_network_count": {
                          "type": [
                            "number",
                            "null"
                          ],
                          "description": "Number of connected-wallet clusters RugCheck's graph analysis detected across ALL holders (not just the top 10/20)."
                        },
                        "insider_accounts_detected": {
                          "type": [
                            "number",
                            "null"
                          ],
                          "description": "Total accounts across all detected clusters."
                        },
                        "insider_accounts_pct_of_holders": {
                          "type": [
                            "number",
                            "null"
                          ],
                          "description": "insider_accounts_detected as a percent of total_holders. A lead to investigate, not a verdict — legitimate exchanges/market makers can also show up as large connected clusters."
                        },
                        "rugcheck_score": {
                          "type": [
                            "number",
                            "null"
                          ],
                          "description": "Raw upstream RugCheck score."
                        },
                        "rugcheck_risks": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "Named risks."
                        }
                      }
                    },
                    "holder_count": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "token_age_days": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "summary": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Plain-English verdict."
                    },
                    "sources_ok": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "sources_failed": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "fetched_at": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Missing or invalid mint/address, or (for compare) invalid mint list."
          },
          "402": {
            "description": "Payment required. Body is an x402 PaymentRequired object.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "x402Version": {
                      "type": "integer",
                      "const": 2
                    },
                    "error": {
                      "type": "string"
                    },
                    "resource": {
                      "type": "object"
                    },
                    "accepts": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "scheme": {
                            "type": "string",
                            "const": "exact"
                          },
                          "network": {
                            "type": "string",
                            "enum": [
                              "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
                              "eip155:8453",
                              "eip155:137",
                              "eip155:42161"
                            ]
                          },
                          "amount": {
                            "type": "string"
                          },
                          "asset": {
                            "type": "string"
                          },
                          "payTo": {
                            "type": "string"
                          },
                          "maxTimeoutSeconds": {
                            "type": "integer"
                          },
                          "extra": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/narrative/{mint}": {
      "get": {
        "operationId": "narrativeForMint",
        "summary": "Token narrative classification and social links. Amount is shown in the x402 quote (minimum $0.01).",
        "tags": [
          "watchdog"
        ],
        "parameters": [
          {
            "name": "mint",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Token address or identifier supported by Watchdog; see /api/watchdog/chains."
          },
          {
            "name": "chain",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Optional chain id to select a chain when an address is ambiguous; required for some identifier formats. See /api/watchdog/chains."
          },
          {
            "name": "PAYMENT-SIGNATURE",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "base64 of an x402 PaymentPayload. Omit to receive HTTP 402 with payment requirements."
          }
        ],
        "responses": {
          "200": {
            "description": "Live data (60s cache).",
            "headers": {
              "PAYMENT-RESPONSE": {
                "schema": {
                  "type": "string"
                },
                "description": "base64 SettlementResponse, present when paid."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "mint": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "chain": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Chain the address was resolved to, for example solana, base, bsc, tron or sui."
                    },
                    "chain_name": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "name": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "narratives": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "ai, dog, cat, political, gaming, defi, infrastructure, frog, food, or memecoin."
                    },
                    "socials": {
                      "type": "object"
                    },
                    "fetched_at": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Missing or invalid mint/address, or (for compare) invalid mint list."
          },
          "402": {
            "description": "Payment required. Body is an x402 PaymentRequired object.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "x402Version": {
                      "type": "integer",
                      "const": 2
                    },
                    "error": {
                      "type": "string"
                    },
                    "resource": {
                      "type": "object"
                    },
                    "accepts": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "scheme": {
                            "type": "string",
                            "const": "exact"
                          },
                          "network": {
                            "type": "string",
                            "enum": [
                              "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
                              "eip155:8453",
                              "eip155:137",
                              "eip155:42161"
                            ]
                          },
                          "amount": {
                            "type": "string"
                          },
                          "asset": {
                            "type": "string"
                          },
                          "payTo": {
                            "type": "string"
                          },
                          "maxTimeoutSeconds": {
                            "type": "integer"
                          },
                          "extra": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/holders/{mint}": {
      "get": {
        "operationId": "holdersForMint",
        "summary": "Top holders by balance, with supply share and insider labels when available. Amount is shown in the x402 quote (minimum $0.01).",
        "tags": [
          "watchdog"
        ],
        "parameters": [
          {
            "name": "mint",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Token address or identifier supported by Watchdog; see /api/watchdog/chains."
          },
          {
            "name": "chain",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Optional chain id to select a chain when an address is ambiguous; required for some identifier formats. See /api/watchdog/chains."
          },
          {
            "name": "PAYMENT-SIGNATURE",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "base64 of an x402 PaymentPayload. Omit to receive HTTP 402 with payment requirements."
          }
        ],
        "responses": {
          "200": {
            "description": "Live data (60s cache).",
            "headers": {
              "PAYMENT-RESPONSE": {
                "schema": {
                  "type": "string"
                },
                "description": "base64 SettlementResponse, present when paid."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "mint": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "address": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "chain": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Chain the token was resolved to."
                    },
                    "chain_name": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "liquidity": {
                      "type": [
                        "object",
                        "null"
                      ],
                      "description": "EVM/Tron/Sui: LP holder count, top LP holders, and the share locked or burned."
                    },
                    "sanctions": {
                      "type": [
                        "object",
                        "null"
                      ],
                      "description": "OFAC screening of top holders, creator and owner: checked count, unavailable count, hits."
                    },
                    "coverage": {
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "creator": {
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "owner": {
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "contract_held_pct": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "locked_pct": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "burned_pct": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "total_holders": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "top_holders": {
                      "type": "array",
                      "description": "Up to 20, by balance.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "owner": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "pct": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "Percent of total supply."
                          },
                          "ui_amount": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "insider": {
                            "type": [
                              "boolean",
                              "null"
                            ],
                            "description": "RugCheck's own label — a lead, not a verdict."
                          }
                        }
                      }
                    },
                    "top10_holder_pct": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "top20_holder_pct": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "insider_labeled_count": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "insider_network_count": {
                      "type": [
                        "number",
                        "null"
                      ],
                      "description": "Connected-wallet clusters RugCheck's graph analysis detected across ALL holders, not just the top 20 above."
                    },
                    "insider_accounts_detected": {
                      "type": [
                        "number",
                        "null"
                      ],
                      "description": "Total accounts across all detected clusters."
                    },
                    "insider_accounts_pct_of_holders": {
                      "type": [
                        "number",
                        "null"
                      ],
                      "description": "insider_accounts_detected / total_holders. A lead, not a verdict."
                    },
                    "flags": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "fetched_at": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Missing or invalid mint/address, or (for compare) invalid mint list."
          },
          "402": {
            "description": "Payment required. Body is an x402 PaymentRequired object.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "x402Version": {
                      "type": "integer",
                      "const": 2
                    },
                    "error": {
                      "type": "string"
                    },
                    "resource": {
                      "type": "object"
                    },
                    "accepts": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "scheme": {
                            "type": "string",
                            "const": "exact"
                          },
                          "network": {
                            "type": "string",
                            "enum": [
                              "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
                              "eip155:8453",
                              "eip155:137",
                              "eip155:42161"
                            ]
                          },
                          "amount": {
                            "type": "string"
                          },
                          "asset": {
                            "type": "string"
                          },
                          "payTo": {
                            "type": "string"
                          },
                          "maxTimeoutSeconds": {
                            "type": "integer"
                          },
                          "extra": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/history/{mint}": {
      "get": {
        "operationId": "historyForMint",
        "summary": "OHLCV price history from the highest-liquidity pool. Amount is shown in the x402 quote (minimum $0.01).",
        "tags": [
          "watchdog"
        ],
        "parameters": [
          {
            "name": "mint",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Token address or identifier supported by Watchdog; see /api/watchdog/chains."
          },
          {
            "name": "chain",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Optional chain id to select a chain when an address is ambiguous; required for some identifier formats. See /api/watchdog/chains."
          },
          {
            "name": "PAYMENT-SIGNATURE",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "base64 of an x402 PaymentPayload. Omit to receive HTTP 402 with payment requirements."
          },
          {
            "name": "timeframe",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "day",
                "hour",
                "minute"
              ],
              "default": "hour"
            }
          },
          {
            "name": "aggregate",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 1
            },
            "description": "Bucket multiplier, e.g. aggregate=4 with timeframe=hour for 4-hour candles."
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 100,
              "maximum": 500
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Live data (30-120s cache depending on timeframe).",
            "headers": {
              "PAYMENT-RESPONSE": {
                "schema": {
                  "type": "string"
                },
                "description": "base64 SettlementResponse, present when paid."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "mint": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "address": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "chain": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Chain the token was resolved to."
                    },
                    "chain_name": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "summary": {
                      "type": [
                        "object",
                        "null"
                      ],
                      "description": "change_pct, high, low, max_drawdown_pct, volatility_per_candle_pct and total_volume_usd computed from the returned candles."
                    },
                    "pool_address": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "dex": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "timeframe": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "aggregate": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "count": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "candles": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "t": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "Unix seconds."
                          },
                          "open": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "high": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "low": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "close": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "volume": {
                            "type": [
                              "number",
                              "null"
                            ]
                          }
                        }
                      }
                    },
                    "fetched_at": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Missing or invalid mint/address, or (for compare) invalid mint list."
          },
          "402": {
            "description": "Payment required. Body is an x402 PaymentRequired object.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "x402Version": {
                      "type": "integer",
                      "const": 2
                    },
                    "error": {
                      "type": "string"
                    },
                    "resource": {
                      "type": "object"
                    },
                    "accepts": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "scheme": {
                            "type": "string",
                            "const": "exact"
                          },
                          "network": {
                            "type": "string",
                            "enum": [
                              "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
                              "eip155:8453",
                              "eip155:137",
                              "eip155:42161"
                            ]
                          },
                          "amount": {
                            "type": "string"
                          },
                          "asset": {
                            "type": "string"
                          },
                          "payTo": {
                            "type": "string"
                          },
                          "maxTimeoutSeconds": {
                            "type": "integer"
                          },
                          "extra": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/dossier/{mint}": {
      "get": {
        "operationId": "dossierForMint",
        "summary": "Full coin dossier with market, native security, holders, history, checklist and next steps. Amount is shown in the x402 quote (minimum $0.01).",
        "tags": [
          "watchdog"
        ],
        "parameters": [
          {
            "name": "mint",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Token address or identifier supported by Watchdog; see /api/watchdog/chains."
          },
          {
            "name": "chain",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Optional chain id to select a chain when an address is ambiguous; required for some identifier formats. See /api/watchdog/chains."
          },
          {
            "name": "PAYMENT-SIGNATURE",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "base64 of an x402 PaymentPayload. Omit to receive HTTP 402 with payment requirements."
          }
        ],
        "responses": {
          "200": {
            "description": "Live data (live per request; sections that cannot be read are listed in sections_unavailable).",
            "headers": {
              "PAYMENT-RESPONSE": {
                "schema": {
                  "type": "string"
                },
                "description": "base64 SettlementResponse, present when paid."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "address": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "chain": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "chain_name": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "chain_family": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "symbol": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "name": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "verdict": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "avoid, high-risk, caution, looks-ok, or unverified when coverage is thin."
                    },
                    "watchdog_score": {
                      "type": [
                        "number",
                        "null"
                      ],
                      "description": "0-100 composite; transparent rule-based math."
                    },
                    "summary": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Plain-English summary of the verdict and main concerns."
                    },
                    "checklist": {
                      "type": "object",
                      "description": "counts {pass, warn, fail, unknown} and items[] each {check, result, detail}. An unknown is never a pass."
                    },
                    "risk": {
                      "type": "object",
                      "description": "Ranked evidence-bearing flags, critical/high counts, copycat check, price impact estimates and score reasons."
                    },
                    "market": {
                      "type": "object",
                      "description": "Price, 24h change, liquidity, volume, market cap, FDV, buys/sells, age, top pools and the other chains the address appears on."
                    },
                    "native": {
                      "type": [
                        "object",
                        "null"
                      ],
                      "description": "Chain-native facts (see the token endpoint's intel field): controls, creator, verified source, depth, sanctions."
                    },
                    "security": {
                      "type": "object",
                      "description": "Normalised scanner and on-chain security fields for this chain."
                    },
                    "holders": {
                      "type": [
                        "object",
                        "null"
                      ],
                      "description": "Top holders and concentration (null if the source did not answer)."
                    },
                    "history_30d": {
                      "type": [
                        "object",
                        "null"
                      ],
                      "description": "30 daily candles and a computed summary: change, drawdown, volatility, volume."
                    },
                    "creator_wallet": {
                      "type": [
                        "object",
                        "null"
                      ],
                      "description": "Wallet report for the token creator or deployer where the chain supports it."
                    },
                    "narratives": {
                      "type": [
                        "array",
                        "object",
                        "null"
                      ],
                      "description": "Narrative classification."
                    },
                    "links": {
                      "type": "object",
                      "description": "Block explorer, DexScreener, website and social links."
                    },
                    "next_steps": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "coverage": {
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "sources": {
                      "type": "object",
                      "description": "Which sources answered or failed, per section."
                    },
                    "sections_unavailable": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "note": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "fetched_at": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Missing or invalid mint/address, or (for compare) invalid mint list."
          },
          "402": {
            "description": "Payment required. Body is an x402 PaymentRequired object.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "x402Version": {
                      "type": "integer",
                      "const": 2
                    },
                    "error": {
                      "type": "string"
                    },
                    "resource": {
                      "type": "object"
                    },
                    "accepts": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "scheme": {
                            "type": "string",
                            "const": "exact"
                          },
                          "network": {
                            "type": "string",
                            "enum": [
                              "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
                              "eip155:8453",
                              "eip155:137",
                              "eip155:42161"
                            ]
                          },
                          "amount": {
                            "type": "string"
                          },
                          "asset": {
                            "type": "string"
                          },
                          "payTo": {
                            "type": "string"
                          },
                          "maxTimeoutSeconds": {
                            "type": "integer"
                          },
                          "extra": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/wallet/{address}": {
      "get": {
        "operationId": "walletIntelligence",
        "summary": "On-chain wallet profile: balances, positions, activity and behavioural flags. Amount is shown in the x402 quote.",
        "tags": [
          "watchdog"
        ],
        "parameters": [
          {
            "name": "address",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Wallet address in a supported chain format."
          },
          {
            "name": "chain",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Optional chain id or comma-separated EVM chain ids."
          },
          {
            "name": "PAYMENT-SIGNATURE",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "base64 of an x402 PaymentPayload. Omit to receive HTTP 402 with payment requirements."
          }
        ],
        "responses": {
          "200": {
            "description": "Live data (60s cache).",
            "headers": {
              "PAYMENT-RESPONSE": {
                "schema": {
                  "type": "string"
                },
                "description": "base64 SettlementResponse, present when paid."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "address": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "wallet_type": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "eoa, contract, eoa_delegated_7702 or mixed (EVM); unknown elsewhere."
                    },
                    "chains": {
                      "type": [
                        "array",
                        "null"
                      ],
                      "items": {
                        "type": "object"
                      },
                      "description": "Per-chain balances, valued token holdings, account type, tx count."
                    },
                    "totals": {
                      "type": [
                        "object",
                        "null"
                      ],
                      "description": "Total USD across chains, stablecoin share, active chain count."
                    },
                    "sanctions": {
                      "type": [
                        "object",
                        "null"
                      ],
                      "description": "OFAC SDN screening; sanctioned null means screening was unavailable, not clean."
                    },
                    "coverage": {
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "chain": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "chain_name": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "sol_balance": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "token_positions": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "top_holdings": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "recent_signature_count": {
                      "type": [
                        "number",
                        "null"
                      ],
                      "description": "Capped at the 100 most recent — a floor, not a lifetime total."
                    },
                    "first_seen_unix": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "last_seen_unix": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "sampled_age_days": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "failed_tx_rate_pct": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "flags": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Transparent heuristics. Absence of a flag is not a safety guarantee."
                    },
                    "fetched_at": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Missing or invalid mint/address, or (for compare) invalid mint list."
          },
          "402": {
            "description": "Payment required. Body is an x402 PaymentRequired object.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "x402Version": {
                      "type": "integer",
                      "const": 2
                    },
                    "error": {
                      "type": "string"
                    },
                    "resource": {
                      "type": "object"
                    },
                    "accepts": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "scheme": {
                            "type": "string",
                            "const": "exact"
                          },
                          "network": {
                            "type": "string",
                            "enum": [
                              "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
                              "eip155:8453",
                              "eip155:137",
                              "eip155:42161"
                            ]
                          },
                          "amount": {
                            "type": "string"
                          },
                          "asset": {
                            "type": "string"
                          },
                          "payTo": {
                            "type": "string"
                          },
                          "maxTimeoutSeconds": {
                            "type": "integer"
                          },
                          "extra": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/trending": {
      "get": {
        "operationId": "trendingPools",
        "summary": "Currently trending pools on the selected or default chain. Amount is shown in the x402 quote.",
        "tags": [
          "watchdog"
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "maximum": 50
            }
          },
          {
            "name": "chain",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "PAYMENT-SIGNATURE",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "base64 of an x402 PaymentPayload. Omit to receive HTTP 402 with payment requirements."
          }
        ],
        "responses": {
          "200": {
            "description": "Live data (180s cache).",
            "headers": {
              "PAYMENT-RESPONSE": {
                "schema": {
                  "type": "string"
                },
                "description": "base64 SettlementResponse, present when paid."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "generated_at": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "count": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "pools": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Missing or invalid mint/address, or (for compare) invalid mint list."
          },
          "402": {
            "description": "Payment required. Body is an x402 PaymentRequired object.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "x402Version": {
                      "type": "integer",
                      "const": 2
                    },
                    "error": {
                      "type": "string"
                    },
                    "resource": {
                      "type": "object"
                    },
                    "accepts": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "scheme": {
                            "type": "string",
                            "const": "exact"
                          },
                          "network": {
                            "type": "string",
                            "enum": [
                              "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
                              "eip155:8453",
                              "eip155:137",
                              "eip155:42161"
                            ]
                          },
                          "amount": {
                            "type": "string"
                          },
                          "asset": {
                            "type": "string"
                          },
                          "payTo": {
                            "type": "string"
                          },
                          "maxTimeoutSeconds": {
                            "type": "integer"
                          },
                          "extra": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/launches": {
      "get": {
        "operationId": "freshLaunches",
        "summary": "Brand-new pools, typically seconds to minutes old. Amount is shown in the x402 quote.",
        "tags": [
          "watchdog"
        ],
        "parameters": [
          {
            "name": "minLiquidity",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "description": "USD floor."
          },
          {
            "name": "maxAgeMinutes",
            "in": "query",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "maximum": 50
            }
          },
          {
            "name": "chain",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "PAYMENT-SIGNATURE",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "base64 of an x402 PaymentPayload. Omit to receive HTTP 402 with payment requirements."
          }
        ],
        "responses": {
          "200": {
            "description": "Live data (15s cache — the entire value is freshness).",
            "headers": {
              "PAYMENT-RESPONSE": {
                "schema": {
                  "type": "string"
                },
                "description": "base64 SettlementResponse, present when paid."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "generated_at": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "count": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "freshest_age_seconds": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "launches": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "mint": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "pool_name": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "age_seconds": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "age_minutes": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "price_usd": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "liquidity_usd": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "volume_24h_usd": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "fdv_usd": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "buys_1h": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "sells_1h": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "flags": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "deep_dive": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "URL of the paid security report for this mint."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Missing or invalid mint/address, or (for compare) invalid mint list."
          },
          "402": {
            "description": "Payment required. Body is an x402 PaymentRequired object.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "x402Version": {
                      "type": "integer",
                      "const": 2
                    },
                    "error": {
                      "type": "string"
                    },
                    "resource": {
                      "type": "object"
                    },
                    "accepts": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "scheme": {
                            "type": "string",
                            "const": "exact"
                          },
                          "network": {
                            "type": "string",
                            "enum": [
                              "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
                              "eip155:8453",
                              "eip155:137",
                              "eip155:42161"
                            ]
                          },
                          "amount": {
                            "type": "string"
                          },
                          "asset": {
                            "type": "string"
                          },
                          "payTo": {
                            "type": "string"
                          },
                          "maxTimeoutSeconds": {
                            "type": "integer"
                          },
                          "extra": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/compare": {
      "get": {
        "operationId": "compareTokens",
        "summary": "Watchdog scores for 2-10 tokens side by side. Dynamic total is shown in the x402 quote.",
        "tags": [
          "watchdog"
        ],
        "parameters": [
          {
            "name": "mints",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Comma-separated supported token addresses, 2-10. Prefix an item with chain: to disambiguate, e.g. base:0x…."
          },
          {
            "name": "PAYMENT-SIGNATURE",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "base64 of an x402 PaymentPayload. Omit to receive HTTP 402 with payment requirements."
          }
        ],
        "responses": {
          "200": {
            "description": "Live data (60s cache (per mint — each benefits from /api/token's cache)).",
            "headers": {
              "PAYMENT-RESPONSE": {
                "schema": {
                  "type": "string"
                },
                "description": "base64 SettlementResponse, present when paid."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "summary": {
                      "type": [
                        "object",
                        "null"
                      ],
                      "description": "Best and worst scorer and any tokens with an avoid verdict (any-chain comparisons)."
                    },
                    "note": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "count": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "results": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "mint": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "symbol": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "name": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "price_usd": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "liquidity_usd": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "volume_24h_usd": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "price_change_24h": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "holder_count": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "token_age_days": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "mint_authority_revoked": {
                            "type": [
                              "boolean",
                              "null"
                            ]
                          },
                          "freeze_authority_revoked": {
                            "type": [
                              "boolean",
                              "null"
                            ]
                          },
                          "lp_locked_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "security_score": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "liquidity_score": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "momentum_score": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "watchdog_score": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "narratives": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Missing or invalid mint/address, or (for compare) invalid mint list."
          },
          "402": {
            "description": "Payment required. Body is an x402 PaymentRequired object.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "x402Version": {
                      "type": "integer",
                      "const": 2
                    },
                    "error": {
                      "type": "string"
                    },
                    "resource": {
                      "type": "object"
                    },
                    "accepts": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "scheme": {
                            "type": "string",
                            "const": "exact"
                          },
                          "network": {
                            "type": "string",
                            "enum": [
                              "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
                              "eip155:8453",
                              "eip155:137",
                              "eip155:42161"
                            ]
                          },
                          "amount": {
                            "type": "string"
                          },
                          "asset": {
                            "type": "string"
                          },
                          "payTo": {
                            "type": "string"
                          },
                          "maxTimeoutSeconds": {
                            "type": "integer"
                          },
                          "extra": {
                            "type": "object"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/watchdog/chains": {
      "get": {
        "operationId": "watchdogChains",
        "summary": "List supported chains, address formats and security coverage. Free.",
        "tags": [
          "watchdog"
        ],
        "responses": {
          "200": {
            "description": "Supported chain identifiers and address formats.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/watchdog/pricing": {
      "get": {
        "operationId": "watchdogPricing",
        "summary": "Price list and description for every Watchdog live-data endpoint. Free, no payment.",
        "tags": [
          "watchdog"
        ],
        "responses": {
          "200": {
            "description": "Price list.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/sample/{kind}": {
      "get": {
        "operationId": "freeSample",
        "summary": "A real live response for a fixed demo subject, free — see the exact shape and data quality before paying for any Watchdog endpoint.",
        "tags": [
          "watchdog"
        ],
        "parameters": [
          {
            "name": "kind",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "price",
                "security",
                "token",
                "narrative",
                "wallet",
                "launches",
                "trending",
                "holders",
                "dossier",
                "compare",
                "history"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Sample response, real data.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/research/doi": {
      "get": {
        "operationId": "doiReport",
        "summary": "Resolve a DOI into normalized publication metadata, citation text, identifiers and source links. Abstracts and full paper text are excluded. $0.003 per request via x402.",
        "tags": [
          "utilities"
        ],
        "parameters": [
          {
            "name": "doi",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "DOI identifier, optionally prefixed with https://doi.org/."
          },
          {
            "name": "PAYMENT-SIGNATURE",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "base64 of an x402 PaymentPayload. Omit to receive HTTP 402 with payment requirements."
          }
        ],
        "responses": {
          "200": {
            "description": "Paid normalized report.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "service",
                    "subject",
                    "retrievedAt",
                    "source",
                    "report"
                  ],
                  "properties": {
                    "service": {
                      "type": "string"
                    },
                    "subject": {
                      "type": "string"
                    },
                    "retrievedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "source": {
                      "type": "object",
                      "required": [
                        "name",
                        "url"
                      ],
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string",
                          "format": "uri"
                        }
                      }
                    },
                    "report": {
                      "type": "object",
                      "required": [
                        "doi",
                        "title",
                        "authors",
                        "citation"
                      ],
                      "properties": {
                        "doi": {
                          "type": "string"
                        },
                        "title": {
                          "type": "string"
                        },
                        "authors": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "publisher": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "publication": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "year": {
                          "type": [
                            "integer",
                            "null"
                          ]
                        },
                        "citation": {
                          "type": "string"
                        },
                        "referenceCount": {
                          "type": [
                            "integer",
                            "null"
                          ]
                        },
                        "citedByCount": {
                          "type": [
                            "integer",
                            "null"
                          ]
                        },
                        "type": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "url": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input; no payment settled."
          },
          "402": {
            "description": "Payment required or rejected; read PAYMENT-REQUIRED."
          },
          "404": {
            "description": "No provider record; no payment settled."
          },
          "502": {
            "description": "Provider or settlement unavailable. Check paymentStatus before retrying."
          }
        }
      }
    },
    "/api/services/sample/doi": {
      "get": {
        "operationId": "doiSample",
        "summary": "Free live sample using a fixed subject.",
        "responses": {
          "200": {
            "description": "Sample report."
          },
          "502": {
            "description": "Provider unavailable."
          }
        }
      }
    },
    "/api/package/report": {
      "get": {
        "operationId": "packageReport",
        "summary": "Inspect the latest npm package release: version, license, dependency counts, engine requirements, deprecation notice and source links. Does not download or execute package code. $0.003 per request via x402.",
        "tags": [
          "utilities"
        ],
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Public npm package name, including @scope/name where applicable."
          },
          {
            "name": "PAYMENT-SIGNATURE",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "base64 of an x402 PaymentPayload. Omit to receive HTTP 402 with payment requirements."
          }
        ],
        "responses": {
          "200": {
            "description": "Paid normalized report.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "service",
                    "subject",
                    "retrievedAt",
                    "source",
                    "report"
                  ],
                  "properties": {
                    "service": {
                      "type": "string"
                    },
                    "subject": {
                      "type": "string"
                    },
                    "retrievedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "source": {
                      "type": "object",
                      "required": [
                        "name",
                        "url"
                      ],
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string",
                          "format": "uri"
                        }
                      }
                    },
                    "report": {
                      "type": "object",
                      "required": [
                        "name",
                        "version",
                        "dependencyCount",
                        "dependencies",
                        "signals"
                      ],
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "version": {
                          "type": "string"
                        },
                        "license": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "dependencyCount": {
                          "type": "integer"
                        },
                        "dependencies": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        "peerDependencies": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        "engines": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "string"
                          }
                        },
                        "deprecated": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "signals": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "limitations": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input; no payment settled."
          },
          "402": {
            "description": "Payment required or rejected; read PAYMENT-REQUIRED."
          },
          "404": {
            "description": "No provider record; no payment settled."
          },
          "502": {
            "description": "Provider or settlement unavailable. Check paymentStatus before retrying."
          }
        }
      }
    },
    "/api/services/sample/package": {
      "get": {
        "operationId": "packageSample",
        "summary": "Free live sample using a fixed subject.",
        "responses": {
          "200": {
            "description": "Sample report."
          },
          "502": {
            "description": "Provider unavailable."
          }
        }
      }
    },
    "/api/research/search": {
      "get": {
        "operationId": "papersReport",
        "summary": "Find up to five publications with DOI identifiers, authors, publication years and citation counts. Returns metadata, not abstracts or full text. $0.003 per request via x402.",
        "tags": [
          "utilities"
        ],
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Search terms, 2–160 characters."
          },
          {
            "name": "PAYMENT-SIGNATURE",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "base64 of an x402 PaymentPayload. Omit to receive HTTP 402 with payment requirements."
          }
        ],
        "responses": {
          "200": {
            "description": "Paid normalized report.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "service",
                    "subject",
                    "retrievedAt",
                    "source",
                    "report"
                  ],
                  "properties": {
                    "service": {
                      "type": "string"
                    },
                    "subject": {
                      "type": "string"
                    },
                    "retrievedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "source": {
                      "type": "object",
                      "required": [
                        "name",
                        "url"
                      ],
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string",
                          "format": "uri"
                        }
                      }
                    },
                    "report": {
                      "type": "object",
                      "properties": {
                        "query": {
                          "type": "string"
                        },
                        "totalResults": {
                          "type": "integer"
                        },
                        "results": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "doi": {
                                "type": "string"
                              },
                              "title": {
                                "type": "string"
                              },
                              "authors": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              },
                              "year": {
                                "type": [
                                  "integer",
                                  "null"
                                ]
                              },
                              "url": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      },
                      "required": [
                        "query",
                        "totalResults",
                        "results"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input; no payment settled."
          },
          "402": {
            "description": "Payment required or rejected; read PAYMENT-REQUIRED."
          },
          "404": {
            "description": "No provider record; no payment settled."
          },
          "502": {
            "description": "Provider or settlement unavailable. Check paymentStatus before retrying."
          }
        }
      }
    },
    "/api/services/sample/papers": {
      "get": {
        "operationId": "papersSample",
        "summary": "Free live sample using a fixed subject.",
        "responses": {
          "200": {
            "description": "Sample report."
          },
          "502": {
            "description": "Provider unavailable."
          }
        }
      }
    },
    "/api/package/search": {
      "get": {
        "operationId": "npmsearchReport",
        "summary": "Find up to five npm packages with versions, descriptions, registry ranking scores and source links for package discovery. $0.003 per request via x402.",
        "tags": [
          "utilities"
        ],
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Search terms, 2–160 characters."
          },
          {
            "name": "PAYMENT-SIGNATURE",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "base64 of an x402 PaymentPayload. Omit to receive HTTP 402 with payment requirements."
          }
        ],
        "responses": {
          "200": {
            "description": "Paid normalized report.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "service",
                    "subject",
                    "retrievedAt",
                    "source",
                    "report"
                  ],
                  "properties": {
                    "service": {
                      "type": "string"
                    },
                    "subject": {
                      "type": "string"
                    },
                    "retrievedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "source": {
                      "type": "object",
                      "required": [
                        "name",
                        "url"
                      ],
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string",
                          "format": "uri"
                        }
                      }
                    },
                    "report": {
                      "type": "object",
                      "properties": {
                        "query": {
                          "type": "string"
                        },
                        "totalResults": {
                          "type": "integer"
                        },
                        "results": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "name": {
                                "type": "string"
                              },
                              "version": {
                                "type": "string"
                              },
                              "description": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "url": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "score": {
                                "type": [
                                  "number",
                                  "null"
                                ]
                              }
                            }
                          }
                        }
                      },
                      "required": [
                        "query",
                        "totalResults",
                        "results"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input; no payment settled."
          },
          "402": {
            "description": "Payment required or rejected; read PAYMENT-REQUIRED."
          },
          "404": {
            "description": "No provider record; no payment settled."
          },
          "502": {
            "description": "Provider or settlement unavailable. Check paymentStatus before retrying."
          }
        }
      }
    },
    "/api/services/sample/npmsearch": {
      "get": {
        "operationId": "npmsearchSample",
        "summary": "Free live sample using a fixed subject.",
        "responses": {
          "200": {
            "description": "Sample report."
          },
          "502": {
            "description": "Provider unavailable."
          }
        }
      }
    },
    "/api/python/report": {
      "get": {
        "operationId": "pythonReport",
        "summary": "Inspect a Python package’s latest release, Python compatibility, declared dependencies, license metadata and PyPI-reported advisories. No code execution. $0.003 per request via x402.",
        "tags": [
          "utilities"
        ],
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Public Python package name."
          },
          {
            "name": "PAYMENT-SIGNATURE",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "base64 of an x402 PaymentPayload. Omit to receive HTTP 402 with payment requirements."
          }
        ],
        "responses": {
          "200": {
            "description": "Paid normalized report.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "service",
                    "subject",
                    "retrievedAt",
                    "source",
                    "report"
                  ],
                  "properties": {
                    "service": {
                      "type": "string"
                    },
                    "subject": {
                      "type": "string"
                    },
                    "retrievedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "source": {
                      "type": "object",
                      "required": [
                        "name",
                        "url"
                      ],
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string",
                          "format": "uri"
                        }
                      }
                    },
                    "report": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "version": {
                          "type": "string"
                        },
                        "summary": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "requiresPython": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "license": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "dependencies": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "vulnerabilities": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "aliases": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              },
                              "link": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            }
                          }
                        },
                        "limitations": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "name",
                        "version",
                        "dependencies",
                        "vulnerabilities",
                        "limitations"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input; no payment settled."
          },
          "402": {
            "description": "Payment required or rejected; read PAYMENT-REQUIRED."
          },
          "404": {
            "description": "No provider record; no payment settled."
          },
          "502": {
            "description": "Provider or settlement unavailable. Check paymentStatus before retrying."
          }
        }
      }
    },
    "/api/services/sample/python": {
      "get": {
        "operationId": "pythonSample",
        "summary": "Free live sample using a fixed subject.",
        "responses": {
          "200": {
            "description": "Sample report."
          },
          "502": {
            "description": "Provider unavailable."
          }
        }
      }
    },
    "/api/security/cve": {
      "get": {
        "operationId": "cveReport",
        "summary": "Resolve a CVE into its published description, status, CVSS metrics, weakness identifiers and vendor/reference links. This does not scan a system or prove safety. $0.003 per request via x402.",
        "tags": [
          "utilities"
        ],
        "parameters": [
          {
            "name": "cve",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "CVE identifier, for example CVE-2021-44228."
          },
          {
            "name": "PAYMENT-SIGNATURE",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "base64 of an x402 PaymentPayload. Omit to receive HTTP 402 with payment requirements."
          }
        ],
        "responses": {
          "200": {
            "description": "Paid normalized report.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "service",
                    "subject",
                    "retrievedAt",
                    "source",
                    "report"
                  ],
                  "properties": {
                    "service": {
                      "type": "string"
                    },
                    "subject": {
                      "type": "string"
                    },
                    "retrievedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "source": {
                      "type": "object",
                      "required": [
                        "name",
                        "url"
                      ],
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string",
                          "format": "uri"
                        }
                      }
                    },
                    "report": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "status": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "published": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "modified": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "description": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "metrics": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "version": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "score": {
                                "type": [
                                  "number",
                                  "null"
                                ]
                              },
                              "severity": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "vector": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "source": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            }
                          }
                        },
                        "weaknesses": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "references": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "url": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "tags": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        },
                        "limitations": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "metrics",
                        "weaknesses",
                        "references",
                        "limitations"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input; no payment settled."
          },
          "402": {
            "description": "Payment required or rejected; read PAYMENT-REQUIRED."
          },
          "404": {
            "description": "No provider record; no payment settled."
          },
          "502": {
            "description": "Provider or settlement unavailable. Check paymentStatus before retrying."
          }
        }
      }
    },
    "/api/services/sample/cve": {
      "get": {
        "operationId": "cveSample",
        "summary": "Free live sample using a fixed subject.",
        "responses": {
          "200": {
            "description": "Sample report."
          },
          "502": {
            "description": "Provider unavailable."
          }
        }
      }
    },
    "/api/data/exchange-rates": {
      "get": {
        "operationId": "fxReport",
        "summary": "Get daily reference exchange rates per one unit of a base currency, with observation date and currency codes. Not executable trading quotes. ECB source data is also available free from ecb.europa.eu. $0.003 per request via x402.",
        "tags": [
          "utilities"
        ],
        "parameters": [
          {
            "name": "base",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Three-letter currency code supported by the ECB reference-rate feed, for example USD or EUR."
          },
          {
            "name": "PAYMENT-SIGNATURE",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "base64 of an x402 PaymentPayload. Omit to receive HTTP 402 with payment requirements."
          }
        ],
        "responses": {
          "200": {
            "description": "Paid normalized report.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "service",
                    "subject",
                    "retrievedAt",
                    "source",
                    "report"
                  ],
                  "properties": {
                    "service": {
                      "type": "string"
                    },
                    "subject": {
                      "type": "string"
                    },
                    "retrievedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "source": {
                      "type": "object",
                      "required": [
                        "name",
                        "url"
                      ],
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string",
                          "format": "uri"
                        }
                      }
                    },
                    "report": {
                      "type": "object",
                      "properties": {
                        "base": {
                          "type": "string"
                        },
                        "date": {
                          "type": "string"
                        },
                        "amount": {
                          "type": "number"
                        },
                        "rates": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "number"
                          }
                        },
                        "notice": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "base",
                        "date",
                        "amount",
                        "rates",
                        "notice"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input; no payment settled."
          },
          "402": {
            "description": "Payment required or rejected; read PAYMENT-REQUIRED."
          },
          "404": {
            "description": "No provider record; no payment settled."
          },
          "502": {
            "description": "Provider or settlement unavailable. Check paymentStatus before retrying."
          }
        }
      }
    },
    "/api/services/sample/fx": {
      "get": {
        "operationId": "fxSample",
        "summary": "Free live sample using a fixed subject.",
        "responses": {
          "200": {
            "description": "Sample report."
          },
          "502": {
            "description": "Provider unavailable."
          }
        }
      }
    },
    "/api/data/country": {
      "get": {
        "operationId": "countryReport",
        "summary": "Resolve a two-letter country code into its World Bank name, region, capital, income group and lending classification for data enrichment. $0.003 per request via x402.",
        "tags": [
          "utilities"
        ],
        "parameters": [
          {
            "name": "country",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Two-letter country code supported by World Bank, for example US or GB. Aggregates are excluded."
          },
          {
            "name": "PAYMENT-SIGNATURE",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "base64 of an x402 PaymentPayload. Omit to receive HTTP 402 with payment requirements."
          }
        ],
        "responses": {
          "200": {
            "description": "Paid normalized report.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "service",
                    "subject",
                    "retrievedAt",
                    "source",
                    "report"
                  ],
                  "properties": {
                    "service": {
                      "type": "string"
                    },
                    "subject": {
                      "type": "string"
                    },
                    "retrievedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "source": {
                      "type": "object",
                      "required": [
                        "name",
                        "url"
                      ],
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string",
                          "format": "uri"
                        }
                      }
                    },
                    "report": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string"
                        },
                        "iso3": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "region": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "capital": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "incomeGroup": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "lendingType": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "attribution": {
                          "type": "string"
                        },
                        "limitations": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "code",
                        "iso3",
                        "name",
                        "attribution",
                        "limitations"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input; no payment settled."
          },
          "402": {
            "description": "Payment required or rejected; read PAYMENT-REQUIRED."
          },
          "404": {
            "description": "No provider record; no payment settled."
          },
          "502": {
            "description": "Provider or settlement unavailable. Check paymentStatus before retrying."
          }
        }
      }
    },
    "/api/services/sample/country": {
      "get": {
        "operationId": "countrySample",
        "summary": "Free live sample using a fixed subject.",
        "responses": {
          "200": {
            "description": "Sample report."
          },
          "502": {
            "description": "Provider unavailable."
          }
        }
      }
    },
    "/api/data/economy": {
      "get": {
        "operationId": "economyReport",
        "summary": "Get up to five recent annual observations for population, GDP in current US dollars and consumer-price inflation. Includes years, units, source links and missing values. $0.003 per request via x402.",
        "tags": [
          "utilities"
        ],
        "parameters": [
          {
            "name": "country",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Two-letter country code supported by World Bank, for example US or GB. Aggregates are excluded."
          },
          {
            "name": "PAYMENT-SIGNATURE",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "base64 of an x402 PaymentPayload. Omit to receive HTTP 402 with payment requirements."
          }
        ],
        "responses": {
          "200": {
            "description": "Paid normalized report.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "service",
                    "subject",
                    "retrievedAt",
                    "source",
                    "report"
                  ],
                  "properties": {
                    "service": {
                      "type": "string"
                    },
                    "subject": {
                      "type": "string"
                    },
                    "retrievedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "source": {
                      "type": "object",
                      "required": [
                        "name",
                        "url"
                      ],
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string",
                          "format": "uri"
                        }
                      }
                    },
                    "report": {
                      "type": "object",
                      "properties": {
                        "countryCode": {
                          "type": "string"
                        },
                        "countryName": {
                          "type": "string"
                        },
                        "datasetUpdated": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "indicators": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string"
                              },
                              "name": {
                                "type": "string"
                              },
                              "unit": {
                                "type": "string"
                              },
                              "source": {
                                "type": "string"
                              },
                              "observations": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "year": {
                                      "type": "string"
                                    },
                                    "value": {
                                      "type": [
                                        "number",
                                        "null"
                                      ]
                                    }
                                  }
                                }
                              }
                            }
                          }
                        },
                        "attribution": {
                          "type": "string"
                        },
                        "limitations": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "countryCode",
                        "countryName",
                        "indicators",
                        "attribution",
                        "limitations"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input; no payment settled."
          },
          "402": {
            "description": "Payment required or rejected; read PAYMENT-REQUIRED."
          },
          "404": {
            "description": "No provider record; no payment settled."
          },
          "502": {
            "description": "Provider or settlement unavailable. Check paymentStatus before retrying."
          }
        }
      }
    },
    "/api/services/sample/economy": {
      "get": {
        "operationId": "economySample",
        "summary": "Free live sample using a fixed subject.",
        "responses": {
          "200": {
            "description": "Sample report."
          },
          "502": {
            "description": "Provider unavailable."
          }
        }
      }
    },
    "/api/code/verify": {
      "post": {
        "operationId": "verifyRepository",
        "summary": "Clone a public GitHub repository into a disposable Firecracker microVM, install dependencies, run one declared test, lint, or build script, and return structured logs plus the resolved commit. The service verifies execution, not semantic correctness; private repositories and arbitrary shell commands are not accepted. $0.25 per attempt via x402.",
        "tags": [
          "developer-tools"
        ],
        "parameters": [
          {
            "name": "PAYMENT-SIGNATURE",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "base64 of an x402 PaymentPayload. Omit to receive HTTP 402 with payment requirements."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "repository",
                  "task"
                ],
                "properties": {
                  "repository": {
                    "type": "string",
                    "format": "uri",
                    "description": "Public GitHub HTTPS repository URL."
                  },
                  "ref": {
                    "type": "string",
                    "description": "Optional branch or tag to verify."
                  },
                  "task": {
                    "type": "string",
                    "enum": [
                      "test",
                      "lint",
                      "build"
                    ],
                    "description": "Bounded package script to run."
                  },
                  "packageManager": {
                    "type": "string",
                    "enum": [
                      "auto",
                      "npm"
                    ],
                    "default": "auto",
                    "description": "Version 0.1 supports npm projects; auto selects npm."
                  },
                  "timeoutSeconds": {
                    "type": "integer",
                    "minimum": 15,
                    "maximum": 120,
                    "default": 60
                  }
                }
              },
              "example": {
                "repository": "https://github.com/octocat/Hello-World",
                "ref": "master",
                "task": "test",
                "packageManager": "auto",
                "timeoutSeconds": 60
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Paid structured verification result.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "verificationId",
                    "verdict",
                    "repository",
                    "task",
                    "steps",
                    "startedAt",
                    "finishedAt"
                  ],
                  "properties": {
                    "verificationId": {
                      "type": "string"
                    },
                    "verdict": {
                      "type": "string",
                      "enum": [
                        "pass",
                        "fail",
                        "error"
                      ]
                    },
                    "repository": {
                      "type": "string",
                      "format": "uri"
                    },
                    "resolvedCommit": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "task": {
                      "type": "string"
                    },
                    "packageManager": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "steps": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "name",
                          "exitCode",
                          "durationMs"
                        ],
                        "properties": {
                          "name": {
                            "type": "string"
                          },
                          "exitCode": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "durationMs": {
                            "type": "integer"
                          },
                          "stdout": {
                            "type": "string"
                          },
                          "stderr": {
                            "type": "string"
                          },
                          "truncated": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "startedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "finishedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "isolation": {
                      "type": "string"
                    },
                    "limitations": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid input; no payment settled."
          },
          "402": {
            "description": "Payment required or rejected; read PAYMENT-REQUIRED."
          },
          "503": {
            "description": "Execution worker is not configured; no payment settled."
          }
        }
      }
    },
    "/api/services": {
      "get": {
        "operationId": "listUtilityServices",
        "summary": "Free list of Saylor paid utility services, schemas, prices and samples.",
        "responses": {
          "200": {
            "description": "Utility catalog."
          }
        }
      }
    },
    "/api/base/token-risk/changes": {
      "post": {
        "operationId": "baseTokenRiskChanges",
        "summary": "Compare Base token on-chain observations. $0.02 in Base USDC.",
        "description": "Base token change report: compares signed, seven-day baselines with block-pinned owner, pause, proxy and supply reads, plus optional same-pool token balances. Returns field-level evidence and unknowns. No honeypot simulation, sell-tax estimate, USD liquidity valuation or safety guarantee. USDC on Base. EOA EIP-3009 payments only. Retry HTTP 202 using exactly the same body and payment signature.",
        "tags": [
          "token-monitoring"
        ],
        "parameters": [
          {
            "name": "PAYMENT-SIGNATURE",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "base64 of an x402 PaymentPayload. Omit to receive HTTP 402 with payment requirements."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "address": {
                    "type": "string",
                    "pattern": "^0x[0-9a-fA-F]{40}$",
                    "description": "Base ERC-20 contract address."
                  },
                  "pool": {
                    "type": "string",
                    "pattern": "^0x[0-9a-fA-F]{40}$",
                    "description": "Optional fixed pool exposing token0() and token1(), one matching address. No automatic pool selection."
                  },
                  "baseline": {
                    "type": "string",
                    "minLength": 20,
                    "maxLength": 32000,
                    "description": "Optional signed baseline from a previous paid response for the same address and pool; expires after seven days."
                  }
                },
                "required": [
                  "address"
                ]
              },
              "example": {
                "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Paid observation or comparison, with a signed seven-day baseline.",
            "headers": {
              "PAYMENT-RESPONSE": {
                "description": "Base64-encoded x402 settlement receipt.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "schema_version",
                    "status",
                    "current",
                    "previous_block",
                    "changes",
                    "coverage",
                    "baseline",
                    "baseline_expires_at",
                    "limitations"
                  ],
                  "properties": {
                    "schema_version": {
                      "const": "token-risk-changes/1"
                    },
                    "status": {
                      "enum": [
                        "baseline_created",
                        "changes_detected",
                        "no_observed_changes",
                        "insufficient_evidence"
                      ]
                    },
                    "current": {
                      "type": "object",
                      "required": [
                        "chain",
                        "address",
                        "pool",
                        "block",
                        "observed_at",
                        "fields"
                      ],
                      "properties": {
                        "chain": {
                          "type": "string",
                          "const": "eip155:8453"
                        },
                        "address": {
                          "type": "string"
                        },
                        "pool": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "block": {
                          "type": "object",
                          "required": [
                            "number",
                            "hash",
                            "timestamp",
                            "tag"
                          ],
                          "properties": {
                            "number": {
                              "type": "string"
                            },
                            "hash": {
                              "type": "string"
                            },
                            "timestamp": {
                              "type": "string"
                            },
                            "tag": {
                              "const": "safe"
                            }
                          }
                        },
                        "observed_at": {
                          "type": "string"
                        },
                        "fields": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "required": [
                              "value",
                              "status",
                              "evidence"
                            ],
                            "properties": {
                              "value": {
                                "type": [
                                  "string",
                                  "number",
                                  "boolean",
                                  "null"
                                ]
                              },
                              "status": {
                                "enum": [
                                  "observed",
                                  "unsupported",
                                  "unavailable"
                                ]
                              },
                              "evidence": {
                                "type": "object",
                                "required": [
                                  "method",
                                  "contract",
                                  "input"
                                ],
                                "properties": {
                                  "method": {
                                    "type": "string"
                                  },
                                  "contract": {
                                    "type": "string"
                                  },
                                  "input": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "previous_block": {
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "changes": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "field",
                          "before",
                          "after",
                          "attention"
                        ],
                        "properties": {
                          "field": {
                            "type": "string"
                          },
                          "before": {
                            "type": [
                              "string",
                              "number",
                              "boolean"
                            ]
                          },
                          "after": {
                            "type": [
                              "string",
                              "number",
                              "boolean"
                            ]
                          },
                          "attention": {
                            "enum": [
                              "review",
                              "informational"
                            ]
                          },
                          "delta_raw": {
                            "type": "string"
                          },
                          "change_percent": {
                            "type": [
                              "number",
                              "null"
                            ]
                          }
                        }
                      }
                    },
                    "coverage": {
                      "type": "object",
                      "required": [
                        "compared",
                        "not_compared",
                        "unavailable",
                        "unsupported"
                      ],
                      "properties": {
                        "compared": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "not_compared": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "required": [
                              "field",
                              "reason"
                            ],
                            "properties": {
                              "field": {
                                "type": "string"
                              },
                              "reason": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "unavailable": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "unsupported": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "baseline": {
                      "type": "string"
                    },
                    "baseline_expires_at": {
                      "type": "string"
                    },
                    "limitations": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                },
                "example": {
                  "schema_version": "token-risk-changes/1",
                  "status": "baseline_created",
                  "current": {
                    "chain": "eip155:8453",
                    "address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
                    "pool": null,
                    "block": {
                      "number": "40000000",
                      "hash": "0xabababababababababababababababababababababababababababababababab",
                      "timestamp": "2026-10-14T00:00:00.000Z",
                      "tag": "safe"
                    },
                    "observed_at": "2026-10-14T00:01:00.000Z",
                    "fields": {
                      "paused": {
                        "value": false,
                        "status": "observed",
                        "evidence": {
                          "method": "eth_call",
                          "contract": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
                          "input": "paused()"
                        }
                      }
                    }
                  },
                  "previous_block": null,
                  "changes": [],
                  "coverage": {
                    "compared": [],
                    "not_compared": [
                      {
                        "field": "code_hash",
                        "reason": "no_baseline"
                      },
                      {
                        "field": "owner",
                        "reason": "no_baseline"
                      },
                      {
                        "field": "paused",
                        "reason": "no_baseline"
                      },
                      {
                        "field": "total_supply_raw",
                        "reason": "no_baseline"
                      },
                      {
                        "field": "decimals",
                        "reason": "no_baseline"
                      },
                      {
                        "field": "implementation",
                        "reason": "no_baseline"
                      },
                      {
                        "field": "admin",
                        "reason": "no_baseline"
                      },
                      {
                        "field": "beacon",
                        "reason": "no_baseline"
                      },
                      {
                        "field": "beacon_implementation",
                        "reason": "no_baseline"
                      },
                      {
                        "field": "legacy_implementation",
                        "reason": "no_baseline"
                      },
                      {
                        "field": "implementation_code_hash",
                        "reason": "no_baseline"
                      }
                    ],
                    "unavailable": [],
                    "unsupported": []
                  },
                  "limitations": [
                    "Contract-reported fields and standard proxy slots are not a complete security audit; zero slots do not rule out other upgrade mechanisms or privileged roles.",
                    "Sellability, transfer taxes, blacklist behavior and transaction simulation are not tested. No safety or investment recommendation is made.",
                    "Pool token balances are not reserves, active liquidity, USD valuation or proof of liquidity withdrawal. Swaps, rebases and transfers also change them.",
                    "Only observations at the two stated blocks are compared; intermediate changes may be missed. Pool identity is caller-selected and DEX authenticity is not verified."
                  ],
                  "baseline": "EXAMPLE_ONLY_NOT_A_VALID_BASELINE",
                  "baseline_expires_at": "2026-10-21T00:01:00.000Z"
                }
              }
            }
          },
          "202": {
            "description": "Payment unconfirmed. Retry identical body and PAYMENT-SIGNATURE; do not sign another payment.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Invalid body, baseline or authorization."
          },
          "402": {
            "description": "Payment required or insufficient funds; read PAYMENT-REQUIRED."
          },
          "409": {
            "description": "Baseline scope or block conflict, payment reuse, or unresolved expired payment. Read the error code."
          },
          "410": {
            "description": "Baseline expired; omit it to begin a new observation."
          },
          "413": {
            "description": "Body or payment header too large."
          },
          "415": {
            "description": "Use application/json."
          },
          "422": {
            "description": "No contract bytecode or an incompatible pool; settlement was not attempted."
          },
          "503": {
            "description": "Chain, configuration or durable storage unavailable. Retry the same payment if one was supplied."
          }
        }
      }
    },
    "/api/base/token-risk/sample": {
      "get": {
        "operationId": "baseTokenRiskSample",
        "summary": "Free illustrative fixture, not live data or a usable baseline.",
        "responses": {
          "200": {
            "description": "Illustrative example.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "schema_version",
                    "status",
                    "current",
                    "previous_block",
                    "changes",
                    "coverage",
                    "baseline",
                    "baseline_expires_at",
                    "limitations"
                  ],
                  "properties": {
                    "schema_version": {
                      "const": "token-risk-changes/1"
                    },
                    "status": {
                      "enum": [
                        "baseline_created",
                        "changes_detected",
                        "no_observed_changes",
                        "insufficient_evidence"
                      ]
                    },
                    "current": {
                      "type": "object",
                      "required": [
                        "chain",
                        "address",
                        "pool",
                        "block",
                        "observed_at",
                        "fields"
                      ],
                      "properties": {
                        "chain": {
                          "type": "string",
                          "const": "eip155:8453"
                        },
                        "address": {
                          "type": "string"
                        },
                        "pool": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "block": {
                          "type": "object",
                          "required": [
                            "number",
                            "hash",
                            "timestamp",
                            "tag"
                          ],
                          "properties": {
                            "number": {
                              "type": "string"
                            },
                            "hash": {
                              "type": "string"
                            },
                            "timestamp": {
                              "type": "string"
                            },
                            "tag": {
                              "const": "safe"
                            }
                          }
                        },
                        "observed_at": {
                          "type": "string"
                        },
                        "fields": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "required": [
                              "value",
                              "status",
                              "evidence"
                            ],
                            "properties": {
                              "value": {
                                "type": [
                                  "string",
                                  "number",
                                  "boolean",
                                  "null"
                                ]
                              },
                              "status": {
                                "enum": [
                                  "observed",
                                  "unsupported",
                                  "unavailable"
                                ]
                              },
                              "evidence": {
                                "type": "object",
                                "required": [
                                  "method",
                                  "contract",
                                  "input"
                                ],
                                "properties": {
                                  "method": {
                                    "type": "string"
                                  },
                                  "contract": {
                                    "type": "string"
                                  },
                                  "input": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "previous_block": {
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "changes": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "field",
                          "before",
                          "after",
                          "attention"
                        ],
                        "properties": {
                          "field": {
                            "type": "string"
                          },
                          "before": {
                            "type": [
                              "string",
                              "number",
                              "boolean"
                            ]
                          },
                          "after": {
                            "type": [
                              "string",
                              "number",
                              "boolean"
                            ]
                          },
                          "attention": {
                            "enum": [
                              "review",
                              "informational"
                            ]
                          },
                          "delta_raw": {
                            "type": "string"
                          },
                          "change_percent": {
                            "type": [
                              "number",
                              "null"
                            ]
                          }
                        }
                      }
                    },
                    "coverage": {
                      "type": "object",
                      "required": [
                        "compared",
                        "not_compared",
                        "unavailable",
                        "unsupported"
                      ],
                      "properties": {
                        "compared": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "not_compared": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "required": [
                              "field",
                              "reason"
                            ],
                            "properties": {
                              "field": {
                                "type": "string"
                              },
                              "reason": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "unavailable": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "unsupported": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "baseline": {
                      "type": "string"
                    },
                    "baseline_expires_at": {
                      "type": "string"
                    },
                    "limitations": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                },
                "example": {
                  "schema_version": "token-risk-changes/1",
                  "status": "baseline_created",
                  "current": {
                    "chain": "eip155:8453",
                    "address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
                    "pool": null,
                    "block": {
                      "number": "40000000",
                      "hash": "0xabababababababababababababababababababababababababababababababab",
                      "timestamp": "2026-10-14T00:00:00.000Z",
                      "tag": "safe"
                    },
                    "observed_at": "2026-10-14T00:01:00.000Z",
                    "fields": {
                      "paused": {
                        "value": false,
                        "status": "observed",
                        "evidence": {
                          "method": "eth_call",
                          "contract": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
                          "input": "paused()"
                        }
                      }
                    }
                  },
                  "previous_block": null,
                  "changes": [],
                  "coverage": {
                    "compared": [],
                    "not_compared": [
                      {
                        "field": "code_hash",
                        "reason": "no_baseline"
                      },
                      {
                        "field": "owner",
                        "reason": "no_baseline"
                      },
                      {
                        "field": "paused",
                        "reason": "no_baseline"
                      },
                      {
                        "field": "total_supply_raw",
                        "reason": "no_baseline"
                      },
                      {
                        "field": "decimals",
                        "reason": "no_baseline"
                      },
                      {
                        "field": "implementation",
                        "reason": "no_baseline"
                      },
                      {
                        "field": "admin",
                        "reason": "no_baseline"
                      },
                      {
                        "field": "beacon",
                        "reason": "no_baseline"
                      },
                      {
                        "field": "beacon_implementation",
                        "reason": "no_baseline"
                      },
                      {
                        "field": "legacy_implementation",
                        "reason": "no_baseline"
                      },
                      {
                        "field": "implementation_code_hash",
                        "reason": "no_baseline"
                      }
                    ],
                    "unavailable": [],
                    "unsupported": []
                  },
                  "limitations": [
                    "Contract-reported fields and standard proxy slots are not a complete security audit; zero slots do not rule out other upgrade mechanisms or privileged roles.",
                    "Sellability, transfer taxes, blacklist behavior and transaction simulation are not tested. No safety or investment recommendation is made.",
                    "Pool token balances are not reserves, active liquidity, USD valuation or proof of liquidity withdrawal. Swaps, rebases and transfers also change them.",
                    "Only observations at the two stated blocks are compared; intermediate changes may be missed. Pool identity is caller-selected and DEX authenticity is not verified."
                  ],
                  "baseline": "EXAMPLE_ONLY_NOT_A_VALID_BASELINE",
                  "baseline_expires_at": "2026-10-21T00:01:00.000Z"
                }
              }
            }
          }
        }
      }
    }
  },
  "x-x402": {
    "version": 2,
    "manifest": "https://saylorinnovations.com/.well-known/x402.json",
    "networks": [
      "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
      "eip155:8453",
      "eip155:137",
      "eip155:42161"
    ],
    "payToByNetwork": {
      "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp": "7LSjfrJf8fNsB8VA9u7N3WEn25smQLpob3SvyUvXacy7",
      "eip155:8453": "0xA2A8dF0f7CaaBEa4e120a2568118f141569fc8aa",
      "eip155:137": "0xA2A8dF0f7CaaBEa4e120a2568118f141569fc8aa",
      "eip155:42161": "0xA2A8dF0f7CaaBEa4e120a2568118f141569fc8aa"
    },
    "guidePriceRangeUsd": {
      "min": 0.01,
      "max": 0.02
    }
  }
}