{
  "service": "2s",
  "description": "The (most) everything API — one pay-per-call API giving AI agents ground-truth data across hundreds of endpoints, settled in USDC on Base or Solana via x402. No accounts, no API keys.",
  "url": "https://2s.io",
  "generatedAt": "2026-07-14T23:03:08.316Z",
  "auth": {
    "flows": [
      {
        "kind": "x402",
        "description": "HTTP-native per-call payments. Call the endpoint with no auth, receive 402 with a multi-network PaymentRequirements envelope (Base USDC + Solana USDC). Sign either EIP-3009 transferWithAuthorization (Base) OR a partial SPL token transfer (Solana). Retry with PAYMENT-SIGNATURE header (X-PAYMENT also accepted for v1 clients).",
        "version": 2,
        "network": "base",
        "asset": "USDC",
        "facilitator": "https://api.cdp.coinbase.com/platform/v2/x402",
        "spec": "https://x402.org",
        "networks": [
          {
            "network": "base",
            "caip2": "eip155:8453",
            "asset": "USDC"
          },
          {
            "network": "solana",
            "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
            "asset": "USDC"
          }
        ]
      }
    ]
  },
  "pricing": {
    "currency": "USD",
    "settlement": "USDC on Base",
    "note": "USDC on Base, settled per-call via the x402 facilitator (EIP-3009 transferWithAuthorization). No prefunded account required for x402 callers."
  },
  "networks": [
    {
      "network": "base",
      "caip2": "eip155:8453",
      "asset": "USDC"
    },
    {
      "network": "solana",
      "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
      "asset": "USDC"
    }
  ],
  "count": 577,
  "specs": {
    "openapi": "https://2s.io/api/openapi",
    "apisJson": "https://2s.io/apis.json",
    "apiCatalog": "https://2s.io/.well-known/api-catalog",
    "mcpServerCard": "https://2s.io/.well-known/mcp/server-card.json",
    "wellKnownX402": "https://2s.io/.well-known/x402",
    "aiPlugin": "https://2s.io/.well-known/ai-plugin.json",
    "a2aAgentCard": "https://2s.io/.well-known/agent-card.json",
    "llmsTxt": "https://2s.io/llms.txt",
    "llmsFullTxt": "https://2s.io/llms-full.txt",
    "registryJson": "https://2s.io/registry.json",
    "skillMd": "https://2s.io/skill.md",
    "promptTxt": "https://2s.io/prompt.txt",
    "catalogTxt": "https://2s.io/catalog.txt",
    "endpointsTxt": "https://2s.io/endpoints.txt"
  },
  "surfaces": {
    "llms_txt": "https://2s.io/llms.txt",
    "llms_full_txt": "https://2s.io/llms-full.txt",
    "registry_json": "https://2s.io/registry.json",
    "api_directory": "https://2s.io/api/directory",
    "api_openapi": "https://2s.io/api/openapi",
    "skill_md": "https://2s.io/skill.md",
    "prompt_txt": "https://2s.io/prompt.txt",
    "catalog_txt": "https://2s.io/catalog.txt",
    "endpoints_txt": "https://2s.io/endpoints.txt"
  },
  "endpoints": [
    {
      "id": "agent.knowledge-delta",
      "group": "agent",
      "name": "knowledge-delta",
      "method": "POST",
      "path": "/api/agent/knowledge-delta",
      "url": "https://2s.io/api/agent/knowledge-delta",
      "description": "What's happened in a given topic since a given date? Pass a free-text topic + ISO date; receive a deduplicated, ranked list of recent events drawn from US federal regulations, US House + Senate roll-call votes, academic papers (arXiv + PubMed + Semantic Scholar), and federal court opinions. Each event includes title, 1-2 sentence summary, date, source label, source URL, and a 1-5 significance score. Designed so an AI agent can spend one call to catch up on a domain since its LLM training cutoff. LLM-backed source routing and synthesis.",
      "priceUsd": 0.06,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "topic": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200,
            "description": "Free-text domain. Examples: \"oncology immunotherapy\", \"Rust language ecosystem\", \"SEC enforcement against crypto exchanges\"."
          },
          "since": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Earliest date (YYYY-MM-DD). Typically the agent's LLM training cutoff date."
          },
          "until": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Latest date (YYYY-MM-DD). Default = today."
          },
          "maxEvents": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "default": 20,
            "description": "Max events to return (1-50). Default 20."
          }
        },
        "required": [
          "topic",
          "since"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "topic": "SEC enforcement actions against crypto exchanges",
        "since": "2026-01-01",
        "maxEvents": 10
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "query": {
                  "type": "object",
                  "properties": {
                    "topic": {
                      "type": "string"
                    },
                    "since": {
                      "type": "string"
                    },
                    "until": {
                      "type": "string"
                    },
                    "maxEvents": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "topic",
                    "since",
                    "until",
                    "maxEvents"
                  ],
                  "additionalProperties": false
                },
                "sourcesQueried": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "events": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "title": {
                        "type": "string"
                      },
                      "summary": {
                        "type": "string"
                      },
                      "date": {
                        "type": "string",
                        "nullable": true
                      },
                      "source": {
                        "type": "string"
                      },
                      "sourceLabel": {
                        "type": "string"
                      },
                      "sourceUrl": {
                        "type": "string",
                        "nullable": true
                      },
                      "significance": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 5
                      }
                    },
                    "required": [
                      "title",
                      "summary",
                      "date",
                      "source",
                      "sourceLabel",
                      "sourceUrl",
                      "significance"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "query",
                "sourcesQueried",
                "events"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "rawHits": {
                "type": "integer",
                "description": "Total raw hits before dedup/ranking."
              }
            },
            "required": [
              "rawHits"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "agriculture.drought",
      "group": "agriculture",
      "name": "drought",
      "method": "GET",
      "path": "/api/agriculture/drought",
      "url": "https://2s.io/api/agriculture/drought",
      "description": "US Drought Monitor severity for a county (5-digit FIPS) or state (2-letter code). Returns the weekly percent of area in each drought category — None, D0 (Abnormally Dry), D1 (Moderate), D2 (Severe), D3 (Extreme), D4 (Exceptional) — newest week first, plus the worst category present each week. Keyless, public-domain (NDMC/USDA/NOAA). This is the official metric behind USDA disaster-program eligibility; use for crop-risk, water, and insurance reasoning.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "area": {
            "type": "string",
            "minLength": 2,
            "maxLength": 5
          },
          "weeks": {
            "type": "integer",
            "minimum": 1,
            "maximum": 260
          }
        },
        "required": [
          "area"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "area": "19015",
        "weeks": 12
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "date": {
                  "type": "string",
                  "nullable": true
                },
                "none": {
                  "type": "number",
                  "nullable": true
                },
                "d0": {
                  "type": "number",
                  "nullable": true
                },
                "d1": {
                  "type": "number",
                  "nullable": true
                },
                "d2": {
                  "type": "number",
                  "nullable": true
                },
                "d3": {
                  "type": "number",
                  "nullable": true
                },
                "d4": {
                  "type": "number",
                  "nullable": true
                },
                "worst": {
                  "type": "string"
                }
              },
              "required": [
                "date",
                "none",
                "d0",
                "d1",
                "d2",
                "d3",
                "d4",
                "worst"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "area": {
                "type": "string"
              },
              "areaType": {
                "type": "string"
              }
            },
            "required": [
              "area",
              "areaType"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "agriculture.stats",
      "group": "agriculture",
      "name": "stats",
      "method": "GET",
      "path": "/api/agriculture/stats",
      "url": "https://2s.io/api/agriculture/stats",
      "description": "USDA NASS QuickStats — authoritative US agricultural statistics: crop yields, acreage, production, livestock inventory, and prices received. Filter by commodity (e.g. CORN, SOYBEANS, CATTLE), year (or year__GE/year__LE range), state (2-letter), county, statistic category (YIELD, PRODUCTION, AREA HARVESTED, PRICE RECEIVED), and aggregation level (NATIONAL/STATE/COUNTY). Returns normalized rows with value + unit. QuickStats caps results at 50,000 rows, so narrow broad queries (a 400 RESULT_TOO_LARGE tells you to add filters). Public-domain federal data.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "commodity_desc": {
            "type": "string",
            "minLength": 2,
            "maxLength": 60
          },
          "year": {
            "type": "string",
            "pattern": "^\\d{4}$"
          },
          "year__GE": {
            "type": "string",
            "pattern": "^\\d{4}$"
          },
          "year__LE": {
            "type": "string",
            "pattern": "^\\d{4}$"
          },
          "state_alpha": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2
          },
          "county_name": {
            "type": "string",
            "maxLength": 60
          },
          "statisticcat_desc": {
            "type": "string",
            "maxLength": 60
          },
          "agg_level_desc": {
            "type": "string",
            "maxLength": 30
          },
          "short_desc": {
            "type": "string",
            "maxLength": 200
          },
          "freq_desc": {
            "type": "string",
            "maxLength": 20
          }
        },
        "required": [
          "commodity_desc"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "commodity_desc": "CORN",
        "year": "2023",
        "state_alpha": "IA",
        "statisticcat_desc": "YIELD"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "commodity": {
                  "type": "string",
                  "nullable": true
                },
                "year": {
                  "type": "number",
                  "nullable": true
                },
                "state": {
                  "type": "string",
                  "nullable": true
                },
                "county": {
                  "type": "string",
                  "nullable": true
                },
                "category": {
                  "type": "string",
                  "nullable": true
                },
                "dataItem": {
                  "type": "string",
                  "nullable": true
                },
                "value": {
                  "type": "number",
                  "nullable": true
                },
                "valueRaw": {
                  "type": "string",
                  "nullable": true
                },
                "unit": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "commodity",
                "year",
                "state",
                "county",
                "category",
                "dataItem",
                "value",
                "valueRaw",
                "unit"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "ai.chat",
      "group": "ai",
      "name": "chat",
      "method": "POST",
      "path": "/api/ai/chat",
      "url": "https://2s.io/api/ai/chat",
      "description": "OpenAI-compatible chat completions across every frontier model on one endpoint — GPT-5, Claude, Gemini, Grok, DeepSeek, Llama, Mistral and ~290 more. POST { model, messages, max_tokens?, temperature?, top_p?, stop? } and get back a standard chat.completion (choices[].message + usage). Pay per call in USDC via x402 — no accounts, no provider keys, no subscriptions. Price scales with the model and max_tokens and is quoted in the 402. List selectable models at GET /api/ai/models.",
      "priceUsd": 0.001,
      "priceMode": "dynamic",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "model": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80,
            "description": "Gateway model id, e.g. openai/gpt-5, anthropic/claude-opus-4.8, google/gemini-3-pro-preview. Full list: GET /api/ai/models."
          },
          "messages": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "role": {
                  "type": "string",
                  "enum": [
                    "system",
                    "user",
                    "assistant"
                  ]
                },
                "content": {
                  "type": "string"
                }
              },
              "required": [
                "role",
                "content"
              ],
              "additionalProperties": false
            },
            "minItems": 1,
            "description": "OpenAI-style message list."
          },
          "max_tokens": {
            "type": "integer",
            "minimum": 1,
            "maximum": 8192,
            "description": "Max output tokens (default 1024)."
          },
          "temperature": {
            "type": "number",
            "minimum": 0,
            "maximum": 2
          },
          "top_p": {
            "type": "number",
            "minimum": 0,
            "maximum": 1
          },
          "stop": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          }
        },
        "required": [
          "model",
          "messages"
        ],
        "additionalProperties": false
      },
      "billing": "actual-usage-upto-max",
      "inputExample": {
        "model": "openai/gpt-5-nano",
        "messages": [
          {
            "role": "user",
            "content": "Say hi in 3 words."
          }
        ]
      }
    },
    {
      "id": "ai.classify",
      "group": "ai",
      "name": "classify",
      "method": "POST",
      "path": "/api/ai/classify",
      "url": "https://2s.io/api/ai/classify",
      "description": "Zero-shot text classification. POST { text, labels[], multiLabel? }. Assigns the text to one of your labels (or several when multiLabel=true) with a confidence score and a one-line rationale. No training data needed — define the labels at call time. Great for routing, tagging, triage, and intent detection.",
      "priceUsd": 0.018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "minLength": 1,
            "maxLength": 12000
          },
          "labels": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 60
            },
            "minItems": 2,
            "maxItems": 20,
            "description": "Candidate labels to choose from."
          },
          "multiLabel": {
            "type": "boolean",
            "description": "Allow multiple labels (default single)."
          }
        },
        "required": [
          "text",
          "labels"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "text": "example",
        "labels": [
          "example"
        ],
        "multiLabel": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "labels": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "top": {
                  "type": "string",
                  "nullable": true
                },
                "confidence": {
                  "type": "number",
                  "nullable": true
                },
                "reasoning": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "labels",
                "top",
                "confidence",
                "reasoning"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "ai.council",
      "group": "ai",
      "name": "council",
      "method": "POST",
      "path": "/api/ai/council",
      "url": "https://2s.io/api/ai/council",
      "description": "Ask several frontier models the same question and get one synthesized answer. Choose a preset council — fast (3 quick models), balanced (3 strong models with a peer-refine round), or deep (5 models plus refine) — or supply your own set of 2–8 models. A chairman model merges the responses into a single consensus with a confidence score and any points of dissent, and each member’s individual answer is returned alongside. Price scales with the council size and answer length, and is quoted up front in the 402. Models auto-resolve to their latest available version; any unavailable model simply drops out (at least 2 are needed).",
      "priceUsd": 0.012,
      "priceMode": "dynamic",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "prompt": {
            "type": "string",
            "minLength": 1,
            "maxLength": 12000,
            "description": "The question to put to the council."
          },
          "mode": {
            "type": "string",
            "enum": [
              "fast",
              "balanced",
              "deep"
            ],
            "description": "Preset council. Default balanced. Ignored if `models` is given."
          },
          "models": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 80
            },
            "minItems": 2,
            "maxItems": 8,
            "description": "Custom council of 2–8 gateway model ids, e.g. [\"openai/gpt-5\",\"anthropic/claude-opus\",\"google/gemini-3-pro\"] (overrides `mode`). Full selectable list + live prices: GET /api/ai/council/menu."
          },
          "maxTokens": {
            "type": "integer",
            "minimum": 128,
            "maximum": 4096,
            "description": "Max output tokens per model. Default 640."
          }
        },
        "required": [
          "prompt"
        ],
        "additionalProperties": false
      },
      "billing": "actual-usage-upto-max",
      "inputExample": {
        "prompt": "Is a hot dog a sandwich? Give a one-line ruling.",
        "mode": "fast"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "consensus": {
                  "type": "string",
                  "description": "The synthesized best answer."
                },
                "confidence": {
                  "type": "number",
                  "description": "0–1 confidence; high when the council agreed."
                },
                "agreement": {
                  "type": "string",
                  "description": "One-line note on what the council agreed on."
                },
                "dissent": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Notable disagreements or points one model added; empty on full agreement."
                },
                "models": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "model": {
                        "type": "string"
                      },
                      "answered": {
                        "type": "boolean"
                      },
                      "answer": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "model",
                      "answered",
                      "answer"
                    ],
                    "additionalProperties": false
                  },
                  "description": "Each council member and its individual answer (null if it did not respond)."
                }
              },
              "required": [
                "consensus",
                "confidence",
                "agreement",
                "dissent",
                "models"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "mode": {
                "type": "string"
              },
              "chairman": {
                "type": "string"
              },
              "modelCount": {
                "type": "integer"
              },
              "answered": {
                "type": "integer"
              }
            },
            "required": [
              "mode",
              "chairman",
              "modelCount",
              "answered"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "ai.describe-image",
      "group": "ai",
      "name": "describe-image",
      "method": "POST",
      "path": "/api/ai/describe-image",
      "url": "https://2s.io/api/ai/describe-image",
      "description": "Describe an image. POST { imageUrl, instruction? }. Returns { imageUrl, altText (5-15 word accessibility text), description (2-3 sentences), contentType (photograph|illustration|screenshot|diagram|document|mixed|other), text (verbatim OCR transcription, \"\" if none), mainObjects[], dominantColors[] (hex) }. Accepts JPEG, PNG, GIF, WebP. 1MB image size cap.",
      "priceUsd": 0.018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "imageUrl": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "HTTPS URL of a JPEG, PNG, GIF, or WebP image (≤1MB)."
          },
          "instruction": {
            "type": "string",
            "maxLength": 1000,
            "description": "Optional caller-supplied focus hint, e.g. \"describe the chart axes\"."
          }
        },
        "required": [
          "imageUrl"
        ],
        "additionalProperties": false
      },
      "billing": "actual-usage-upto-max",
      "inputExample": {
        "imageUrl": "https://example.com",
        "instruction": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "imageUrl": {
                  "type": "string"
                },
                "altText": {
                  "type": "string",
                  "description": "Short accessibility text (~5-15 words)."
                },
                "description": {
                  "type": "string",
                  "description": "2-3 sentence description."
                },
                "contentType": {
                  "type": "string",
                  "enum": [
                    "photograph",
                    "illustration",
                    "screenshot",
                    "diagram",
                    "document",
                    "mixed",
                    "other"
                  ]
                },
                "text": {
                  "type": "string",
                  "description": "Verbatim OCR transcription, \"\" if no text present."
                },
                "mainObjects": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Salient objects/subjects in the image."
                },
                "dominantColors": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Hex color codes (e.g. \"#1a3b5f\") of dominant colors."
                }
              },
              "required": [
                "imageUrl",
                "altText",
                "description",
                "contentType",
                "text",
                "mainObjects",
                "dominantColors"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "ai.entities",
      "group": "ai",
      "name": "entities",
      "method": "POST",
      "path": "/api/ai/entities",
      "url": "https://2s.io/api/ai/entities",
      "description": "Named-entity recognition. POST { text }. Extracts people, organizations, locations, dates, money, products, laws, events and more — each with a standard type and mention count. For knowledge extraction, redaction prep, and document indexing.",
      "priceUsd": 0.036,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "minLength": 1,
            "maxLength": 12000
          }
        },
        "required": [
          "text"
        ],
        "additionalProperties": false
      },
      "billing": "actual-usage-upto-max",
      "inputExample": {
        "text": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "entities": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "text": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      },
                      "mentions": {
                        "type": "number",
                        "nullable": true
                      }
                    },
                    "required": [
                      "text",
                      "type",
                      "mentions"
                    ],
                    "additionalProperties": false
                  }
                },
                "count": {
                  "type": "number"
                }
              },
              "required": [
                "entities",
                "count"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "ai.extract",
      "group": "ai",
      "name": "extract",
      "method": "POST",
      "path": "/api/ai/extract",
      "url": "https://2s.io/api/ai/extract",
      "description": "Extract structured data from a webpage. POST { url, schema, instruction? }. The schema is a JSON Schema object (top-level type:\"object\") describing the shape you want back; output is guaranteed to conform. Returns { url, finalUrl, extracted, meta:{ truncated } }.",
      "priceUsd": 0.075,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048
          },
          "schema": {
            "type": "object",
            "additionalProperties": {}
          },
          "instruction": {
            "type": "string",
            "maxLength": 2000
          }
        },
        "required": [
          "url",
          "schema"
        ],
        "additionalProperties": false
      },
      "billing": "actual-usage-upto-max",
      "inputExample": {
        "url": "https://example.com",
        "schema": {},
        "instruction": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string",
                  "description": "Requested URL."
                },
                "finalUrl": {
                  "type": "string",
                  "description": "Final URL after redirects."
                },
                "extracted": {
                  "type": "object",
                  "additionalProperties": {},
                  "description": "The extracted object, conforming to the caller-supplied JSON Schema."
                },
                "truncated": {
                  "type": "boolean",
                  "description": "True if the source page was truncated before extraction."
                }
              },
              "required": [
                "url",
                "finalUrl",
                "extracted",
                "truncated"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "ai.image",
      "group": "ai",
      "name": "image",
      "method": "POST",
      "path": "/api/ai/image",
      "url": "https://2s.io/api/ai/image",
      "description": "Generate images from a text prompt across the gateway’s image models (gpt-image, Gemini image, FLUX, Grok Imagine, …) on one endpoint. POST { model, prompt, n?, size? } → OpenAI-style { created, data: [{ b64_json }] }. Pay per call in USDC via x402 — no accounts or provider keys. Priced per model from $0.03/image (quoted in the 402). List models at GET /api/ai/models.",
      "priceUsd": 0.036,
      "priceMode": "dynamic",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "model": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80,
            "description": "Gateway image model id, e.g. openai/gpt-image-1, google/gemini-3-pro-image, black-forest-labs/flux-1.1-pro."
          },
          "prompt": {
            "type": "string",
            "minLength": 1,
            "maxLength": 4000,
            "description": "Text prompt."
          },
          "n": {
            "type": "integer",
            "minimum": 1,
            "maximum": 4,
            "description": "Number of images (1-4, default 1)."
          },
          "size": {
            "type": "string",
            "maxLength": 16,
            "description": "Optional WxH, e.g. 1024x1024."
          }
        },
        "required": [
          "model",
          "prompt"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "model": "google/gemini-2.5-flash-image",
        "prompt": "a red circle on white"
      }
    },
    {
      "id": "ai.moderate",
      "group": "ai",
      "name": "moderate",
      "method": "POST",
      "path": "/api/ai/moderate",
      "url": "https://2s.io/api/ai/moderate",
      "description": "Content moderation. POST { text }. Flags content across categories — hate, harassment, sexual, sexual/minors, violence, self-harm, dangerous, illicit — with a per-category boolean and 0..1 severity score, plus an overall flagged verdict. For UGC filtering, trust & safety, and pre-publish checks.",
      "priceUsd": 0.018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "minLength": 1,
            "maxLength": 12000
          }
        },
        "required": [
          "text"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "text": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "flagged": {
                  "type": "boolean"
                },
                "categories": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "boolean"
                  }
                },
                "scores": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "number"
                  }
                }
              },
              "required": [
                "flagged",
                "categories",
                "scores"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "ai.ocr",
      "group": "ai",
      "name": "ocr",
      "method": "POST",
      "path": "/api/ai/ocr",
      "url": "https://2s.io/api/ai/ocr",
      "description": "OCR + layout extraction. POST { imageUrl, instruction? }. Returns verbatim transcribed text in reading order, any detected tables as markdown, the primary language, and a handwriting flag. For reading receipts, forms, screenshots, scanned pages, and labels. JPEG/PNG/GIF/WebP.",
      "priceUsd": 0.036,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "imageUrl": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "Public image URL (JPEG/PNG/GIF/WebP)."
          },
          "instruction": {
            "type": "string",
            "maxLength": 500,
            "description": "Optional steering, e.g. \"only the table\" or \"preserve line numbers\"."
          }
        },
        "required": [
          "imageUrl"
        ],
        "additionalProperties": false
      },
      "billing": "actual-usage-upto-max",
      "inputExample": {
        "imageUrl": "https://example.com",
        "instruction": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "imageUrl": {
                  "type": "string"
                },
                "fullText": {
                  "type": "string"
                },
                "tables": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "language": {
                  "type": "string",
                  "nullable": true
                },
                "hasHandwriting": {
                  "type": "boolean",
                  "nullable": true
                }
              },
              "required": [
                "imageUrl",
                "fullText",
                "tables",
                "language",
                "hasHandwriting"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "ai.pii",
      "group": "ai",
      "name": "pii",
      "method": "POST",
      "path": "/api/ai/pii",
      "url": "https://2s.io/api/ai/pii",
      "description": "PII detection. POST { text }. Finds personally identifiable information — names, emails, phones, addresses, SSNs, credit cards, bank/IP/passport/DOB and more — returning each finding with its type and exact substring so you can redact it. For compliance, logging hygiene, and data-minimization before storing or sending text.",
      "priceUsd": 0.03,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "minLength": 1,
            "maxLength": 12000
          }
        },
        "required": [
          "text"
        ],
        "additionalProperties": false
      },
      "billing": "actual-usage-upto-max",
      "inputExample": {
        "text": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "hasPii": {
                  "type": "boolean"
                },
                "count": {
                  "type": "number"
                },
                "types": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "entities": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "value": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "type",
                      "value"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "hasPii",
                "count",
                "types",
                "entities"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "ai.research",
      "group": "ai",
      "name": "research",
      "method": "POST",
      "path": "/api/ai/research",
      "url": "https://2s.io/api/ai/research",
      "description": "Grounded research brief. POST { query, urls? }. Gathers sources (Wikipedia + any URLs you supply), then synthesizes a factual, cited brief: a 2-4 sentence summary, key facts, and the source list. Grounded only in the fetched sources (no free-form invention). For agent research, due diligence, and topic primers.",
      "priceUsd": 0.042,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 2,
            "maxLength": 400,
            "description": "Topic, entity, or question to research."
          },
          "urls": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uri",
              "maxLength": 2048
            },
            "maxItems": 5,
            "description": "Optional source URLs to ground the brief in, alongside Wikipedia."
          }
        },
        "required": [
          "query"
        ],
        "additionalProperties": false
      },
      "billing": "actual-usage-upto-max",
      "inputExample": {
        "query": "xx",
        "urls": [
          "https://example.com"
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "query": {
                  "type": "string"
                },
                "summary": {
                  "type": "string"
                },
                "keyFacts": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "sources": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "title": {
                        "type": "string"
                      },
                      "url": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "title",
                      "url"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "query",
                "summary",
                "keyFacts",
                "sources"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "ai.screenshot",
      "group": "ai",
      "name": "screenshot",
      "method": "POST",
      "path": "/api/ai/screenshot",
      "url": "https://2s.io/api/ai/screenshot",
      "description": "Render a URL as a screenshot. POST { url, width?, height?, fullPage?, format?, quality?, waitUntil?, timeoutMs?, deviceScaleFactor?, blockAds? }. Returns raw image bytes (no JSON envelope) with X-2s-Render-Ms and X-2s-Image-Bytes headers. Viewport clamped 320-3840 × 320-2160. Timeout clamped 1-15s. Defaults: 1280×720 PNG, networkidle2 wait, ad-blocking on. Use cases: visual verification, archival, change detection, OG-card generation, RSS thumbnails.",
      "priceUsd": 0.0075,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "HTTPS URL to render."
          },
          "width": {
            "type": "integer",
            "minimum": 320,
            "maximum": 3840,
            "description": "Viewport width (320-3840). Default 1280."
          },
          "height": {
            "type": "integer",
            "minimum": 320,
            "maximum": 2160,
            "description": "Viewport height (320-2160). Default 720."
          },
          "fullPage": {
            "type": "boolean",
            "description": "Capture the full scrollable page instead of the viewport."
          },
          "format": {
            "type": "string",
            "enum": [
              "png",
              "jpeg",
              "webp"
            ],
            "description": "Image format. Default png."
          },
          "quality": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "JPEG/WebP quality 1-100. Ignored for PNG."
          },
          "waitUntil": {
            "type": "string",
            "enum": [
              "load",
              "domcontentloaded",
              "networkidle0",
              "networkidle2"
            ],
            "description": "Wait condition before snap. Default networkidle2."
          },
          "timeoutMs": {
            "type": "integer",
            "minimum": 1000,
            "maximum": 15000,
            "description": "Render timeout in milliseconds (1000-15000). Default 8000."
          },
          "deviceScaleFactor": {
            "type": "integer",
            "minimum": 1,
            "maximum": 3,
            "description": "Pixel density multiplier 1-3. Default 1."
          },
          "blockAds": {
            "type": "boolean",
            "description": "Block ads + trackers. Default true."
          }
        },
        "required": [
          "url"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "url": "https://example.com",
        "width": 320,
        "height": 320,
        "fullPage": false,
        "format": "png",
        "quality": 1,
        "waitUntil": "load",
        "timeoutMs": 1000,
        "deviceScaleFactor": 1,
        "blockAds": false
      }
    },
    {
      "id": "ai.sentiment",
      "group": "ai",
      "name": "sentiment",
      "method": "POST",
      "path": "/api/ai/sentiment",
      "url": "https://2s.io/api/ai/sentiment",
      "description": "Sentiment analysis. POST { text }. Returns overall sentiment (positive/negative/neutral/mixed), a polarity score from -1 to 1, a confidence, and a one-line rationale. For reviews, social posts, support messages, and feedback triage.",
      "priceUsd": 0.018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "minLength": 1,
            "maxLength": 12000
          }
        },
        "required": [
          "text"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "text": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "sentiment": {
                  "type": "string",
                  "nullable": true
                },
                "score": {
                  "type": "number",
                  "nullable": true
                },
                "confidence": {
                  "type": "number",
                  "nullable": true
                },
                "rationale": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "sentiment",
                "score",
                "confidence",
                "rationale"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "ai.summarize",
      "group": "ai",
      "name": "summarize",
      "method": "POST",
      "path": "/api/ai/summarize",
      "url": "https://2s.io/api/ai/summarize",
      "description": "Summarize a webpage. POST { url, instruction? }. Returns { url, finalUrl, summary (1-3 sentences), keyPoints (3-7 bullets), title, audience, estimatedReadingMinutes, meta:{ truncated } }. Sibling to /api/ai/extract — use extract when you need a typed payload conforming to your own schema; use summarize when you want a ready-made digest. Supports x402 upto billing: authorize the quoted max, pay only your actual usage.",
      "priceUsd": 0.063,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048
          },
          "instruction": {
            "type": "string",
            "maxLength": 1000
          }
        },
        "required": [
          "url"
        ],
        "additionalProperties": false
      },
      "billing": "actual-usage-upto-max",
      "inputExample": {
        "url": "https://en.wikipedia.org/wiki/HTTP_402"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string",
                  "description": "Requested URL."
                },
                "finalUrl": {
                  "type": "string",
                  "description": "Final URL after redirects."
                },
                "summary": {
                  "type": "string",
                  "description": "1-3 sentence digest."
                },
                "keyPoints": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "3-7 bullet key points."
                },
                "title": {
                  "type": "string",
                  "description": "Page title."
                },
                "audience": {
                  "type": "string",
                  "description": "Inferred target audience."
                },
                "estimatedReadingMinutes": {
                  "type": "integer",
                  "description": "Estimated reading time in minutes."
                },
                "truncated": {
                  "type": "boolean",
                  "description": "True if the source page was truncated before summarizing."
                }
              },
              "required": [
                "url",
                "finalUrl",
                "summary",
                "keyPoints",
                "title",
                "audience",
                "estimatedReadingMinutes",
                "truncated"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "ai.translate",
      "group": "ai",
      "name": "translate",
      "method": "POST",
      "path": "/api/ai/translate",
      "url": "https://2s.io/api/ai/translate",
      "description": "Translate text. POST { text, targetLanguage, sourceLanguage? } — language codes are BCP-47 (e.g. \"en\", \"es-MX\", \"zh-Hans\"). Source auto-detected when omitted. Returns { text, targetLanguage, detectedSourceLanguage, confidence (high|medium|low) }. Best for short-to-medium passages; chunk long documents on your side.",
      "priceUsd": 0.0282,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "minLength": 1,
            "maxLength": 6000,
            "description": "Source text to translate (1-6000 chars)."
          },
          "targetLanguage": {
            "type": "string",
            "minLength": 2,
            "maxLength": 20,
            "description": "Target language as BCP-47 (e.g. \"en\", \"es-MX\", \"zh-Hans\")."
          },
          "sourceLanguage": {
            "type": "string",
            "minLength": 2,
            "maxLength": 20,
            "description": "Source language as BCP-47. Auto-detected when omitted."
          }
        },
        "required": [
          "text",
          "targetLanguage"
        ],
        "additionalProperties": false
      },
      "billing": "actual-usage-upto-max",
      "inputExample": {
        "text": "example",
        "targetLanguage": "xx",
        "sourceLanguage": "xx"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "text": {
                  "type": "string",
                  "description": "Translated text in targetLanguage."
                },
                "targetLanguage": {
                  "type": "string"
                },
                "detectedSourceLanguage": {
                  "type": "string",
                  "description": "BCP-47 source language tag (echoed when supplied, detected otherwise)."
                },
                "confidence": {
                  "type": "string",
                  "enum": [
                    "high",
                    "medium",
                    "low"
                  ],
                  "description": "Model confidence in the translation."
                }
              },
              "required": [
                "text",
                "targetLanguage",
                "detectedSourceLanguage",
                "confidence"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "ai.web-answer",
      "group": "ai",
      "name": "web-answer",
      "method": "POST",
      "path": "/api/ai/web-answer",
      "url": "https://2s.io/api/ai/web-answer",
      "description": "Answer a question from the live web. POST { query, topic?, maxResults? }. Runs a deep web search and returns a synthesized, citation-backed answer plus the ranked source pages (title, URL, snippet). For up-to-the-minute questions an LLM alone can't answer — news, prices, current events, recent releases. topic=news biases toward recent reporting.",
      "priceUsd": 0.033,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 2,
            "maxLength": 400
          },
          "topic": {
            "type": "string",
            "enum": [
              "general",
              "news"
            ]
          },
          "maxResults": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10
          }
        },
        "required": [
          "query"
        ],
        "additionalProperties": false
      },
      "billing": "actual-usage-upto-max",
      "inputExample": {
        "query": "xx",
        "topic": "general",
        "maxResults": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "answer": {
                  "type": "string",
                  "nullable": true
                },
                "sources": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "title": {
                        "type": "string",
                        "nullable": true
                      },
                      "url": {
                        "type": "string",
                        "nullable": true
                      },
                      "content": {
                        "type": "string",
                        "nullable": true
                      },
                      "score": {
                        "type": "number",
                        "nullable": true
                      }
                    },
                    "required": [
                      "title",
                      "url",
                      "content",
                      "score"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "answer",
                "sources"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "aircraft.lookup",
      "group": "aircraft",
      "name": "lookup",
      "method": "GET",
      "path": "/api/aircraft/lookup",
      "url": "https://2s.io/api/aircraft/lookup",
      "description": "Look up a US-registered aircraft by tail number (N-number, e.g. N757F) or icao24 Mode-S hex (e.g. aa3487). Pass exactly one of `tail` or `icao24`. Returns the airframe: registration, manufacturer, model, ICAO type code + class, serial number, operator, owner, build year, engines, category, plus the icao24 Mode-S address that ADS-B transponders broadcast — use it to join live flight-tracking feeds. ~307k US airframes. 404 if no match. Source: OpenSky Network aircraft database (CC-BY-SA).",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "tail": {
            "type": "string",
            "pattern": "^[Nn][0-9A-Za-z]{1,5}$"
          },
          "icao24": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{6}$"
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "tail": "N757F"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "icao24": {
                  "type": "string",
                  "description": "24-bit Mode-S address (lowercase hex) — broadcast by ADS-B."
                },
                "registration": {
                  "type": "string",
                  "nullable": true,
                  "description": "Tail / N-number."
                },
                "manufacturer": {
                  "type": "string",
                  "nullable": true
                },
                "model": {
                  "type": "string",
                  "nullable": true
                },
                "typecode": {
                  "type": "string",
                  "nullable": true,
                  "description": "ICAO type designator (e.g. BE36)."
                },
                "icaoType": {
                  "type": "string",
                  "nullable": true,
                  "description": "ICAO aircraft type class (e.g. L1P = land, 1 piston engine)."
                },
                "serialNumber": {
                  "type": "string",
                  "nullable": true
                },
                "operator": {
                  "type": "string",
                  "nullable": true
                },
                "owner": {
                  "type": "string",
                  "nullable": true
                },
                "built": {
                  "type": "string",
                  "nullable": true
                },
                "engines": {
                  "type": "string",
                  "nullable": true
                },
                "category": {
                  "type": "string",
                  "nullable": true
                },
                "registered": {
                  "type": "string",
                  "nullable": true
                },
                "regUntil": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "icao24",
                "registration",
                "manufacturer",
                "model",
                "typecode",
                "icaoType",
                "serialNumber",
                "operator",
                "owner",
                "built",
                "engines",
                "category",
                "registered",
                "regUntil"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "aircraft.profile",
      "group": "aircraft",
      "name": "profile",
      "method": "GET",
      "path": "/api/aircraft/profile",
      "url": "https://2s.io/api/aircraft/profile",
      "description": "Identify a US-registered aircraft by tail (N-number) or icao24 Mode-S hex, AND screen its owner and operator against the OFAC sanctions list — in one call. Returns the full aircraft record (registration, manufacturer, model, type, serial, owner, operator, year built) plus a sanctions screen of the owner and operator names against OFAC SDN, with fuzzy-match confidence and a flagged boolean. OSINT, asset-tracing, sanctions-evasion investigation, due diligence. Composition of /api/aircraft/lookup + /api/law/sanctions-check (the sanctions section reports found/error independently). Note: screening is name-based and probabilistic — review flagged matches manually.",
      "priceUsd": 0.00432,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "tail": {
            "type": "string",
            "minLength": 2,
            "maxLength": 10
          },
          "icao24": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{6}$"
          },
          "threshold": {
            "type": "number",
            "minimum": 0.1,
            "maximum": 1,
            "default": 0.5
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "tail": "N628TS"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "aircraft": {
            "type": "object",
            "additionalProperties": {}
          },
          "ownerScreen": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "flagged": {
                "type": "boolean"
              },
              "matchCount": {
                "type": "number"
              },
              "matches": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": {}
                }
              }
            },
            "required": [
              "found",
              "error",
              "flagged",
              "matchCount",
              "matches"
            ],
            "additionalProperties": false
          },
          "operatorScreen": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "flagged": {
                "type": "boolean"
              },
              "matchCount": {
                "type": "number"
              },
              "matches": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": {}
                }
              }
            },
            "required": [
              "found",
              "error",
              "flagged",
              "matchCount",
              "matches"
            ],
            "additionalProperties": false
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          }
        },
        "required": [
          "aircraft",
          "ownerScreen",
          "operatorScreen",
          "sources"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "airport.lookup",
      "group": "airport",
      "name": "lookup",
      "method": "GET",
      "path": "/api/airport/lookup",
      "url": "https://2s.io/api/airport/lookup",
      "description": "Look up an airport by 3-letter IATA (e.g. SFO) or 4-letter ICAO (e.g. KSFO) code. Query: code (3-5 chars, alphanumeric). Returns { airport: { id, ident, type, name, latitude, longitude, elevationFt, continent, isoCountry, isoRegion, municipality, scheduledService, icaoCode, iataCode, gpsCode, localCode, wikipediaLink } } or 404 NOT_FOUND.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "minLength": 3,
            "maxLength": 5,
            "description": "3-letter IATA or 4-letter ICAO airport code (e.g. SFO, KSFO)."
          }
        },
        "required": [
          "code"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "code": "xxx"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "OurAirports stable numeric id."
                },
                "ident": {
                  "type": "string",
                  "description": "Globally unique identifier (usually ICAO)."
                },
                "type": {
                  "type": "string",
                  "nullable": true,
                  "description": "large_airport | medium_airport | small_airport | heliport | seaplane_base | closed."
                },
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "latitude": {
                  "type": "number"
                },
                "longitude": {
                  "type": "number"
                },
                "elevationFt": {
                  "type": "integer",
                  "nullable": true
                },
                "continent": {
                  "type": "string",
                  "nullable": true
                },
                "isoCountry": {
                  "type": "string",
                  "nullable": true,
                  "description": "ISO 3166-1 alpha-2 country code."
                },
                "isoRegion": {
                  "type": "string",
                  "nullable": true,
                  "description": "ISO 3166-2 region code (e.g. US-CA)."
                },
                "municipality": {
                  "type": "string",
                  "nullable": true
                },
                "scheduledService": {
                  "type": "boolean",
                  "nullable": true
                },
                "icaoCode": {
                  "type": "string",
                  "nullable": true
                },
                "iataCode": {
                  "type": "string",
                  "nullable": true
                },
                "gpsCode": {
                  "type": "string",
                  "nullable": true
                },
                "localCode": {
                  "type": "string",
                  "nullable": true
                },
                "wikipediaLink": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "ident",
                "type",
                "name",
                "latitude",
                "longitude",
                "elevationFt",
                "continent",
                "isoCountry",
                "isoRegion",
                "municipality",
                "scheduledService",
                "icaoCode",
                "iataCode",
                "gpsCode",
                "localCode",
                "wikipediaLink"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "airport.near",
      "group": "airport",
      "name": "near",
      "method": "GET",
      "path": "/api/airport/near",
      "url": "https://2s.io/api/airport/near",
      "description": "Airports within a radius of a coordinate, sorted by distance. Query: lat (-90..90), lon (-180..180), radius_km (1-2000, default 200), limit (1-100, default 20), type (optional: large_airport|medium_airport|small_airport|heliport|seaplane_base|balloonport|closed), country (optional 2-letter ISO 3166-1), scheduled_service (optional bool, true = commercial-service airports only). Returns { query, count, airports: [{ id, ident, name, iataCode, icaoCode, type, latitude, longitude, distanceKm, ... }] }.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90,
            "description": "Latitude in decimal degrees (-90 to 90)."
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180,
            "description": "Longitude in decimal degrees (-180 to 180)."
          },
          "radius_km": {
            "type": "number",
            "minimum": 1,
            "maximum": 2000,
            "default": 200,
            "description": "Search radius in kilometers (1-2000). Default 200."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 20,
            "description": "Max airports to return (1-100). Default 20."
          },
          "type": {
            "type": "string",
            "enum": [
              "large_airport",
              "medium_airport",
              "small_airport",
              "heliport",
              "seaplane_base",
              "balloonport",
              "closed"
            ],
            "description": "Filter by airport type."
          },
          "country": {
            "type": "string",
            "pattern": "^[A-Z]{2}$",
            "description": "Filter by ISO 3166-1 alpha-2 country code (e.g. US)."
          },
          "scheduled_service": {
            "type": "boolean",
            "description": "When true, only commercial-service airports."
          }
        },
        "required": [
          "lat",
          "lon"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "lat": -90,
        "lon": -180,
        "radius_km": 200,
        "limit": 20,
        "type": "large_airport",
        "country": "example",
        "scheduled_service": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer"
                },
                "ident": {
                  "type": "string"
                },
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "iataCode": {
                  "type": "string",
                  "nullable": true
                },
                "icaoCode": {
                  "type": "string",
                  "nullable": true
                },
                "type": {
                  "type": "string",
                  "nullable": true
                },
                "latitude": {
                  "type": "number"
                },
                "longitude": {
                  "type": "number"
                },
                "distanceKm": {
                  "type": "number",
                  "description": "Great-circle distance to (lat, lon), kilometers."
                },
                "isoCountry": {
                  "type": "string",
                  "nullable": true
                },
                "isoRegion": {
                  "type": "string",
                  "nullable": true
                },
                "municipality": {
                  "type": "string",
                  "nullable": true
                },
                "scheduledService": {
                  "type": "boolean",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "ident",
                "name",
                "iataCode",
                "icaoCode",
                "type",
                "latitude",
                "longitude",
                "distanceKm",
                "isoCountry",
                "isoRegion",
                "municipality",
                "scheduledService"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "latitude": {
                    "type": "number"
                  },
                  "longitude": {
                    "type": "number"
                  },
                  "radiusKm": {
                    "type": "number"
                  },
                  "limit": {
                    "type": "integer"
                  },
                  "type": {
                    "type": "string",
                    "nullable": true
                  },
                  "country": {
                    "type": "string",
                    "nullable": true
                  },
                  "scheduledServiceOnly": {
                    "type": "boolean",
                    "nullable": true
                  }
                },
                "required": [
                  "latitude",
                  "longitude",
                  "radiusKm",
                  "limit",
                  "type",
                  "country",
                  "scheduledServiceOnly"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "query"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "aviation.accidents",
      "group": "aviation",
      "name": "accidents",
      "method": "GET",
      "path": "/api/aviation/accidents",
      "url": "https://2s.io/api/aviation/accidents",
      "description": "Search the NTSB civil aviation accident & incident database (CAROL) — US events from 1962 to present plus selected foreign investigations. Filter by aircraft registration (N-number, partial match), US state (2-letter code or name), make, model, city, and/or event date range (dateFrom/dateTo as YYYY-MM-DD). At least one filter is required. Returns matching events newest-first: NTSB number, event date/type, city/state/country, aircraft registration(s)/make(s)/model(s), highest injury level, onboard & on-ground injury counts, report type/status, and a link to the official NTSB case page. Data: NTSB (U.S. public domain), live. For aviation safety research, fleet/tail-number history, incident due-diligence, and accident-trend analysis.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "registration": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20,
            "description": "Aircraft registration / N-number (partial match)."
          },
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 40,
            "description": "US state, 2-letter code or full name."
          },
          "make": {
            "type": "string",
            "minLength": 1,
            "maxLength": 60,
            "description": "Aircraft make (partial match), e.g. Cessna."
          },
          "model": {
            "type": "string",
            "minLength": 1,
            "maxLength": 60,
            "description": "Aircraft model (partial match), e.g. 172."
          },
          "city": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80,
            "description": "Event city (partial match)."
          },
          "dateFrom": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Earliest event date, YYYY-MM-DD."
          },
          "dateTo": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Latest event date, YYYY-MM-DD."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 25,
            "description": "Max records to return (1-100, default 25)."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "registration": "N1330Y",
        "limit": 5
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "additionalProperties": {
              "anyOf": [
                {
                  "not": {}
                },
                {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "number"
                    }
                  ]
                }
              ]
            }
          },
          "total": {
            "type": "number"
          },
          "truncated": {
            "type": "boolean"
          },
          "count": {
            "type": "number"
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ntsbNumber": {
                  "type": "string",
                  "nullable": true
                },
                "mkey": {
                  "type": "string",
                  "nullable": true
                },
                "eventType": {
                  "type": "string",
                  "nullable": true
                },
                "eventDate": {
                  "type": "string",
                  "nullable": true
                },
                "city": {
                  "type": "string",
                  "nullable": true
                },
                "state": {
                  "type": "string",
                  "nullable": true
                },
                "country": {
                  "type": "string",
                  "nullable": true
                },
                "registration": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "make": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "model": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "highestInjuryLevel": {
                  "type": "string",
                  "nullable": true
                },
                "injuriesOnboard": {
                  "type": "number",
                  "nullable": true
                },
                "injuriesOnGround": {
                  "type": "number",
                  "nullable": true
                },
                "reportType": {
                  "type": "string",
                  "nullable": true
                },
                "reportStatus": {
                  "type": "string",
                  "nullable": true
                },
                "reportUrl": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "ntsbNumber",
                "mkey",
                "eventType",
                "eventDate",
                "city",
                "state",
                "country",
                "registration",
                "make",
                "model",
                "highestInjuryLevel",
                "injuriesOnboard",
                "injuriesOnGround",
                "reportType",
                "reportStatus",
                "reportUrl"
              ],
              "additionalProperties": false
            }
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "query",
          "total",
          "truncated",
          "count",
          "items",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "aviation.metar",
      "group": "aviation",
      "name": "metar",
      "method": "GET",
      "path": "/api/aviation/metar",
      "url": "https://2s.io/api/aviation/metar",
      "description": "Current aviation weather observation (METAR) for one or more airports. Pass ids = comma-separated ICAO station ids (e.g. KATL, EGLL, KJFK). Returns the raw METAR plus decoded fields: flight category (VFR/MVFR/IFR/LIFR), temperature + dewpoint (°C), wind direction/speed/gust (kt), visibility, altimeter (inHg), and cloud layers. Source: NOAA Aviation Weather Center (keyless, public domain).",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "string",
            "minLength": 3,
            "maxLength": 120
          }
        },
        "required": [
          "ids"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ids": "KATL"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "station": {
                  "type": "string"
                },
                "observedAt": {
                  "type": "string",
                  "nullable": true
                },
                "raw": {
                  "type": "string",
                  "nullable": true
                },
                "flightCategory": {
                  "type": "string",
                  "nullable": true
                },
                "tempC": {
                  "type": "number",
                  "nullable": true
                },
                "dewpointC": {
                  "type": "number",
                  "nullable": true
                },
                "windDirDeg": {
                  "type": "number",
                  "nullable": true
                },
                "windSpeedKt": {
                  "type": "number",
                  "nullable": true
                },
                "windGustKt": {
                  "type": "number",
                  "nullable": true
                },
                "visibility": {
                  "type": "string",
                  "nullable": true
                },
                "altimeterInHg": {
                  "type": "number",
                  "nullable": true
                },
                "clouds": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "cover": {
                        "type": "string"
                      },
                      "baseFtAgl": {
                        "type": "number",
                        "nullable": true
                      }
                    },
                    "required": [
                      "cover",
                      "baseFtAgl"
                    ],
                    "additionalProperties": false
                  }
                },
                "name": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "station",
                "observedAt",
                "raw",
                "flightCategory",
                "tempC",
                "dewpointC",
                "windDirDeg",
                "windSpeedKt",
                "windGustKt",
                "visibility",
                "altimeterInHg",
                "clouds",
                "name"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "aviation.sigmet",
      "group": "aviation",
      "name": "sigmet",
      "method": "GET",
      "path": "/api/aviation/sigmet",
      "url": "https://2s.io/api/aviation/sigmet",
      "description": "Active in-flight weather hazard advisories (SIGMETs and AIRMETs) from the NOAA Aviation Weather Center. Returns current advisories over a lookback window (1-24h), optionally filtered by hazard (CONVECTIVE, TURB turbulence, ICE icing, IFR, MTN OBSCN mountain obscuration, ASH volcanic ash). Each advisory carries the issuing office, type (SIGMET/AIRMET/OUTLOOK), hazard, severity, valid-from/to times, affected altitude band (feet MSL), movement (direction/speed), and the raw text bulletin. Keyless, public-domain (NOAA). The active-hazard layer aviation agents need — distinct from aviation.metar (station conditions) and aviation.taf (forecasts). Not for navigation.",
      "priceUsd": 0.00108,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "hazard": {
            "type": "string",
            "minLength": 2,
            "maxLength": 20
          },
          "hours": {
            "type": "integer",
            "minimum": 1,
            "maximum": 24
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "hazard": "TURB",
        "hours": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "icaoId": {
                  "type": "string",
                  "nullable": true
                },
                "type": {
                  "type": "string",
                  "nullable": true
                },
                "hazard": {
                  "type": "string",
                  "nullable": true
                },
                "severity": {
                  "type": "string",
                  "nullable": true
                },
                "validFrom": {
                  "type": "string",
                  "nullable": true
                },
                "validTo": {
                  "type": "string",
                  "nullable": true
                },
                "altitudeLowFt": {
                  "type": "number",
                  "nullable": true
                },
                "altitudeHiFt": {
                  "type": "number",
                  "nullable": true
                },
                "movementDirDeg": {
                  "type": "number",
                  "nullable": true
                },
                "movementSpeedKt": {
                  "type": "number",
                  "nullable": true
                },
                "raw": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "icaoId",
                "type",
                "hazard",
                "severity",
                "validFrom",
                "validTo",
                "altitudeLowFt",
                "altitudeHiFt",
                "movementDirDeg",
                "movementSpeedKt",
                "raw"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "aviation.taf",
      "group": "aviation",
      "name": "taf",
      "method": "GET",
      "path": "/api/aviation/taf",
      "url": "https://2s.io/api/aviation/taf",
      "description": "Terminal Aerodrome Forecast (TAF) for one or more airports — the official aviation forecast issued for an airport (~24–30h ahead). Pass ids = comma-separated ICAO station ids (e.g. KATL). Returns the raw TAF text + issue time. Source: NOAA Aviation Weather Center (keyless). For current conditions use aviation.metar.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "string",
            "minLength": 3,
            "maxLength": 120
          }
        },
        "required": [
          "ids"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ids": "KATL"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "station": {
                  "type": "string"
                },
                "issuedAt": {
                  "type": "string",
                  "nullable": true
                },
                "raw": {
                  "type": "string",
                  "nullable": true
                },
                "name": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "station",
                "issuedAt",
                "raw",
                "name"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "bank.lookup",
      "group": "bank",
      "name": "lookup",
      "method": "GET",
      "path": "/api/bank/lookup",
      "url": "https://2s.io/api/bank/lookup",
      "description": "FDIC-insured US bank directory lookup. Lookup by name (fuzzy match), FDIC certificate number, RSSD ID, or state. Each record includes name + short name, web address, active flag, city/state/county/zip, established + insured dates, charter class, bank class, primary federal regulator, number of branches, assets and deposits ($1000s), and closed-date + reason for inactive institutions. Public-domain FDIC data, free.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200
          },
          "cert": {
            "type": "string",
            "pattern": "^\\d{1,7}$"
          },
          "rssdId": {
            "type": "string",
            "pattern": "^\\d{1,10}$"
          },
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "pattern": "^[A-Za-z]{2}$"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "inactive",
              "any"
            ],
            "default": "active"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "default": 10
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 10000,
            "default": 0
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "name": "Wells Fargo",
        "state": "CA",
        "limit": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "cert": {
                  "type": "string"
                },
                "rssdId": {
                  "type": "string",
                  "nullable": true
                },
                "name": {
                  "type": "string"
                },
                "shortName": {
                  "type": "string",
                  "nullable": true
                },
                "webAddress": {
                  "type": "string",
                  "nullable": true
                },
                "active": {
                  "type": "boolean"
                },
                "city": {
                  "type": "string",
                  "nullable": true
                },
                "state": {
                  "type": "string",
                  "nullable": true
                },
                "zipcode": {
                  "type": "string",
                  "nullable": true
                },
                "county": {
                  "type": "string",
                  "nullable": true
                },
                "establishedDate": {
                  "type": "string",
                  "nullable": true
                },
                "insuredDate": {
                  "type": "string",
                  "nullable": true
                },
                "charterClass": {
                  "type": "string",
                  "nullable": true
                },
                "bankClass": {
                  "type": "string",
                  "nullable": true
                },
                "primaryRegulator": {
                  "type": "string",
                  "nullable": true
                },
                "numberOfBranches": {
                  "type": "integer",
                  "nullable": true
                },
                "assets": {
                  "type": "number",
                  "nullable": true
                },
                "deposits": {
                  "type": "number",
                  "nullable": true
                },
                "closedDate": {
                  "type": "string",
                  "nullable": true
                },
                "reasonClosed": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "cert",
                "rssdId",
                "name",
                "shortName",
                "webAddress",
                "active",
                "city",
                "state",
                "zipcode",
                "county",
                "establishedDate",
                "insuredDate",
                "charterClass",
                "bankClass",
                "primaryRegulator",
                "numberOfBranches",
                "assets",
                "deposits",
                "closedDate",
                "reasonClosed"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "nullable": true
                  },
                  "cert": {
                    "type": "string",
                    "nullable": true
                  },
                  "rssdId": {
                    "type": "string",
                    "nullable": true
                  },
                  "state": {
                    "type": "string",
                    "nullable": true
                  },
                  "status": {
                    "type": "string"
                  },
                  "limit": {
                    "type": "integer"
                  },
                  "offset": {
                    "type": "integer"
                  }
                },
                "required": [
                  "name",
                  "cert",
                  "rssdId",
                  "state",
                  "status",
                  "limit",
                  "offset"
                ],
                "additionalProperties": false
              },
              "returned": {
                "type": "integer",
                "description": "Records returned on this page."
              }
            },
            "required": [
              "query",
              "returned"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "barcode.generate",
      "group": "barcode",
      "name": "generate",
      "method": "POST",
      "path": "/api/barcode/generate",
      "url": "https://2s.io/api/barcode/generate",
      "description": "Generate QR / Aztec / Data Matrix / PDF417 codes from structured payloads (url, wifi, vcard, vevent, email, sms, tel, geo, bitcoin, json, text). QR supports rounded or dotted modules, solid colors or linear/radial gradients, transparent backgrounds, configurable error correction, and a centered logo image (URL or data URI).",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "format": {
            "type": "string",
            "enum": [
              "qr",
              "aztec",
              "datamatrix",
              "pdf417"
            ],
            "default": "qr"
          },
          "data": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "text"
                    ]
                  },
                  "text": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 2000
                  }
                },
                "required": [
                  "type",
                  "text"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "url"
                    ]
                  },
                  "url": {
                    "type": "string",
                    "format": "uri",
                    "maxLength": 2000
                  }
                },
                "required": [
                  "type",
                  "url"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "email"
                    ]
                  },
                  "to": {
                    "type": "string",
                    "format": "email"
                  },
                  "subject": {
                    "type": "string",
                    "maxLength": 200
                  },
                  "body": {
                    "type": "string",
                    "maxLength": 1000
                  }
                },
                "required": [
                  "type",
                  "to"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "sms"
                    ]
                  },
                  "to": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 50
                  },
                  "body": {
                    "type": "string",
                    "maxLength": 1000
                  }
                },
                "required": [
                  "type",
                  "to"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "phone"
                    ]
                  },
                  "number": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 50
                  }
                },
                "required": [
                  "type",
                  "number"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "wifi"
                    ]
                  },
                  "ssid": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  "password": {
                    "type": "string",
                    "maxLength": 200
                  },
                  "security": {
                    "type": "string",
                    "enum": [
                      "WPA",
                      "WEP",
                      "none"
                    ]
                  },
                  "hidden": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "type",
                  "ssid"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "vcard"
                    ]
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  "firstName": {
                    "type": "string",
                    "maxLength": 100
                  },
                  "lastName": {
                    "type": "string",
                    "maxLength": 100
                  },
                  "phone": {
                    "type": "string",
                    "maxLength": 50
                  },
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "org": {
                    "type": "string",
                    "maxLength": 200
                  },
                  "title": {
                    "type": "string",
                    "maxLength": 200
                  },
                  "url": {
                    "type": "string",
                    "format": "uri"
                  },
                  "note": {
                    "type": "string",
                    "maxLength": 500
                  }
                },
                "required": [
                  "type",
                  "name"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "geo"
                    ]
                  },
                  "lat": {
                    "type": "number",
                    "minimum": -90,
                    "maximum": 90
                  },
                  "lon": {
                    "type": "number",
                    "minimum": -180,
                    "maximum": 180
                  },
                  "altitude": {
                    "type": "number"
                  }
                },
                "required": [
                  "type",
                  "lat",
                  "lon"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "bitcoin"
                    ]
                  },
                  "address": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100
                  },
                  "amount": {
                    "type": "number",
                    "exclusiveMinimum": true,
                    "minimum": 0
                  },
                  "label": {
                    "type": "string",
                    "maxLength": 200
                  },
                  "message": {
                    "type": "string",
                    "maxLength": 500
                  }
                },
                "required": [
                  "type",
                  "address"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "calendar"
                    ]
                  },
                  "title": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  "start": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "end": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "location": {
                    "type": "string",
                    "maxLength": 200
                  },
                  "description": {
                    "type": "string",
                    "maxLength": 1000
                  }
                },
                "required": [
                  "type",
                  "title",
                  "start",
                  "end"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "json"
                    ]
                  },
                  "value": {}
                },
                "required": [
                  "type"
                ],
                "additionalProperties": false
              }
            ]
          },
          "output": {
            "type": "string",
            "enum": [
              "svg",
              "png",
              "dataurl"
            ],
            "default": "svg"
          },
          "size": {
            "type": "integer",
            "minimum": 64,
            "maximum": 4096,
            "default": 512
          },
          "margin": {
            "type": "integer",
            "minimum": 0,
            "maximum": 16,
            "default": 4
          },
          "errorCorrection": {
            "type": "string",
            "enum": [
              "L",
              "M",
              "Q",
              "H"
            ],
            "default": "M",
            "description": "L=~7%, M=~15%, Q=~25%, H=~30% recoverable damage (QR only)."
          },
          "style": {
            "type": "object",
            "properties": {
              "modules": {
                "type": "string",
                "enum": [
                  "square",
                  "rounded",
                  "dots"
                ]
              },
              "foreground": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "linear",
                          "radial"
                        ],
                        "description": "Gradient type."
                      },
                      "stops": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "offset": {
                              "type": "number",
                              "minimum": 0,
                              "maximum": 1
                            },
                            "color": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "offset",
                            "color"
                          ],
                          "additionalProperties": false
                        },
                        "minItems": 2,
                        "maxItems": 10
                      },
                      "rotation": {
                        "type": "number",
                        "description": "Linear gradient rotation in degrees."
                      }
                    },
                    "required": [
                      "type",
                      "stops"
                    ],
                    "additionalProperties": false
                  }
                ]
              },
              "background": {
                "type": "string",
                "description": "CSS color or \"transparent\"."
              },
              "logo": {
                "type": "object",
                "properties": {
                  "source": {
                    "type": "string",
                    "description": "https:// URL or data: URI. QR only."
                  },
                  "sizePct": {
                    "type": "number",
                    "minimum": 0.05,
                    "maximum": 0.4
                  },
                  "padding": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 32
                  },
                  "background": {
                    "type": "string"
                  },
                  "cornerRadius": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 64
                  }
                },
                "required": [
                  "source"
                ],
                "additionalProperties": false
              }
            },
            "additionalProperties": false
          }
        },
        "required": [
          "data"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "format": "qr",
        "data": {
          "type": "text",
          "text": "example"
        },
        "output": "svg",
        "size": 512,
        "margin": 4,
        "errorCorrection": "M",
        "style": {
          "modules": "square",
          "foreground": "example",
          "background": "example",
          "logo": {
            "source": "example",
            "sizePct": 0.05,
            "padding": 0,
            "background": "example",
            "cornerRadius": 0
          }
        }
      }
    },
    {
      "id": "batch.run",
      "group": "batch",
      "name": "run",
      "method": "POST",
      "path": "/api/batch/run",
      "url": "https://2s.io/api/batch/run",
      "description": "Run up to 50 endpoint calls behind ONE x402 payment. Price is the exact sum of the sub-call prices (no batch discount). Atomic: every sub-call must succeed or nothing is charged — the failing calls are returned and you can retry for free. Eligible sub-calls are ordinary catalog endpoints (no bearer-only, deprecated, variable-priced, or metered-upstream endpoints, and no nested batch).",
      "priceUsd": 0.0012,
      "priceMode": "dynamic",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "calls": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "endpoint": {
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 64,
                  "pattern": "^[a-z0-9-]+\\.[a-z0-9-]+$"
                },
                "params": {
                  "type": "object",
                  "additionalProperties": {},
                  "default": {}
                }
              },
              "required": [
                "endpoint"
              ],
              "additionalProperties": false
            },
            "minItems": 1,
            "maxItems": 50
          }
        },
        "required": [
          "calls"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "calls": [
          {
            "endpoint": "vehicle.vin-decode",
            "params": {
              "vin": "1HGCM82633A004352"
            }
          },
          {
            "endpoint": "security.cve",
            "params": {
              "id": "CVE-2021-44228"
            }
          }
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "endpoint": {
                  "type": "string"
                },
                "ok": {
                  "type": "boolean",
                  "enum": [
                    true
                  ]
                },
                "price_usd": {
                  "type": "number"
                },
                "data": {}
              },
              "required": [
                "endpoint",
                "ok",
                "price_usd"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer"
              },
              "total_price_usd": {
                "type": "number"
              },
              "pricing": {
                "type": "string"
              },
              "atomic": {
                "type": "string"
              }
            },
            "required": [
              "count",
              "total_price_usd",
              "pricing",
              "atomic"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "bio.gene",
      "group": "bio",
      "name": "gene",
      "method": "GET",
      "path": "/api/bio/gene",
      "url": "https://2s.io/api/bio/gene",
      "description": "Look up a gene by its official symbol (e.g. \"TP53\", \"BRCA1\", \"CFTR\") and organism (taxid, default 9606 = human), merging NCBI Gene with UniProt. Returns the gene symbol, NCBI Gene ID, full description, organism, chromosome + cytogenetic map location, alias symbols, and the curated RefSeq function summary; plus the reviewed protein from UniProt — accession, entry id, recommended protein name, length in amino acids, and the curated function description. NCBI + UniProt links. Bioinformatics, clinical-genetics research, education. Public-domain NCBI + CC-BY UniProt data. Common organism taxids: human 9606, mouse 10090, zebrafish 7955, fruit fly 7227, yeast 559292.",
      "priceUsd": 0.00192,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "symbol": {
            "type": "string",
            "minLength": 1,
            "maxLength": 30
          },
          "taxid": {
            "type": "integer",
            "minimum": 1,
            "maximum": 9999999,
            "default": 9606
          }
        },
        "required": [
          "symbol"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "symbol": "TP53"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "gene": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": "string",
                      "nullable": true
                    },
                    "ncbiGeneId": {
                      "type": "string",
                      "nullable": true
                    },
                    "description": {
                      "type": "string",
                      "nullable": true
                    },
                    "organism": {
                      "type": "object",
                      "properties": {
                        "scientificName": {
                          "type": "string",
                          "nullable": true
                        },
                        "commonName": {
                          "type": "string",
                          "nullable": true
                        },
                        "taxid": {
                          "type": "number",
                          "nullable": true
                        }
                      },
                      "required": [
                        "scientificName",
                        "commonName",
                        "taxid"
                      ],
                      "additionalProperties": false,
                      "nullable": true
                    },
                    "chromosome": {
                      "type": "string",
                      "nullable": true
                    },
                    "mapLocation": {
                      "type": "string",
                      "nullable": true
                    },
                    "aliases": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "summary": {
                      "type": "string",
                      "nullable": true
                    },
                    "protein": {
                      "type": "object",
                      "properties": {
                        "found": {
                          "type": "boolean"
                        },
                        "uniprotAccession": {
                          "type": "string",
                          "nullable": true
                        },
                        "uniprotId": {
                          "type": "string",
                          "nullable": true
                        },
                        "name": {
                          "type": "string",
                          "nullable": true
                        },
                        "lengthAa": {
                          "type": "number",
                          "nullable": true
                        },
                        "function": {
                          "type": "string",
                          "nullable": true
                        }
                      },
                      "required": [
                        "found",
                        "uniprotAccession",
                        "uniprotId",
                        "name",
                        "lengthAa",
                        "function"
                      ],
                      "additionalProperties": false
                    },
                    "ncbiUrl": {
                      "type": "string",
                      "nullable": true
                    },
                    "uniprotUrl": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "symbol",
                    "ncbiGeneId",
                    "description",
                    "organism",
                    "chromosome",
                    "mapLocation",
                    "aliases",
                    "summary",
                    "protein",
                    "ncbiUrl",
                    "uniprotUrl"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "gene"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "sources": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "provider": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string"
                    },
                    "license": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "provider",
                    "url",
                    "license"
                  ],
                  "additionalProperties": false
                }
              }
            },
            "required": [
              "sources"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "bio.protein",
      "group": "bio",
      "name": "protein",
      "method": "GET",
      "path": "/api/bio/protein",
      "url": "https://2s.io/api/bio/protein",
      "description": "Look up a protein in UniProtKB by accession (e.g. \"P04637\", \"Q9Y6K9\", \"P0DTC2\"). Returns the entry id, reviewed (Swiss-Prot) flag, recommended + alternative protein names, gene names, organism + taxid, sequence length and molecular weight, the curated function description, subcellular locations, Gene Ontology terms (id + term + aspect: biological_process / molecular_function / cellular_component), PDB structure ids, and keywords. Bioinformatics, structural biology, drug-target research, education. Gene-centric sibling: /api/bio/gene. CC-BY UniProt data.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "accession": {
            "type": "string",
            "minLength": 2,
            "maxLength": 20,
            "pattern": "^[A-Za-z0-9]+$"
          }
        },
        "required": [
          "accession"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "accession": "P04637"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "protein": {
                  "type": "object",
                  "properties": {
                    "accession": {
                      "type": "string"
                    },
                    "entryId": {
                      "type": "string",
                      "nullable": true
                    },
                    "reviewed": {
                      "type": "boolean"
                    },
                    "proteinName": {
                      "type": "string",
                      "nullable": true
                    },
                    "alternativeNames": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "genes": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "organism": {
                      "type": "object",
                      "properties": {
                        "scientificName": {
                          "type": "string",
                          "nullable": true
                        },
                        "commonName": {
                          "type": "string",
                          "nullable": true
                        },
                        "taxid": {
                          "type": "number",
                          "nullable": true
                        }
                      },
                      "required": [
                        "scientificName",
                        "commonName",
                        "taxid"
                      ],
                      "additionalProperties": false,
                      "nullable": true
                    },
                    "lengthAa": {
                      "type": "number",
                      "nullable": true
                    },
                    "molecularWeightDa": {
                      "type": "number",
                      "nullable": true
                    },
                    "function": {
                      "type": "string",
                      "nullable": true
                    },
                    "subcellularLocations": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "goTerms": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "term": {
                            "type": "string"
                          },
                          "aspect": {
                            "type": "string",
                            "nullable": true
                          }
                        },
                        "required": [
                          "id",
                          "term",
                          "aspect"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "pdbStructures": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "keywords": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "uniprotUrl": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "accession",
                    "entryId",
                    "reviewed",
                    "proteinName",
                    "alternativeNames",
                    "genes",
                    "organism",
                    "lengthAa",
                    "molecularWeightDa",
                    "function",
                    "subcellularLocations",
                    "goTerms",
                    "pdbStructures",
                    "keywords",
                    "uniprotUrl"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "protein"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "bio.species",
      "group": "bio",
      "name": "species",
      "method": "GET",
      "path": "/api/bio/species",
      "url": "https://2s.io/api/bio/species",
      "description": "Resolve any organism by scientific or common name to the GBIF taxonomic backbone — the canonical free reference for life on Earth. Returns the accepted scientific name + canonical name, taxonomic rank and status, the match type/confidence, the full classification (kingdom → phylum → class → order → family → genus → species), up to 8 English vernacular (common) names, the count of recorded occurrences worldwide, and the GBIF species URL. Biodiversity, ecology, education, and as a taxonomy normalizer for other pipelines. Fuzzy-matches misspellings. CC-BY GBIF data.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "name": "Panthera leo"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "species": {
                  "type": "object",
                  "properties": {
                    "usageKey": {
                      "type": "number",
                      "nullable": true
                    },
                    "scientificName": {
                      "type": "string",
                      "nullable": true
                    },
                    "canonicalName": {
                      "type": "string",
                      "nullable": true
                    },
                    "rank": {
                      "type": "string",
                      "nullable": true
                    },
                    "taxonomicStatus": {
                      "type": "string",
                      "nullable": true
                    },
                    "matchType": {
                      "type": "string",
                      "nullable": true
                    },
                    "matchConfidence": {
                      "type": "number",
                      "nullable": true
                    },
                    "classification": {
                      "type": "object",
                      "properties": {
                        "kingdom": {
                          "type": "string",
                          "nullable": true
                        },
                        "phylum": {
                          "type": "string",
                          "nullable": true
                        },
                        "class": {
                          "type": "string",
                          "nullable": true
                        },
                        "order": {
                          "type": "string",
                          "nullable": true
                        },
                        "family": {
                          "type": "string",
                          "nullable": true
                        },
                        "genus": {
                          "type": "string",
                          "nullable": true
                        },
                        "species": {
                          "type": "string",
                          "nullable": true
                        }
                      },
                      "required": [
                        "kingdom",
                        "phylum",
                        "class",
                        "order",
                        "family",
                        "genus",
                        "species"
                      ],
                      "additionalProperties": false
                    },
                    "vernacularNames": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "occurrenceCount": {
                      "type": "number",
                      "nullable": true
                    },
                    "gbifUrl": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "usageKey",
                    "scientificName",
                    "canonicalName",
                    "rank",
                    "taxonomicStatus",
                    "matchType",
                    "matchConfidence",
                    "classification",
                    "vernacularNames",
                    "occurrenceCount",
                    "gbifUrl"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "species"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "bls.series",
      "group": "bls",
      "name": "series",
      "method": "GET",
      "path": "/api/bls/series",
      "url": "https://2s.io/api/bls/series",
      "description": "US Bureau of Labor Statistics time-series data. Pass seriesIds = comma-separated BLS series IDs (1-10 per call), optional startYear + endYear bracket (max 10 years). Each observation: year, period (M01-M12 monthly, Q01-Q04 quarterly, A01 annual, S01/S02 semiannual), periodName, value (verbatim string from BLS) + numericValue (parsed number), latest flag, footnote texts. Common series IDs: LNS14000000 (unemployment rate), CUUR0000SA0 (CPI-U all items), CES0000000001 (nonfarm employment), LNS11300000 (labor force participation). Unauthenticated upstream — ~25 queries/day per IP.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "seriesIds": {
            "type": "string",
            "minLength": 4,
            "maxLength": 400
          },
          "startYear": {
            "type": "integer",
            "minimum": 1900,
            "maximum": 2100
          },
          "endYear": {
            "type": "integer",
            "minimum": 1900,
            "maximum": 2100
          }
        },
        "required": [
          "seriesIds"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "seriesIds": "LNS14000000",
        "startYear": 2024,
        "endYear": 2026
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "seriesId": {
                  "type": "string"
                },
                "catalog": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  },
                  "nullable": true
                },
                "observations": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "year": {
                        "type": "string"
                      },
                      "period": {
                        "type": "string"
                      },
                      "periodName": {
                        "type": "string"
                      },
                      "value": {
                        "type": "string"
                      },
                      "numericValue": {
                        "type": "number",
                        "nullable": true
                      },
                      "latest": {
                        "type": "boolean"
                      },
                      "footnotes": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    },
                    "required": [
                      "year",
                      "period",
                      "periodName",
                      "value",
                      "numericValue",
                      "latest",
                      "footnotes"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "seriesId",
                "catalog",
                "observations"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "seriesIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "startYear": {
                    "type": "integer",
                    "nullable": true
                  },
                  "endYear": {
                    "type": "integer",
                    "nullable": true
                  }
                },
                "required": [
                  "seriesIds",
                  "startYear",
                  "endYear"
                ],
                "additionalProperties": false
              },
              "status": {
                "type": "string"
              }
            },
            "required": [
              "query",
              "status"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "book.search",
      "group": "book",
      "name": "search",
      "method": "GET",
      "path": "/api/book/search",
      "url": "https://2s.io/api/book/search",
      "description": "Open Library book metadata search. Lookup by free-text query (matches title + author), or by individual title / author / ISBN (10 or 13 digit). Each record includes Open Library work key, title, author names + Open Library author keys, first publish year, edition count, cover image URL, sample ISBNs, publishers, languages, subject tags, fulltext flag, ebook access tier (public/borrowable/printdisabled/no_ebook), and canonical openlibrary.org URL. CC0 public-domain metadata.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200
          },
          "title": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200
          },
          "author": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200
          },
          "isbn": {
            "type": "string",
            "minLength": 9,
            "maxLength": 17
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "default": 10
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 1
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "q": "The Great Gatsby Fitzgerald",
        "limit": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "workKey": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "authorNames": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "authorKeys": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "firstPublishYear": {
                  "type": "integer",
                  "nullable": true
                },
                "editionCount": {
                  "type": "integer",
                  "nullable": true
                },
                "coverEditionKey": {
                  "type": "string",
                  "nullable": true
                },
                "coverImageUrl": {
                  "type": "string",
                  "nullable": true
                },
                "isbns": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "publishers": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "languages": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "subjectTags": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "hasFulltext": {
                  "type": "boolean"
                },
                "ebookAccess": {
                  "type": "string",
                  "nullable": true
                },
                "openlibraryUrl": {
                  "type": "string",
                  "format": "uri"
                }
              },
              "required": [
                "workKey",
                "title",
                "authorNames",
                "authorKeys",
                "firstPublishYear",
                "editionCount",
                "coverEditionKey",
                "coverImageUrl",
                "isbns",
                "publishers",
                "languages",
                "subjectTags",
                "hasFulltext",
                "ebookAccess",
                "openlibraryUrl"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "page": {
            "type": "object",
            "properties": {
              "number": {
                "type": "integer"
              },
              "size": {
                "type": "integer"
              },
              "pages": {
                "type": "integer",
                "nullable": true
              }
            },
            "required": [
              "number",
              "size",
              "pages"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "q": {
                    "type": "string",
                    "nullable": true
                  },
                  "title": {
                    "type": "string",
                    "nullable": true
                  },
                  "author": {
                    "type": "string",
                    "nullable": true
                  },
                  "isbn": {
                    "type": "string",
                    "nullable": true
                  },
                  "limit": {
                    "type": "integer"
                  },
                  "page": {
                    "type": "integer"
                  }
                },
                "required": [
                  "q",
                  "title",
                  "author",
                  "isbn",
                  "limit",
                  "page"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "query"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "business.br-cnpj",
      "group": "business",
      "name": "br-cnpj",
      "method": "GET",
      "path": "/api/business/br-cnpj",
      "url": "https://2s.io/api/business/br-cnpj",
      "description": "Brazilian company registry lookup by CNPJ (the 14-digit national company tax ID). Returns the legal name (razão social), trade name, registration status and reason, start date, legal nature, company size, share capital (BRL), primary economic activity (CNAE code + description), contact email/phone, full address, and the partners/officers (QSA — name + role). Free, open Brazilian government data (Receita Federal via BrasilAPI). The canonical \"who is this Brazilian company\" lookup for KYB, diligence, and cross-border onboarding — complements business.lei (GLEIF) and business.sos-search (US).",
      "priceUsd": 0.00108,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "cnpj": {
            "type": "string",
            "minLength": 14,
            "maxLength": 20,
            "description": "14-digit CNPJ."
          }
        },
        "required": [
          "cnpj"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "cnpj": "19131243000197"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "cnpj": {
                  "type": "string",
                  "nullable": true
                },
                "legalName": {
                  "type": "string",
                  "nullable": true
                },
                "tradeName": {
                  "type": "string",
                  "nullable": true
                },
                "status": {
                  "type": "string",
                  "nullable": true
                },
                "statusReason": {
                  "type": "string",
                  "nullable": true
                },
                "startDate": {
                  "type": "string",
                  "nullable": true
                },
                "legalNature": {
                  "type": "string",
                  "nullable": true
                },
                "size": {
                  "type": "string",
                  "nullable": true
                },
                "shareCapitalBRL": {
                  "type": "number",
                  "nullable": true
                },
                "primaryActivityCode": {
                  "type": "string",
                  "nullable": true
                },
                "primaryActivity": {
                  "type": "string",
                  "nullable": true
                },
                "email": {
                  "type": "string",
                  "nullable": true
                },
                "phone": {
                  "type": "string",
                  "nullable": true
                },
                "address": {
                  "type": "object",
                  "properties": {
                    "street": {
                      "type": "string",
                      "nullable": true
                    },
                    "number": {
                      "type": "string",
                      "nullable": true
                    },
                    "district": {
                      "type": "string",
                      "nullable": true
                    },
                    "city": {
                      "type": "string",
                      "nullable": true
                    },
                    "state": {
                      "type": "string",
                      "nullable": true
                    },
                    "zip": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "street",
                    "number",
                    "district",
                    "city",
                    "state",
                    "zip"
                  ],
                  "additionalProperties": false
                },
                "partners": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "nullable": true
                      },
                      "role": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "name",
                      "role"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "cnpj",
                "legalName",
                "tradeName",
                "status",
                "statusReason",
                "startDate",
                "legalNature",
                "size",
                "shareCapitalBRL",
                "primaryActivityCode",
                "primaryActivity",
                "email",
                "phone",
                "address",
                "partners"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "business.entity-match",
      "group": "business",
      "name": "entity-match",
      "method": "GET",
      "path": "/api/business/entity-match",
      "url": "https://2s.io/api/business/entity-match",
      "description": "Fuzzy entity resolution: resolve a messy, free-text company name to its canonical GLEIF Legal Entity Identifier (LEI) with a 0-1 similarity score and a high/medium/low confidence label. Tolerant of legal-suffix noise (Inc/Ltd/GmbH/S.A.), word order, ampersands, punctuation, and former/alternate names (e.g. 'Apple Computer Inc' resolves to Apple Inc. via GLEIF's recorded other-names). Returns the top candidates ranked by score plus a single bestMatch (null when nothing clears medium confidence — so a low-confidence top hit is never silently treated as a match, which is the safe default for KYB). The record-linkage complement to business.lei (name search). Optional country (ISO-2) narrows to a jurisdiction. Backed by GLEIF Golden Copy (~2.6M entities, CC0).",
      "priceUsd": 0.00288,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200,
            "description": "Free-text company / legal-entity name to resolve. Messy input is fine: \"Apple Computer Inc.\", \"jp morgan chase & co\"."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "Optional ISO-2 country of the entity HQ to narrow the match (e.g., \"US\", \"DE\", \"GB\")."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 25,
            "default": 5,
            "description": "Max ranked candidates to return (1-25). Default 5."
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "name": "xx",
        "country": "xx",
        "limit": 5
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "lei": {
                  "type": "string"
                },
                "legalName": {
                  "type": "string",
                  "nullable": true
                },
                "otherName": {
                  "type": "string",
                  "nullable": true
                },
                "score": {
                  "type": "number"
                },
                "confidence": {
                  "type": "string",
                  "enum": [
                    "high",
                    "medium",
                    "low"
                  ]
                },
                "jurisdiction": {
                  "type": "string",
                  "nullable": true
                },
                "entityStatus": {
                  "type": "string",
                  "nullable": true
                },
                "registrationStatus": {
                  "type": "string",
                  "nullable": true
                },
                "headquarters": {
                  "type": "object",
                  "properties": {
                    "city": {
                      "type": "string",
                      "nullable": true
                    },
                    "region": {
                      "type": "string",
                      "nullable": true
                    },
                    "country": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "city",
                    "region",
                    "country"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "lei",
                "legalName",
                "otherName",
                "score",
                "confidence",
                "jurisdiction",
                "entityStatus",
                "registrationStatus",
                "headquarters"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "country": {
                    "type": "string",
                    "nullable": true
                  },
                  "limit": {
                    "type": "integer"
                  }
                },
                "required": [
                  "name",
                  "country",
                  "limit"
                ],
                "additionalProperties": false
              },
              "bestMatch": {
                "type": "object",
                "properties": {
                  "lei": {
                    "type": "string"
                  },
                  "legalName": {
                    "type": "string",
                    "nullable": true
                  },
                  "score": {
                    "type": "number"
                  },
                  "confidence": {
                    "type": "string",
                    "enum": [
                      "high",
                      "medium",
                      "low"
                    ]
                  }
                },
                "required": [
                  "lei",
                  "legalName",
                  "score",
                  "confidence"
                ],
                "additionalProperties": false,
                "nullable": true
              }
            },
            "required": [
              "query",
              "bestMatch"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "business.entity-profile",
      "group": "business",
      "name": "entity-profile",
      "method": "GET",
      "path": "/api/business/entity-profile",
      "url": "https://2s.io/api/business/entity-profile",
      "description": "Full business-entity dossier from a state registry — master record plus officers/principals, registered agent (name, phone, email, address), and filing history — the detail layer that flat registry search omits. v1 state: CT (Connecticut). Resolve by entityId (state registry record id), accountNumber, or name (partial; most recent registration wins). Returns entity status, type, registration date, mailing address, minority/woman/veteran/disability/LGBTQI ownership flags, officers, registered agent, and recent filings. KYB, vendor due-diligence, and counterparty-verification staple, sourced from the official state open-data portal.",
      "priceUsd": 0.003,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "state": {
            "type": "string",
            "enum": [
              "CT"
            ],
            "description": "State registry to query (v1: CT only)."
          },
          "entityId": {
            "type": "string",
            "minLength": 2,
            "maxLength": 40,
            "description": "State registry record id (canonical join key)."
          },
          "accountNumber": {
            "type": "string",
            "minLength": 2,
            "maxLength": 40,
            "description": "State business account number."
          },
          "name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120,
            "description": "Entity name, partial match."
          },
          "filingsLimit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "default": 10,
            "description": "Max recent filings."
          }
        },
        "required": [
          "state"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "state": "CT",
        "name": "Registered Agents Inc"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "state": {
                  "type": "string"
                },
                "entityId": {
                  "type": "string",
                  "nullable": true
                },
                "accountNumber": {
                  "type": "string",
                  "nullable": true
                },
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "status": {
                  "type": "string",
                  "nullable": true
                },
                "type": {
                  "type": "string",
                  "nullable": true
                },
                "jurisdiction": {
                  "type": "string",
                  "nullable": true
                },
                "registrationDate": {
                  "type": "string",
                  "nullable": true
                },
                "mailingAddress": {
                  "type": "string",
                  "nullable": true
                },
                "ownership": {
                  "type": "object",
                  "properties": {
                    "womanOwned": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "veteranOwned": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "minorityOwned": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "disabilityOwned": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "lgbtqiOwned": {
                      "type": "boolean",
                      "nullable": true
                    }
                  },
                  "required": [
                    "womanOwned",
                    "veteranOwned",
                    "minorityOwned",
                    "disabilityOwned",
                    "lgbtqiOwned"
                  ],
                  "additionalProperties": false
                },
                "officers": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "nullable": true
                      },
                      "firstName": {
                        "type": "string",
                        "nullable": true
                      },
                      "lastName": {
                        "type": "string",
                        "nullable": true
                      },
                      "businessAddress": {
                        "type": "string",
                        "nullable": true
                      },
                      "residenceAddress": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "name",
                      "firstName",
                      "lastName",
                      "businessAddress",
                      "residenceAddress"
                    ],
                    "additionalProperties": false
                  }
                },
                "registeredAgent": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "nullable": true
                    },
                    "phone": {
                      "type": "string",
                      "nullable": true
                    },
                    "email": {
                      "type": "string",
                      "nullable": true
                    },
                    "address": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "name",
                    "type",
                    "phone",
                    "email",
                    "address"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                },
                "filings": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "date": {
                        "type": "string",
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "nullable": true
                      },
                      "filingType": {
                        "type": "string",
                        "nullable": true
                      },
                      "reportYear": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "date",
                      "type",
                      "filingType",
                      "reportYear"
                    ],
                    "additionalProperties": false
                  }
                },
                "counts": {
                  "type": "object",
                  "properties": {
                    "officers": {
                      "type": "integer"
                    },
                    "filings": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "officers",
                    "filings"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "state",
                "entityId",
                "accountNumber",
                "name",
                "status",
                "type",
                "jurisdiction",
                "registrationDate",
                "mailingAddress",
                "ownership",
                "officers",
                "registeredAgent",
                "filings",
                "counts"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "state": {
                "type": "string"
              },
              "resolvedFrom": {
                "type": "string",
                "enum": [
                  "entityId",
                  "accountNumber",
                  "name"
                ]
              },
              "candidateCount": {
                "type": "integer",
                "nullable": true
              },
              "partial": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "state",
              "resolvedFrom",
              "candidateCount",
              "partial"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "business.entity-screen",
      "group": "business",
      "name": "entity-screen",
      "method": "GET",
      "path": "/api/business/entity-screen",
      "url": "https://2s.io/api/business/entity-screen",
      "description": "KYC in one call: look up a business in a US state registry (NY, CO, CT) AND screen it against the OFAC sanctions list. Give a state and a name (or exact entityId). Returns the matched registered entities (id, type, status, jurisdiction, address, registered agent) and, for each, a sanctions screen of the entity name AND its registered agent against OFAC SDN — with fuzzy-match confidence and a flagged boolean. Counterparty due-diligence, vendor onboarding, AML. Composition of /api/business/sos-search + /api/law/sanctions-check (each section reports found/error independently). Note: sanctions screening is name-based and probabilistic — review flagged matches manually.",
      "priceUsd": 0.00576,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "state": {
            "type": "string",
            "enum": [
              "NY",
              "CO",
              "CT"
            ]
          },
          "name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          "entityId": {
            "type": "string",
            "minLength": 2,
            "maxLength": 30
          },
          "threshold": {
            "type": "number",
            "minimum": 0.1,
            "maximum": 1,
            "default": 0.5
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "default": 5
          }
        },
        "required": [
          "state"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "state": "CO",
        "name": "Anthropic"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "state": {
            "type": "string"
          },
          "count": {
            "type": "number"
          },
          "entities": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "entity": {
                  "type": "object",
                  "additionalProperties": {}
                },
                "sanctions": {
                  "type": "object",
                  "properties": {
                    "found": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string",
                      "nullable": true
                    },
                    "flagged": {
                      "type": "boolean"
                    },
                    "entityMatchCount": {
                      "type": "number"
                    },
                    "agentMatchCount": {
                      "type": "number"
                    },
                    "matches": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": {}
                      }
                    }
                  },
                  "required": [
                    "found",
                    "error",
                    "flagged",
                    "entityMatchCount",
                    "agentMatchCount",
                    "matches"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "entity",
                "sanctions"
              ],
              "additionalProperties": false
            }
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          }
        },
        "required": [
          "state",
          "count",
          "entities",
          "sources"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "business.fi-companies",
      "group": "business",
      "name": "fi-companies",
      "method": "GET",
      "path": "/api/business/fi-companies",
      "url": "https://2s.io/api/business/fi-companies",
      "description": "Official Finnish company registry search (PRH/YTJ avoindata, Finnish Patent & Registration Office). Search by company name. Each result: Business ID (Y-tunnus), current name, company form, trade-register status, primary line of business, registration date, and street address — descriptions in English where available. Free, CC BY 4.0. The authoritative FI company lookup — complements business.uk-companies and business.lei.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120,
            "description": "Company name to search."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 25
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "name": "xx",
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "businessId": {
                  "type": "string",
                  "nullable": true
                },
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "companyForm": {
                  "type": "string",
                  "nullable": true
                },
                "status": {
                  "type": "string",
                  "nullable": true
                },
                "mainBusinessLine": {
                  "type": "string",
                  "nullable": true
                },
                "registrationDate": {
                  "type": "string",
                  "nullable": true
                },
                "street": {
                  "type": "string",
                  "nullable": true
                },
                "postCode": {
                  "type": "string",
                  "nullable": true
                },
                "city": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "businessId",
                "name",
                "companyForm",
                "status",
                "mainBusinessLine",
                "registrationDate",
                "street",
                "postCode",
                "city"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "business.fr-companies",
      "group": "business",
      "name": "fr-companies",
      "method": "GET",
      "path": "/api/business/fr-companies",
      "url": "https://2s.io/api/business/fr-companies",
      "description": "Official French company registry search (annuaire des entreprises / data.gouv.fr). Search by company name, SIREN, SIRET, or director. Each result: SIREN, legal name, legal-form code, primary NAF activity code, enterprise category (PME/ETI/GE), employee-count range, creation date, administrative status (active/ceased), head-office SIRET and address. Free, Licence Ouverte. The authoritative FR company lookup — complements business.uk-companies and business.lei.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120,
            "description": "Company name, SIREN, SIRET, or director name."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 25
          }
        },
        "required": [
          "q"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "q": "xx",
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "siren": {
                  "type": "string",
                  "nullable": true
                },
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "legalForm": {
                  "type": "string",
                  "nullable": true
                },
                "naf": {
                  "type": "string",
                  "nullable": true
                },
                "category": {
                  "type": "string",
                  "nullable": true
                },
                "employeesRange": {
                  "type": "string",
                  "nullable": true
                },
                "created": {
                  "type": "string",
                  "nullable": true
                },
                "status": {
                  "type": "string",
                  "nullable": true
                },
                "siret": {
                  "type": "string",
                  "nullable": true
                },
                "address": {
                  "type": "string",
                  "nullable": true
                },
                "city": {
                  "type": "string",
                  "nullable": true
                },
                "postalCode": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "siren",
                "name",
                "legalForm",
                "naf",
                "category",
                "employeesRange",
                "created",
                "status",
                "siret",
                "address",
                "city",
                "postalCode"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "business.id-resolve",
      "group": "business",
      "name": "id-resolve",
      "method": "GET",
      "path": "/api/business/id-resolve",
      "url": "https://2s.io/api/business/id-resolve",
      "description": "Resolve a legal entity across identifier systems. Give exactly one of name, lei, cik, or ticker and get the others back: LEI (GLEIF), SEC CIK, ticker(s) with exchange, jurisdiction, and a canonical entity name. This is the COMPANY-ENTITY resolver: it joins the legal entity (LEI) to its SEC filer identity (CIK/ticker) and back. For SECURITIES (FIGI, ISIN, share-class identifiers) use finance.security-resolve instead -- this one deliberately stays at the legal-entity layer. Composes SEC company_tickers_exchange (public domain) + GLEIF (CC0). The SEC<->GLEIF link is by name-match when you anchor on ticker/cik (best-effort, flagged via bridge + leiName); a supplied LEI is authoritative. Per-source status is returned so a partial resolve is explicit. No CUSIP/SEDOL.",
      "priceUsd": 0.0048,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200,
            "description": "Legal/common entity name to search (GLEIF)."
          },
          "lei": {
            "type": "string",
            "pattern": "^[A-Za-z0-9]{20}$",
            "description": "20-char LEI."
          },
          "cik": {
            "type": "string",
            "minLength": 1,
            "maxLength": 13,
            "description": "SEC CIK, leading zeros optional."
          },
          "ticker": {
            "type": "string",
            "minLength": 1,
            "maxLength": 12,
            "description": "US stock ticker."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "ticker": "AAPL"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "resolvedFrom": {
                  "type": "string",
                  "enum": [
                    "name",
                    "lei",
                    "cik",
                    "ticker"
                  ]
                },
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "lei": {
                  "type": "string",
                  "nullable": true
                },
                "leiName": {
                  "type": "string",
                  "nullable": true
                },
                "cik": {
                  "type": "string",
                  "nullable": true
                },
                "tickers": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "ticker": {
                        "type": "string"
                      },
                      "exchange": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "ticker",
                      "exchange"
                    ],
                    "additionalProperties": false
                  }
                },
                "jurisdiction": {
                  "type": "string",
                  "nullable": true
                },
                "bridge": {
                  "type": "string",
                  "enum": [
                    "direct-lei",
                    "name-match",
                    "sec-only",
                    "gleif-only",
                    "none"
                  ],
                  "description": "How SEC<->GLEIF were linked; name-match is best-effort -- verify leiName."
                },
                "sources": {
                  "type": "object",
                  "properties": {
                    "sec": {
                      "type": "string"
                    },
                    "gleif": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "sec",
                    "gleif"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "resolvedFrom",
                "name",
                "lei",
                "leiName",
                "cik",
                "tickers",
                "jurisdiction",
                "bridge",
                "sources"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "business.kyb-360",
      "group": "business",
      "name": "kyb-360",
      "method": "GET",
      "path": "/api/business/kyb-360",
      "url": "https://2s.io/api/business/kyb-360",
      "description": "Full Know-Your-Business (KYB) intelligence dossier on a company, in one call. Pass name (legal/common company name); optional state narrows federal awards, and optional ticker pulls the company's SEC EDGAR identity + recent filings (SEC has no name search). Fans out to seven authoritative sources and merges them: SAM.gov registration (UEI/CAGE, active status), SAM exclusions (federal debarment/suspension), OFAC SDN sanctions screen, GLEIF LEI (legal-entity identifier + jurisdiction), USAspending federal contract awards, FARA foreign-agent registration (a disclosure status, not wrongdoing), and USPTO trademarks owned (brand/IP footprint). Returns headline riskFlags and a cleared boolean (strictly debarment + sanctions), a summary of every signal, and a found/error block per source so one slow or empty source never fails the rest. For vendor onboarding, KYB/AML, procurement due diligence, and competitive/IP research. Probabilistic name matching — confirm with a hard identifier (UEI/LEI/CIK) before acting; public records, not legal advice.",
      "priceUsd": 0.0144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200
          },
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2
          },
          "ticker": {
            "type": "string",
            "minLength": 1,
            "maxLength": 10
          },
          "threshold": {
            "type": "number",
            "minimum": 0,
            "maximum": 1
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 20
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "name": "Lockheed Martin",
        "ticker": "LMT"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "query": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "state": {
                      "type": "string",
                      "nullable": true
                    },
                    "ticker": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "name",
                    "state",
                    "ticker"
                  ],
                  "additionalProperties": false
                },
                "riskFlags": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "cleared": {
                  "type": "boolean"
                },
                "summary": {
                  "type": "object",
                  "properties": {
                    "samRegistered": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "activeRegistration": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "isDebarred": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "isSanctioned": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "hasLei": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "federalAwardCount": {
                      "type": "number",
                      "nullable": true
                    },
                    "isForeignAgent": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "trademarkCount": {
                      "type": "number",
                      "nullable": true
                    },
                    "secCik": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "samRegistered",
                    "activeRegistration",
                    "isDebarred",
                    "isSanctioned",
                    "hasLei",
                    "federalAwardCount",
                    "isForeignAgent",
                    "trademarkCount",
                    "secCik"
                  ],
                  "additionalProperties": false
                },
                "registration": {
                  "type": "object",
                  "properties": {
                    "found": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string",
                      "nullable": true
                    },
                    "data": {
                      "type": "object",
                      "additionalProperties": {},
                      "nullable": true
                    }
                  },
                  "required": [
                    "found",
                    "error",
                    "data"
                  ],
                  "additionalProperties": false
                },
                "exclusions": {
                  "type": "object",
                  "properties": {
                    "found": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string",
                      "nullable": true
                    },
                    "data": {
                      "type": "object",
                      "additionalProperties": {},
                      "nullable": true
                    }
                  },
                  "required": [
                    "found",
                    "error",
                    "data"
                  ],
                  "additionalProperties": false
                },
                "sanctions": {
                  "type": "object",
                  "properties": {
                    "found": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string",
                      "nullable": true
                    },
                    "data": {
                      "type": "object",
                      "additionalProperties": {},
                      "nullable": true
                    }
                  },
                  "required": [
                    "found",
                    "error",
                    "data"
                  ],
                  "additionalProperties": false
                },
                "lei": {
                  "type": "object",
                  "properties": {
                    "found": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string",
                      "nullable": true
                    },
                    "data": {
                      "type": "object",
                      "additionalProperties": {},
                      "nullable": true
                    }
                  },
                  "required": [
                    "found",
                    "error",
                    "data"
                  ],
                  "additionalProperties": false
                },
                "federalAwards": {
                  "type": "object",
                  "properties": {
                    "found": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string",
                      "nullable": true
                    },
                    "data": {
                      "type": "object",
                      "additionalProperties": {},
                      "nullable": true
                    }
                  },
                  "required": [
                    "found",
                    "error",
                    "data"
                  ],
                  "additionalProperties": false
                },
                "foreignAgent": {
                  "type": "object",
                  "properties": {
                    "found": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string",
                      "nullable": true
                    },
                    "data": {
                      "type": "object",
                      "additionalProperties": {},
                      "nullable": true
                    }
                  },
                  "required": [
                    "found",
                    "error",
                    "data"
                  ],
                  "additionalProperties": false
                },
                "trademarks": {
                  "type": "object",
                  "properties": {
                    "found": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string",
                      "nullable": true
                    },
                    "data": {
                      "type": "object",
                      "additionalProperties": {},
                      "nullable": true
                    }
                  },
                  "required": [
                    "found",
                    "error",
                    "data"
                  ],
                  "additionalProperties": false
                },
                "securities": {
                  "type": "object",
                  "properties": {
                    "found": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string",
                      "nullable": true
                    },
                    "data": {
                      "type": "object",
                      "additionalProperties": {},
                      "nullable": true
                    }
                  },
                  "required": [
                    "found",
                    "error",
                    "data"
                  ],
                  "additionalProperties": false
                },
                "sources": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "provider": {
                        "type": "string"
                      },
                      "url": {
                        "type": "string"
                      },
                      "license": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "provider",
                      "url",
                      "license"
                    ],
                    "additionalProperties": false
                  }
                },
                "note": {
                  "type": "string"
                }
              },
              "required": [
                "query",
                "riskFlags",
                "cleared",
                "summary",
                "registration",
                "exclusions",
                "sanctions",
                "lei",
                "federalAwards",
                "foreignAgent",
                "trademarks",
                "securities",
                "sources",
                "note"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "business.lei",
      "group": "business",
      "name": "lei",
      "method": "GET",
      "path": "/api/business/lei",
      "url": "https://2s.io/api/business/lei",
      "description": "Look up or search the global LEI (Legal Entity Identifier) registry — the authoritative ISO 17442 directory of ~2.6M legal entities worldwide. Pass `lei` for an exact 20-character LEI, or `query` to search by legal/other name (ranked best-match first). Filter name search by `country` (ISO 2-letter, HQ country) and `status` (active = currently active entities only; all = default). Each result returns the LEI, legal name, an alternate/other name, legal jurisdiction, entity category (GENERAL/FUND/BRANCH/…), ISO 20275 legal-form code, entity status (ACTIVE/INACTIVE), LEI registration status (ISSUED/LAPSED/RETIRED/…), headquarters city/region/country/postal code, the initial registration + last update + next renewal dates, and the managing LOU. Use this to canonicalize a company name to its LEI, resolve a counterparty, or enrich a vendor master. Data: GLEIF Golden Copy (CC0, public domain).",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lei": {
            "type": "string",
            "pattern": "^[A-Za-z0-9]{20}$"
          },
          "query": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "country": {
            "type": "string",
            "pattern": "^[A-Za-z]{2}$"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "all"
            ]
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "offset": {
            "type": "integer",
            "minimum": 0
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "query": "Apple Inc",
        "country": "US"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "lei": {
                  "type": "string"
                },
                "legalName": {
                  "type": "string",
                  "nullable": true
                },
                "otherName": {
                  "type": "string",
                  "nullable": true,
                  "description": "First alternate/other registered name, if any."
                },
                "jurisdiction": {
                  "type": "string",
                  "nullable": true,
                  "description": "Legal jurisdiction (ISO country or subdivision)."
                },
                "category": {
                  "type": "string",
                  "nullable": true,
                  "description": "Entity category: GENERAL | FUND | BRANCH | SOLE_PROPRIETOR | …"
                },
                "legalForm": {
                  "type": "string",
                  "nullable": true,
                  "description": "ISO 20275 Entity Legal Form (ELF) code."
                },
                "entityStatus": {
                  "type": "string",
                  "nullable": true,
                  "description": "ACTIVE | INACTIVE."
                },
                "registrationStatus": {
                  "type": "string",
                  "nullable": true,
                  "description": "LEI registration status: ISSUED | LAPSED | RETIRED | ANNULLED | …"
                },
                "headquarters": {
                  "type": "object",
                  "properties": {
                    "city": {
                      "type": "string",
                      "nullable": true
                    },
                    "region": {
                      "type": "string",
                      "nullable": true
                    },
                    "country": {
                      "type": "string",
                      "nullable": true
                    },
                    "postalCode": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "city",
                    "region",
                    "country",
                    "postalCode"
                  ],
                  "additionalProperties": false
                },
                "initialRegistrationDate": {
                  "type": "string",
                  "nullable": true
                },
                "lastUpdateDate": {
                  "type": "string",
                  "nullable": true
                },
                "nextRenewalDate": {
                  "type": "string",
                  "nullable": true
                },
                "managingLou": {
                  "type": "string",
                  "nullable": true,
                  "description": "LEI of the Local Operating Unit that maintains this record."
                }
              },
              "required": [
                "lei",
                "legalName",
                "otherName",
                "jurisdiction",
                "category",
                "legalForm",
                "entityStatus",
                "registrationStatus",
                "headquarters",
                "initialRegistrationDate",
                "lastUpdateDate",
                "nextRenewalDate",
                "managingLou"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "page": {
            "type": "object",
            "properties": {
              "number": {
                "type": "integer"
              },
              "size": {
                "type": "integer"
              },
              "pages": {
                "type": "integer",
                "nullable": true
              }
            },
            "required": [
              "number",
              "size",
              "pages"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "business.lei-hierarchy",
      "group": "business",
      "name": "lei-hierarchy",
      "method": "GET",
      "path": "/api/business/lei-hierarchy",
      "url": "https://2s.io/api/business/lei-hierarchy",
      "description": "Corporate ownership graph for a legal entity by LEI (GLEIF Level-2 relationships, live). Returns the direct parent and ultimate parent (each: LEI, legal name, jurisdiction, country, status), the direct children (paged), and total counts of direct and ultimate children. The authoritative 'who owns whom' lookup for KYB, beneficial-ownership, and corporate-tree mapping — complements business.lei (entity reference) and business.lei-isins.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lei": {
            "type": "string",
            "pattern": "^[A-Za-z0-9]{20}$",
            "description": "20-character LEI, e.g. HWUPKR0MPOU8FGXBT394 (Apple Inc.)."
          },
          "childLimit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Max direct children to return (1-50, default 10)."
          }
        },
        "required": [
          "lei"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "lei": "example",
        "childLimit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "lei": {
                  "type": "string"
                },
                "directParent": {
                  "type": "object",
                  "properties": {
                    "lei": {
                      "nullable": true
                    },
                    "name": {
                      "nullable": true
                    },
                    "jurisdiction": {
                      "nullable": true
                    },
                    "country": {
                      "nullable": true
                    },
                    "status": {
                      "nullable": true
                    },
                    "registrationStatus": {
                      "nullable": true
                    }
                  },
                  "additionalProperties": false,
                  "nullable": true
                },
                "ultimateParent": {
                  "type": "object",
                  "properties": {
                    "lei": {
                      "nullable": true
                    },
                    "name": {
                      "nullable": true
                    },
                    "jurisdiction": {
                      "nullable": true
                    },
                    "country": {
                      "nullable": true
                    },
                    "status": {
                      "nullable": true
                    },
                    "registrationStatus": {
                      "nullable": true
                    }
                  },
                  "additionalProperties": false,
                  "nullable": true
                },
                "directChildren": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "lei": {
                        "nullable": true
                      },
                      "name": {
                        "nullable": true
                      },
                      "jurisdiction": {
                        "nullable": true
                      },
                      "country": {
                        "nullable": true
                      },
                      "status": {
                        "nullable": true
                      },
                      "registrationStatus": {
                        "nullable": true
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "directChildrenCount": {
                  "type": "number"
                },
                "ultimateChildrenCount": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "lei",
                "directParent",
                "ultimateParent",
                "directChildren",
                "directChildrenCount",
                "ultimateChildrenCount"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "business.lei-isins",
      "group": "business",
      "name": "lei-isins",
      "method": "GET",
      "path": "/api/business/lei-isins",
      "url": "https://2s.io/api/business/lei-isins",
      "description": "ISIN ↔ LEI mapping (GLEIF, live, CC0). Two modes: pass lei to list every ISIN (security identifier) issued by that entity; or pass isin to resolve the issuer's LEI (with legal name, jurisdiction, country). Bridges securities to their legal-entity issuers for finance, compliance, and reference-data joins — complements business.lei and business.lei-hierarchy.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lei": {
            "type": "string",
            "pattern": "^[A-Za-z0-9]{20}$",
            "description": "LEI → list its ISINs."
          },
          "isin": {
            "type": "string",
            "pattern": "^[A-Za-z0-9]{12}$",
            "description": "ISIN → resolve issuer LEI, e.g. US0378331005."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200,
            "description": "Max ISINs in lei mode (1-200, default 100)."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "lei": "example",
        "isin": "example",
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "mode": {
                  "type": "string",
                  "enum": [
                    "lei-to-isins",
                    "isin-to-lei"
                  ]
                },
                "lei": {
                  "type": "string"
                },
                "isin": {
                  "type": "string"
                },
                "issuer": {
                  "type": "object",
                  "properties": {
                    "lei": {
                      "nullable": true
                    },
                    "name": {
                      "nullable": true
                    },
                    "jurisdiction": {
                      "nullable": true
                    },
                    "country": {
                      "nullable": true
                    },
                    "status": {
                      "nullable": true
                    },
                    "registrationStatus": {
                      "nullable": true
                    }
                  },
                  "additionalProperties": false,
                  "nullable": true
                },
                "isins": {
                  "type": "array",
                  "items": {}
                }
              },
              "required": [
                "mode",
                "isins"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "total": {
                "type": "number"
              }
            },
            "required": [
              "total"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "business.naics",
      "group": "business",
      "name": "naics",
      "method": "GET",
      "path": "/api/business/naics",
      "url": "https://2s.io/api/business/naics",
      "description": "Look up or search NAICS 2022 industry classification codes (US Census Bureau, public domain). Pass `code` for an exact NAICS code — 2–6 digits or a combined sector like 31-33 — and get its official title, hierarchy path, full official description, activity index terms, and direct child codes. Or pass `query` for free-text search (e.g. 'software publishers', 'coffee shop') over titles plus the official ~20k-entry activity index → ranked candidate codes, optionally filtered by `level` (2=sector … 6=national industry). Ground truth for industry coding in KYC, business registration, government filings, and ERP vendor/customer setup.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "pattern": "^(\\d{2}-\\d{2}|\\d{2,6})$",
            "description": "Exact NAICS code (2–6 digits, or a combined sector range like 31-33). XOR with query."
          },
          "query": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120,
            "description": "Free-text industry or activity description to search. XOR with code."
          },
          "level": {
            "type": "integer",
            "minimum": 2,
            "maximum": 6,
            "description": "Search mode only: restrict results to one hierarchy level (2=sector … 6=national industry)."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Search mode only: max results, 1–50, default 20."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "query": "software publishers",
        "limit": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string",
                  "description": "NAICS 2022 code (sectors may be ranges like 31-33)."
                },
                "level": {
                  "type": "number",
                  "description": "Hierarchy level: 2=sector, 3=subsector, 4=industry group, 5=NAICS industry, 6=national industry."
                },
                "title": {
                  "type": "string",
                  "description": "Official NAICS title."
                },
                "heading": {
                  "type": "string",
                  "nullable": true,
                  "description": "Ancestor path (sector > subsector > …), excludes the code itself."
                },
                "description": {
                  "type": "string",
                  "nullable": true,
                  "description": "Official Census description. Full text on the exactly-matched code; truncated elsewhere."
                },
                "indexTerms": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "nullable": true,
                  "description": "Official activity index entries cross-referenced to this code (6-digit codes; capped)."
                }
              },
              "required": [
                "code",
                "level",
                "title",
                "heading",
                "description",
                "indexTerms"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "page": {
            "type": "object",
            "properties": {
              "number": {
                "type": "integer"
              },
              "size": {
                "type": "integer"
              },
              "pages": {
                "type": "integer",
                "nullable": true
              }
            },
            "required": [
              "number",
              "size",
              "pages"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "business.no-companies",
      "group": "business",
      "name": "no-companies",
      "method": "GET",
      "path": "/api/business/no-companies",
      "url": "https://2s.io/api/business/no-companies",
      "description": "Official Norwegian company registry search (Brønnøysund Enhetsregisteret). Search by company name. Each result: organisation number, name, organisation form, primary industry (NACE), employee count, registration date, website, bankruptcy and dissolution flags, and business address. Free, NLOD/CC BY 4.0. The authoritative NO company lookup — complements business.uk-companies and business.lei.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120,
            "description": "Company name to search."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 25
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "name": "xx",
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "orgNumber": {
                  "type": "string",
                  "nullable": true
                },
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "orgForm": {
                  "type": "string",
                  "nullable": true
                },
                "industry": {
                  "type": "string",
                  "nullable": true
                },
                "employees": {
                  "type": "number",
                  "nullable": true
                },
                "registered": {
                  "type": "string",
                  "nullable": true
                },
                "website": {
                  "type": "string",
                  "nullable": true
                },
                "bankrupt": {
                  "type": "boolean"
                },
                "beingDissolved": {
                  "type": "boolean"
                },
                "address": {
                  "type": "string",
                  "nullable": true
                },
                "country": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "orgNumber",
                "name",
                "orgForm",
                "industry",
                "employees",
                "registered",
                "website",
                "bankrupt",
                "beingDissolved",
                "address",
                "country"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "business.pl-krs",
      "group": "business",
      "name": "pl-krs",
      "method": "GET",
      "path": "/api/business/pl-krs",
      "url": "https://2s.io/api/business/pl-krs",
      "description": "Official Polish company registry lookup by KRS number (KRS — Ministry of Justice, current extract / OdpisAktualny). Returns legal name, legal form, NIP and REGON identifiers, KRS registration date, share capital, and registered address. Register P = entrepreneurs (default); S = associations/foundations. Free, Polish public-sector open data. The authoritative PL company lookup — complements business.uk-companies and business.lei.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "krs": {
            "type": "string",
            "pattern": "^\\d{10}$",
            "description": "10-digit KRS number, e.g. 0000028860."
          },
          "register": {
            "type": "string",
            "enum": [
              "P",
              "S"
            ],
            "description": "P = entrepreneurs (default), S = associations/foundations."
          }
        },
        "required": [
          "krs"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "krs": "12345",
        "register": "P"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "krs": {
                  "type": "string",
                  "nullable": true
                },
                "register": {
                  "type": "string"
                },
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "legalForm": {
                  "type": "string",
                  "nullable": true
                },
                "nip": {
                  "type": "string",
                  "nullable": true
                },
                "regon": {
                  "type": "string",
                  "nullable": true
                },
                "registeredDate": {
                  "type": "string",
                  "nullable": true
                },
                "asOf": {
                  "type": "string",
                  "nullable": true
                },
                "address": {
                  "type": "string",
                  "nullable": true
                },
                "city": {
                  "type": "string",
                  "nullable": true
                },
                "postalCode": {
                  "type": "string",
                  "nullable": true
                },
                "country": {
                  "type": "string",
                  "nullable": true
                },
                "shareCapital": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "krs",
                "register",
                "name",
                "legalForm",
                "nip",
                "regon",
                "registeredDate",
                "asOf",
                "address",
                "city",
                "postalCode",
                "country",
                "shareCapital"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "business.sos-search",
      "group": "business",
      "name": "sos-search",
      "method": "GET",
      "path": "/api/business/sos-search",
      "url": "https://2s.io/api/business/sos-search",
      "description": "Search state Secretary-of-State business registries, normalized to one schema across states. Currently supported: NY (active corporations + LLCs), CO (all entities incl. status), and CT (Business Registry Master incl. type, status, NAICS). Query by name (partial, case-insensitive) or exact entityId; results: state, entity id, name, type, status, formation jurisdiction, formation date, principal/registered address, registered agent. KYC, vendor due-diligence, and counterparty-verification staple. Each state sourced from its official open-data portal.",
      "priceUsd": 0.00288,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "state": {
            "type": "string",
            "enum": [
              "NY",
              "CO",
              "CT"
            ]
          },
          "name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          "entityId": {
            "type": "string",
            "minLength": 2,
            "maxLength": 30
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 10
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "default": 0
          }
        },
        "required": [
          "state"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "state": "CO",
        "name": "Anthropic"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "state": {
                  "type": "string"
                },
                "entityId": {
                  "type": "string",
                  "nullable": true
                },
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "type": {
                  "type": "string",
                  "nullable": true
                },
                "status": {
                  "type": "string",
                  "nullable": true
                },
                "jurisdiction": {
                  "type": "string",
                  "nullable": true
                },
                "formedDate": {
                  "type": "string",
                  "nullable": true
                },
                "address": {
                  "type": "object",
                  "properties": {
                    "street": {
                      "type": "string",
                      "nullable": true
                    },
                    "city": {
                      "type": "string",
                      "nullable": true
                    },
                    "state": {
                      "type": "string",
                      "nullable": true
                    },
                    "zip": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "street",
                    "city",
                    "state",
                    "zip"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                },
                "agent": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "state",
                "entityId",
                "name",
                "type",
                "status",
                "jurisdiction",
                "formedDate",
                "address",
                "agent"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "state": {
                "type": "string"
              }
            },
            "required": [
              "state"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "business.uk-companies",
      "group": "business",
      "name": "uk-companies",
      "method": "GET",
      "path": "/api/business/uk-companies",
      "url": "https://2s.io/api/business/uk-companies",
      "description": "Official UK company registry (Companies House). Two modes: pass query to search companies by name (returns company number, name, status, type, incorporation date, address), or pass companyNumber for the full registry profile — legal name, status, company type, jurisdiction, incorporation/cessation dates, SIC activity codes, registered office address, accounts (next due, last made-up-to), confirmation-statement due date, charges and insolvency flags, previous names, and the officers list (name, role, appointed/resigned dates, nationality, occupation). Free, Open Government Licence (commercial use permitted). The authoritative UK-company KYB lookup — complements business.lei (GLEIF) and business.br-cnpj (Brazil).",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "companyNumber": {
            "type": "string",
            "minLength": 1,
            "maxLength": 12
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "companyNumber": "09446231"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "mode": {
                  "type": "string",
                  "enum": [
                    "profile",
                    "search"
                  ]
                },
                "query": {
                  "type": "object",
                  "properties": {
                    "query": {
                      "type": "string",
                      "nullable": true
                    },
                    "companyNumber": {
                      "type": "string",
                      "nullable": true
                    },
                    "limit": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "query",
                    "companyNumber",
                    "limit"
                  ],
                  "additionalProperties": false
                },
                "total": {
                  "type": "number"
                },
                "company": {
                  "type": "object",
                  "properties": {
                    "companyNumber": {
                      "type": "string",
                      "nullable": true
                    },
                    "name": {
                      "type": "string",
                      "nullable": true
                    },
                    "status": {
                      "type": "string",
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "nullable": true
                    },
                    "jurisdiction": {
                      "type": "string",
                      "nullable": true
                    },
                    "dateOfCreation": {
                      "type": "string",
                      "nullable": true
                    },
                    "dateOfCessation": {
                      "type": "string",
                      "nullable": true
                    },
                    "sicCodes": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "registeredOfficeAddress": {
                      "type": "string",
                      "nullable": true
                    },
                    "accountsNextDue": {
                      "type": "string",
                      "nullable": true
                    },
                    "accountsLastMadeUpTo": {
                      "type": "string",
                      "nullable": true
                    },
                    "confirmationStatementNextDue": {
                      "type": "string",
                      "nullable": true
                    },
                    "hasCharges": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "hasInsolvencyHistory": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "previousNames": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "officers": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "name": {
                            "type": "string",
                            "nullable": true
                          },
                          "role": {
                            "type": "string",
                            "nullable": true
                          },
                          "appointedOn": {
                            "type": "string",
                            "nullable": true
                          },
                          "resignedOn": {
                            "type": "string",
                            "nullable": true
                          },
                          "nationality": {
                            "type": "string",
                            "nullable": true
                          },
                          "occupation": {
                            "type": "string",
                            "nullable": true
                          }
                        },
                        "required": [
                          "name",
                          "role",
                          "appointedOn",
                          "resignedOn",
                          "nationality",
                          "occupation"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "companyNumber",
                    "name",
                    "status",
                    "type",
                    "jurisdiction",
                    "dateOfCreation",
                    "dateOfCessation",
                    "sicCodes",
                    "registeredOfficeAddress",
                    "accountsNextDue",
                    "accountsLastMadeUpTo",
                    "confirmationStatementNextDue",
                    "hasCharges",
                    "hasInsolvencyHistory",
                    "previousNames",
                    "officers"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                },
                "results": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "companyNumber": {
                        "type": "string",
                        "nullable": true
                      },
                      "name": {
                        "type": "string",
                        "nullable": true
                      },
                      "status": {
                        "type": "string",
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "nullable": true
                      },
                      "dateOfCreation": {
                        "type": "string",
                        "nullable": true
                      },
                      "address": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "companyNumber",
                      "name",
                      "status",
                      "type",
                      "dateOfCreation",
                      "address"
                    ],
                    "additionalProperties": false
                  }
                },
                "source": {
                  "type": "object",
                  "properties": {
                    "provider": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string"
                    },
                    "license": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "provider",
                    "url",
                    "license"
                  ],
                  "additionalProperties": false
                },
                "note": {
                  "type": "string"
                }
              },
              "required": [
                "mode",
                "query",
                "total",
                "company",
                "results",
                "source",
                "note"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "calendar.business-days",
      "group": "calendar",
      "name": "business-days",
      "method": "GET",
      "path": "/api/calendar/business-days",
      "url": "https://2s.io/api/calendar/business-days",
      "description": "Holiday-aware business-day calculator for 200+ countries. Three modes: pass start + addDays (signed integer) to shift a date by N business days; pass start + end to count business days between two dates (exclusive of start, inclusive of end); pass start alone to check one date (is it a business day, which holiday, next/previous business day). Query: country (ISO 3166-1 alpha-2), start (YYYY-MM-DD), optional region (subdivision code), addDays XOR end, optional weekend (comma-separated days, default sat,sun — e.g. fri,sat for the Gulf), optional types (holiday types treated as closures, default public,bank). Skipped holidays are itemized in the response. Use for payment terms, SLA deadlines, and delivery-date math.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "ISO 3166-1 alpha-2 country code, e.g. US, DE, JP."
          },
          "start": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Anchor date, YYYY-MM-DD."
          },
          "addDays": {
            "type": "integer",
            "minimum": -3660,
            "maximum": 3660,
            "description": "Signed number of business days to add to start (non-zero, ±3660). Mutually exclusive with end."
          },
          "end": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "End date YYYY-MM-DD. Counts business days after start through end. Mutually exclusive with addDays."
          },
          "region": {
            "type": "string",
            "minLength": 1,
            "maxLength": 10,
            "description": "Optional subdivision code — e.g. CA for US-California, BY for DE-Bavaria."
          },
          "weekend": {
            "type": "string",
            "maxLength": 30,
            "description": "Optional comma-separated weekend days (mon..sun). Default \"sat,sun\"; use \"fri,sat\" for Gulf states."
          },
          "types": {
            "type": "string",
            "maxLength": 60,
            "description": "Optional comma-separated holiday types treated as business closures (public, bank, school, optional, observance). Default \"public,bank\"."
          }
        },
        "required": [
          "country",
          "start"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "country": "US",
        "start": "2026-07-02",
        "addDays": "2"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "mode": {
                  "type": "string",
                  "description": "check | add | between — which calculation ran, inferred from the params."
                },
                "country": {
                  "type": "string",
                  "description": "Resolved ISO country code."
                },
                "region": {
                  "type": "string",
                  "nullable": true,
                  "description": "Resolved subdivision code, or null."
                },
                "start": {
                  "type": "string",
                  "description": "Echoed anchor date."
                },
                "addDays": {
                  "type": "integer",
                  "description": "add mode: the requested shift."
                },
                "result": {
                  "type": "string",
                  "description": "add mode: the resulting business date, YYYY-MM-DD."
                },
                "calendarDaysSpanned": {
                  "type": "integer",
                  "description": "add mode: calendar days between start and result."
                },
                "holidaysSkipped": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "date": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "date",
                      "name"
                    ],
                    "additionalProperties": false
                  },
                  "description": "add mode: weekday holidays skipped along the way."
                },
                "end": {
                  "type": "string",
                  "description": "between mode: echoed end date."
                },
                "businessDays": {
                  "type": "integer",
                  "description": "between mode: business days after start through end."
                },
                "calendarDays": {
                  "type": "integer",
                  "description": "between mode: calendar days between start and end."
                },
                "holidaysInRange": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "date": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "date",
                      "name"
                    ],
                    "additionalProperties": false
                  },
                  "description": "between mode: weekday holidays inside the range."
                },
                "isBusinessDay": {
                  "type": "boolean",
                  "description": "check mode: true when start is neither weekend nor closure holiday."
                },
                "isWeekend": {
                  "type": "boolean",
                  "description": "check mode: start falls on a configured weekend day."
                },
                "isHoliday": {
                  "type": "boolean",
                  "description": "check mode: start is a closure holiday."
                },
                "holidayNames": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "check mode: names of holidays on start, if any."
                },
                "nextBusinessDay": {
                  "type": "string",
                  "description": "check mode: first business day after start."
                },
                "previousBusinessDay": {
                  "type": "string",
                  "description": "check mode: last business day before start."
                }
              },
              "required": [
                "mode",
                "country",
                "region",
                "start"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "calendar.earnings",
      "group": "calendar",
      "name": "earnings",
      "method": "GET",
      "path": "/api/calendar/earnings",
      "url": "https://2s.io/api/calendar/earnings",
      "description": "Earnings release calendar — which US-listed companies report earnings in a date window, with expected and (once reported) actual EPS and revenue, and the time of day (before/after market). Pass a from/to window (YYYY-MM-DD; defaults to the next 14 days) and optionally a ticker to filter to one company. Agents cannot recall future earnings dates — this is the schedule. Data by Finnhub.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "from": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Start date YYYY-MM-DD (default: today)."
          },
          "to": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "End date YYYY-MM-DD (default: 14 days out)."
          },
          "ticker": {
            "type": "string",
            "minLength": 1,
            "maxLength": 12,
            "pattern": "^[A-Za-z][A-Za-z0-9.\\-]{0,11}$",
            "description": "Filter to a single US ticker."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "from": "2026-06-21",
        "to": "2026-07-05"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "date": {
                  "type": "string",
                  "nullable": true,
                  "description": "Report date (yyyy-mm-dd)."
                },
                "symbol": {
                  "type": "string",
                  "nullable": true
                },
                "year": {
                  "type": "number",
                  "nullable": true
                },
                "quarter": {
                  "type": "number",
                  "nullable": true
                },
                "epsEstimate": {
                  "type": "number",
                  "nullable": true
                },
                "epsActual": {
                  "type": "number",
                  "nullable": true
                },
                "revenueEstimate": {
                  "type": "number",
                  "nullable": true
                },
                "revenueActual": {
                  "type": "number",
                  "nullable": true
                },
                "hour": {
                  "type": "string",
                  "nullable": true,
                  "description": "bmo (before open), amc (after close), or dmh (during)."
                }
              },
              "required": [
                "date",
                "symbol",
                "year",
                "quarter",
                "epsEstimate",
                "epsActual",
                "revenueEstimate",
                "revenueActual",
                "hour"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "from": {
                "type": "string"
              },
              "to": {
                "type": "string"
              },
              "symbol": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "from",
              "to",
              "symbol"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "calendar.holidays",
      "group": "calendar",
      "name": "holidays",
      "method": "GET",
      "path": "/api/calendar/holidays",
      "url": "https://2s.io/api/calendar/holidays",
      "description": "List the official holidays for a country and year, with exact observed dates including substitute days (e.g. a Saturday July 4th observed on Friday). Query: country (ISO 3166-1 alpha-2, 200+ supported), year, optional region (subdivision code like CA for US-California or BY for DE-Bavaria), optional types filter (public, bank, school, optional, observance — comma-separated), optional lang (ISO 639-1) for localized names. Returns one item per holiday: { date (YYYY-MM-DD), name, type, substitute, rule }. Dates are computed from maintained per-country rules — including movable feasts and lunar-calendar holidays — so they stay correct year over year. Use for scheduling, delivery estimates, payment terms, and SLA math.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "ISO 3166-1 alpha-2 country code, e.g. US, DE, JP. 200+ countries supported."
          },
          "year": {
            "type": "integer",
            "minimum": 1950,
            "maximum": 2100,
            "description": "Calendar year (1950-2100)."
          },
          "region": {
            "type": "string",
            "minLength": 1,
            "maxLength": 10,
            "description": "Optional subdivision code — e.g. CA for US-California, BY for DE-Bavaria, ON for CA-Ontario."
          },
          "types": {
            "type": "string",
            "maxLength": 60,
            "description": "Optional comma-separated holiday-type filter: public, bank, school, optional, observance. Default: all types."
          },
          "lang": {
            "type": "string",
            "minLength": 2,
            "maxLength": 5,
            "description": "Optional ISO 639-1 language code for localized holiday names, e.g. en, de, fr."
          }
        },
        "required": [
          "country",
          "year"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "country": "US",
        "year": "2026",
        "types": "public"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "date": {
                  "type": "string",
                  "description": "Observed date, YYYY-MM-DD."
                },
                "name": {
                  "type": "string",
                  "description": "Holiday name (localized when lang is passed and a translation exists)."
                },
                "type": {
                  "type": "string",
                  "description": "public | bank | school | optional | observance."
                },
                "substitute": {
                  "type": "boolean",
                  "description": "True when this entry is a substitute/observed day for a holiday falling on a weekend."
                },
                "rule": {
                  "type": "string",
                  "nullable": true,
                  "description": "The rule the date was computed from, e.g. \"3rd monday in January\"."
                }
              },
              "required": [
                "date",
                "name",
                "type",
                "substitute",
                "rule"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "calendar.ipo",
      "group": "calendar",
      "name": "ipo",
      "method": "GET",
      "path": "/api/calendar/ipo",
      "url": "https://2s.io/api/calendar/ipo",
      "description": "IPO calendar — companies going public (or recently public) in a date window, with the expected date, symbol, name, exchange, price range, number of shares, total offering value, and status (expected/priced/filed/withdrawn). Pass a from/to window (YYYY-MM-DD; defaults to a ±30-day span around today). Data by Finnhub.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "from": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Start date YYYY-MM-DD (default: 15 days ago)."
          },
          "to": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "End date YYYY-MM-DD (default: 30 days out)."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "from": "2026-06-01",
        "to": "2026-07-01"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "date": {
                  "type": "string",
                  "nullable": true
                },
                "symbol": {
                  "type": "string",
                  "nullable": true
                },
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "exchange": {
                  "type": "string",
                  "nullable": true
                },
                "status": {
                  "type": "string",
                  "nullable": true
                },
                "price": {
                  "type": "string",
                  "nullable": true
                },
                "numberOfShares": {
                  "type": "number",
                  "nullable": true
                },
                "totalSharesValue": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "date",
                "symbol",
                "name",
                "exchange",
                "status",
                "price",
                "numberOfShares",
                "totalSharesValue"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "from": {
                "type": "string"
              },
              "to": {
                "type": "string"
              }
            },
            "required": [
              "from",
              "to"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "census.demographics",
      "group": "census",
      "name": "demographics",
      "method": "GET",
      "path": "/api/census/demographics",
      "url": "https://2s.io/api/census/demographics",
      "description": "US Census ACS 5-year demographics for a state or county. Give a state (2-letter or 2-digit FIPS), optionally a 3-digit county FIPS, and get population, median age, median household income, per-capita income, poverty rate (computed), households, owner-occupancy rate (computed), median home value, and median gross rent. Free, public-domain (US Census Bureau). Complements census.zipcode (ZIP/ZCTA-level) with state- and county-level geography. Authoritative demographic data an LLM cannot recall — for market sizing, site selection, and socioeconomic research.",
      "priceUsd": 0.00108,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "2-letter state code or 2-digit FIPS."
          },
          "county": {
            "type": "string",
            "pattern": "^\\d{3}$"
          },
          "year": {
            "type": "integer",
            "minimum": 2010,
            "maximum": 2100
          }
        },
        "required": [
          "state"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "state": "TX",
        "county": "201"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "query": {
                  "type": "object",
                  "properties": {
                    "state": {
                      "type": "string"
                    },
                    "county": {
                      "type": "string",
                      "nullable": true
                    },
                    "year": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "state",
                    "county",
                    "year"
                  ],
                  "additionalProperties": false
                },
                "geoName": {
                  "type": "string",
                  "nullable": true
                },
                "population": {
                  "type": "number",
                  "nullable": true
                },
                "medianAge": {
                  "type": "number",
                  "nullable": true
                },
                "medianHouseholdIncomeUSD": {
                  "type": "number",
                  "nullable": true
                },
                "perCapitaIncomeUSD": {
                  "type": "number",
                  "nullable": true
                },
                "povertyRate": {
                  "type": "number",
                  "nullable": true
                },
                "households": {
                  "type": "number",
                  "nullable": true
                },
                "ownerOccupancyRate": {
                  "type": "number",
                  "nullable": true
                },
                "medianHomeValueUSD": {
                  "type": "number",
                  "nullable": true
                },
                "medianGrossRentUSD": {
                  "type": "number",
                  "nullable": true
                },
                "source": {
                  "type": "object",
                  "properties": {
                    "provider": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string"
                    },
                    "license": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "provider",
                    "url",
                    "license"
                  ],
                  "additionalProperties": false
                },
                "note": {
                  "type": "string"
                }
              },
              "required": [
                "query",
                "geoName",
                "population",
                "medianAge",
                "medianHouseholdIncomeUSD",
                "perCapitaIncomeUSD",
                "povertyRate",
                "households",
                "ownerOccupancyRate",
                "medianHomeValueUSD",
                "medianGrossRentUSD",
                "source",
                "note"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "census.zipcode",
      "group": "census",
      "name": "zipcode",
      "method": "GET",
      "path": "/api/census/zipcode",
      "url": "https://2s.io/api/census/zipcode",
      "description": "US Census ACS 5-year demographics for a ZIP code (ZCTA). Returns population, median age, median household income, poverty rate, household composition, race + ethnicity breakdown, education attainment, workforce (with computed unemployment rate), and housing (with computed owner-occupancy rate and median rent/home value). Backed by ~33k ZCTAs pre-ingested from api.census.gov; refreshed annually. Public-domain US government data.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "zip": {
            "type": "string",
            "pattern": "^\\d{5}$"
          }
        },
        "required": [
          "zip"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "zip": "12345"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "chem.compound",
      "group": "chem",
      "name": "compound",
      "method": "GET",
      "path": "/api/chem/compound",
      "url": "https://2s.io/api/chem/compound",
      "description": "Look up a chemical compound by CID, common/IUPAC name, SMILES, or InChIKey. Returns CID, preferred name, IUPAC name, molecular formula, molecular weight, exact mass, SMILES, connectivity SMILES, InChI, InChIKey, XLogP, formal charge, the 10 most-common synonyms, a PubChem permalink, and source attribution. Data is sourced from NIH PubChem (public domain). Provide exactly one of cid, name, smiles, or inchikey.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "cid": {
            "type": "integer",
            "exclusiveMinimum": true,
            "minimum": 0,
            "maximum": 2500000000,
            "description": "PubChem Compound ID (CID), e.g. 2244 for aspirin."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "Common, trade, or IUPAC name, e.g. \"aspirin\" or \"ibuprofen\"."
          },
          "smiles": {
            "type": "string",
            "minLength": 1,
            "maxLength": 500,
            "description": "SMILES structural notation, e.g. \"CC(=O)Oc1ccccc1C(=O)O\"."
          },
          "inchikey": {
            "type": "string",
            "pattern": "^[A-Z]{14}-[A-Z]{10}-[A-Z]$",
            "description": "InChIKey (27-char hashed identifier), e.g. \"BSYNRYMUTXBXSQ-UHFFFAOYSA-N\"."
          }
        },
        "additionalProperties": false,
        "description": "Provide exactly ONE of cid, name, smiles, or inchikey. Each identifies the same compound from a different namespace."
      },
      "inputExample": {
        "cid": 0,
        "name": "example",
        "smiles": "example",
        "inchikey": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "namespace": {
                    "type": "string"
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "namespace",
                  "value"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "query"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "chinese.convert",
      "group": "chinese",
      "name": "convert",
      "method": "GET",
      "path": "/api/chinese/convert",
      "url": "https://2s.io/api/chinese/convert",
      "description": "Convert Chinese text between Simplified and Traditional scripts (and regional variants). from/to take: cn (Mainland Simplified), tw (Taiwan Traditional), twp (Taiwan w/ idioms), hk (Hong Kong Traditional), t (generic Traditional), jp (Japanese Shinjitai). E.g. from=cn to=tw. Deterministic, keyless (OpenCC mappings).",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "minLength": 1,
            "maxLength": 5000
          },
          "from": {
            "type": "string",
            "enum": [
              "cn",
              "tw",
              "twp",
              "hk",
              "t",
              "jp"
            ],
            "description": "Source variant: cn | tw | twp | hk | t | jp."
          },
          "to": {
            "type": "string",
            "enum": [
              "cn",
              "tw",
              "twp",
              "hk",
              "t",
              "jp"
            ],
            "description": "Target variant: cn | tw | twp | hk | t | jp."
          }
        },
        "required": [
          "text",
          "from",
          "to"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "text": "example",
        "from": "cn",
        "to": "cn"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "text": {
                  "type": "string"
                },
                "from": {
                  "type": "string"
                },
                "to": {
                  "type": "string"
                },
                "converted": {
                  "type": "string"
                }
              },
              "required": [
                "text",
                "from",
                "to",
                "converted"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "chinese.detect",
      "group": "chinese",
      "name": "detect",
      "method": "GET",
      "path": "/api/chinese/detect",
      "url": "https://2s.io/api/chinese/detect",
      "description": "Detect Chinese in text: whether it contains Han characters, how many, total length, and a script classification — simplified, traditional, mixed, or han-common (characters identical in both scripts). Deterministic, keyless. Route text to the right pipeline or pick a conversion direction before calling chinese.convert.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "minLength": 1,
            "maxLength": 5000
          }
        },
        "required": [
          "text"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "text": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "text": {
                  "type": "string"
                },
                "hasChinese": {
                  "type": "boolean"
                },
                "hanCount": {
                  "type": "number"
                },
                "totalChars": {
                  "type": "number"
                },
                "script": {
                  "type": "string",
                  "enum": [
                    "simplified",
                    "traditional",
                    "mixed",
                    "han-common",
                    "none"
                  ]
                }
              },
              "required": [
                "text",
                "hasChinese",
                "hanCount",
                "totalChars",
                "script"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "chinese.pinyin",
      "group": "chinese",
      "name": "pinyin",
      "method": "GET",
      "path": "/api/chinese/pinyin",
      "url": "https://2s.io/api/chinese/pinyin",
      "description": "Convert Chinese (Hanzi) text to pinyin romanization. Choose tone marks (symbol, e.g. hàn yǔ), numbered tones (han4 yu3), or no tones. Auto-segments words and returns the full pinyin string plus a per-syllable array. Deterministic, keyless — useful for transliteration, pronunciation, search indexing, and TTS prep.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000
          },
          "tone": {
            "type": "string",
            "enum": [
              "symbol",
              "num",
              "none"
            ]
          },
          "segmented": {
            "type": "boolean",
            "description": "Include the per-word segment array."
          }
        },
        "required": [
          "text"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "text": "example",
        "tone": "symbol",
        "segmented": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "text": {
                  "type": "string"
                },
                "toneType": {
                  "type": "string"
                },
                "pinyin": {
                  "type": "string"
                },
                "segments": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "syllables": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "text",
                "toneType",
                "pinyin",
                "syllables"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "class.industry-resolve",
      "group": "class",
      "name": "industry-resolve",
      "method": "GET",
      "path": "/api/class/industry-resolve",
      "url": "https://2s.io/api/class/industry-resolve",
      "description": "Cross-walk an industry classification code across the four major systems: NAICS <-> SIC <-> ISIC Rev.4 <-> NACE Rev.2. Pass the system + code and get the equivalent code(s) in every other system, with official titles where available, plus the vintage of each table used. The deterministic join that lets a KYC, procurement, ERP, or cross-border-reporting agent translate \"what industry is this\" between the US (NAICS/SIC), international (ISIC), and EU (NACE) standards. Backed by bundled public-domain Census concordances (NAICS<->SIC: 1997 NAICS <-> 1987 SIC; NAICS<->ISIC: 2012 NAICS <-> ISIC Rev.4) and the UNSD ISIC Rev.4 <-> NACE Rev.2 correspondence. Multi-hop links (e.g. SIC->NACE via NAICS->ISIC) are derived and explicitly flagged in notes. SIC is a retired US system; there is no newer NAICS<->SIC table.",
      "priceUsd": 0.0036,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "system": {
            "type": "string",
            "enum": [
              "naics",
              "sic",
              "isic",
              "nace"
            ],
            "description": "Which system the input code is in."
          },
          "code": {
            "type": "string",
            "minLength": 1,
            "maxLength": 12,
            "description": "The classification code in that system, e.g. 511210 (NAICS), 7372 (SIC), 5820 (ISIC), 58.21 (NACE)."
          }
        },
        "required": [
          "system",
          "code"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "system": "naics",
        "code": "511210"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "resolvedFrom": {
                  "type": "string",
                  "enum": [
                    "naics",
                    "sic",
                    "isic",
                    "nace"
                  ]
                },
                "input": {
                  "type": "string"
                },
                "naics": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "code",
                      "title"
                    ],
                    "additionalProperties": false
                  }
                },
                "sic": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "code",
                      "title"
                    ],
                    "additionalProperties": false
                  }
                },
                "isic": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "code",
                      "title"
                    ],
                    "additionalProperties": false
                  }
                },
                "nace": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "code"
                    ],
                    "additionalProperties": false
                  }
                },
                "vintages": {
                  "type": "object",
                  "properties": {
                    "naics": {
                      "type": "string"
                    },
                    "sic": {
                      "type": "string"
                    },
                    "isic": {
                      "type": "string"
                    },
                    "nace": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "naics",
                    "sic",
                    "isic",
                    "nace"
                  ],
                  "additionalProperties": false
                },
                "notes": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "resolvedFrom",
                "input",
                "naics",
                "sic",
                "isic",
                "nace",
                "vintages",
                "notes"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "climate.station-history",
      "group": "climate",
      "name": "station-history",
      "method": "GET",
      "path": "/api/climate/station-history",
      "url": "https://2s.io/api/climate/station-history",
      "description": "Historical daily weather observations from NOAA GHCN-Daily for one station and date range (up to 366 days per call): max/min/avg temperature (°C), precipitation (mm), snowfall and snow depth (mm), wind (m/s). Coverage reaches back to the 1800s for long-running stations — actual measured values for \"what was the weather on this date\", not model recall. Pass a GHCN station id (e.g. USW00094728 = NYC Central Park); find the nearest station for any coordinate with /api/climate/station-near first. dataTypes selects elements (default TMAX,TMIN,PRCP). NOAA public-domain data.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "station": {
            "type": "string",
            "pattern": "^[A-Z0-9]{11}$",
            "description": "GHCN-Daily station id (11 chars). Find one with /api/climate/station-near."
          },
          "startDate": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "endDate": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "dataTypes": {
            "allOf": [
              {
                "anyOf": [
                  {
                    "not": {}
                  },
                  {
                    "type": "string"
                  }
                ],
                "default": "TMAX,TMIN,PRCP"
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "TMAX",
                    "TMIN",
                    "TAVG",
                    "PRCP",
                    "SNOW",
                    "SNWD",
                    "AWND",
                    "WSF2",
                    "WSF5",
                    "EVAP"
                  ]
                },
                "minItems": 1,
                "maxItems": 10
              }
            ],
            "description": "Comma-separated element codes (TMAX, TMIN, TAVG, PRCP, SNOW, SNWD, AWND, WSF2, WSF5, EVAP). Default TMAX,TMIN,PRCP."
          }
        },
        "required": [
          "station",
          "startDate",
          "endDate"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "station": "USW00094728",
        "startDate": "2024-01-01",
        "endDate": "2024-01-31",
        "dataTypes": "TMAX,TMIN,PRCP"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "date": {
                  "type": "string"
                },
                "values": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "number",
                    "nullable": true
                  },
                  "description": "Element code → metric value (°C / mm / m/s); null when not reported that day."
                }
              },
              "required": [
                "date",
                "values"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "station": {
                "type": "string"
              },
              "stationName": {
                "type": "string",
                "nullable": true
              },
              "startDate": {
                "type": "string"
              },
              "endDate": {
                "type": "string"
              },
              "dataTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "station",
              "stationName",
              "startDate",
              "endDate",
              "dataTypes"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "climate.station-near",
      "group": "climate",
      "name": "station-near",
      "method": "GET",
      "path": "/api/climate/station-near",
      "url": "https://2s.io/api/climate/station-near",
      "description": "Find NOAA GHCN-Daily weather stations near a coordinate. Returns up to 100 stations within a configurable radius (default 500 km), sorted by distance. Each station includes id, name, lat/lon, elevation, country/state, and GSN/HCN/WMO flags. Backed by a ~132k-station registry refreshed monthly from ncei.noaa.gov.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          },
          "radius_km": {
            "type": "number",
            "minimum": 1,
            "maximum": 5000
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          }
        },
        "required": [
          "lat",
          "lon"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "lat": -90,
        "lon": -180,
        "radius_km": 1,
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "location": {
                  "type": "object",
                  "properties": {
                    "latitude": {
                      "type": "number"
                    },
                    "longitude": {
                      "type": "number"
                    },
                    "elevationM": {
                      "type": "number",
                      "nullable": true
                    },
                    "state": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "latitude",
                    "longitude",
                    "elevationM",
                    "state"
                  ],
                  "additionalProperties": false
                },
                "distanceKm": {
                  "type": "number",
                  "description": "Great-circle distance to (lat, lon), kilometers."
                },
                "flags": {
                  "type": "object",
                  "properties": {
                    "gsn": {},
                    "hcn": {},
                    "wmo": {}
                  },
                  "additionalProperties": false
                }
              },
              "required": [
                "id",
                "name",
                "location",
                "distanceKm",
                "flags"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "latitude": {
                    "type": "number"
                  },
                  "longitude": {
                    "type": "number"
                  },
                  "radiusKm": {
                    "type": "number"
                  },
                  "limit": {
                    "type": "integer"
                  }
                },
                "required": [
                  "latitude",
                  "longitude",
                  "radiusKm",
                  "limit"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "query"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "clinical.study-detail",
      "group": "clinical",
      "name": "study-detail",
      "method": "GET",
      "path": "/api/clinical/study-detail",
      "url": "https://2s.io/api/clinical/study-detail",
      "description": "Full ClinicalTrials.gov study record by NCT id — the deep detail beyond clinical.trial-search's summary. Returns the brief + detailed description, status, phases, conditions, study design (allocation, intervention model, primary purpose, masking), enrollment, interventions, primary and secondary outcome measures (with time frames), full eligibility criteria (inclusion/exclusion text, sex, age range, healthy-volunteers, standard age groups), lead sponsor and collaborators, all facility locations (name, city, state, country), whether results are posted, and key dates. Free, public-domain (NIH NLM). Use clinical.trial-search to find an NCT id, then this for the complete protocol.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "nctId": {
            "type": "string",
            "pattern": "^NCT\\d{8}$"
          }
        },
        "required": [
          "nctId"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "nctId": "NCT04280705"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "nctId": {
                  "type": "string",
                  "nullable": true
                },
                "briefTitle": {
                  "type": "string",
                  "nullable": true
                },
                "officialTitle": {
                  "type": "string",
                  "nullable": true
                },
                "status": {
                  "type": "string",
                  "nullable": true
                },
                "studyType": {
                  "type": "string",
                  "nullable": true
                },
                "phases": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "conditions": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "briefSummary": {
                  "type": "string",
                  "nullable": true
                },
                "detailedDescription": {
                  "type": "string",
                  "nullable": true
                },
                "eligibility": {
                  "type": "object",
                  "properties": {
                    "criteria": {
                      "type": "string",
                      "nullable": true
                    },
                    "sex": {
                      "type": "string",
                      "nullable": true
                    },
                    "minimumAge": {
                      "type": "string",
                      "nullable": true
                    },
                    "maximumAge": {
                      "type": "string",
                      "nullable": true
                    },
                    "healthyVolunteers": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "stdAges": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  },
                  "required": [
                    "criteria",
                    "sex",
                    "minimumAge",
                    "maximumAge",
                    "healthyVolunteers",
                    "stdAges"
                  ],
                  "additionalProperties": false
                },
                "design": {
                  "type": "object",
                  "properties": {
                    "allocation": {
                      "type": "string",
                      "nullable": true
                    },
                    "interventionModel": {
                      "type": "string",
                      "nullable": true
                    },
                    "primaryPurpose": {
                      "type": "string",
                      "nullable": true
                    },
                    "masking": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "allocation",
                    "interventionModel",
                    "primaryPurpose",
                    "masking"
                  ],
                  "additionalProperties": false
                },
                "enrollmentCount": {
                  "type": "number",
                  "nullable": true
                },
                "interventions": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "nullable": true
                      },
                      "name": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "type",
                      "name"
                    ],
                    "additionalProperties": false
                  }
                },
                "primaryOutcomes": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "measure": {
                        "type": "string",
                        "nullable": true
                      },
                      "timeFrame": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "measure",
                      "timeFrame"
                    ],
                    "additionalProperties": false
                  }
                },
                "secondaryOutcomes": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "measure": {
                        "type": "string",
                        "nullable": true
                      },
                      "timeFrame": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "measure",
                      "timeFrame"
                    ],
                    "additionalProperties": false
                  }
                },
                "leadSponsor": {
                  "type": "string",
                  "nullable": true
                },
                "collaborators": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "locations": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "facility": {
                        "type": "string",
                        "nullable": true
                      },
                      "city": {
                        "type": "string",
                        "nullable": true
                      },
                      "state": {
                        "type": "string",
                        "nullable": true
                      },
                      "country": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "facility",
                      "city",
                      "state",
                      "country"
                    ],
                    "additionalProperties": false
                  }
                },
                "hasResults": {
                  "type": "boolean"
                },
                "startDate": {
                  "type": "string",
                  "nullable": true
                },
                "completionDate": {
                  "type": "string",
                  "nullable": true
                },
                "lastUpdatePostedDate": {
                  "type": "string",
                  "nullable": true
                },
                "url": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "nctId",
                "briefTitle",
                "officialTitle",
                "status",
                "studyType",
                "phases",
                "conditions",
                "briefSummary",
                "detailedDescription",
                "eligibility",
                "design",
                "enrollmentCount",
                "interventions",
                "primaryOutcomes",
                "secondaryOutcomes",
                "leadSponsor",
                "collaborators",
                "locations",
                "hasResults",
                "startDate",
                "completionDate",
                "lastUpdatePostedDate",
                "url"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "clinical.trial-search",
      "group": "clinical",
      "name": "trial-search",
      "method": "GET",
      "path": "/api/clinical/trial-search",
      "url": "https://2s.io/api/clinical/trial-search",
      "description": "Search ClinicalTrials.gov — every registered US (and many international) clinical study (~500k trials). Free-text query matches title + condition + intervention; or direct lookup by NCT ID. Optional filters: recruitment status, lead sponsor, phase (PHASE1..PHASE4), country. Each record includes NCT ID, brief + official title, status, phases, study type, conditions list, interventions (with type + name), enrollment count + type, key dates (start / primary completion / completion / first posted / last update), lead sponsor + class (INDUSTRY/NIH/OTHER), hasResults flag, brief summary, and canonical clinicaltrials.gov URL. Public-domain NIH NLM data.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 2,
            "maxLength": 300
          },
          "nctId": {
            "type": "string",
            "pattern": "^NCT\\d{8}$"
          },
          "status": {
            "type": "string",
            "enum": [
              "RECRUITING",
              "ACTIVE_NOT_RECRUITING",
              "COMPLETED",
              "TERMINATED",
              "WITHDRAWN",
              "NOT_YET_RECRUITING",
              "SUSPENDED"
            ]
          },
          "sponsor": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200
          },
          "phase": {
            "type": "string",
            "minLength": 2,
            "maxLength": 40
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 10
          },
          "pageToken": {
            "type": "string",
            "minLength": 1,
            "maxLength": 500
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "query": "mRNA vaccine",
        "status": "RECRUITING",
        "pageSize": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "nctId": {
                  "type": "string"
                },
                "briefTitle": {
                  "type": "string",
                  "nullable": true
                },
                "officialTitle": {
                  "type": "string",
                  "nullable": true
                },
                "status": {
                  "type": "string",
                  "nullable": true
                },
                "phases": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "studyType": {
                  "type": "string",
                  "nullable": true
                },
                "conditions": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "interventions": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "nullable": true
                      },
                      "name": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "type",
                      "name"
                    ],
                    "additionalProperties": false
                  }
                },
                "enrollmentCount": {
                  "type": "integer",
                  "nullable": true
                },
                "enrollmentType": {
                  "type": "string",
                  "nullable": true
                },
                "startDate": {
                  "type": "string",
                  "nullable": true
                },
                "primaryCompletionDate": {
                  "type": "string",
                  "nullable": true
                },
                "completionDate": {
                  "type": "string",
                  "nullable": true
                },
                "leadSponsor": {
                  "type": "string",
                  "nullable": true
                },
                "leadSponsorClass": {
                  "type": "string",
                  "nullable": true
                },
                "hasResults": {
                  "type": "boolean"
                },
                "studyFirstPostedDate": {
                  "type": "string",
                  "nullable": true
                },
                "lastUpdatePostedDate": {
                  "type": "string",
                  "nullable": true
                },
                "briefSummary": {
                  "type": "string",
                  "nullable": true
                },
                "url": {
                  "type": "string",
                  "format": "uri"
                }
              },
              "required": [
                "nctId",
                "briefTitle",
                "officialTitle",
                "status",
                "phases",
                "studyType",
                "conditions",
                "interventions",
                "enrollmentCount",
                "enrollmentType",
                "startDate",
                "primaryCompletionDate",
                "completionDate",
                "leadSponsor",
                "leadSponsorClass",
                "hasResults",
                "studyFirstPostedDate",
                "lastUpdatePostedDate",
                "briefSummary",
                "url"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "query": {
                    "type": "string",
                    "nullable": true
                  },
                  "nctId": {
                    "type": "string",
                    "nullable": true
                  },
                  "status": {
                    "type": "string",
                    "nullable": true
                  },
                  "sponsor": {
                    "type": "string",
                    "nullable": true
                  },
                  "phase": {
                    "type": "string",
                    "nullable": true
                  },
                  "country": {
                    "type": "string",
                    "nullable": true
                  },
                  "pageSize": {
                    "type": "integer"
                  }
                },
                "required": [
                  "query",
                  "nctId",
                  "status",
                  "sponsor",
                  "phase",
                  "country",
                  "pageSize"
                ],
                "additionalProperties": false
              },
              "nextPageToken": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "query",
              "nextPageToken"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "code.repo-lookup",
      "group": "code",
      "name": "repo-lookup",
      "method": "GET",
      "path": "/api/code/repo-lookup",
      "url": "https://2s.io/api/code/repo-lookup",
      "description": "Look up a public GitHub repository by \"owner/name\" slug. Returns full name, owner, description, homepage, default branch, primary language, topics, license (SPDX key + name), counts (stars / forks / watchers / open issues / subscribers / network), size, timestamps (created/updated/pushed), visibility, has-issues/projects/wiki/discussions flags. Unauthenticated GitHub access is rate-limited to 60 req/hour per server IP — returns 429 UPSTREAM_RATE_LIMIT when the bucket is empty.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "repo": {
            "type": "string",
            "pattern": "^[A-Za-z0-9][\\w.-]*\\/[A-Za-z0-9._-]+$"
          }
        },
        "required": [
          "repo"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "repo": "anthropics/claude-code"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "fullName": {
                  "type": "string"
                },
                "owner": {
                  "type": "string"
                },
                "repo": {
                  "type": "string"
                },
                "description": {
                  "type": "string",
                  "nullable": true
                },
                "homepage": {
                  "type": "string",
                  "nullable": true
                },
                "htmlUrl": {
                  "type": "string",
                  "format": "uri"
                },
                "isFork": {
                  "type": "boolean"
                },
                "isArchived": {
                  "type": "boolean"
                },
                "isDisabled": {
                  "type": "boolean"
                },
                "isPrivate": {
                  "type": "boolean"
                },
                "isTemplate": {
                  "type": "boolean"
                },
                "defaultBranch": {
                  "type": "string"
                },
                "language": {
                  "type": "string",
                  "nullable": true
                },
                "topics": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "license": {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "key",
                    "name"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                },
                "starsCount": {
                  "type": "integer"
                },
                "forksCount": {
                  "type": "integer"
                },
                "watchersCount": {
                  "type": "integer"
                },
                "openIssuesCount": {
                  "type": "integer"
                },
                "subscribersCount": {
                  "type": "integer",
                  "nullable": true
                },
                "networkCount": {
                  "type": "integer",
                  "nullable": true
                },
                "size": {
                  "type": "integer"
                },
                "createdAt": {
                  "type": "string"
                },
                "updatedAt": {
                  "type": "string"
                },
                "pushedAt": {
                  "type": "string"
                },
                "visibility": {
                  "type": "string"
                },
                "hasIssues": {
                  "type": "boolean"
                },
                "hasProjects": {
                  "type": "boolean"
                },
                "hasWiki": {
                  "type": "boolean"
                },
                "hasDiscussions": {
                  "type": "boolean"
                }
              },
              "required": [
                "fullName",
                "owner",
                "repo",
                "description",
                "homepage",
                "htmlUrl",
                "isFork",
                "isArchived",
                "isDisabled",
                "isPrivate",
                "isTemplate",
                "defaultBranch",
                "language",
                "topics",
                "license",
                "starsCount",
                "forksCount",
                "watchersCount",
                "openIssuesCount",
                "subscribersCount",
                "networkCount",
                "size",
                "createdAt",
                "updatedAt",
                "pushedAt",
                "visibility",
                "hasIssues",
                "hasProjects",
                "hasWiki",
                "hasDiscussions"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "convert.currency",
      "group": "convert",
      "name": "currency",
      "method": "GET",
      "path": "/api/convert/currency",
      "url": "https://2s.io/api/convert/currency",
      "description": "Convert an amount between currencies at a live or historical exchange rate. Pass from + to (3-letter ISO 4217 codes) and optional amount (default 1) and date (YYYY-MM-DD for a historical rate; omit for the latest). Returns the converted result, the per-unit rate, and the effective rate date. Live data from the European Central Bank reference rates (via Frankfurter) — fetched per request, never stale; weekends/holidays use the last published business day. Coverage is the ECB major currencies. Distinct from fx.rates (the raw rate table) — this is the agent-friendly \"X from = ? to\" call.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "from": {
            "type": "string",
            "minLength": 3,
            "maxLength": 3
          },
          "to": {
            "type": "string",
            "minLength": 3,
            "maxLength": 3
          },
          "amount": {
            "type": "number",
            "exclusiveMinimum": true,
            "minimum": 0
          },
          "date": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          }
        },
        "required": [
          "from",
          "to"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "from": "USD",
        "to": "EUR",
        "amount": "100"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "from": {
                "type": "string"
              },
              "to": {
                "type": "string"
              },
              "amount": {
                "type": "number"
              },
              "date": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "from",
              "to",
              "amount",
              "date"
            ],
            "additionalProperties": false
          },
          "rateDate": {
            "type": "string"
          },
          "rate": {
            "type": "number"
          },
          "result": {
            "type": "number"
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "query",
          "rateDate",
          "rate",
          "result",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "convert.unit",
      "group": "convert",
      "name": "unit",
      "method": "GET",
      "path": "/api/convert/unit",
      "url": "https://2s.io/api/convert/unit",
      "description": "Convert a value between units of measure: mass (g, kg, mg, lb, oz, t, st), length (m, km, cm, mm, in, ft, yd, mi), volume (l, ml, m3, gal, gal-imp, qt, pt, cup, floz, tbsp, tsp), area (m2, km2, ft2, acre, ha), and temperature (C, F, K). Units are matched case-insensitively with common aliases (kg/kilogram/kgs). Returns {value, from, to, dimension, result}. Exact factors — the ground-truth answer a CPG/ETL pipeline needs instead of an LLM approximating conversions. Cross-dimension conversions (kg→m) return 400.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "value": {
            "type": "number"
          },
          "from": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40
          },
          "to": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40
          }
        },
        "required": [
          "value",
          "from",
          "to"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "value": 5,
        "from": "kg",
        "to": "lb"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "number"
                },
                "from": {
                  "type": "string",
                  "nullable": true
                },
                "to": {
                  "type": "string",
                  "nullable": true
                },
                "dimension": {
                  "type": "string",
                  "nullable": true,
                  "description": "mass | length | volume | area | temperature"
                },
                "result": {
                  "type": "number",
                  "nullable": true
                },
                "reason": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "value",
                "from",
                "to",
                "dimension",
                "result",
                "reason"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "countdown.gif",
      "group": "countdown",
      "name": "gif",
      "method": "GET",
      "path": "/api/countdown/gif",
      "url": "https://2s.io/api/countdown/gif",
      "description": "Animated countdown GIF from the current UTC time to endDate. Always uncached. Supports 5 templates (default, minimal, neon, retro, corporate) and full customization: colors, fonts, dimensions, padding, cell padding, labels, dividers. Animates for `seconds` frames at `fps`.",
      "priceUsd": 0.006,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "endDate": {
            "type": "string",
            "format": "date-time"
          },
          "template": {
            "type": "string",
            "enum": [
              "default",
              "minimal",
              "neon",
              "retro",
              "corporate"
            ]
          },
          "seconds": {
            "type": "integer",
            "minimum": 1,
            "maximum": 60
          },
          "fps": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10
          },
          "width": {
            "type": "integer",
            "minimum": 200,
            "maximum": 1600
          },
          "height": {
            "type": "integer",
            "minimum": 80,
            "maximum": 800
          },
          "padding": {
            "type": "integer",
            "minimum": 0,
            "maximum": 200
          },
          "cellPadding": {
            "type": "integer",
            "minimum": 0,
            "maximum": 200
          },
          "digitFontSize": {
            "type": "integer",
            "minimum": 20,
            "maximum": 300
          },
          "labelFontSize": {
            "type": "integer",
            "minimum": 6,
            "maximum": 80
          },
          "labelPaddingY": {
            "type": "integer",
            "minimum": 0,
            "maximum": 60
          },
          "digitPaddingY": {
            "type": "integer",
            "minimum": -60,
            "maximum": 60
          },
          "letterSpacing": {
            "type": "number",
            "minimum": 0,
            "maximum": 20
          },
          "bg": {
            "type": "string",
            "maxLength": 40
          },
          "fg": {
            "type": "string",
            "maxLength": 40
          },
          "labelColor": {
            "type": "string",
            "maxLength": 40
          },
          "dividerColor": {
            "type": "string",
            "maxLength": 40
          },
          "digitFont": {
            "type": "string",
            "enum": [
              "mono",
              "sans"
            ]
          },
          "labelFont": {
            "type": "string",
            "enum": [
              "mono",
              "sans"
            ]
          },
          "digitWeight": {
            "type": "string",
            "enum": [
              "regular",
              "bold"
            ]
          },
          "showLabels": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "string",
                "enum": [
                  "true",
                  "false",
                  "0",
                  "1"
                ]
              }
            ]
          },
          "showDays": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "string",
                "enum": [
                  "true",
                  "false",
                  "0",
                  "1"
                ]
              }
            ]
          },
          "dividerChar": {
            "type": "string",
            "minLength": 1,
            "maxLength": 3
          },
          "expiredText": {
            "type": "string",
            "minLength": 1,
            "maxLength": 30
          },
          "labelDays": {
            "type": "string",
            "minLength": 1,
            "maxLength": 12
          },
          "labelHours": {
            "type": "string",
            "minLength": 1,
            "maxLength": 12
          },
          "labelMinutes": {
            "type": "string",
            "minLength": 1,
            "maxLength": 12
          },
          "labelSeconds": {
            "type": "string",
            "minLength": 1,
            "maxLength": 12
          }
        },
        "required": [
          "endDate"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "endDate": "example",
        "template": "default",
        "seconds": 1,
        "fps": 1,
        "width": 200,
        "height": 80,
        "padding": 0,
        "cellPadding": 0,
        "digitFontSize": 20,
        "labelFontSize": 6,
        "labelPaddingY": 0,
        "digitPaddingY": -60,
        "letterSpacing": 0,
        "bg": "example",
        "fg": "example",
        "labelColor": "example",
        "dividerColor": "example",
        "digitFont": "mono",
        "labelFont": "mono",
        "digitWeight": "regular",
        "showLabels": false,
        "showDays": false,
        "dividerChar": "example",
        "expiredText": "example",
        "labelDays": "example",
        "labelHours": "example",
        "labelMinutes": "example",
        "labelSeconds": "example"
      }
    },
    {
      "id": "country.financials",
      "group": "country",
      "name": "financials",
      "method": "GET",
      "path": "/api/country/financials",
      "url": "https://2s.io/api/country/financials",
      "description": "Country-level financial and credit reference data: sovereign credit rating, equity risk premium, country risk premium, default spread, currency (name + ISO code), region/sub-region, and ISO country codes. Returns all ~249 countries by default, or pass code (ISO alpha-2 or alpha-3) to get one. Use it for cross-border valuation (discount-rate inputs) and sovereign-risk context — distinct from country.lookup (general reference). Data by Finnhub.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "minLength": 2,
            "maxLength": 3,
            "pattern": "^[A-Za-z]{2,3}$",
            "description": "ISO alpha-2 or alpha-3 country code. Omit for all countries."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "code": "US"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "country": {
                  "type": "string",
                  "nullable": true
                },
                "code2": {
                  "type": "string",
                  "nullable": true
                },
                "code3": {
                  "type": "string",
                  "nullable": true
                },
                "currency": {
                  "type": "string",
                  "nullable": true
                },
                "currencyCode": {
                  "type": "string",
                  "nullable": true
                },
                "region": {
                  "type": "string",
                  "nullable": true
                },
                "subRegion": {
                  "type": "string",
                  "nullable": true
                },
                "rating": {
                  "type": "string",
                  "nullable": true,
                  "description": "Moody’s-style sovereign credit rating."
                },
                "equityRiskPremium": {
                  "type": "number",
                  "nullable": true
                },
                "countryRiskPremium": {
                  "type": "number",
                  "nullable": true
                },
                "defaultSpread": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "country",
                "code2",
                "code3",
                "currency",
                "currencyCode",
                "region",
                "subRegion",
                "rating",
                "equityRiskPremium",
                "countryRiskPremium",
                "defaultSpread"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "code"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "country.lookup",
      "group": "country",
      "name": "lookup",
      "method": "GET",
      "path": "/api/country/lookup",
      "url": "https://2s.io/api/country/lookup",
      "description": "Look up country metadata via REST Countries. Pass alpha2 (2-letter ISO 3166-1), alpha3 (3-letter), or name (with optional fullText=true for exact match). Returns common + official name, ISO codes, region + subregion, independence + UN-member flags, capital(s), population, area km², landlocked flag, neighboring borders (alpha-3), timezones, currencies (code → name + symbol), languages, calling code, flag emoji + SVG/PNG URLs, lat/lng coordinates, Google Maps + OSM URLs, driving side, top-level domains.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "alpha2": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "pattern": "^[A-Za-z]{2}$"
          },
          "alpha3": {
            "type": "string",
            "minLength": 3,
            "maxLength": 3,
            "pattern": "^[A-Za-z]{3}$"
          },
          "name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80
          },
          "fullText": {
            "type": "boolean",
            "default": false
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "alpha2": "JP"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "object",
                  "properties": {
                    "common": {
                      "type": "string"
                    },
                    "official": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "common",
                    "official"
                  ],
                  "additionalProperties": false
                },
                "alpha2": {
                  "type": "string"
                },
                "alpha3": {
                  "type": "string"
                },
                "numericCode": {
                  "type": "string",
                  "nullable": true
                },
                "cioc": {
                  "type": "string",
                  "nullable": true
                },
                "region": {
                  "type": "string",
                  "nullable": true
                },
                "subregion": {
                  "type": "string",
                  "nullable": true
                },
                "independent": {
                  "type": "boolean",
                  "nullable": true
                },
                "unMember": {
                  "type": "boolean",
                  "nullable": true
                },
                "capital": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "population": {
                  "type": "integer",
                  "nullable": true
                },
                "areaKm2": {
                  "type": "number",
                  "nullable": true
                },
                "landlocked": {
                  "type": "boolean",
                  "nullable": true
                },
                "borders": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "timezones": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "currencies": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "symbol": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "name",
                      "symbol"
                    ],
                    "additionalProperties": false
                  }
                },
                "languages": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "callingCode": {
                  "type": "string",
                  "nullable": true
                },
                "flag": {
                  "type": "string",
                  "nullable": true
                },
                "flagSvg": {
                  "type": "string",
                  "nullable": true
                },
                "flagPng": {
                  "type": "string",
                  "nullable": true
                },
                "coordinates": {
                  "type": "object",
                  "properties": {
                    "lat": {
                      "type": "number"
                    },
                    "lng": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "lat",
                    "lng"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                },
                "googleMapsUrl": {
                  "type": "string",
                  "nullable": true
                },
                "openStreetMapsUrl": {
                  "type": "string",
                  "nullable": true
                },
                "drivingSide": {
                  "type": "string",
                  "nullable": true
                },
                "tld": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "name",
                "alpha2",
                "alpha3",
                "numericCode",
                "cioc",
                "region",
                "subregion",
                "independent",
                "unMember",
                "capital",
                "population",
                "areaKm2",
                "landlocked",
                "borders",
                "timezones",
                "currencies",
                "languages",
                "callingCode",
                "flag",
                "flagSvg",
                "flagPng",
                "coordinates",
                "googleMapsUrl",
                "openStreetMapsUrl",
                "drivingSide",
                "tld"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "alpha2": {
                    "type": "string",
                    "nullable": true
                  },
                  "alpha3": {
                    "type": "string",
                    "nullable": true
                  },
                  "name": {
                    "type": "string",
                    "nullable": true
                  },
                  "fullText": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "alpha2",
                  "alpha3",
                  "name",
                  "fullText"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "query"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.address-history",
      "group": "crypto",
      "name": "address-history",
      "method": "GET",
      "path": "/api/crypto/address-history",
      "url": "https://2s.io/api/crypto/address-history",
      "description": "Transaction history for an Ethereum address (via Etherscan V2). Returns normal transactions newest-first: hash, block, timestamp, from/to, value (wei + ETH), gas used, gas price, decoded method id + function name, error flag, and any contract created. Paginate with page + offset; bound with startBlock/endBlock. Defaults to Ethereum mainnet; other EVM chains are reachable by chainId where upstream coverage allows. Net-new vs crypto.tx (single-hash receipt).",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "chainId": {
            "type": "integer",
            "minimum": 1,
            "default": 1,
            "description": "EVM chain id; defaults to 1 (Ethereum). Other chains (8453 Base, 137 Polygon, 42161 Arbitrum…) require upstream multichain coverage."
          },
          "address": {
            "type": "string",
            "pattern": "^0x[a-fA-F0-9]{40}$"
          },
          "page": {
            "type": "integer",
            "minimum": 1
          },
          "offset": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "sort": {
            "type": "string",
            "enum": [
              "asc",
              "desc"
            ]
          },
          "startBlock": {
            "type": "integer",
            "minimum": 0
          },
          "endBlock": {
            "type": "integer",
            "minimum": 0
          }
        },
        "required": [
          "address"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "chainId": 1,
        "address": "example",
        "page": 1,
        "offset": 1,
        "sort": "asc",
        "startBlock": 0,
        "endBlock": 0
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "hash": {
                  "nullable": true
                },
                "blockNumber": {
                  "type": "number",
                  "nullable": true
                },
                "timestamp": {
                  "type": "string",
                  "nullable": true
                },
                "from": {
                  "nullable": true
                },
                "to": {
                  "nullable": true
                },
                "valueWei": {
                  "type": "string",
                  "nullable": true
                },
                "valueEth": {
                  "type": "number",
                  "nullable": true
                },
                "gasUsed": {
                  "type": "number",
                  "nullable": true
                },
                "gasPriceWei": {
                  "type": "string",
                  "nullable": true
                },
                "methodId": {
                  "nullable": true
                },
                "functionName": {
                  "nullable": true
                },
                "isError": {
                  "type": "boolean"
                },
                "contractAddress": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "blockNumber",
                "timestamp",
                "valueWei",
                "valueEth",
                "gasUsed",
                "gasPriceWei",
                "isError",
                "contractAddress"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.address-safety",
      "group": "crypto",
      "name": "address-safety",
      "method": "GET",
      "path": "/api/crypto/address-safety",
      "url": "https://2s.io/api/crypto/address-safety",
      "description": "Malicious-wallet screen (via GoPlus, free/keyless). For any EVM address returns risk flags — cybercrime, money laundering, financial crime, darkweb, phishing, stealing/blackmail, fake KYC, mixer, sanctioned, honeypot-related, blacklist doubt and more — plus an overall malicious verdict and hit count. Counterparty risk check before interacting with an address.",
      "priceUsd": 0.002,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "chainId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20,
            "description": "EVM chain id, e.g. 1, 56, 137, 8453."
          },
          "address": {
            "type": "string",
            "pattern": "^0x[a-fA-F0-9]{40}$"
          }
        },
        "required": [
          "chainId",
          "address"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "chainId": "example",
        "address": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "chainId": {
                  "type": "string"
                },
                "address": {
                  "type": "string"
                },
                "malicious": {
                  "type": "boolean"
                },
                "hitCount": {
                  "type": "number"
                },
                "numberOfMaliciousContractsCreated": {
                  "type": "number",
                  "nullable": true
                },
                "dataSource": {
                  "nullable": true
                },
                "flags": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "boolean",
                    "nullable": true
                  }
                }
              },
              "required": [
                "chainId",
                "address",
                "malicious",
                "hitCount",
                "numberOfMaliciousContractsCreated",
                "flags"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.address-screen",
      "group": "crypto",
      "name": "address-screen",
      "method": "GET",
      "path": "/api/crypto/address-screen",
      "url": "https://2s.io/api/crypto/address-screen",
      "description": "Sanctions-screen a crypto wallet address against the US Treasury OFAC SDN list's published Digital Currency Addresses (BTC/ETH/USDT/XMR and more). Exact match — returns whether the address is sanctioned, and for any hit the listed entity name, OFAC programs, source id, and the currency the address was listed under. Compliance check before transacting. Distinct from crypto.address-safety (GoPlus behavioral risk) — this is regulatory sanctions.",
      "priceUsd": 0.002,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "minLength": 8,
            "maxLength": 120,
            "description": "Wallet address (any chain). Case-insensitive."
          }
        },
        "required": [
          "address"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "address": "xxxxxxxx"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "address": {
                  "type": "string"
                },
                "sanctioned": {
                  "type": "boolean"
                },
                "matchCount": {
                  "type": "number"
                },
                "matches": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "sourceList": {
                        "type": "string"
                      },
                      "sourceId": {
                        "type": "string",
                        "nullable": true
                      },
                      "entityType": {
                        "type": "string",
                        "nullable": true
                      },
                      "programs": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "currencies": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    },
                    "required": [
                      "name",
                      "sourceList",
                      "sourceId",
                      "entityType",
                      "programs",
                      "currencies"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "address",
                "sanctioned",
                "matchCount",
                "matches"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.address-validate",
      "group": "crypto",
      "name": "address-validate",
      "method": "GET",
      "path": "/api/crypto/address-validate",
      "url": "https://2s.io/api/crypto/address-validate",
      "description": "Validate a cryptocurrency address with full checksum verification (not just regex). Returns {chain, address, valid, canonical, format, reason}. Chains: btc (P2PKH, P2SH, Bech32 SegWit v0, Taproot Bech32m), eth (full EIP-55 checksum; non-checksummed flagged), sol (Ed25519 32-byte Base58), ltc (Base58Check L.../M.../3... + ltc1 Bech32), trx (T-prefix Base58Check 0x41), xrp (r-prefix custom Base58), bch (legacy Base58Check + bitcoincash:q... CashAddr). Catches typos via cryptographic checksum; canonical field returns the checksummed/lowercased form.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "chain": {
            "type": "string",
            "enum": [
              "btc",
              "eth",
              "sol",
              "ltc",
              "trx",
              "xrp",
              "bch"
            ]
          },
          "address": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          }
        },
        "required": [
          "chain",
          "address"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "chain": "eth",
        "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.balances",
      "group": "crypto",
      "name": "balances",
      "method": "GET",
      "path": "/api/crypto/balances",
      "url": "https://2s.io/api/crypto/balances",
      "description": "Live native + ERC-20 token balances for an EVM address (Base, Ethereum, Polygon, Arbitrum, Optimism; keyless). Returns the native-coin balance and, for any ERC-20 contract addresses you pass, the symbol, decimals, raw and human-formatted balance — fetched in one multicall. For wallet dashboards, treasury checks, and agent payment/settlement flows.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "pattern": "^0x[a-fA-F0-9]{40}$",
            "description": "EVM address to read."
          },
          "chain": {
            "type": "string",
            "enum": [
              "base",
              "ethereum",
              "polygon",
              "arbitrum",
              "optimism"
            ],
            "description": "Default base."
          },
          "tokens": {
            "type": "string",
            "maxLength": 900,
            "description": "Comma-separated ERC-20 contract addresses (max 20)."
          }
        },
        "required": [
          "address"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "address": "example",
        "chain": "base",
        "tokens": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "chain": {
                  "type": "string"
                },
                "address": {
                  "type": "string"
                },
                "native": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": "string"
                    },
                    "raw": {
                      "type": "string"
                    },
                    "balance": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "symbol",
                    "raw",
                    "balance"
                  ],
                  "additionalProperties": false
                },
                "tokens": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "contract": {
                        "type": "string"
                      },
                      "symbol": {
                        "nullable": true
                      },
                      "decimals": {
                        "type": "number"
                      },
                      "raw": {
                        "type": "string",
                        "nullable": true
                      },
                      "balance": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "contract",
                      "decimals",
                      "raw",
                      "balance"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "chain",
                "address",
                "native",
                "tokens"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.btc-address",
      "group": "crypto",
      "name": "btc-address",
      "method": "GET",
      "path": "/api/crypto/btc-address",
      "url": "https://2s.io/api/crypto/btc-address",
      "description": "Bitcoin address summary (free/keyless): confirmed balance (sats + BTC), total received/sent, transaction count, funded/spent output counts, and pending mempool balance + tx count. Works for any BTC address (legacy, SegWit, Taproot). Net-new — our on-chain reads were EVM-only.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "minLength": 20,
            "maxLength": 100,
            "description": "Bitcoin address (1.../3.../bc1...)."
          }
        },
        "required": [
          "address"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "address": "xxxxxxxxxxxxxxxxxxxx"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "address": {
                  "type": "string"
                },
                "balanceSats": {
                  "type": "number"
                },
                "balanceBtc": {
                  "type": "number"
                },
                "totalReceivedBtc": {
                  "type": "number"
                },
                "totalSentBtc": {
                  "type": "number"
                },
                "txCount": {
                  "type": "number",
                  "nullable": true
                },
                "fundedTxoCount": {
                  "type": "number",
                  "nullable": true
                },
                "spentTxoCount": {
                  "type": "number",
                  "nullable": true
                },
                "mempoolBalanceSats": {
                  "type": "number"
                },
                "mempoolTxCount": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "address",
                "balanceSats",
                "balanceBtc",
                "totalReceivedBtc",
                "totalSentBtc",
                "txCount",
                "fundedTxoCount",
                "spentTxoCount",
                "mempoolBalanceSats",
                "mempoolTxCount"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.btc-fees",
      "group": "crypto",
      "name": "btc-fees",
      "method": "GET",
      "path": "/api/crypto/btc-fees",
      "url": "https://2s.io/api/crypto/btc-fees",
      "description": "Current Bitcoin network fee rates and mempool backlog from mempool.space. Returns recommended fee rates in satoshis per virtual byte for target confirmation speeds (fastest ~next block, half-hour, hour, economy, minimum) plus the current mempool size (transaction count, total vsize, total fees waiting). Keyless, live. The BTC counterpart to crypto.gas-oracle (Ethereum) — fresh, fast-moving network state an agent cannot recall, for wallets, payment timing, and fee estimation.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "inputExample": {},
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "recommendedFeesSatPerVByte": {
                  "type": "object",
                  "properties": {
                    "fastest": {
                      "type": "number",
                      "nullable": true
                    },
                    "halfHour": {
                      "type": "number",
                      "nullable": true
                    },
                    "hour": {
                      "type": "number",
                      "nullable": true
                    },
                    "economy": {
                      "type": "number",
                      "nullable": true
                    },
                    "minimum": {
                      "type": "number",
                      "nullable": true
                    }
                  },
                  "required": [
                    "fastest",
                    "halfHour",
                    "hour",
                    "economy",
                    "minimum"
                  ],
                  "additionalProperties": false
                },
                "mempool": {
                  "type": "object",
                  "properties": {
                    "txCount": {
                      "type": "number",
                      "nullable": true
                    },
                    "vsizeBytes": {
                      "type": "number",
                      "nullable": true
                    },
                    "totalFeeSat": {
                      "type": "number",
                      "nullable": true
                    }
                  },
                  "required": [
                    "txCount",
                    "vsizeBytes",
                    "totalFeeSat"
                  ],
                  "additionalProperties": false
                },
                "source": {
                  "type": "object",
                  "properties": {
                    "provider": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string"
                    },
                    "license": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "provider",
                    "url",
                    "license"
                  ],
                  "additionalProperties": false
                },
                "note": {
                  "type": "string"
                }
              },
              "required": [
                "recommendedFeesSatPerVByte",
                "mempool",
                "source",
                "note"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.btc-mempool",
      "group": "crypto",
      "name": "btc-mempool",
      "method": "GET",
      "path": "/api/crypto/btc-mempool",
      "url": "https://2s.io/api/crypto/btc-mempool",
      "description": "Bitcoin mempool state (free/keyless): current unconfirmed tx count, total vsize, and total fees, plus the most recent transactions (whale radar) — filter with minBtc to surface only large pending transfers. For congestion monitoring and large-transfer alerts.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "minBtc": {
            "type": "number",
            "minimum": 0,
            "description": "Only include recent txs >= this BTC value."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "minBtc": 0
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "summary": {
                  "type": "object",
                  "properties": {
                    "txCount": {
                      "type": "number",
                      "nullable": true
                    },
                    "vsize": {
                      "type": "number",
                      "nullable": true
                    },
                    "totalFeeSats": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "txCount",
                    "vsize",
                    "totalFeeSats"
                  ],
                  "additionalProperties": false
                },
                "recent": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "txid": {
                        "nullable": true
                      },
                      "valueBtc": {
                        "type": "number"
                      },
                      "valueSats": {
                        "type": "number"
                      },
                      "feeSats": {
                        "type": "number"
                      },
                      "vsize": {
                        "type": "number",
                        "nullable": true
                      }
                    },
                    "required": [
                      "valueBtc",
                      "valueSats",
                      "feeSats",
                      "vsize"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "summary",
                "recent"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.btc-tx",
      "group": "crypto",
      "name": "btc-tx",
      "method": "GET",
      "path": "/api/crypto/btc-tx",
      "url": "https://2s.io/api/crypto/btc-tx",
      "description": "Bitcoin transaction lookup by txid (free/keyless): confirmed status + confirmation count (vs current tip), block height + time, fee (sats + BTC), total output value, size/weight, and input/output counts. Distinct from crypto.tx (EVM) — this is Bitcoin.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "txid": {
            "type": "string",
            "pattern": "^[0-9a-fA-F]{64}$"
          }
        },
        "required": [
          "txid"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "txid": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "txid": {
                  "nullable": true
                },
                "confirmed": {
                  "type": "boolean"
                },
                "confirmations": {
                  "type": "number"
                },
                "blockHeight": {
                  "type": "number",
                  "nullable": true
                },
                "blockTime": {
                  "type": "string",
                  "nullable": true
                },
                "feeSats": {
                  "type": "number"
                },
                "feeBtc": {
                  "type": "number"
                },
                "valueOutSats": {
                  "type": "number"
                },
                "valueOutBtc": {
                  "type": "number"
                },
                "sizeBytes": {
                  "type": "number",
                  "nullable": true
                },
                "weight": {
                  "type": "number",
                  "nullable": true
                },
                "vinCount": {
                  "type": "number",
                  "nullable": true
                },
                "voutCount": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "confirmed",
                "confirmations",
                "blockHeight",
                "blockTime",
                "feeSats",
                "feeBtc",
                "valueOutSats",
                "valueOutBtc",
                "sizeBytes",
                "weight",
                "vinCount",
                "voutCount"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.btc-utxos",
      "group": "crypto",
      "name": "btc-utxos",
      "method": "GET",
      "path": "/api/crypto/btc-utxos",
      "url": "https://2s.io/api/crypto/btc-utxos",
      "description": "Unspent transaction outputs (UTXOs) for a Bitcoin address (free/keyless): each with txid, output index, value (sats + BTC), confirmation status, and block height. Sorted largest-first. For coin selection, balance verification, and wallet tooling.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "minLength": 20,
            "maxLength": 100
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500
          }
        },
        "required": [
          "address"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "address": "xxxxxxxxxxxxxxxxxxxx",
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "txid": {
                  "nullable": true
                },
                "vout": {
                  "type": "number",
                  "nullable": true
                },
                "valueSats": {
                  "type": "number"
                },
                "valueBtc": {
                  "type": "number"
                },
                "confirmed": {
                  "type": "boolean",
                  "nullable": true
                },
                "blockHeight": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "vout",
                "valueSats",
                "valueBtc",
                "confirmed",
                "blockHeight"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.cex-klines",
      "group": "crypto",
      "name": "cex-klines",
      "method": "GET",
      "path": "/api/crypto/cex-klines",
      "url": "https://2s.io/api/crypto/cex-klines",
      "description": "Centralized-exchange OHLCV candlesticks for a spot trading pair (e.g. BTC-USD, ETH-USD, SOL-USD), free/keyless. Pass interval (1m/5m/15m/1h/6h/1d) and limit. Each bar: time, open, high, low, close, volume. Net-new vs crypto.dex-ohlcv (on-chain DEX) — this is CEX spot.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "pair": {
            "type": "string",
            "pattern": "^[A-Za-z0-9]{2,10}-[A-Za-z0-9]{2,10}$",
            "description": "Trading pair, e.g. BTC-USD."
          },
          "interval": {
            "type": "string",
            "enum": [
              "1m",
              "5m",
              "15m",
              "1h",
              "6h",
              "1d"
            ]
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 300
          }
        },
        "required": [
          "pair"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "pair": "example",
        "interval": "1m",
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "time": {
                  "type": "string",
                  "nullable": true
                },
                "open": {
                  "type": "number",
                  "nullable": true
                },
                "high": {
                  "type": "number",
                  "nullable": true
                },
                "low": {
                  "type": "number",
                  "nullable": true
                },
                "close": {
                  "type": "number",
                  "nullable": true
                },
                "volume": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "time",
                "open",
                "high",
                "low",
                "close",
                "volume"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.cex-ticker",
      "group": "crypto",
      "name": "cex-ticker",
      "method": "GET",
      "path": "/api/crypto/cex-ticker",
      "url": "https://2s.io/api/crypto/cex-ticker",
      "description": "Centralized-exchange 24h ticker for a spot pair (e.g. BTC-USD), free/keyless: current price, best bid/ask, 24h open/high/low, 24h + 30d volume, and 24h percent change. Real CEX spot quote — distinct from crypto.token-price (CoinGecko aggregate).",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "pair": {
            "type": "string",
            "pattern": "^[A-Za-z0-9]{2,10}-[A-Za-z0-9]{2,10}$"
          }
        },
        "required": [
          "pair"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "pair": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "pair": {
                  "type": "string"
                },
                "price": {
                  "type": "number",
                  "nullable": true
                },
                "bid": {
                  "type": "number",
                  "nullable": true
                },
                "ask": {
                  "type": "number",
                  "nullable": true
                },
                "open24h": {
                  "type": "number",
                  "nullable": true
                },
                "high24h": {
                  "type": "number",
                  "nullable": true
                },
                "low24h": {
                  "type": "number",
                  "nullable": true
                },
                "volume24h": {
                  "type": "number",
                  "nullable": true
                },
                "volume30d": {
                  "type": "number",
                  "nullable": true
                },
                "change24hPct": {
                  "type": "number",
                  "nullable": true
                },
                "time": {
                  "nullable": true
                }
              },
              "required": [
                "pair",
                "price",
                "bid",
                "ask",
                "open24h",
                "high24h",
                "low24h",
                "volume24h",
                "volume30d",
                "change24hPct"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.chain-tvl-history",
      "group": "crypto",
      "name": "chain-tvl-history",
      "method": "GET",
      "path": "/api/crypto/chain-tvl-history",
      "url": "https://2s.io/api/crypto/chain-tvl-history",
      "description": "Historical total DeFi TVL time series for a blockchain (e.g. Ethereum, Solana, Arbitrum), via DefiLlama (free/keyless). Returns daily { date, tvlUsd } points (most recent N, default 90). For charting a chain's DeFi capital over time. Pair with crypto.defi-chains for the current cross-chain leaderboard.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "chain": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40,
            "description": "Chain name, e.g. Ethereum, Solana, Arbitrum, Base."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Most-recent N daily points (default 90)."
          }
        },
        "required": [
          "chain"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "chain": "example",
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "chain": {
                  "type": "string"
                },
                "series": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "date": {
                        "type": "number",
                        "nullable": true
                      },
                      "tvlUsd": {
                        "type": "number",
                        "nullable": true
                      }
                    },
                    "required": [
                      "date",
                      "tvlUsd"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "chain",
                "series"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.coin",
      "group": "crypto",
      "name": "coin",
      "method": "GET",
      "path": "/api/crypto/coin",
      "url": "https://2s.io/api/crypto/coin",
      "description": "Full coin profile by CoinGecko id (e.g. bitcoin, ethereum, solana). Returns price, market cap + rank, FDV, 24h volume, all-time high/low with dates, circulating/total/max supply, price changes (1h/24h/7d/30d/1y), categories, and official links (homepage, X, GitHub, subreddit). Richer than crypto.token-price (spot only) and crypto.markets (list row).",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80,
            "description": "CoinGecko coin id, e.g. bitcoin, ethereum, solana."
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "id": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "nullable": true
                },
                "symbol": {
                  "type": "string"
                },
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "marketCapRank": {
                  "type": "number",
                  "nullable": true
                },
                "categories": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "priceUsd": {
                  "type": "number",
                  "nullable": true
                },
                "marketCapUsd": {
                  "type": "number",
                  "nullable": true
                },
                "fdvUsd": {
                  "type": "number",
                  "nullable": true
                },
                "volume24hUsd": {
                  "type": "number",
                  "nullable": true
                },
                "athUsd": {
                  "type": "number",
                  "nullable": true
                },
                "athDate": {
                  "nullable": true
                },
                "atlUsd": {
                  "type": "number",
                  "nullable": true
                },
                "atlDate": {
                  "nullable": true
                },
                "circulatingSupply": {
                  "type": "number",
                  "nullable": true
                },
                "totalSupply": {
                  "type": "number",
                  "nullable": true
                },
                "maxSupply": {
                  "type": "number",
                  "nullable": true
                },
                "change1hPct": {
                  "type": "number",
                  "nullable": true
                },
                "change24hPct": {
                  "type": "number",
                  "nullable": true
                },
                "change7dPct": {
                  "type": "number",
                  "nullable": true
                },
                "change30dPct": {
                  "type": "number",
                  "nullable": true
                },
                "change1yPct": {
                  "type": "number",
                  "nullable": true
                },
                "homepage": {
                  "type": "string",
                  "nullable": true
                },
                "twitter": {
                  "type": "string",
                  "nullable": true
                },
                "github": {
                  "type": "string",
                  "nullable": true
                },
                "subreddit": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "symbol",
                "name",
                "marketCapRank",
                "categories",
                "priceUsd",
                "marketCapUsd",
                "fdvUsd",
                "volume24hUsd",
                "athUsd",
                "atlUsd",
                "circulatingSupply",
                "totalSupply",
                "maxSupply",
                "change1hPct",
                "change24hPct",
                "change7dPct",
                "change30dPct",
                "change1yPct",
                "homepage",
                "twitter",
                "github",
                "subreddit"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.coin-history",
      "group": "crypto",
      "name": "coin-history",
      "method": "GET",
      "path": "/api/crypto/coin-history",
      "url": "https://2s.io/api/crypto/coin-history",
      "description": "Historical market chart for a coin by CoinGecko id: time-series of price, market cap, and volume over the last N days (1-365) in USD or another vs-currency. Granularity is auto-selected by range (hourly for short windows, daily for long). For backtests, charts, and trend analysis.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80,
            "description": "CoinGecko coin id, e.g. bitcoin."
          },
          "days": {
            "type": "integer",
            "minimum": 1,
            "maximum": 365,
            "description": "Lookback in days (default 7)."
          },
          "vs": {
            "type": "string",
            "maxLength": 10,
            "description": "vs-currency (default usd)."
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "id": "example",
        "days": 1,
        "vs": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "prices": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "time": {
                        "type": "number"
                      },
                      "value": {
                        "type": "number",
                        "nullable": true
                      }
                    },
                    "required": [
                      "time",
                      "value"
                    ],
                    "additionalProperties": false
                  }
                },
                "marketCaps": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "time": {
                        "type": "number"
                      },
                      "value": {
                        "type": "number",
                        "nullable": true
                      }
                    },
                    "required": [
                      "time",
                      "value"
                    ],
                    "additionalProperties": false
                  }
                },
                "volumes": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "time": {
                        "type": "number"
                      },
                      "value": {
                        "type": "number",
                        "nullable": true
                      }
                    },
                    "required": [
                      "time",
                      "value"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "prices",
                "marketCaps",
                "volumes"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.contract",
      "group": "crypto",
      "name": "contract",
      "method": "GET",
      "path": "/api/crypto/contract",
      "url": "https://2s.io/api/crypto/contract",
      "description": "Decode an EVM smart contract. Pass chain (ethereum, base, polygon, arbitrum, optimism, bsc, avalanche) + address; returns whether the contract is source-verified (Sourcify), its name/compiler/language, whether it is a proxy and its implementation address, and human-readable function and event signatures from the ABI. Optionally pass selector (a 0x 4-byte function selector) to decode what it calls — resolved from the contract's own ABI when verified, otherwise from the public 4byte directory. Pairs with crypto.tx (which gives a `to` address + calldata): turn an opaque contract + selector into \"what is this and what does it do.\" Free, keyless.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "chain": {
            "type": "string",
            "enum": [
              "ethereum",
              "base",
              "polygon",
              "arbitrum",
              "optimism",
              "bsc",
              "avalanche"
            ],
            "description": "EVM chain: ethereum, base, polygon, arbitrum, optimism, bsc, or avalanche."
          },
          "address": {
            "type": "string",
            "description": "0x-prefixed 40-hex contract address."
          },
          "selector": {
            "type": "string",
            "description": "Optional 0x 4-byte function selector to decode (e.g. 0xa9059cbb)."
          }
        },
        "required": [
          "chain",
          "address"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "chain": "ethereum",
        "address": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
        "selector": "0xa9059cbb"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "chain": {
                  "type": "string"
                },
                "address": {
                  "type": "string"
                },
                "verified": {
                  "type": "boolean",
                  "description": "Source-verified on Sourcify."
                },
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "compiler": {
                  "type": "string",
                  "nullable": true
                },
                "language": {
                  "type": "string",
                  "nullable": true
                },
                "isProxy": {
                  "type": "boolean"
                },
                "implementation": {
                  "type": "string",
                  "nullable": true,
                  "description": "Implementation address if a proxy."
                },
                "functionCount": {
                  "type": "integer"
                },
                "functions": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Function signatures from the ABI."
                },
                "events": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Event signatures from the ABI."
                },
                "decoded": {
                  "type": "object",
                  "properties": {
                    "selector": {
                      "type": "string"
                    },
                    "signature": {
                      "type": "string",
                      "nullable": true
                    },
                    "source": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "selector",
                    "signature",
                    "source"
                  ],
                  "additionalProperties": false,
                  "description": "Decoded selector (when selector passed)."
                }
              },
              "required": [
                "chain",
                "address",
                "verified",
                "name",
                "compiler",
                "language",
                "isProxy",
                "implementation",
                "functionCount",
                "functions",
                "events"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "verified": {
                "type": "boolean"
              }
            },
            "required": [
              "verified"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.decode-calldata",
      "group": "crypto",
      "name": "decode-calldata",
      "method": "POST",
      "path": "/api/crypto/decode-calldata",
      "url": "https://2s.io/api/crypto/decode-calldata",
      "description": "Decode raw EVM transaction calldata. POST { data } (0x-prefixed hex). Resolves the 4-byte function selector to its human signature(s) via the openchain.xyz database, then ABI-decodes the parameters (address, uint/int, bool, bytesN, string, bytes, and elementary dynamic arrays). Returns selector, candidate signatures, decoded params, and the raw 32-byte words. For agents inspecting/verifying a transaction before signing. Keyless.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "string",
            "pattern": "^0x?[0-9a-fA-F]{8,}$",
            "maxLength": 60000
          }
        },
        "required": [
          "data"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "data": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "selector": {
                  "type": "string"
                },
                "signatures": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "decoded": {
                  "type": "object",
                  "properties": {
                    "signature": {
                      "type": "string"
                    },
                    "params": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "type": {
                            "type": "string"
                          },
                          "value": {}
                        },
                        "required": [
                          "type"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "signature",
                    "params"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                },
                "rawWords": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "note": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "selector",
                "signatures",
                "decoded",
                "rawWords",
                "note"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.defi",
      "group": "crypto",
      "name": "defi",
      "method": "GET",
      "path": "/api/crypto/defi",
      "url": "https://2s.io/api/crypto/defi",
      "description": "DeFi total-value-locked (TVL) metrics via DefiLlama. With no params, returns the top protocols by TVL (name, slug, category, TVL, 1-day and 7-day % change, chains) plus total DeFi TVL across all chains. Pass protocol=<slug> (e.g. lido, aave, uniswap) for a single protocol's TVL, category, momentum, and chains; or chain=<name> (e.g. ethereum, solana, arbitrum) for that chain's TVL. Distinct from crypto.markets/token-price (spot prices) — this is protocol- and chain-level capital locked in DeFi, which an agent can't know from training. Free, keyless.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "protocol": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120,
            "description": "Protocol slug (e.g. lido, aave, uniswap). Omit for the top-protocols list."
          },
          "chain": {
            "type": "string",
            "minLength": 1,
            "maxLength": 60,
            "description": "Chain name (e.g. ethereum, solana, arbitrum) for that chain's TVL."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Number of protocols in the top list (1–100, default 20)."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "protocol": "lido"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "slug": {
                  "type": "string",
                  "nullable": true,
                  "description": "DefiLlama protocol slug."
                },
                "category": {
                  "type": "string",
                  "nullable": true,
                  "description": "Protocol category (e.g. Liquid Staking, Lending)."
                },
                "tvl": {
                  "type": "number",
                  "nullable": true,
                  "description": "Total value locked, USD."
                },
                "change1d": {
                  "type": "number",
                  "nullable": true,
                  "description": "1-day TVL change, %."
                },
                "change7d": {
                  "type": "number",
                  "nullable": true,
                  "description": "7-day TVL change, %."
                },
                "chains": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "nullable": true,
                  "description": "Chains the protocol is deployed on."
                },
                "tokenSymbol": {
                  "type": "string",
                  "nullable": true,
                  "description": "Native token symbol (chain mode)."
                }
              },
              "required": [
                "name",
                "slug",
                "category",
                "tvl",
                "change1d",
                "change7d",
                "chains",
                "tokenSymbol"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "mode": {
                "type": "string"
              },
              "totalTvl": {
                "type": "number",
                "nullable": true
              }
            },
            "required": [
              "mode",
              "totalTvl"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.defi-chains",
      "group": "crypto",
      "name": "defi-chains",
      "method": "GET",
      "path": "/api/crypto/defi-chains",
      "url": "https://2s.io/api/crypto/defi-chains",
      "description": "DeFi TVL leaderboard across all chains (via DefiLlama, free/keyless): every chain ranked by total value locked, with its native token symbol and chain id. Distinct from crypto.defi (which returns one chain's TVL by name) — this is the full ranked cross-chain comparison.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "nullable": true
                },
                "tvlUsd": {
                  "type": "number",
                  "nullable": true
                },
                "tokenSymbol": {
                  "nullable": true
                },
                "chainId": {
                  "nullable": true
                }
              },
              "required": [
                "tvlUsd"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.defi-fees",
      "group": "crypto",
      "name": "defi-fees",
      "method": "GET",
      "path": "/api/crypto/defi-fees",
      "url": "https://2s.io/api/crypto/defi-fees",
      "description": "Protocol fees/revenue or DEX trading volume leaderboards (via DefiLlama, free/keyless). kind=fees ranks protocols by fees generated; kind=dexs ranks DEXes by trading volume. Each row has 24h/7d/30d/1y totals + 1-month change, plus catalog totals. Sort by total24h/7d/30d. The protocol-economics layer.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "fees",
              "dexs"
            ]
          },
          "sort": {
            "type": "string",
            "enum": [
              "total24h",
              "total7d",
              "total30d"
            ]
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "kind": "fees",
        "sort": "total24h",
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "nullable": true
                },
                "category": {
                  "nullable": true
                },
                "total24h": {
                  "type": "number",
                  "nullable": true
                },
                "total7d": {
                  "type": "number",
                  "nullable": true
                },
                "total30d": {
                  "type": "number",
                  "nullable": true
                },
                "total1y": {
                  "type": "number",
                  "nullable": true
                },
                "change1m": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "total24h",
                "total7d",
                "total30d",
                "total1y",
                "change1m"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "total24h": {
                "type": "number",
                "nullable": true
              },
              "total7d": {
                "type": "number",
                "nullable": true
              },
              "total30d": {
                "type": "number",
                "nullable": true
              }
            },
            "required": [
              "total24h",
              "total7d",
              "total30d"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.defi-protocol-history",
      "group": "crypto",
      "name": "defi-protocol-history",
      "method": "GET",
      "path": "/api/crypto/defi-protocol-history",
      "url": "https://2s.io/api/crypto/defi-protocol-history",
      "description": "Historical total-value-locked (TVL) time series for a DeFi protocol by slug (e.g. aave, lido, uniswap), via DefiLlama (free/keyless). Returns daily { date, tvlUsd } points (most recent N, default 90) plus the protocol's chains. For charting a protocol's growth or decline over time. Net-new vs crypto.defi (current TVL only).",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80,
            "description": "DefiLlama protocol slug, e.g. aave, lido, uniswap."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Most-recent N daily points (default 90)."
          }
        },
        "required": [
          "slug"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "slug": "example",
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "chains": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "series": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "date": {
                        "type": "number",
                        "nullable": true
                      },
                      "tvlUsd": {
                        "type": "number",
                        "nullable": true
                      }
                    },
                    "required": [
                      "date",
                      "tvlUsd"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "name",
                "chains",
                "series"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.defi-yields",
      "group": "crypto",
      "name": "defi-yields",
      "method": "GET",
      "path": "/api/crypto/defi-yields",
      "url": "https://2s.io/api/crypto/defi-yields",
      "description": "DeFi yield & lending rates across protocols (via DefiLlama, free/keyless). Returns pools ranked by APY or TVL with base vs reward APY, TVL, 1d/7d/30d APY trend, stablecoin flag, and IL-risk. Filter by chain, project (aave, compound, lido…), symbol (USDC, ETH…), minApy, minTvlUsd. The yield/lending-rate layer beyond crypto.defi's TVL headline.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "chain": {
            "type": "string",
            "maxLength": 40
          },
          "project": {
            "type": "string",
            "maxLength": 60
          },
          "symbol": {
            "type": "string",
            "maxLength": 40
          },
          "minApy": {
            "type": "number",
            "minimum": 0
          },
          "minTvlUsd": {
            "type": "number",
            "minimum": 0
          },
          "sort": {
            "type": "string",
            "enum": [
              "apy",
              "tvl"
            ]
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "chain": "example",
        "project": "example",
        "symbol": "example",
        "minApy": 0,
        "minTvlUsd": 0,
        "sort": "apy",
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "project": {
                  "nullable": true
                },
                "symbol": {
                  "nullable": true
                },
                "chain": {
                  "nullable": true
                },
                "tvlUsd": {
                  "type": "number",
                  "nullable": true
                },
                "apy": {
                  "type": "number",
                  "nullable": true
                },
                "apyBase": {
                  "type": "number",
                  "nullable": true
                },
                "apyReward": {
                  "type": "number",
                  "nullable": true
                },
                "apyPct1D": {
                  "type": "number",
                  "nullable": true
                },
                "apyPct7D": {
                  "type": "number",
                  "nullable": true
                },
                "apyPct30D": {
                  "type": "number",
                  "nullable": true
                },
                "stablecoin": {
                  "type": "boolean",
                  "nullable": true
                },
                "ilRisk": {
                  "nullable": true
                },
                "pool": {
                  "nullable": true
                }
              },
              "required": [
                "tvlUsd",
                "apy",
                "apyBase",
                "apyReward",
                "apyPct1D",
                "apyPct7D",
                "apyPct30D",
                "stablecoin"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.dex-networks",
      "group": "crypto",
      "name": "dex-networks",
      "method": "GET",
      "path": "/api/crypto/dex-networks",
      "url": "https://2s.io/api/crypto/dex-networks",
      "description": "List the 100+ blockchain networks supported by the on-chain DEX endpoints (via GeckoTerminal, free/keyless). Each entry has the network slug to use with crypto.dex-pools / dex-ohlcv / dex-search / token-info, its display name, and CoinGecko asset-platform id. Call this to discover valid network slugs.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "nullable": true
                },
                "name": {
                  "nullable": true
                },
                "coingeckoAssetPlatformId": {
                  "nullable": true
                }
              },
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.dex-ohlcv",
      "group": "crypto",
      "name": "dex-ohlcv",
      "method": "GET",
      "path": "/api/crypto/dex-ohlcv",
      "url": "https://2s.io/api/crypto/dex-ohlcv",
      "description": "OHLCV candlesticks for a DEX pool (via GeckoTerminal, free/keyless). Pass network + pool address + timeframe (day/hour/minute) with optional aggregate (e.g. 4 = 4-hour) and limit. Returns time/open/high/low/close/volumeUsd bars for on-chain technical analysis. Pair with crypto.dex-pools / dex-token-pools to find a pool address.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "network": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40
          },
          "address": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120,
            "description": "Pool address (not token address)."
          },
          "timeframe": {
            "type": "string",
            "enum": [
              "day",
              "hour",
              "minute"
            ]
          },
          "aggregate": {
            "type": "integer",
            "minimum": 1,
            "maximum": 60
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000
          }
        },
        "required": [
          "network",
          "address"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "network": "example",
        "address": "example",
        "timeframe": "day",
        "aggregate": 1,
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "time": {
                  "type": "number",
                  "nullable": true
                },
                "open": {
                  "type": "number",
                  "nullable": true
                },
                "high": {
                  "type": "number",
                  "nullable": true
                },
                "low": {
                  "type": "number",
                  "nullable": true
                },
                "close": {
                  "type": "number",
                  "nullable": true
                },
                "volumeUsd": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "time",
                "open",
                "high",
                "low",
                "close",
                "volumeUsd"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.dex-pools",
      "group": "crypto",
      "name": "dex-pools",
      "method": "GET",
      "path": "/api/crypto/dex-pools",
      "url": "https://2s.io/api/crypto/dex-pools",
      "description": "Trending or newly-created DEX liquidity pools on a network (via GeckoTerminal, free/keyless). kind=trending (hot pools) or kind=new (freshly launched — early-token discovery). Each pool: pair name, base/quote USD price, FDV, market cap, reserve, 24h volume, 24h price change, and 24h buys/sells. Networks: eth, bsc, polygon_pos, base, arbitrum, solana, and 100+ more.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "network": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40,
            "description": "GeckoTerminal network slug, e.g. eth, bsc, base, solana."
          },
          "kind": {
            "type": "string",
            "enum": [
              "trending",
              "new"
            ]
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          }
        },
        "required": [
          "network"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "network": "example",
        "kind": "trending",
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "address": {
                  "nullable": true
                },
                "name": {
                  "nullable": true
                },
                "baseTokenPriceUsd": {
                  "type": "number",
                  "nullable": true
                },
                "quoteTokenPriceUsd": {
                  "type": "number",
                  "nullable": true
                },
                "fdvUsd": {
                  "type": "number",
                  "nullable": true
                },
                "marketCapUsd": {
                  "type": "number",
                  "nullable": true
                },
                "reserveUsd": {
                  "type": "number",
                  "nullable": true
                },
                "volume24hUsd": {
                  "type": "number",
                  "nullable": true
                },
                "priceChange24hPct": {
                  "type": "number",
                  "nullable": true
                },
                "buys24h": {
                  "type": "number",
                  "nullable": true
                },
                "sells24h": {
                  "type": "number",
                  "nullable": true
                },
                "poolCreatedAt": {
                  "nullable": true
                }
              },
              "required": [
                "baseTokenPriceUsd",
                "quoteTokenPriceUsd",
                "fdvUsd",
                "marketCapUsd",
                "reserveUsd",
                "volume24hUsd",
                "priceChange24hPct",
                "buys24h",
                "sells24h"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.dex-search",
      "group": "crypto",
      "name": "dex-search",
      "method": "GET",
      "path": "/api/crypto/dex-search",
      "url": "https://2s.io/api/crypto/dex-search",
      "description": "Search on-chain DEX liquidity pools by token name, symbol, or address (via GeckoTerminal, free/keyless). Optionally scope to one network. Returns matching pools with pair name, USD price, FDV, market cap, reserve, 24h volume + price change, and buys/sells — the fast way to find the right pool/token before pulling OHLCV or token info.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120,
            "description": "Token name, symbol, or contract address."
          },
          "network": {
            "type": "string",
            "maxLength": 40,
            "description": "Optional network slug to scope the search."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          }
        },
        "required": [
          "query"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "query": "example",
        "network": "example",
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "address": {
                  "nullable": true
                },
                "name": {
                  "nullable": true
                },
                "baseTokenPriceUsd": {
                  "type": "number",
                  "nullable": true
                },
                "quoteTokenPriceUsd": {
                  "type": "number",
                  "nullable": true
                },
                "fdvUsd": {
                  "type": "number",
                  "nullable": true
                },
                "marketCapUsd": {
                  "type": "number",
                  "nullable": true
                },
                "reserveUsd": {
                  "type": "number",
                  "nullable": true
                },
                "volume24hUsd": {
                  "type": "number",
                  "nullable": true
                },
                "priceChange24hPct": {
                  "type": "number",
                  "nullable": true
                },
                "buys24h": {
                  "type": "number",
                  "nullable": true
                },
                "sells24h": {
                  "type": "number",
                  "nullable": true
                },
                "poolCreatedAt": {
                  "nullable": true
                }
              },
              "required": [
                "baseTokenPriceUsd",
                "quoteTokenPriceUsd",
                "fdvUsd",
                "marketCapUsd",
                "reserveUsd",
                "volume24hUsd",
                "priceChange24hPct",
                "buys24h",
                "sells24h"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.dex-token-pools",
      "group": "crypto",
      "name": "dex-token-pools",
      "method": "GET",
      "path": "/api/crypto/dex-token-pools",
      "url": "https://2s.io/api/crypto/dex-token-pools",
      "description": "All DEX pools trading a given token, by contract address (via GeckoTerminal, free/keyless). Returns each pool's pair, on-chain USD price, FDV/market cap, liquidity reserve, 24h volume + price change, and buys/sells — the on-chain price + liquidity picture for any token across a network's DEXes.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "network": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40,
            "description": "Network slug, e.g. eth, bsc, base, solana."
          },
          "address": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120,
            "description": "Token contract address."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          }
        },
        "required": [
          "network",
          "address"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "network": "example",
        "address": "example",
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "address": {
                  "nullable": true
                },
                "name": {
                  "nullable": true
                },
                "baseTokenPriceUsd": {
                  "type": "number",
                  "nullable": true
                },
                "quoteTokenPriceUsd": {
                  "type": "number",
                  "nullable": true
                },
                "fdvUsd": {
                  "type": "number",
                  "nullable": true
                },
                "marketCapUsd": {
                  "type": "number",
                  "nullable": true
                },
                "reserveUsd": {
                  "type": "number",
                  "nullable": true
                },
                "volume24hUsd": {
                  "type": "number",
                  "nullable": true
                },
                "priceChange24hPct": {
                  "type": "number",
                  "nullable": true
                },
                "buys24h": {
                  "type": "number",
                  "nullable": true
                },
                "sells24h": {
                  "type": "number",
                  "nullable": true
                },
                "poolCreatedAt": {
                  "nullable": true
                }
              },
              "required": [
                "baseTokenPriceUsd",
                "quoteTokenPriceUsd",
                "fdvUsd",
                "marketCapUsd",
                "reserveUsd",
                "volume24hUsd",
                "priceChange24hPct",
                "buys24h",
                "sells24h"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.ens-resolve",
      "group": "crypto",
      "name": "ens-resolve",
      "method": "GET",
      "path": "/api/crypto/ens-resolve",
      "url": "https://2s.io/api/crypto/ens-resolve",
      "description": "Resolve ENS (Ethereum Name Service) names and addresses live on Ethereum mainnet. Pass query as either an ENS name (e.g. \"vitalik.eth\") → returns the Ethereum address it points to, or a 0x address → returns its primary ENS name (reverse record). Either way it also returns the profile text records: avatar, email, url, twitter (com.twitter), github (com.github), and description. A live on-chain lookup agents can't do from their sandbox, and ENS records change after training cutoffs. Wallet UX, address-book resolution, on-chain identity. Returns address:null for an unregistered or unset name.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 3,
            "maxLength": 255
          }
        },
        "required": [
          "query"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "query": "vitalik.eth"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "query": {
                  "type": "string"
                },
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "address": {
                  "type": "string",
                  "nullable": true
                },
                "records": {
                  "type": "object",
                  "properties": {
                    "avatar": {
                      "type": "string",
                      "nullable": true
                    },
                    "email": {
                      "type": "string",
                      "nullable": true
                    },
                    "url": {
                      "type": "string",
                      "nullable": true
                    },
                    "twitter": {
                      "type": "string",
                      "nullable": true
                    },
                    "github": {
                      "type": "string",
                      "nullable": true
                    },
                    "description": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "avatar",
                    "email",
                    "url",
                    "twitter",
                    "github",
                    "description"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "query",
                "name",
                "address",
                "records"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.fear-greed",
      "group": "crypto",
      "name": "fear-greed",
      "method": "GET",
      "path": "/api/crypto/fear-greed",
      "url": "https://2s.io/api/crypto/fear-greed",
      "description": "The Crypto Fear & Greed Index — a 0–100 market-sentiment gauge (0 = Extreme Fear, 100 = Extreme Greed) updated daily. Returns the current value + its classification (Extreme Fear/Fear/Neutral/Greed/Extreme Greed) and timestamp; pass limit (up to 90) for recent history. Useful as a contrarian sentiment signal. Source: alternative.me.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 90
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "number",
                  "description": "0–100 (0 = extreme fear, 100 = extreme greed)."
                },
                "classification": {
                  "type": "string"
                },
                "timestamp": {
                  "type": "string"
                }
              },
              "required": [
                "value",
                "classification",
                "timestamp"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.gas-oracle",
      "group": "crypto",
      "name": "gas-oracle",
      "method": "GET",
      "path": "/api/crypto/gas-oracle",
      "url": "https://2s.io/api/crypto/gas-oracle",
      "description": "Live EVM gas oracle. Returns latest block baseFeePerGas + slow/standard/fast tiers derived from priority-fee percentiles (p25/p50/p75) over the trailing 4 blocks, plus a 21,000-gas transfer cost estimate in the chain native unit. Chains: base, ethereum, polygon, arbitrum, optimism. Real-time post-training data, ~5s freshness.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "chain": {
            "type": "string",
            "enum": [
              "base",
              "ethereum",
              "polygon",
              "arbitrum",
              "optimism"
            ],
            "description": "EVM chain to query: base | ethereum | polygon | arbitrum | optimism."
          }
        },
        "required": [
          "chain"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "chain": "base"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.global",
      "group": "crypto",
      "name": "global",
      "method": "GET",
      "path": "/api/crypto/global",
      "url": "https://2s.io/api/crypto/global",
      "description": "Whole-crypto-market overview: total market cap (USD), total 24h volume, 24h market-cap % change, Bitcoin + Ethereum dominance, count of active cryptocurrencies and markets. Source: CoinGecko.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "inputExample": {},
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "totalMarketCapUsd": {
                  "type": "number",
                  "nullable": true
                },
                "totalVolume24hUsd": {
                  "type": "number",
                  "nullable": true
                },
                "marketCapChange24hPct": {
                  "type": "number",
                  "nullable": true
                },
                "btcDominancePct": {
                  "type": "number",
                  "nullable": true
                },
                "ethDominancePct": {
                  "type": "number",
                  "nullable": true
                },
                "activeCryptocurrencies": {
                  "type": "number",
                  "nullable": true
                },
                "markets": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "totalMarketCapUsd",
                "totalVolume24hUsd",
                "marketCapChange24hPct",
                "btcDominancePct",
                "ethDominancePct",
                "activeCryptocurrencies",
                "markets"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.hyperliquid-funding",
      "group": "crypto",
      "name": "hyperliquid-funding",
      "method": "GET",
      "path": "/api/crypto/hyperliquid-funding",
      "url": "https://2s.io/api/crypto/hyperliquid-funding",
      "description": "Live perp funding rates, open interest, and mark/oracle/mid prices across 200+ Hyperliquid perpetuals (free/keyless). Each row: coin, hourly funding rate, open interest, mark/oracle/mid price, premium, prior-day price, 24h notional volume, max leverage. Filter by coin; sort by oi, volume, or funding. On-chain perp microstructure for funding-arb and OI signals.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "coin": {
            "type": "string",
            "maxLength": 40
          },
          "sort": {
            "type": "string",
            "enum": [
              "oi",
              "volume",
              "funding"
            ]
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 250
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "coin": "example",
        "sort": "oi",
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "coin": {
                  "type": "string",
                  "nullable": true
                },
                "maxLeverage": {
                  "type": "number",
                  "nullable": true
                },
                "fundingHourly": {
                  "type": "number",
                  "nullable": true
                },
                "openInterest": {
                  "type": "number",
                  "nullable": true
                },
                "markPx": {
                  "type": "number",
                  "nullable": true
                },
                "oraclePx": {
                  "type": "number",
                  "nullable": true
                },
                "midPx": {
                  "type": "number",
                  "nullable": true
                },
                "premium": {
                  "type": "number",
                  "nullable": true
                },
                "prevDayPx": {
                  "type": "number",
                  "nullable": true
                },
                "dayNotionalVolume": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "coin",
                "maxLeverage",
                "fundingHourly",
                "openInterest",
                "markPx",
                "oraclePx",
                "midPx",
                "premium",
                "prevDayPx",
                "dayNotionalVolume"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.hyperliquid-predicted-funding",
      "group": "crypto",
      "name": "hyperliquid-predicted-funding",
      "method": "GET",
      "path": "/api/crypto/hyperliquid-predicted-funding",
      "url": "https://2s.io/api/crypto/hyperliquid-predicted-funding",
      "description": "Predicted next funding rates per coin across venues (Hyperliquid + Binance/Bybit perps), free/keyless. For each coin, a list of venues with predicted funding rate, next funding time, and funding interval — for cross-venue funding-rate arbitrage. Filter by coin.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "coin": {
            "type": "string",
            "maxLength": 40
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 250
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "coin": "example",
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "coin": {
                  "type": "string",
                  "nullable": true
                },
                "venues": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "venue": {
                        "type": "string"
                      },
                      "fundingRate": {
                        "type": "number",
                        "nullable": true
                      },
                      "nextFundingTime": {
                        "type": "number",
                        "nullable": true
                      },
                      "fundingIntervalHours": {
                        "type": "number",
                        "nullable": true
                      }
                    },
                    "required": [
                      "venue",
                      "fundingRate",
                      "nextFundingTime",
                      "fundingIntervalHours"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "coin",
                "venues"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.kimchi-premium",
      "group": "crypto",
      "name": "kimchi-premium",
      "method": "GET",
      "path": "/api/crypto/kimchi-premium",
      "url": "https://2s.io/api/crypto/kimchi-premium",
      "description": "The \"kimchi premium\" — how much higher a crypto asset trades on Korean exchanges (Upbit, KRW) than its global USD price, as a percent. Computed as (Upbit KRW price / (global USD price × USD/KRW)) − 1. Pass symbol = ticker(s), comma-separated up to 10 (default BTC); supported majors include BTC, ETH, XRP, SOL, DOGE, ADA, TRX and more. Returns per symbol { krwPrice, usdPrice, usdKrw, globalUsdInKrw, premiumPct }. Per-symbol resilient (one unlisted symbol does not fail the rest); unresolved symbols are reported in meta.errors. Live blend of Upbit (KRW price) + CoinGecko (global USD) + ECB/Frankfurter (USD/KRW FX).",
      "priceUsd": 0.0048,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "symbol": {
            "allOf": [
              {
                "anyOf": [
                  {
                    "not": {}
                  },
                  {
                    "type": "string",
                    "maxLength": 120
                  }
                ],
                "default": "BTC"
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "^[A-Z0-9]{2,12}$"
                },
                "minItems": 1,
                "maxItems": 10
              }
            ],
            "description": "Comma-separated ticker symbols, up to 10 (default BTC). E.g. \"BTC,ETH,XRP,SOL\"."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "symbol": "BTC,ETH,XRP"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "symbol": {
                  "type": "string"
                },
                "krwPrice": {
                  "type": "number",
                  "description": "Upbit KRW spot price."
                },
                "usdPrice": {
                  "type": "number",
                  "description": "Global USD spot price (CoinGecko)."
                },
                "usdKrw": {
                  "type": "number",
                  "description": "USD/KRW reference FX rate (ECB)."
                },
                "globalUsdInKrw": {
                  "type": "number",
                  "description": "usdPrice * usdKrw — the global price expressed in KRW."
                },
                "premiumPct": {
                  "type": "number",
                  "description": "(krwPrice / globalUsdInKrw - 1) * 100. Positive = Korea trades richer."
                }
              },
              "required": [
                "symbol",
                "krwPrice",
                "usdPrice",
                "usdKrw",
                "globalUsdInKrw",
                "premiumPct"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "usdKrw": {
                "type": "number"
              },
              "errors": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "symbol": {
                      "type": "string"
                    },
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "symbol",
                    "error"
                  ],
                  "additionalProperties": false
                }
              },
              "asOf": {
                "type": "string"
              }
            },
            "required": [
              "usdKrw",
              "errors",
              "asOf"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.markets",
      "group": "crypto",
      "name": "markets",
      "method": "GET",
      "path": "/api/crypto/markets",
      "url": "https://2s.io/api/crypto/markets",
      "description": "Top cryptocurrencies by market cap with live price, market cap, 24h volume, and 24h + 7d % change. Pass limit (1–100, default 20). Source: CoinGecko. For a single token use crypto.token-price; for the whole-market overview use crypto.global.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "limit": 5
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "rank": {
                  "type": "number",
                  "nullable": true
                },
                "id": {
                  "type": "string"
                },
                "symbol": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "priceUsd": {
                  "type": "number",
                  "nullable": true
                },
                "marketCapUsd": {
                  "type": "number",
                  "nullable": true
                },
                "volume24hUsd": {
                  "type": "number",
                  "nullable": true
                },
                "change24hPct": {
                  "type": "number",
                  "nullable": true
                },
                "change7dPct": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "rank",
                "id",
                "symbol",
                "name",
                "priceUsd",
                "marketCapUsd",
                "volume24hUsd",
                "change24hPct",
                "change7dPct"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.nft",
      "group": "crypto",
      "name": "nft",
      "method": "GET",
      "path": "/api/crypto/nft",
      "url": "https://2s.io/api/crypto/nft",
      "description": "Live ERC-721 NFT read (Base, Ethereum, Polygon, Arbitrum, Optimism; keyless). Given a contract + tokenId: returns current owner, collection name/symbol, and tokenURI (IPFS auto-resolved to a gateway URL). Pass metadata=1 to also fetch and normalize the token's JSON metadata (name, description, image, attributes). For NFT provenance, ownership checks, and gallery rendering.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "pattern": "^0x[a-fA-F0-9]{40}$",
            "description": "NFT contract address."
          },
          "tokenId": {
            "type": "string",
            "pattern": "^\\d+$",
            "maxLength": 80,
            "description": "Token id (decimal)."
          },
          "chain": {
            "type": "string",
            "enum": [
              "base",
              "ethereum",
              "polygon",
              "arbitrum",
              "optimism"
            ],
            "description": "Default ethereum."
          },
          "metadata": {
            "type": "string",
            "enum": [
              "0",
              "1",
              "true",
              "false"
            ],
            "description": "1 to also fetch token JSON metadata."
          }
        },
        "required": [
          "address",
          "tokenId"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "address": "example",
        "tokenId": "12345",
        "chain": "base",
        "metadata": "0"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "chain": {
                  "type": "string"
                },
                "contract": {
                  "type": "string"
                },
                "tokenId": {
                  "type": "string"
                },
                "owner": {
                  "nullable": true
                },
                "collectionName": {
                  "nullable": true
                },
                "collectionSymbol": {
                  "nullable": true
                },
                "tokenURI": {
                  "type": "string",
                  "nullable": true
                },
                "metadata": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "nullable": true
                    },
                    "description": {
                      "nullable": true
                    },
                    "image": {
                      "type": "string",
                      "nullable": true
                    },
                    "attributes": {
                      "type": "array",
                      "items": {},
                      "nullable": true
                    }
                  },
                  "required": [
                    "image",
                    "attributes"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                }
              },
              "required": [
                "chain",
                "contract",
                "tokenId",
                "tokenURI",
                "metadata"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.nft-security",
      "group": "crypto",
      "name": "nft-security",
      "method": "GET",
      "path": "/api/crypto/nft-security",
      "url": "https://2s.io/api/crypto/nft-security",
      "description": "NFT collection risk screening via GoPlus (free, keyless). For an ERC-721/1155 contract: verification/trust-list status, open-source + proxy flags, privileged-minting, restricted-approval, transfer-without-approval, metadata-frozen and self-destruct risks, plus owner count and volume stats. Screen a collection before minting, buying, or approving — complements crypto.nft (reads) and crypto.token-safety.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "pattern": "^0x[a-fA-F0-9]{40}$",
            "description": "NFT contract address."
          },
          "chainId": {
            "type": "integer",
            "exclusiveMinimum": true,
            "minimum": 0,
            "description": "EVM chain id (default 1 = Ethereum)."
          }
        },
        "required": [
          "address"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "address": "example",
        "chainId": 0
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "chainId": {
                  "type": "string"
                },
                "address": {
                  "type": "string"
                },
                "nftName": {
                  "nullable": true
                },
                "nftSymbol": {
                  "nullable": true
                },
                "verified": {
                  "type": "boolean",
                  "nullable": true
                },
                "onTrustList": {
                  "type": "boolean",
                  "nullable": true
                },
                "isOpenSource": {
                  "type": "boolean",
                  "nullable": true
                },
                "isProxy": {
                  "type": "boolean",
                  "nullable": true
                },
                "privilegedMinting": {
                  "type": "boolean",
                  "nullable": true
                },
                "restrictedApproval": {
                  "type": "boolean",
                  "nullable": true
                },
                "transferWithoutApproval": {
                  "type": "boolean",
                  "nullable": true
                },
                "metadataFrozen": {
                  "type": "boolean",
                  "nullable": true
                },
                "selfDestruct": {
                  "type": "boolean",
                  "nullable": true
                },
                "ownerNumber": {
                  "type": "number",
                  "nullable": true
                },
                "totalVolume": {
                  "type": "number",
                  "nullable": true
                },
                "tradedVolume24h": {
                  "type": "number",
                  "nullable": true
                },
                "averagePrice24h": {
                  "type": "number",
                  "nullable": true
                },
                "creatorAddress": {
                  "nullable": true
                }
              },
              "required": [
                "chainId",
                "address",
                "verified",
                "onTrustList",
                "isOpenSource",
                "isProxy",
                "privilegedMinting",
                "restrictedApproval",
                "transferWithoutApproval",
                "metadataFrozen",
                "selfDestruct",
                "ownerNumber",
                "totalVolume",
                "tradedVolume24h",
                "averagePrice24h"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.stablecoins",
      "group": "crypto",
      "name": "stablecoins",
      "method": "GET",
      "path": "/api/crypto/stablecoins",
      "url": "https://2s.io/api/crypto/stablecoins",
      "description": "Stablecoin supply leaderboard (via DefiLlama, free/keyless): the largest stablecoins by circulating USD, with peg type (USD/EUR/…), peg mechanism (fiat-backed, crypto-backed, algorithmic), and current price. For tracking stablecoin market share and de-peg risk.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "nullable": true
                },
                "symbol": {
                  "nullable": true
                },
                "pegType": {
                  "nullable": true
                },
                "pegMechanism": {
                  "nullable": true
                },
                "price": {
                  "type": "number",
                  "nullable": true
                },
                "circulatingUsd": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "price",
                "circulatingUsd"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.token-info",
      "group": "crypto",
      "name": "token-info",
      "method": "GET",
      "path": "/api/crypto/token-info",
      "url": "https://2s.io/api/crypto/token-info",
      "description": "On-chain token metrics by contract address (via GeckoTerminal, free/keyless): name, symbol, decimals, on-chain USD price, FDV, market cap, total reserve in USD, 24h volume, total + normalized supply, image, and CoinGecko id. Distinct from crypto.token-price (CoinGecko aggregate spot) — this is DEX-derived on-chain data for any token across 100+ networks.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "network": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40,
            "description": "Network slug, e.g. eth, bsc, base, solana."
          },
          "address": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120,
            "description": "Token contract address."
          }
        },
        "required": [
          "network",
          "address"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "network": "example",
        "address": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "address": {
                  "nullable": true
                },
                "name": {
                  "nullable": true
                },
                "symbol": {
                  "nullable": true
                },
                "decimals": {
                  "type": "number",
                  "nullable": true
                },
                "imageUrl": {
                  "nullable": true
                },
                "coingeckoCoinId": {
                  "nullable": true
                },
                "priceUsd": {
                  "type": "number",
                  "nullable": true
                },
                "fdvUsd": {
                  "type": "number",
                  "nullable": true
                },
                "marketCapUsd": {
                  "type": "number",
                  "nullable": true
                },
                "totalReserveUsd": {
                  "type": "number",
                  "nullable": true
                },
                "volume24hUsd": {
                  "type": "number",
                  "nullable": true
                },
                "totalSupply": {
                  "type": "string",
                  "nullable": true
                },
                "normalizedTotalSupply": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "decimals",
                "priceUsd",
                "fdvUsd",
                "marketCapUsd",
                "totalReserveUsd",
                "volume24hUsd",
                "totalSupply",
                "normalizedTotalSupply"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.token-metadata",
      "group": "crypto",
      "name": "token-metadata",
      "method": "GET",
      "path": "/api/crypto/token-metadata",
      "url": "https://2s.io/api/crypto/token-metadata",
      "description": "Live on-chain token metadata for an ERC-20 or ERC-721 contract (Base, Ethereum, Polygon, Arbitrum, Optimism; keyless). Returns name, symbol, decimals, detected standard, and total supply (raw + formatted). The authoritative read straight from the contract — complements crypto.token-price and crypto.contract (ABI/source).",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "pattern": "^0x[a-fA-F0-9]{40}$",
            "description": "Token contract address."
          },
          "chain": {
            "type": "string",
            "enum": [
              "base",
              "ethereum",
              "polygon",
              "arbitrum",
              "optimism"
            ],
            "description": "Default base."
          }
        },
        "required": [
          "address"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "address": "example",
        "chain": "base"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "chain": {
                  "type": "string"
                },
                "contract": {
                  "type": "string"
                },
                "name": {
                  "nullable": true
                },
                "symbol": {
                  "nullable": true
                },
                "decimals": {
                  "type": "number",
                  "nullable": true
                },
                "standard": {
                  "type": "string"
                },
                "totalSupply": {
                  "type": "string",
                  "nullable": true
                },
                "totalSupplyFormatted": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "chain",
                "contract",
                "decimals",
                "standard",
                "totalSupply",
                "totalSupplyFormatted"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.token-price",
      "group": "crypto",
      "name": "token-price",
      "method": "GET",
      "path": "/api/crypto/token-price",
      "url": "https://2s.io/api/crypto/token-price",
      "description": "Current spot price and market data for crypto assets. Pass ids as comma-separated CoinGecko asset ids (e.g. bitcoin, ethereum, solana, usd-coin — lowercase id, not ticker symbol; up to 25 per call) and optionally vs (comma-separated fiat/crypto quote currencies, default usd). Returns per-asset price, market cap, 24h volume, and 24h percent change, plus the data timestamp. Live market data past any training cutoff. Price data by CoinGecko.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ids": {
            "allOf": [
              {
                "type": "string",
                "minLength": 2,
                "maxLength": 600
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "^[a-z0-9-]+$"
                },
                "minItems": 1,
                "maxItems": 25
              }
            ],
            "description": "Comma-separated CoinGecko asset ids (lowercase), e.g. \"bitcoin,ethereum\". Max 25."
          },
          "vs": {
            "allOf": [
              {
                "anyOf": [
                  {
                    "not": {}
                  },
                  {
                    "type": "string",
                    "maxLength": 60
                  }
                ],
                "default": "usd"
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "^[a-z]{2,10}$"
                },
                "minItems": 1,
                "maxItems": 5
              }
            ]
          }
        },
        "required": [
          "ids"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ids": "bitcoin,ethereum",
        "vs": "usd"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "CoinGecko asset id."
                },
                "quotes": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "price": {
                        "type": "number",
                        "nullable": true
                      },
                      "marketCap": {
                        "type": "number",
                        "nullable": true
                      },
                      "volume24h": {
                        "type": "number",
                        "nullable": true
                      },
                      "change24hPct": {
                        "type": "number",
                        "nullable": true
                      }
                    },
                    "required": [
                      "price",
                      "marketCap",
                      "volume24h",
                      "change24hPct"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "id",
                "quotes"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "asOf": {
                "type": "string"
              }
            },
            "required": [
              "asOf"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.token-safety",
      "group": "crypto",
      "name": "token-safety",
      "method": "GET",
      "path": "/api/crypto/token-safety",
      "url": "https://2s.io/api/crypto/token-safety",
      "description": "Token honeypot & rug-pull risk screen (via GoPlus, free/keyless). For an ERC-20 on any EVM chain, returns honeypot flag, buy/sell tax, open-source/proxy/mintable status, hidden-owner / take-back-ownership / selfdestruct / external-call risks, blacklist/whitelist/anti-whale flags, holder count, and owner/creator concentration. Essential pre-trade safety check for agents — the security layer competitors charge for.",
      "priceUsd": 0.002,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "chainId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20,
            "description": "EVM chain id, e.g. 1 (Ethereum), 56 (BSC), 137 (Polygon), 8453 (Base)."
          },
          "address": {
            "type": "string",
            "pattern": "^0x[a-fA-F0-9]{40}$"
          }
        },
        "required": [
          "chainId",
          "address"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "chainId": "example",
        "address": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "chainId": {
                  "type": "string"
                },
                "address": {
                  "type": "string"
                },
                "tokenName": {
                  "nullable": true
                },
                "tokenSymbol": {
                  "nullable": true
                },
                "isHoneypot": {
                  "type": "boolean",
                  "nullable": true
                },
                "buyTax": {
                  "type": "number",
                  "nullable": true
                },
                "sellTax": {
                  "type": "number",
                  "nullable": true
                },
                "isOpenSource": {
                  "type": "boolean",
                  "nullable": true
                },
                "isProxy": {
                  "type": "boolean",
                  "nullable": true
                },
                "isMintable": {
                  "type": "boolean",
                  "nullable": true
                },
                "canTakeBackOwnership": {
                  "type": "boolean",
                  "nullable": true
                },
                "hiddenOwner": {
                  "type": "boolean",
                  "nullable": true
                },
                "selfdestruct": {
                  "type": "boolean",
                  "nullable": true
                },
                "externalCall": {
                  "type": "boolean",
                  "nullable": true
                },
                "isBlacklisted": {
                  "type": "boolean",
                  "nullable": true
                },
                "isWhitelisted": {
                  "type": "boolean",
                  "nullable": true
                },
                "isAntiWhale": {
                  "type": "boolean",
                  "nullable": true
                },
                "slippageModifiable": {
                  "type": "boolean",
                  "nullable": true
                },
                "isInDex": {
                  "type": "boolean",
                  "nullable": true
                },
                "isInCex": {
                  "type": "boolean",
                  "nullable": true
                },
                "holderCount": {
                  "type": "number",
                  "nullable": true
                },
                "ownerAddress": {
                  "nullable": true
                },
                "creatorAddress": {
                  "nullable": true
                },
                "ownerPercent": {
                  "type": "number",
                  "nullable": true
                },
                "creatorPercent": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "chainId",
                "address",
                "isHoneypot",
                "buyTax",
                "sellTax",
                "isOpenSource",
                "isProxy",
                "isMintable",
                "canTakeBackOwnership",
                "hiddenOwner",
                "selfdestruct",
                "externalCall",
                "isBlacklisted",
                "isWhitelisted",
                "isAntiWhale",
                "slippageModifiable",
                "isInDex",
                "isInCex",
                "holderCount",
                "ownerPercent",
                "creatorPercent"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.token-transfers",
      "group": "crypto",
      "name": "token-transfers",
      "method": "GET",
      "path": "/api/crypto/token-transfers",
      "url": "https://2s.io/api/crypto/token-transfers",
      "description": "ERC-20 token transfer history for an Ethereum address (via Etherscan V2). Each transfer: hash, block, timestamp, from/to, token contract, name, symbol, decimals, and value (raw + decimal-adjusted). Optionally filter to one token contract. Paginate with page + offset. Defaults to Ethereum mainnet; other EVM chains by chainId where upstream coverage allows. Trace what tokens a wallet sent/received.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "chainId": {
            "type": "integer",
            "minimum": 1,
            "default": 1,
            "description": "EVM chain id; defaults to 1 (Ethereum). Other chains require upstream multichain coverage."
          },
          "address": {
            "type": "string",
            "pattern": "^0x[a-fA-F0-9]{40}$"
          },
          "contractAddress": {
            "type": "string",
            "pattern": "^0x[a-fA-F0-9]{40}$",
            "description": "Filter to one ERC-20 contract."
          },
          "page": {
            "type": "integer",
            "minimum": 1
          },
          "offset": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "sort": {
            "type": "string",
            "enum": [
              "asc",
              "desc"
            ]
          }
        },
        "required": [
          "address"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "chainId": 1,
        "address": "example",
        "contractAddress": "example",
        "page": 1,
        "offset": 1,
        "sort": "asc"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "hash": {
                  "nullable": true
                },
                "blockNumber": {
                  "type": "number",
                  "nullable": true
                },
                "timestamp": {
                  "type": "string",
                  "nullable": true
                },
                "from": {
                  "nullable": true
                },
                "to": {
                  "nullable": true
                },
                "contractAddress": {
                  "nullable": true
                },
                "tokenName": {
                  "nullable": true
                },
                "tokenSymbol": {
                  "nullable": true
                },
                "tokenDecimal": {
                  "type": "number",
                  "nullable": true
                },
                "valueRaw": {
                  "type": "string",
                  "nullable": true
                },
                "value": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "blockNumber",
                "timestamp",
                "tokenDecimal",
                "valueRaw",
                "value"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.trending",
      "group": "crypto",
      "name": "trending",
      "method": "GET",
      "path": "/api/crypto/trending",
      "url": "https://2s.io/api/crypto/trending",
      "description": "The most-searched trending cryptocurrencies on CoinGecko right now (last 24h), each with symbol, name, market-cap rank, and price. A real-time popularity/attention signal. Source: CoinGecko.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "inputExample": {},
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "symbol": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "marketCapRank": {
                  "type": "number",
                  "nullable": true
                },
                "priceUsd": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "symbol",
                "name",
                "marketCapRank",
                "priceUsd"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.tx",
      "group": "crypto",
      "name": "tx",
      "method": "GET",
      "path": "/api/crypto/tx",
      "url": "https://2s.io/api/crypto/tx",
      "description": "Live EVM transaction status and receipt lookup. Give a transaction hash + chain and get back whether it mined successfully, reverted, or is still pending in the mempool, plus block number, confirmations, timestamp, sender and recipient, value transferred (native unit), gas used, effective gas price, total fee paid, any contract created, and event-log count. Chains: base, ethereum, polygon, arbitrum, optimism. Real-time post-training chain state — use it to confirm a payment settled, detect a reverted transaction, or wait for confirmations before acting. Unknown hash returns 404. Sibling of /api/crypto/gas-oracle (fees) and /api/crypto/address-validate (format).",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "chain": {
            "type": "string",
            "enum": [
              "base",
              "ethereum",
              "polygon",
              "arbitrum",
              "optimism"
            ],
            "description": "EVM chain to query: base | ethereum | polygon | arbitrum | optimism."
          },
          "hash": {
            "type": "string",
            "pattern": "^0x[0-9a-fA-F]{64}$",
            "description": "Transaction hash: 0x followed by 64 hex characters."
          }
        },
        "required": [
          "chain",
          "hash"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "chain": "base",
        "hash": "0xae396103c440ab7cc96aad6aa9cba6683421d766c2ea984eefa3ddc592030649"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "crypto.vrf",
      "group": "crypto",
      "name": "vrf",
      "method": "GET",
      "path": "/api/crypto/vrf",
      "url": "https://2s.io/api/crypto/vrf",
      "description": "Verifiable random function — deterministic, publicly verifiable randomness bound to your seed and signed by the 2s key. proof = deterministic EIP-191 signature over the seed (same seed always yields the same proof, so the outcome cannot be re-rolled or cherry-picked); random = keccak256(proof), a uniform 32-byte value. Returns the seed, signed message, proof, signer address, random (hex + uint + float in [0,1)). Verify offline: recover the signer from (message, proof) and confirm keccak256(proof) == random. For provably-fair draws, lotteries, sortition, and tie-breaks between agents.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "seed": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256,
            "description": "Any seed string — a request id, block hash, commitment, etc."
          }
        },
        "required": [
          "seed"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "seed": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "seed": {
                  "type": "string"
                },
                "signer": {
                  "type": "string"
                },
                "alg": {
                  "type": "string"
                },
                "version": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "proof": {
                  "type": "string"
                },
                "random": {
                  "type": "string"
                },
                "randomUint": {
                  "type": "string"
                },
                "randomFloat": {
                  "type": "number"
                }
              },
              "required": [
                "seed",
                "signer",
                "alg",
                "version",
                "message",
                "proof",
                "random",
                "randomUint",
                "randomFloat"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "dev.crates-search",
      "group": "dev",
      "name": "crates-search",
      "method": "GET",
      "path": "/api/dev/crates-search",
      "url": "https://2s.io/api/dev/crates-search",
      "description": "Search crates.io for Rust packages (keyless). Each result: name, latest stable version, description, total + recent downloads, and repository/homepage/documentation links. For agents discovering or vetting Rust dependencies.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "Crate search text, e.g. \"tokio async\"."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 30
          }
        },
        "required": [
          "q"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "q": "example",
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "version": {
                  "type": "string",
                  "nullable": true
                },
                "description": {
                  "type": "string",
                  "nullable": true
                },
                "downloads": {
                  "type": "number",
                  "nullable": true
                },
                "recentDownloads": {
                  "type": "number",
                  "nullable": true
                },
                "repository": {
                  "type": "string",
                  "nullable": true
                },
                "homepage": {
                  "type": "string",
                  "nullable": true
                },
                "documentation": {
                  "type": "string",
                  "nullable": true
                },
                "updatedAt": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "name",
                "version",
                "description",
                "downloads",
                "recentDownloads",
                "repository",
                "homepage",
                "documentation",
                "updatedAt"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "dev.csv-to-json",
      "group": "dev",
      "name": "csv-to-json",
      "method": "POST",
      "path": "/api/dev/csv-to-json",
      "url": "https://2s.io/api/dev/csv-to-json",
      "description": "Convert CSV/TSV text to a JSON array. POST { csv, delimiter?, header? }. Auto-detects comma vs tab, handles quoted fields and escaped quotes, and coerces numbers/booleans/empty→null. With header=true (default) each row becomes an object keyed by the header row; header=false returns arrays.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "csv": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200000
          },
          "delimiter": {
            "type": "string",
            "maxLength": 1
          },
          "header": {
            "type": "boolean"
          }
        },
        "required": [
          "csv"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "csv": "example",
        "delimiter": "example",
        "header": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "delimiter": {
                "type": "string"
              }
            },
            "required": [
              "delimiter"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "dev.diff-json",
      "group": "dev",
      "name": "diff-json",
      "method": "POST",
      "path": "/api/dev/diff-json",
      "url": "https://2s.io/api/dev/diff-json",
      "description": "Structured deep diff of two JSON values. POST { a, b }. Returns a list of changes, each with a dot-path and type (added / removed / changed) plus from/to values, and a total change count. For change-detection, config drift, and review tooling.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "a": {},
          "b": {}
        },
        "additionalProperties": false
      },
      "inputExample": {},
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "changeCount": {
                  "type": "number"
                },
                "changes": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "path": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      },
                      "from": {},
                      "to": {}
                    },
                    "required": [
                      "path",
                      "type"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "changeCount",
                "changes"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "dev.flatten-json",
      "group": "dev",
      "name": "flatten-json",
      "method": "POST",
      "path": "/api/dev/flatten-json",
      "url": "https://2s.io/api/dev/flatten-json",
      "description": "Flatten a nested JSON object/array into dot-notation keys. POST { data, delimiter? }. E.g. {a:{b:[1,2]}} → {\"a.b.0\":1,\"a.b.1\":2}. Useful for diffing, CSV export, search indexing, or feeding flat key/value config to tools.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "data": {},
          "delimiter": {
            "type": "string",
            "maxLength": 3
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "delimiter": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "dev.gitlab-search",
      "group": "dev",
      "name": "gitlab-search",
      "method": "GET",
      "path": "/api/dev/gitlab-search",
      "url": "https://2s.io/api/dev/gitlab-search",
      "description": "Search public GitLab projects (keyless), ranked by stars. Each result: full name, path, description, star and fork counts, web URL, last-activity timestamp, and topics. Complements code.repo-lookup (GitHub) for cross-host repository discovery.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200,
            "description": "Project search text, e.g. \"kubernetes operator\"."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 30
          }
        },
        "required": [
          "q"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "q": "xx",
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "path": {
                  "type": "string",
                  "nullable": true
                },
                "description": {
                  "type": "string",
                  "nullable": true
                },
                "stars": {
                  "type": "number",
                  "nullable": true
                },
                "forks": {
                  "type": "number",
                  "nullable": true
                },
                "webUrl": {
                  "type": "string",
                  "nullable": true
                },
                "lastActivityAt": {
                  "type": "string",
                  "nullable": true
                },
                "topics": {
                  "type": "array",
                  "items": {}
                }
              },
              "required": [
                "name",
                "path",
                "description",
                "stars",
                "forks",
                "webUrl",
                "lastActivityAt",
                "topics"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "dev.json-to-csv",
      "group": "dev",
      "name": "json-to-csv",
      "method": "POST",
      "path": "/api/dev/json-to-csv",
      "url": "https://2s.io/api/dev/json-to-csv",
      "description": "Convert a JSON array of objects to CSV. POST { data, delimiter? }. Column headers are the union of keys across all rows; values are CSV-escaped (quotes, commas, newlines), nested objects are JSON-stringified, null→empty. Returns the CSV string + column list.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {},
            "maxItems": 10000
          },
          "delimiter": {
            "type": "string",
            "maxLength": 1
          }
        },
        "required": [
          "data"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "data": [],
        "delimiter": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "csv": {
                  "type": "string"
                },
                "columns": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "rows": {
                  "type": "number"
                }
              },
              "required": [
                "csv",
                "columns",
                "rows"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "dev.json-to-typescript",
      "group": "dev",
      "name": "json-to-typescript",
      "method": "POST",
      "path": "/api/dev/json-to-typescript",
      "url": "https://2s.io/api/dev/json-to-typescript",
      "description": "Infer a TypeScript interface from a sample JSON value. POST { sample, rootName? }. Handles nested objects, arrays (merged element type), and primitives; merges keys across array elements. Returns a ready-to-paste interface string.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "sample": {},
          "rootName": {
            "type": "string",
            "pattern": "^[A-Za-z_$][\\w$]*$",
            "maxLength": 60
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "rootName": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "typescript": {
                  "type": "string"
                }
              },
              "required": [
                "typescript"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "dev.json-to-zod",
      "group": "dev",
      "name": "json-to-zod",
      "method": "POST",
      "path": "/api/dev/json-to-zod",
      "url": "https://2s.io/api/dev/json-to-zod",
      "description": "Infer a Zod schema from a sample JSON value. POST { sample, name? }. Handles nested objects, arrays, and primitives, merging keys across array elements. Returns a ready-to-paste `const name = z.object({...})` string.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "sample": {},
          "name": {
            "type": "string",
            "pattern": "^[A-Za-z_$][\\w$]*$",
            "maxLength": 60
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "name": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "zod": {
                  "type": "string"
                }
              },
              "required": [
                "zod"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "dev.jwt-decode",
      "group": "dev",
      "name": "jwt-decode",
      "method": "POST",
      "path": "/api/dev/jwt-decode",
      "url": "https://2s.io/api/dev/jwt-decode",
      "description": "Decode a JWT without verifying its signature. POST { token }. Returns the decoded header and payload, plus issuedAt/expiresAt/notBefore as ISO timestamps, and expired / notYetValid flags. Signature is NOT checked — decode/inspection only. For agents reading token claims (scopes, sub, exp) before acting.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "minLength": 10,
            "maxLength": 8192
          }
        },
        "required": [
          "token"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "token": "xxxxxxxxxx"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "dev.npm-search",
      "group": "dev",
      "name": "npm-search",
      "method": "GET",
      "path": "/api/dev/npm-search",
      "url": "https://2s.io/api/dev/npm-search",
      "description": "Search the npm registry for JavaScript/TypeScript packages (keyless). Each result: name, latest version, description, keywords, publisher, last-publish date, and npm/homepage/repository links. For agents discovering or vetting dependencies.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "Package search text, e.g. \"react query\"."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 30
          }
        },
        "required": [
          "q"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "q": "example",
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "version": {
                  "type": "string",
                  "nullable": true
                },
                "description": {
                  "type": "string",
                  "nullable": true
                },
                "keywords": {
                  "type": "array",
                  "items": {}
                },
                "publisher": {
                  "type": "string",
                  "nullable": true
                },
                "date": {
                  "type": "string",
                  "nullable": true
                },
                "npm": {
                  "type": "string",
                  "nullable": true
                },
                "homepage": {
                  "type": "string",
                  "nullable": true
                },
                "repository": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "name",
                "version",
                "description",
                "keywords",
                "publisher",
                "date",
                "npm",
                "homepage",
                "repository"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "dev.preflight",
      "group": "dev",
      "name": "preflight",
      "method": "POST",
      "path": "/api/dev/preflight",
      "url": "https://2s.io/api/dev/preflight",
      "description": "Check whether a shell command is runnable before you (or an agent) run it — a pre-execution gate. POST { command } with a command that targets the network (curl, wget, httpie, or anything carrying a URL). Parses out the HTTP method, target URL, and headers, then returns a structured verdict: verdict ('runnable' or 'invalid'), a runnable boolean, and a checks breakdown (hasTarget, urlValid, schemeOk, hostPresent, methodValid, privateTarget). By default the check is STATIC and deterministic — no network call — answering 'is there a well-formed http(s) target and a valid method?' (a command with no URL is invalid). Pass probe=true to also run a guarded HEAD request against the target and report dnsResolves, reachable, tlsValid, and httpStatus — answering 'would this actually connect right now?'. Private/loopback/reserved targets are refused (SSRF-safe). Built for gating agent-generated commands and CI pipelines.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "command": {
            "type": "string",
            "minLength": 1,
            "maxLength": 8192
          },
          "probe": {
            "type": "boolean"
          }
        },
        "required": [
          "command"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "command": "curl -sSL https://api.github.com/users/octocat"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "command": {
                  "type": "string"
                },
                "tool": {
                  "type": "string",
                  "nullable": true
                },
                "method": {
                  "type": "string"
                },
                "url": {
                  "type": "string",
                  "nullable": true
                },
                "targets": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "verdict": {
                  "type": "string",
                  "description": "'runnable' or 'invalid'"
                },
                "runnable": {
                  "type": "boolean"
                },
                "mode": {
                  "type": "string",
                  "description": "'static' or 'live'"
                },
                "reason": {
                  "type": "string",
                  "nullable": true
                },
                "checks": {
                  "type": "object",
                  "properties": {
                    "hasTarget": {
                      "type": "boolean"
                    },
                    "urlValid": {
                      "type": "boolean"
                    },
                    "schemeOk": {
                      "type": "boolean"
                    },
                    "hostPresent": {
                      "type": "boolean"
                    },
                    "methodValid": {
                      "type": "boolean"
                    },
                    "privateTarget": {
                      "type": "boolean"
                    },
                    "dnsResolves": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "reachable": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "tlsValid": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "httpStatus": {
                      "type": "number",
                      "nullable": true
                    }
                  },
                  "required": [
                    "hasTarget",
                    "urlValid",
                    "schemeOk",
                    "hostPresent",
                    "methodValid",
                    "privateTarget",
                    "dnsResolves",
                    "reachable",
                    "tlsValid",
                    "httpStatus"
                  ],
                  "additionalProperties": false
                },
                "note": {
                  "type": "string"
                }
              },
              "required": [
                "command",
                "tool",
                "method",
                "url",
                "targets",
                "verdict",
                "runnable",
                "mode",
                "reason",
                "checks",
                "note"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "dev.regex-test",
      "group": "dev",
      "name": "regex-test",
      "method": "POST",
      "path": "/api/dev/regex-test",
      "url": "https://2s.io/api/dev/regex-test",
      "description": "Test a JavaScript regular expression against input text. POST { pattern, flags?, input }. Returns each match with its index, numbered capture groups, and named groups (up to 1000 matches with the g flag). Pure compute, no upstream.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "pattern": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1000
          },
          "flags": {
            "type": "string",
            "maxLength": 8
          },
          "input": {
            "type": "string",
            "maxLength": 50000
          }
        },
        "required": [
          "pattern",
          "input"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "pattern": "example",
        "flags": "example",
        "input": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "match": {
                  "type": "string"
                },
                "index": {
                  "type": "number"
                },
                "groups": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "namedGroups": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  },
                  "nullable": true
                }
              },
              "required": [
                "match",
                "index",
                "groups",
                "namedGroups"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "pattern": {
                "type": "string"
              },
              "flags": {
                "type": "string"
              },
              "matched": {
                "type": "boolean"
              },
              "matchCount": {
                "type": "number"
              }
            },
            "required": [
              "pattern",
              "flags",
              "matched",
              "matchCount"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "dev.rfc",
      "group": "dev",
      "name": "rfc",
      "method": "GET",
      "path": "/api/dev/rfc",
      "url": "https://2s.io/api/dev/rfc",
      "description": "Look up an IETF RFC by number. Pass number as RFC2616, 2616, or the integer 2616. Returns the RFC title, authors, publication date, status (e.g. INTERNET STANDARD, PROPOSED STANDARD, DRAFT STANDARD, INFORMATIONAL, EXPERIMENTAL, HISTORIC, BEST CURRENT PRACTICE), stream (IETF/IAB/IRTF/Independent/Legacy), DOI, canonical rfc-editor.org URL, and the full standards relationship chain: which RFCs this one obsoletes / is obsoleted by, and which it updates / is updated by. Authoritative data from the IETF/RFC Editor index. Use this to resolve whether a spec is current or superseded before relying on it.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "number": {
            "type": "string",
            "minLength": 1,
            "maxLength": 12,
            "description": "RFC number, e.g. RFC2616 or 2616."
          }
        },
        "required": [
          "number"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "number": "RFC2616"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "number": {
                "type": "number"
              }
            },
            "required": [
              "number"
            ],
            "additionalProperties": false
          },
          "returned": {
            "type": "number"
          },
          "rfc": {
            "type": "object",
            "properties": {
              "number": {
                "type": "number"
              },
              "title": {
                "type": "string",
                "nullable": true
              },
              "authors": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "date": {
                "type": "string",
                "nullable": true
              },
              "status": {
                "type": "string",
                "nullable": true
              },
              "stream": {
                "type": "string",
                "nullable": true
              },
              "obsoletes": {
                "type": "array",
                "items": {
                  "type": "number"
                }
              },
              "obsoletedBy": {
                "type": "array",
                "items": {
                  "type": "number"
                }
              },
              "updates": {
                "type": "array",
                "items": {
                  "type": "number"
                }
              },
              "updatedBy": {
                "type": "array",
                "items": {
                  "type": "number"
                }
              },
              "doi": {
                "type": "string",
                "nullable": true
              },
              "url": {
                "type": "string"
              }
            },
            "required": [
              "number",
              "title",
              "authors",
              "date",
              "status",
              "stream",
              "obsoletes",
              "obsoletedBy",
              "updates",
              "updatedBy",
              "doi",
              "url"
            ],
            "additionalProperties": false,
            "nullable": true
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "query",
          "returned",
          "rfc",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "dev.stackoverflow-search",
      "group": "dev",
      "name": "stackoverflow-search",
      "method": "GET",
      "path": "/api/dev/stackoverflow-search",
      "url": "https://2s.io/api/dev/stackoverflow-search",
      "description": "Search Stack Overflow questions (keyless). Each result: title, link, score, answer count, answered flag, view count, tags, creation date, and question id. Sort by relevance, votes, activity, or creation. For coding agents that need authoritative Q&A on errors, APIs, and language features.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200,
            "description": "Search query, e.g. \"async await deadlock c#\"."
          },
          "sort": {
            "type": "string",
            "enum": [
              "relevance",
              "votes",
              "activity",
              "creation"
            ],
            "description": "Default relevance."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 30
          }
        },
        "required": [
          "q"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "q": "xx",
        "sort": "relevance",
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string",
                  "nullable": true
                },
                "link": {
                  "type": "string",
                  "nullable": true
                },
                "score": {
                  "type": "number",
                  "nullable": true
                },
                "answerCount": {
                  "type": "number",
                  "nullable": true
                },
                "isAnswered": {
                  "type": "boolean"
                },
                "viewCount": {
                  "type": "number",
                  "nullable": true
                },
                "tags": {
                  "type": "array",
                  "items": {}
                },
                "creationDate": {
                  "type": "string",
                  "nullable": true
                },
                "questionId": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "title",
                "link",
                "score",
                "answerCount",
                "isAnswered",
                "viewCount",
                "tags",
                "creationDate",
                "questionId"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "dev.uuid",
      "group": "dev",
      "name": "uuid",
      "method": "GET",
      "path": "/api/dev/uuid",
      "url": "https://2s.io/api/dev/uuid",
      "description": "Generate UUIDs. version v4 (random) or v7 (time-ordered, sortable); count 1-100. Cryptographically random. Pure compute, no upstream.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "version": {
            "type": "string",
            "enum": [
              "v4",
              "v7"
            ],
            "description": "Default v4."
          },
          "count": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "version": "v4",
        "count": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "dns.lookup",
      "group": "dns",
      "name": "lookup",
      "method": "GET",
      "path": "/api/dns/lookup",
      "url": "https://2s.io/api/dns/lookup",
      "description": "Resolve a hostname over public DNS and return parsed records. Query: host (required FQDN), types (comma-separated: A,AAAA,MX,TXT,NS,CAA,SRV,CNAME,PTR,SOA — default A,AAAA,MX,TXT,NS), resolver (cloudflare|google|quad9|opendns, optional). Returns one normalized JSON shape per record type with per-type error pass-through. Reserved/local TLDs (.local, .internal, .invalid, .test, localhost) are rejected. 4s per-query timeout.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "host": {
            "type": "string",
            "minLength": 1,
            "maxLength": 253
          },
          "types": {
            "type": "string",
            "pattern": "^(A|AAAA|MX|TXT|NS|CAA|SRV|CNAME|PTR|SOA)(,(A|AAAA|MX|TXT|NS|CAA|SRV|CNAME|PTR|SOA)){0,9}$"
          },
          "resolver": {
            "type": "string",
            "enum": [
              "cloudflare",
              "google",
              "quad9",
              "opendns"
            ]
          }
        },
        "required": [
          "host"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "host": "example",
        "types": "example",
        "resolver": "cloudflare"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "domain.ct-logs",
      "group": "domain",
      "name": "ct-logs",
      "method": "GET",
      "path": "/api/domain/ct-logs",
      "url": "https://2s.io/api/domain/ct-logs",
      "description": "Certificate Transparency recon for a domain — discover its subdomains and issued certificates from public CT logs (passive attack-surface mapping). Pass domain. Returns the deduplicated set of subdomains seen across all certs (subdomains + subdomainCount), and the certificates (issuer, validity window, SAN dns names), most recent first. Sourced from SSLMate certSpotter (primary) with a crt.sh fallback — keyless. Live CT-log data over a huge append-only dataset an LLM cannot enumerate. For external attack-surface discovery, shadow-IT/subdomain inventory, and certificate monitoring. Note: CT shows names that ever appeared in a cert, not necessarily live hosts.",
      "priceUsd": 0.00216,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string",
            "minLength": 3,
            "maxLength": 253
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500
          }
        },
        "required": [
          "domain"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "domain": "example.com",
        "limit": 50
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "domain": {
                  "type": "string"
                },
                "subdomainCount": {
                  "type": "integer"
                },
                "subdomains": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "certCount": {
                  "type": "integer"
                },
                "certs": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "issuer": {
                        "type": "string",
                        "nullable": true
                      },
                      "notBefore": {
                        "type": "string",
                        "nullable": true
                      },
                      "notAfter": {
                        "type": "string",
                        "nullable": true
                      },
                      "dnsNames": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    },
                    "required": [
                      "issuer",
                      "notBefore",
                      "notAfter",
                      "dnsNames"
                    ],
                    "additionalProperties": false
                  }
                },
                "truncated": {
                  "type": "boolean"
                },
                "provider": {
                  "type": "string"
                }
              },
              "required": [
                "domain",
                "subdomainCount",
                "subdomains",
                "certCount",
                "certs",
                "truncated",
                "provider"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "domain.email-security",
      "group": "domain",
      "name": "email-security",
      "method": "GET",
      "path": "/api/domain/email-security",
      "url": "https://2s.io/api/domain/email-security",
      "description": "Grade a domain's email-authentication and DNS-security posture from live DNS in one call: SPF, DMARC (policy + alignment), DKIM (for the supplied or common selectors), MTA-STS, TLS-RPT, DNSSEC, CAA, and BIMI. Pass domain (and optional dkimSelector). Returns an overall letter grade, a summary (spf/dmarcPolicy/dkim/mtaSts/dnssec/caa/bimi + spoofingProtected), and a per-mechanism block with the raw record, parsed tags, and specific issues (e.g. 'DMARC p=none — monitor only', 'SPF ~all soft-fail', 'no MTA-STS'). Sourced from live public DNS via DNS-over-HTTPS — an LLM cannot know a domain's current records. For deliverability/anti-spoofing audits, vendor security review, and phishing-resistance checks. DKIM is selector-based (selectors aren't enumerable), so 'not found' only means none of the checked selectors resolved.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string",
            "minLength": 3,
            "maxLength": 253
          },
          "dkimSelector": {
            "type": "string",
            "minLength": 1,
            "maxLength": 63
          }
        },
        "required": [
          "domain"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "domain": "paypal.com"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "domain": {
                  "type": "string"
                },
                "grade": {
                  "type": "string"
                },
                "summary": {
                  "type": "object",
                  "properties": {
                    "spf": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "dmarcPolicy": {
                      "type": "string",
                      "nullable": true
                    },
                    "dkim": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "mtaSts": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "dnssec": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "caa": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "bimi": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "spoofingProtected": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "spf",
                    "dmarcPolicy",
                    "dkim",
                    "mtaSts",
                    "dnssec",
                    "caa",
                    "bimi",
                    "spoofingProtected"
                  ],
                  "additionalProperties": false
                },
                "spf": {
                  "type": "object",
                  "additionalProperties": {}
                },
                "dmarc": {
                  "type": "object",
                  "additionalProperties": {}
                },
                "dkim": {
                  "type": "object",
                  "additionalProperties": {}
                },
                "mtaSts": {
                  "type": "object",
                  "additionalProperties": {}
                },
                "tlsRpt": {
                  "type": "object",
                  "additionalProperties": {}
                },
                "dnssec": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "nullable": true
                    }
                  },
                  "required": [
                    "enabled"
                  ],
                  "additionalProperties": false
                },
                "caa": {
                  "type": "object",
                  "additionalProperties": {}
                },
                "bimi": {
                  "type": "object",
                  "additionalProperties": {}
                },
                "note": {
                  "type": "string"
                }
              },
              "required": [
                "domain",
                "grade",
                "summary",
                "spf",
                "dmarc",
                "dkim",
                "mtaSts",
                "tlsRpt",
                "dnssec",
                "caa",
                "bimi",
                "note"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "domain.intel",
      "group": "domain",
      "name": "intel",
      "method": "GET",
      "path": "/api/domain/intel",
      "url": "https://2s.io/api/domain/intel",
      "description": "Domain intelligence in one call — composes DNS, WHOIS/RDAP registration, and the live TLS certificate for a domain. Pass domain (e.g. example.com). Returns a summary (does it resolve, has MX, registrar, domain expiry, whether HTTPS is currently valid, days until cert expiry) plus three independent sections: dns (A/AAAA/MX/NS/TXT records), whois (registrar, registered/expires/updated dates, status codes, nameservers, DNSSEC), and tls (certificate issuer, subject, validity window, SANs, fingerprint). Each section reports found/error independently, so a domain with no HTTPS still returns DNS + WHOIS. For domain due diligence, security recon, expiry monitoring, and vendor onboarding. Individual sources: /api/dns/lookup, /api/domain/whois, /api/net/tls-cert.",
      "priceUsd": 0.0048,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string",
            "minLength": 3,
            "maxLength": 253
          }
        },
        "required": [
          "domain"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "domain": "example.com"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "query": {
                  "type": "object",
                  "properties": {
                    "domain": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "domain"
                  ],
                  "additionalProperties": false
                },
                "summary": {
                  "type": "object",
                  "properties": {
                    "resolves": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "hasMx": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "registrar": {
                      "type": "string",
                      "nullable": true
                    },
                    "expiresAt": {
                      "type": "string",
                      "nullable": true
                    },
                    "httpsValid": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "certExpiresInDays": {
                      "type": "number",
                      "nullable": true
                    }
                  },
                  "required": [
                    "resolves",
                    "hasMx",
                    "registrar",
                    "expiresAt",
                    "httpsValid",
                    "certExpiresInDays"
                  ],
                  "additionalProperties": false
                },
                "dns": {
                  "type": "object",
                  "properties": {
                    "found": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string",
                      "nullable": true
                    },
                    "data": {
                      "type": "object",
                      "additionalProperties": {},
                      "nullable": true
                    }
                  },
                  "required": [
                    "found",
                    "error",
                    "data"
                  ],
                  "additionalProperties": false
                },
                "whois": {
                  "type": "object",
                  "properties": {
                    "found": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string",
                      "nullable": true
                    },
                    "data": {
                      "type": "object",
                      "additionalProperties": {},
                      "nullable": true
                    }
                  },
                  "required": [
                    "found",
                    "error",
                    "data"
                  ],
                  "additionalProperties": false
                },
                "tls": {
                  "type": "object",
                  "properties": {
                    "found": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "string",
                      "nullable": true
                    },
                    "data": {
                      "type": "object",
                      "additionalProperties": {},
                      "nullable": true
                    }
                  },
                  "required": [
                    "found",
                    "error",
                    "data"
                  ],
                  "additionalProperties": false
                },
                "sources": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "provider": {
                        "type": "string"
                      },
                      "url": {
                        "type": "string"
                      },
                      "license": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "provider",
                      "url",
                      "license"
                    ],
                    "additionalProperties": false
                  }
                },
                "note": {
                  "type": "string"
                }
              },
              "required": [
                "query",
                "summary",
                "dns",
                "whois",
                "tls",
                "sources",
                "note"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "domain.whois",
      "group": "domain",
      "name": "whois",
      "method": "GET",
      "path": "/api/domain/whois",
      "url": "https://2s.io/api/domain/whois",
      "description": "Modern WHOIS via RDAP. Query: domain (e.g. example.com). Returns { domain, ldhName, handle, registrar:{ name, ianaId, url, abuseEmail, abusePhone }, registeredAt, expiresAt, updatedAt, statuses (camelCase ICANN EPP codes), nameservers[], dnssecSigned, rdapUrl }. GDPR: registrant personal data is generally redacted upstream and not returned. Some TLDs without RDAP are not supported and return 404 TLD_NOT_SUPPORTED.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string",
            "minLength": 3,
            "maxLength": 253
          }
        },
        "required": [
          "domain"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "domain": "xxx"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "earth.events",
      "group": "earth",
      "name": "events",
      "method": "GET",
      "path": "/api/earth/events",
      "url": "https://2s.io/api/earth/events",
      "description": "Global natural events tracker via NASA EONET v3 (Earth Observatory Natural Event Tracker). Returns active and historical events curated by NASA EOSDIS: wildfires, severe storms, volcanoes, floods, droughts, landslides, sea/lake ice, dust/haze, manmade incidents, water-color anomalies. Each event includes geo-located observation points with timestamps, source attribution (USGS, NWS, IRWIN, GDACS, etc.), and category. Filter by status (open/closed/all), days-back window, category, or bounding box.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "open",
              "closed",
              "all"
            ],
            "default": "open"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200,
            "default": 20
          },
          "days": {
            "type": "integer",
            "minimum": 1,
            "maximum": 365
          },
          "category": {
            "type": "string",
            "enum": [
              "drought",
              "dustHaze",
              "earthquakes",
              "floods",
              "landslides",
              "manmade",
              "seaLakeIce",
              "severeStorms",
              "snow",
              "tempExtremes",
              "volcanoes",
              "waterColor",
              "wildfires"
            ]
          },
          "bbox": {
            "type": "string",
            "pattern": "^-?\\d+(\\.\\d+)?,-?\\d+(\\.\\d+)?,-?\\d+(\\.\\d+)?,-?\\d+(\\.\\d+)?$"
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "status": "open",
        "limit": 5,
        "category": "wildfires"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "description": {
                  "type": "string",
                  "nullable": true
                },
                "link": {
                  "type": "string"
                },
                "closed": {
                  "type": "string",
                  "nullable": true
                },
                "categories": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "id",
                      "title"
                    ],
                    "additionalProperties": false
                  }
                },
                "sources": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "url": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "id",
                      "url"
                    ],
                    "additionalProperties": false
                  }
                },
                "geometry": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "date": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      },
                      "coordinates": {},
                      "magnitudeValue": {
                        "type": "number",
                        "nullable": true
                      },
                      "magnitudeUnit": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "date",
                      "type"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "id",
                "title",
                "description",
                "link",
                "closed",
                "categories",
                "sources",
                "geometry"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "title": {
                "type": "string"
              },
              "fetched": {
                "type": "integer"
              }
            },
            "required": [
              "title",
              "fetched"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "earth.now",
      "group": "earth",
      "name": "now",
      "method": "GET",
      "path": "/api/earth/now",
      "url": "https://2s.io/api/earth/now",
      "description": "Situational awareness for a coordinate: recent earthquakes (USGS) and active wildfires (NIFC) within a configurable radius. Returns each with distance-from-query in km, sorted nearest-first. Multi-source synthesis from free US Government feeds. Real-time, post-training data.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          },
          "radius_km": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "default": 500
          },
          "hours": {
            "type": "number",
            "minimum": 1,
            "maximum": 168,
            "default": 24
          },
          "min_magnitude": {
            "type": "number",
            "minimum": 0,
            "maximum": 10,
            "default": 2
          }
        },
        "required": [
          "lat",
          "lon"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "lat": -90,
        "lon": -180,
        "radius_km": 500,
        "hours": 24,
        "min_magnitude": 2
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "errors": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "source": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "source",
                    "message"
                  ],
                  "additionalProperties": false
                }
              },
              "sources": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "provider": {
                      "type": "string"
                    },
                    "license": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "name",
                    "provider",
                    "license",
                    "url"
                  ],
                  "additionalProperties": false
                }
              }
            },
            "required": [
              "errors",
              "sources"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "econ.commodity",
      "group": "econ",
      "name": "commodity",
      "method": "GET",
      "path": "/api/econ/commodity",
      "url": "https://2s.io/api/econ/commodity",
      "description": "Latest benchmark commodity price with the prior value + % change. Pass commodity for one, or omit for all. Commodities: wti, brent, natural-gas, gasoline, diesel, heating-oil, propane, copper, aluminum, corn, wheat, sugar — i.e. crude oil (WTI + Brent), natural gas, gasoline, diesel, heating oil, propane, gold, copper, aluminum, corn, wheat, sugar. Each result names the FRED series ID + unit ($/barrel, $/gallon, $/troy oz, $/metric ton...). Daily benchmarks report a daily date; global-price series are monthly. Source: EIA / LBMA / IMF via FRED (St. Louis Fed).",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "commodity": {
            "type": "string",
            "enum": [
              "wti",
              "brent",
              "natural-gas",
              "gasoline",
              "diesel",
              "heating-oil",
              "propane",
              "copper",
              "aluminum",
              "corn",
              "wheat",
              "sugar"
            ]
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "commodity": "wti"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "commodity": {
                  "type": "string"
                },
                "seriesId": {
                  "type": "string"
                },
                "label": {
                  "type": "string"
                },
                "unit": {
                  "type": "string"
                },
                "price": {
                  "type": "number",
                  "nullable": true
                },
                "asOf": {
                  "type": "string",
                  "nullable": true
                },
                "previous": {
                  "type": "number",
                  "nullable": true
                },
                "changePct": {
                  "type": "number",
                  "nullable": true,
                  "description": "% change vs the prior observation."
                }
              },
              "required": [
                "commodity",
                "seriesId",
                "label",
                "unit",
                "price",
                "asOf",
                "previous",
                "changePct"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "econ.cot",
      "group": "econ",
      "name": "cot",
      "method": "GET",
      "path": "/api/econ/cot",
      "url": "https://2s.io/api/econ/cot",
      "description": "CFTC Commitments of Traders (COT) — weekly futures positioning for a market (free/keyless). Match a market by name (e.g. 'E-MINI S&P', 'GOLD', 'CRUDE OIL', 'BITCOIN'). Each weekly report: open interest, large speculators (non-commercial) long/short/spread, commercials (hedgers) long/short, small (non-reportable) traders, and week-over-week changes. For positioning/sentiment analysis.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "market": {
            "type": "string",
            "minLength": 2,
            "maxLength": 60,
            "description": "Market name contains, e.g. GOLD, E-MINI S&P, CRUDE OIL."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          }
        },
        "required": [
          "market"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "market": "xx",
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "market": {
                  "nullable": true
                },
                "reportDate": {
                  "type": "string",
                  "nullable": true
                },
                "openInterest": {
                  "type": "number",
                  "nullable": true
                },
                "nonCommLong": {
                  "type": "number",
                  "nullable": true
                },
                "nonCommShort": {
                  "type": "number",
                  "nullable": true
                },
                "nonCommSpread": {
                  "type": "number",
                  "nullable": true
                },
                "commLong": {
                  "type": "number",
                  "nullable": true
                },
                "commShort": {
                  "type": "number",
                  "nullable": true
                },
                "nonReptLong": {
                  "type": "number",
                  "nullable": true
                },
                "nonReptShort": {
                  "type": "number",
                  "nullable": true
                },
                "changeOpenInterest": {
                  "type": "number",
                  "nullable": true
                },
                "changeNonCommLong": {
                  "type": "number",
                  "nullable": true
                },
                "changeNonCommShort": {
                  "type": "number",
                  "nullable": true
                },
                "tradersTotal": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "reportDate",
                "openInterest",
                "nonCommLong",
                "nonCommShort",
                "nonCommSpread",
                "commLong",
                "commShort",
                "nonReptLong",
                "nonReptShort",
                "changeOpenInterest",
                "changeNonCommLong",
                "changeNonCommShort",
                "tradersTotal"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "econ.fred",
      "group": "econ",
      "name": "fred",
      "method": "GET",
      "path": "/api/econ/fred",
      "url": "https://2s.io/api/econ/fred",
      "description": "Any series in the Federal Reserve's FRED database (800k+ US & international economic time series). HOW TO USE: if you know the series id, pass seriesId to get the series metadata (title, units, frequency, seasonal adjustment, observation range, last updated) + its most-recent observations (date + value, newest first; optionally bound the range with start/end YYYY-MM-DD and cap with limit). If you DON'T know the id, pass query to full-text search the catalog (returns ids + titles + units + frequency, most-popular first) — then call again with the seriesId you found. Popular ids: UNRATE (unemployment rate), CPIAUCSL (CPI), PCEPI (PCE price index), GDP / GDPC1 (nominal / real GDP), PAYEMS (nonfarm payrolls), FEDFUNDS (fed funds rate), DGS10 / DGS2 (10yr / 2yr Treasury), T10Y2Y (10y-2y spread), MORTGAGE30US (30yr mortgage), SP500, VIXCLS (VIX), DEXUSEU (USD/EUR), DCOILWTICO (WTI oil), HOUST (housing starts), UMCSENT (consumer sentiment), M2SL (M2 money supply). Each series' units and frequency come back in the metadata so you know how to read the values. Free, public-domain for most series (FRED attribution). Distinct from econ.indicator (a small curated headline set) — this is the FULL catalog. Companion endpoints: econ.fred-releases (when reports are published — the data calendar) and econ.fred-vintage (point-in-time / revised values for honest backtesting).",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "seriesId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 60
          },
          "query": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "start": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "end": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "seriesId": "UNRATE",
        "limit": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "units": {
                  "type": "string"
                },
                "unitsShort": {
                  "type": "string"
                },
                "frequency": {
                  "type": "string"
                },
                "frequencyShort": {
                  "type": "string"
                },
                "seasonalAdjustment": {
                  "type": "string"
                },
                "lastUpdated": {
                  "type": "string",
                  "nullable": true
                },
                "observationStart": {
                  "type": "string",
                  "nullable": true
                },
                "observationEnd": {
                  "type": "string",
                  "nullable": true
                },
                "popularity": {
                  "type": "number",
                  "nullable": true
                },
                "notes": {
                  "type": "string",
                  "nullable": true
                },
                "observations": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "date": {
                        "type": "string"
                      },
                      "value": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "date",
                      "value"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "id",
                "title",
                "units",
                "frequency",
                "seasonalAdjustment",
                "lastUpdated",
                "observationStart",
                "observationEnd"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "econ.fred-categories",
      "group": "econ",
      "name": "fred-categories",
      "method": "GET",
      "path": "/api/econ/fred-categories",
      "url": "https://2s.io/api/econ/fred-categories",
      "description": "Browse the Federal Reserve FRED category tree to DISCOVER economic series. Pass a categoryId to get that category (name + parent), its child categories, and the most-popular series filed under it (id, title, units, frequency) — then pull the data with econ.fred. Omit categoryId (or pass 0) for the eight top-level categories: Money/Banking/Finance, Population/Employment/Labor, National Accounts, Production & Business Activity, Prices, International Data, U.S. Regional Data, Academic Data. Walk down via each child's id. Free, public-domain (FRED). The structured map of what FRED actually contains — far more reliable than guessing series ids. Companion to econ.fred (fetch/search) and econ.fred-releases (calendar).",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "categoryId": {
            "type": "integer",
            "minimum": 0,
            "maximum": 10000000
          },
          "seriesLimit": {
            "type": "integer",
            "minimum": 0,
            "maximum": 50
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "categoryId": 125,
        "seriesLimit": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "category": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number"
                    },
                    "name": {
                      "type": "string"
                    },
                    "parentId": {
                      "type": "number",
                      "nullable": true
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "parentId"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                },
                "children": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "number"
                      },
                      "name": {
                        "type": "string"
                      },
                      "parentId": {
                        "type": "number",
                        "nullable": true
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "parentId"
                    ],
                    "additionalProperties": false
                  }
                },
                "series": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string"
                      },
                      "units": {
                        "type": "string",
                        "nullable": true
                      },
                      "frequency": {
                        "type": "string",
                        "nullable": true
                      },
                      "seasonalAdjustment": {
                        "type": "string",
                        "nullable": true
                      },
                      "popularity": {
                        "type": "number",
                        "nullable": true
                      },
                      "observationStart": {
                        "type": "string",
                        "nullable": true
                      },
                      "observationEnd": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "id",
                      "title",
                      "units",
                      "frequency",
                      "seasonalAdjustment",
                      "popularity",
                      "observationStart",
                      "observationEnd"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "category",
                "children",
                "series"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "econ.fred-regional",
      "group": "econ",
      "name": "fred-regional",
      "method": "GET",
      "path": "/api/econ/fred-regional",
      "url": "https://2s.io/api/econ/fred-regional",
      "description": "Federal Reserve regional economic data: one snapshot of a FRED regional series across ALL its geographies (every U.S. state, county, or metro area) for a single period. Pass a regional series id (e.g. WIPCPI = per-capita personal income by state, or a state/county unemployment series) and get each region's name, FIPS region code, value, and per-region FRED series id, plus the group's units, frequency, and available date range. Add a date (YYYY-MM-DD) for a point-in-time cross-section; omit it for the latest. Authoritative St. Louis Fed (GeoFRED) data agents can't recite — per-state income, county unemployment, regional GDP — keyed by exact region codes. Free, public-domain. Companion to econ.fred (national series), econ.fred-categories (discover series ids), and census.demographics (ACS survey).",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "seriesId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "description": "A FRED regional series id (e.g. WIPCPI). Resolves to its regional series group."
          },
          "date": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Optional YYYY-MM-DD period for a point-in-time cross-section (default: latest available)."
          }
        },
        "required": [
          "seriesId"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "seriesId": "WIPCPI"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "seriesId": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "seriesGroup": {
                  "type": "string"
                },
                "regionType": {
                  "type": "string"
                },
                "units": {
                  "type": "string"
                },
                "frequency": {
                  "type": "string"
                },
                "seasonality": {
                  "type": "string"
                },
                "asOf": {
                  "type": "string"
                },
                "availableDates": {
                  "type": "object",
                  "properties": {
                    "min": {
                      "type": "string",
                      "nullable": true
                    },
                    "max": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "min",
                    "max"
                  ],
                  "additionalProperties": false
                },
                "regions": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "region": {
                        "type": "string"
                      },
                      "code": {
                        "type": "string"
                      },
                      "value": {
                        "type": "number",
                        "nullable": true
                      },
                      "seriesId": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "region",
                      "code",
                      "value",
                      "seriesId"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "seriesId",
                "title",
                "seriesGroup",
                "regionType",
                "units",
                "frequency",
                "seasonality",
                "asOf",
                "availableDates",
                "regions"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "econ.fred-releases",
      "group": "econ",
      "name": "fred-releases",
      "method": "GET",
      "path": "/api/econ/fred-releases",
      "url": "https://2s.io/api/econ/fred-releases",
      "description": "The US economic-data release CALENDAR — when official economic reports are published, from the Federal Reserve's FRED. Returns upcoming release dates (date, release name, FRED release id), starting from `from` (default today), ascending. Filter by name to find a specific report's schedule (e.g. name=\"Consumer Price Index\" → the next CPI dates; \"Employment Situation\" → jobs report; \"Gross Domestic Product\"; \"FOMC\"), or by releaseId. Free, public-domain (FRED). Future release dates an LLM cannot possibly know — essential for trading, scheduling, and macro-monitoring agents that need to act around data drops. Pair with econ.fred to pull the actual numbers once a release is out.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "from": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "releaseId": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100000
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "name": "Consumer Price Index",
        "limit": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "date": {
                  "type": "string"
                },
                "releaseName": {
                  "type": "string",
                  "nullable": true
                },
                "releaseId": {
                  "type": "number"
                }
              },
              "required": [
                "date",
                "releaseName",
                "releaseId"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "econ.fred-vintage",
      "group": "econ",
      "name": "fred-vintage",
      "method": "GET",
      "path": "/api/econ/fred-vintage",
      "url": "https://2s.io/api/econ/fred-vintage",
      "description": "Point-in-time (vintage) economic data from FRED's ALFRED archive — what an economic figure was AS FIRST REPORTED / as known on a past date, before later revisions. Give a seriesId (e.g. GDP, GDPC1, PAYEMS, INDPRO) and an asOf date to get the observations exactly as they stood on that date; omit asOf to get the current (latest-revised) values. Also returns the series' vintage (revision) dates — every date the series was revised. Free, public-domain (FRED). Critical for honest backtesting and macro research: it eliminates look-ahead bias (e.g. GDP for 2020Q1 was first reported far lower than today's revised figure). No LLM and no real-time API gives this — it's the archived state of the data through time. Pair with econ.fred (current series) and econ.fred-releases (release calendar).",
      "priceUsd": 0.00168,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "seriesId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 60
          },
          "asOf": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "start": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "end": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          }
        },
        "required": [
          "seriesId"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "seriesId": "GDP",
        "asOf": "2020-06-01",
        "limit": 2
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "seriesId": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "units": {
                  "type": "string"
                },
                "asOf": {
                  "type": "string",
                  "nullable": true
                },
                "vintageDates": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "observations": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "date": {
                        "type": "string"
                      },
                      "value": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "date",
                      "value"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "seriesId",
                "title",
                "units",
                "asOf",
                "vintageDates",
                "observations"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "econ.indicator",
      "group": "econ",
      "name": "indicator",
      "method": "GET",
      "path": "/api/econ/indicator",
      "url": "https://2s.io/api/econ/indicator",
      "description": "Latest reading of a curated US macroeconomic indicator, with the prior + year-ago values and YoY % change. Pass indicator for one, or omit for all. Indicators: unemployment-rate, fed-funds-rate, nonfarm-payrolls, jobless-claims, labor-force-participation, real-gdp, gdp-growth, 10y-treasury, 2y-treasury, 3m-treasury, 30y-mortgage, consumer-sentiment, housing-starts, retail-sales, industrial-production, m2, personal-saving-rate — i.e. unemployment rate, fed funds rate, nonfarm payrolls, jobless claims, labor-force participation, real GDP + GDP growth, 2y/3m/10y Treasury yields, 30y mortgage rate, consumer sentiment, housing starts, retail sales, industrial production, M2, personal saving rate. Each result names the FRED series ID + units. Source: BLS/BEA/Fed/Treasury via FRED (St. Louis Fed). For inflation specifically use inflation.rates; for any raw series use bls.series.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "indicator": {
            "type": "string",
            "enum": [
              "unemployment-rate",
              "fed-funds-rate",
              "nonfarm-payrolls",
              "jobless-claims",
              "labor-force-participation",
              "real-gdp",
              "gdp-growth",
              "10y-treasury",
              "2y-treasury",
              "3m-treasury",
              "30y-mortgage",
              "consumer-sentiment",
              "housing-starts",
              "retail-sales",
              "industrial-production",
              "m2",
              "personal-saving-rate"
            ]
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "indicator": "unemployment-rate"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "indicator": {
                  "type": "string"
                },
                "seriesId": {
                  "type": "string"
                },
                "label": {
                  "type": "string"
                },
                "units": {
                  "type": "string"
                },
                "value": {
                  "type": "number",
                  "nullable": true
                },
                "asOf": {
                  "type": "string",
                  "nullable": true
                },
                "previous": {
                  "type": "number",
                  "nullable": true
                },
                "yearAgo": {
                  "type": "number",
                  "nullable": true
                },
                "changeYoYPct": {
                  "type": "number",
                  "nullable": true,
                  "description": "% change vs year ago (most meaningful for level series; for rate series compare value vs yearAgo directly)."
                }
              },
              "required": [
                "indicator",
                "seriesId",
                "label",
                "units",
                "value",
                "asOf",
                "previous",
                "yearAgo",
                "changeYoYPct"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "econ.recession",
      "group": "econ",
      "name": "recession",
      "method": "GET",
      "path": "/api/econ/recession",
      "url": "https://2s.io/api/econ/recession",
      "description": "Composite US recession-signal dashboard: the NY Fed model's recession probability (12 months ahead, %), the Sahm-rule real-time indicator (≥0.50 signals a recession has begun), and the 10-Year minus 2-Year Treasury spread (negative = inverted, a classic precursor). Returns each gauge with its latest value, date, a triggered/inverted flag, and a plain-language note, plus a count of signals currently flashing. A read of the standard gauges — not a forecast. Source: NY Fed / BLS / US Treasury via FRED.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "inputExample": {},
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "recessionProbability": {
                  "type": "object",
                  "properties": {
                    "value": {
                      "type": "number",
                      "nullable": true
                    },
                    "asOf": {
                      "type": "string",
                      "nullable": true
                    },
                    "note": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "value",
                    "asOf",
                    "note"
                  ],
                  "additionalProperties": false
                },
                "sahmRule": {
                  "type": "object",
                  "properties": {
                    "value": {
                      "type": "number",
                      "nullable": true
                    },
                    "asOf": {
                      "type": "string",
                      "nullable": true
                    },
                    "triggered": {
                      "type": "boolean"
                    },
                    "note": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "value",
                    "asOf",
                    "triggered",
                    "note"
                  ],
                  "additionalProperties": false
                },
                "yieldCurve": {
                  "type": "object",
                  "properties": {
                    "spread10y2yPct": {
                      "type": "number",
                      "nullable": true
                    },
                    "asOf": {
                      "type": "string",
                      "nullable": true
                    },
                    "inverted": {
                      "type": "boolean"
                    },
                    "note": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "spread10y2yPct",
                    "asOf",
                    "inverted",
                    "note"
                  ],
                  "additionalProperties": false
                },
                "signalsTriggered": {
                  "type": "integer"
                }
              },
              "required": [
                "recessionProbability",
                "sahmRule",
                "yieldCurve",
                "signalsTriggered"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "econ.yield-curve",
      "group": "econ",
      "name": "yield-curve",
      "method": "GET",
      "path": "/api/econ/yield-curve",
      "url": "https://2s.io/api/econ/yield-curve",
      "description": "Current US Treasury yield curve — the market yield at every constant-maturity tenor from 1 month to 30 years (1M, 3M, 6M, 1Y, 2Y, 3Y, 5Y, 7Y, 10Y, 20Y, 30Y), each as a percent as of its latest date. Also returns the 2s10s spread (10Y − 2Y), the 3m10y spread (10Y − 3M), and an inverted flag (true when 2s10s is negative — a classic recession signal). Daily data. Source: US Treasury constant-maturity rates via FRED (St. Louis Fed).",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "inputExample": {},
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "maturity": {
                  "type": "string"
                },
                "months": {
                  "type": "number"
                },
                "seriesId": {
                  "type": "string"
                },
                "yield": {
                  "type": "number",
                  "nullable": true,
                  "description": "Constant-maturity yield, percent."
                },
                "asOf": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "maturity",
                "months",
                "seriesId",
                "yield",
                "asOf"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "spread2s10s": {
                "type": "number",
                "nullable": true,
                "description": "10Y − 2Y, percentage points."
              },
              "spread3m10y": {
                "type": "number",
                "nullable": true,
                "description": "10Y − 3M, percentage points."
              },
              "inverted": {
                "type": "boolean",
                "description": "True when 2s10s is negative (recession signal)."
              },
              "asOf": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "spread2s10s",
              "spread3m10y",
              "inverted",
              "asOf"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "edi.ack",
      "group": "edi",
      "name": "ack",
      "method": "POST",
      "path": "/api/edi/ack",
      "url": "https://2s.io/api/edi/ack",
      "description": "Generate the ANSI ASC X12 997 Functional Acknowledgment for a received EDI interchange. POST { edi } with the raw inbound interchange text (the 850/810/856/etc. you received); returns the ready-to-send 997 in meta.ack — sender/receiver mirrored back, delimiters echoed, one ST(997) per inbound functional group with correct AK1 (functional id + group control number), AK2/AK5 per transaction set, and AK9 with accurate included/received/accepted counts. Set status to control the response: A=Accepted (default), E=Accepted with errors, P=Partially accepted, R=Rejected, M/W/X=authentication/security rejection. Deterministic, no external calls. This is the reply leg of EDI: every transaction set you receive is supposed to be acknowledged, and assembling a valid 997 (especially the AK9 counts) is exactly the fiddly envelope bookkeeping agents shouldn't hand-roll.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "edi": {
            "type": "string",
            "minLength": 106,
            "maxLength": 500000
          },
          "status": {
            "type": "string",
            "enum": [
              "A",
              "E",
              "P",
              "R",
              "M",
              "W",
              "X"
            ]
          },
          "controlNumber": {
            "type": "string",
            "maxLength": 15
          }
        },
        "required": [
          "edi"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "edi": "ISA*00*          *00*          *ZZ*ACME           *ZZ*BUYERCORP      *240115*1430*U*00401*000000123*0*P*>~GS*PO*ACME*BUYERCORP*20240115*1430*123*X*004010~ST*850*0001~BEG*00*SA*PO-99012**20240115~PO1*1*100*EA*9.99**BP*WIDGET-A~CTT*1~SE*6*0001~GE*1*123~IEA*1*000000123~"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "acknowledgedFunctionalGroup": {
                  "type": "string"
                },
                "acknowledgedGroupControlNumber": {
                  "type": "string",
                  "nullable": true
                },
                "status": {
                  "type": "string"
                },
                "transactionSetsIncluded": {
                  "type": "integer"
                },
                "transactionSetsReceived": {
                  "type": "integer"
                },
                "transactionSetsAccepted": {
                  "type": "integer"
                },
                "transactionSets": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "controlNumber": {
                        "type": "string",
                        "nullable": true
                      },
                      "response": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "type",
                      "controlNumber",
                      "response"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "acknowledgedFunctionalGroup",
                "acknowledgedGroupControlNumber",
                "status",
                "transactionSetsIncluded",
                "transactionSetsReceived",
                "transactionSetsAccepted",
                "transactionSets"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "ack": {
                "type": "string",
                "description": "The ready-to-send 997 interchange text."
              },
              "controlNumber": {
                "type": "string"
              },
              "acknowledges": {
                "type": "object",
                "properties": {
                  "senderId": {
                    "type": "string",
                    "nullable": true
                  },
                  "receiverId": {
                    "type": "string",
                    "nullable": true
                  },
                  "interchangeControlNumber": {
                    "type": "string",
                    "nullable": true
                  },
                  "functionalGroupCount": {
                    "type": "integer"
                  },
                  "transactionSetCount": {
                    "type": "integer"
                  }
                },
                "required": [
                  "senderId",
                  "receiverId",
                  "interchangeControlNumber",
                  "functionalGroupCount",
                  "transactionSetCount"
                ],
                "additionalProperties": false
              },
              "delimiters": {
                "type": "object",
                "properties": {
                  "element": {
                    "type": "string"
                  },
                  "component": {
                    "type": "string"
                  },
                  "segment": {
                    "type": "string"
                  }
                },
                "required": [
                  "element",
                  "component",
                  "segment"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "ack",
              "controlNumber",
              "acknowledges",
              "delimiters"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "edi.edifact",
      "group": "edi",
      "name": "edifact",
      "method": "POST",
      "path": "/api/edi/edifact",
      "url": "https://2s.io/api/edi/edifact",
      "description": "Parse a raw UN/EDIFACT document (the B2B EDI format used across Europe, Asia, logistics and customs — the international counterpart to ANSI X12) into clean, structured JSON. POST { edi } with the raw interchange text. Reads the optional UNA service-string advice to auto-detect delimiters (or applies the UN defaults: component ':', element '+', segment \"'\", release '?'), handles release-character escaping, then returns the interchange envelope (UNB: syntax id, sender/recipient with qualifiers, date/time, control reference, test indicator), and each message with its type decoded (e.g. ORDERS = Purchase Order, INVOIC = Invoice, DESADV = Despatch Advice/ASN, ORDRSP = PO Response, CONTRL = Acknowledgment) plus version/release/agency from the UNH, every segment named (BGM, DTM, NAD, LIN, QTY, MOA, …), and a semantic summary — for an order that's the order number, document/delivery dates, parties (buyer/seller/ship-to with role decoded), and line items (product id + quantity); for an invoice the invoice number, currency, parties and total; for a despatch advice the despatch number, date and package/line counts. Deterministic, no external calls. Turns opaque EDIFACT into something an agent can use without hand-rolling a parser.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "edi": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500000
          }
        },
        "required": [
          "edi"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "edi": "UNA:+.? 'UNB+UNOA:2+ACME:14+BUYERCORP:14+240115:1430+000000123'UNH+1+ORDERS:D:96A:UN'BGM+220+PO-99012+9'DTM+137:20240115:102'NAD+BY+++BUYER CORP'NAD+SU+++ACME LTD'LIN+1++WIDGET-A:BP'QTY+21:100'UNT+8+1'UNZ+1+000000123'"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string"
                },
                "typeName": {
                  "type": "string"
                },
                "reference": {
                  "type": "string",
                  "nullable": true
                },
                "version": {
                  "type": "string",
                  "nullable": true
                },
                "release": {
                  "type": "string",
                  "nullable": true
                },
                "agency": {
                  "type": "string",
                  "nullable": true
                },
                "segmentCount": {
                  "type": "integer"
                },
                "summary": {
                  "type": "object",
                  "additionalProperties": {},
                  "description": "Type-specific semantic summary (order/invoice number, parties, line items, totals, etc.)."
                },
                "segments": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "tag": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "elements": {
                        "type": "array",
                        "items": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          ]
                        }
                      }
                    },
                    "required": [
                      "tag",
                      "name",
                      "elements"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "type",
                "typeName",
                "reference",
                "version",
                "release",
                "agency",
                "segmentCount",
                "summary",
                "segments"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "interchange": {
                "type": "object",
                "additionalProperties": {}
              },
              "delimiters": {
                "type": "object",
                "properties": {
                  "component": {
                    "type": "string"
                  },
                  "element": {
                    "type": "string"
                  },
                  "decimal": {
                    "type": "string"
                  },
                  "release": {
                    "type": "string"
                  },
                  "segment": {
                    "type": "string"
                  },
                  "unaPresent": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "component",
                  "element",
                  "decimal",
                  "release",
                  "segment",
                  "unaPresent"
                ],
                "additionalProperties": false
              },
              "messageCount": {
                "type": "integer"
              },
              "segmentCount": {
                "type": "integer"
              }
            },
            "required": [
              "interchange",
              "delimiters",
              "messageCount",
              "segmentCount"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "edi.edifact-generate",
      "group": "edi",
      "name": "edifact-generate",
      "method": "POST",
      "path": "/api/edi/edifact-generate",
      "url": "https://2s.io/api/edi/edifact-generate",
      "description": "Generate an outbound UN/EDIFACT document from JSON — the international counterpart to edi.generate (X12). POST type ('ORDERS' = purchase order or 'INVOIC' = invoice) + senderId, recipientId (with optional qualifiers), documentNumber, optional date (CCYYMMDD), parties (NAD role+name, e.g. BY buyer / SU supplier / IV invoicee), items (quantity, productId, price), and for INVOIC an optional total. Returns the full EDIFACT interchange in meta.edi — a correct UNA/UNB/UNH…UNT/UNZ envelope with BGM, DTM, NAD, LIN/QTY/PRI, MOA/CNT — with proper delimiters and release-character escaping. Deterministic, no external calls. Round-trips through edi.edifact.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "ORDERS",
              "INVOIC"
            ]
          },
          "senderId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 35
          },
          "recipientId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 35
          },
          "senderQualifier": {
            "type": "string",
            "minLength": 1,
            "maxLength": 4
          },
          "recipientQualifier": {
            "type": "string",
            "minLength": 1,
            "maxLength": 4
          },
          "documentNumber": {
            "type": "string",
            "minLength": 1,
            "maxLength": 35
          },
          "date": {
            "type": "string",
            "minLength": 6,
            "maxLength": 8
          },
          "parties": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "role": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 3
                },
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 70
                }
              },
              "required": [
                "role",
                "name"
              ],
              "additionalProperties": false
            },
            "maxItems": 20
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "quantity": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "productId": {
                  "type": "string",
                  "maxLength": 35
                },
                "price": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "idType": {
                  "type": "string",
                  "maxLength": 3
                }
              },
              "required": [
                "quantity"
              ],
              "additionalProperties": false
            },
            "minItems": 1,
            "maxItems": 1000
          },
          "total": {
            "type": "number"
          },
          "controlRef": {
            "type": "string",
            "maxLength": 14
          }
        },
        "required": [
          "type",
          "senderId",
          "recipientId",
          "documentNumber",
          "items"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "type": "ORDERS",
        "senderId": "ACME",
        "recipientId": "BUYERCORP",
        "documentNumber": "PO-99012",
        "parties": [
          {
            "role": "BY",
            "name": "Buyer Corp"
          },
          {
            "role": "SU",
            "name": "Acme Ltd"
          }
        ],
        "items": [
          {
            "quantity": 100,
            "productId": "WIDGET-A",
            "price": 9.99
          }
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "controlRef": {
                  "type": "string"
                },
                "segmentCount": {
                  "type": "integer"
                }
              },
              "required": [
                "controlRef",
                "segmentCount"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "edi": {
                "type": "string",
                "description": "The full UN/EDIFACT interchange."
              }
            },
            "required": [
              "edi"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "edi.generate",
      "group": "edi",
      "name": "generate",
      "method": "POST",
      "path": "/api/edi/generate",
      "url": "https://2s.io/api/edi/generate",
      "description": "Generate a ready-to-send ANSI ASC X12 EDI document from structured JSON. POST type ('850' Purchase Order, '810' Invoice, or '856' Ship Notice/ASN) plus senderId, receiverId, documentNumber (PO#/invoice#/shipment id), optional date, parties (N1 loops — role like ST/BT/VN + name), and items (quantity, uom, price, productId). For an 810 you can pass poNumber and total; for an 856 pass poNumber (the PO shipped). Returns the full X12 interchange in meta.edi — correct ISA/GS/ST…SE/GE/IEA envelope, party loops, PO1/IT1 line items (or the 856 HL Shipment→Order→Item hierarchy with LIN/SN1), and CTT/TDS totals (implied 2-decimal). Deterministic, no external calls. The outbound complement to edi.parse and edi.ack: assemble valid EDI envelopes instead of hand-rolling segment terminators and control numbers.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "850",
              "810",
              "856"
            ]
          },
          "senderId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 15
          },
          "receiverId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 15
          },
          "senderQualifier": {
            "type": "string",
            "maxLength": 2
          },
          "receiverQualifier": {
            "type": "string",
            "maxLength": 2
          },
          "documentNumber": {
            "type": "string",
            "minLength": 1,
            "maxLength": 60
          },
          "poNumber": {
            "type": "string",
            "maxLength": 60
          },
          "date": {
            "type": "string",
            "maxLength": 10
          },
          "parties": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "role": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 3,
                  "description": "Entity-id code (ST=ship-to, BT=bill-to, VN=vendor, SF=ship-from, …)."
                },
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 60
                },
                "idQualifier": {
                  "type": "string",
                  "maxLength": 2
                },
                "id": {
                  "type": "string",
                  "maxLength": 80
                }
              },
              "required": [
                "role",
                "name"
              ],
              "additionalProperties": false
            },
            "maxItems": 20
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "quantity": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "uom": {
                  "type": "string",
                  "maxLength": 2,
                  "description": "Unit of measure (EA, CA, …; default EA)."
                },
                "price": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "productId": {
                  "type": "string",
                  "maxLength": 48
                },
                "idQualifier": {
                  "type": "string",
                  "maxLength": 2,
                  "description": "Product id qualifier (VP, UP, BP, …; default VP)."
                }
              },
              "required": [
                "quantity"
              ],
              "additionalProperties": false
            },
            "minItems": 1,
            "maxItems": 1000
          },
          "total": {
            "type": "number",
            "description": "810 invoice total in USD."
          },
          "controlNumber": {
            "type": "string",
            "maxLength": 15
          },
          "usage": {
            "type": "string",
            "enum": [
              "P",
              "T"
            ]
          }
        },
        "required": [
          "type",
          "senderId",
          "receiverId",
          "documentNumber",
          "items"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "type": "850",
        "senderId": "ACME",
        "receiverId": "BUYERCORP",
        "documentNumber": "PO-1001",
        "parties": [
          {
            "role": "ST",
            "name": "Buyer Warehouse"
          }
        ],
        "items": [
          {
            "quantity": 100,
            "uom": "EA",
            "price": 9.99,
            "productId": "WIDGET-A"
          }
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string"
                },
                "documentNumber": {
                  "type": "string"
                },
                "lineItems": {
                  "type": "integer"
                }
              },
              "required": [
                "type",
                "documentNumber",
                "lineItems"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "edi": {
                "type": "string",
                "description": "The generated X12 interchange."
              },
              "segmentCount": {
                "type": "integer"
              },
              "controlNumber": {
                "type": "string"
              }
            },
            "required": [
              "edi",
              "segmentCount",
              "controlNumber"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "edi.parse",
      "group": "edi",
      "name": "parse",
      "method": "POST",
      "path": "/api/edi/parse",
      "url": "https://2s.io/api/edi/parse",
      "description": "Parse a raw ANSI ASC X12 EDI document (the format used for B2B purchase orders, invoices, ship notices, etc.) into clean, structured JSON. POST { edi } with the raw interchange text. Auto-detects the delimiters from the ISA envelope, then returns the interchange metadata (sender/receiver/date/control number/test-or-production), each functional group, and each transaction set with its type decoded (e.g. 850 = Purchase Order, 810 = Invoice, 856 = Ship Notice/ASN, 855 = PO Acknowledgment, 997 = Functional Acknowledgment), every segment named (BEG, N1, PO1, …), and a semantic summary — for a PO that's the PO number, dates, parties (ship-to/vendor with address), and line items (qty/uom/price/product id); for an invoice the invoice + PO numbers and total; for an ASN the shipment id and carrier; for a 997 the acknowledged group + status. Deterministic, no external calls. Turns opaque EDI into something an agent can actually use without hand-rolling an X12 parser.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "edi": {
            "type": "string",
            "minLength": 106,
            "maxLength": 500000
          }
        },
        "required": [
          "edi"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "edi": "ISA*00*          *00*          *ZZ*ACME           *ZZ*BUYERCORP      *240115*1430*U*00401*000000123*0*P*>~GS*PO*ACME*BUYERCORP*20240115*1430*123*X*004010~ST*850*0001~BEG*00*SA*PO-99012**20240115~PO1*1*100*EA*9.99**BP*WIDGET-A~CTT*1~SE*6*0001~GE*1*123~IEA*1*000000123~"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "functionalCode": {
                  "type": "string"
                },
                "functionalName": {
                  "type": "string"
                },
                "type": {
                  "type": "string"
                },
                "typeName": {
                  "type": "string"
                },
                "controlNumber": {
                  "type": "string",
                  "nullable": true
                },
                "segmentCount": {
                  "type": "integer"
                },
                "summary": {
                  "type": "object",
                  "additionalProperties": {},
                  "description": "Type-specific semantic summary (PO number, parties, line items, totals, etc.)."
                },
                "segments": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "tag": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "elements": {
                        "type": "array",
                        "items": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          ]
                        }
                      }
                    },
                    "required": [
                      "tag",
                      "name",
                      "elements"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "functionalCode",
                "functionalName",
                "type",
                "typeName",
                "controlNumber",
                "segmentCount",
                "summary",
                "segments"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "interchange": {
                "type": "object",
                "additionalProperties": {}
              },
              "delimiters": {
                "type": "object",
                "properties": {
                  "element": {
                    "type": "string"
                  },
                  "component": {
                    "type": "string"
                  },
                  "segment": {
                    "type": "string"
                  },
                  "repetition": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "element",
                  "component",
                  "segment",
                  "repetition"
                ],
                "additionalProperties": false
              },
              "functionalGroupCount": {
                "type": "integer"
              },
              "transactionSetCount": {
                "type": "integer"
              },
              "segmentCount": {
                "type": "integer"
              }
            },
            "required": [
              "interchange",
              "delimiters",
              "functionalGroupCount",
              "transactionSetCount",
              "segmentCount"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "edu.college-scorecard",
      "group": "edu",
      "name": "college-scorecard",
      "method": "GET",
      "path": "/api/edu/college-scorecard",
      "url": "https://2s.io/api/edu/college-scorecard",
      "description": "Search US colleges + universities via the Department of Education College Scorecard API. Filter by free-text name (q), OPE/IPEDS school id, state, city, zip, ownership (1=Public | 2=Private nonprofit | 3=Private for-profit), predominant degree level (0=Not classified | 1=Certificate | 2=Associate | 3=Bachelor | 4=Graduate), enrollment range. Returns a curated field set per school: identity (name, alias, URL, location), classification (Carnegie, locale, religious affiliation, minority-serving designation), latest admissions (admit rate, SAT/ACT midpoints), cost (in-state + out-of-state tuition, total cost of attendance), aid (median debt, federal-loan rate, Pell rate), completion rate, 10-year median earnings, repayment rate, lat/lon. Every accredited US institution. Use perPage + page for pagination; page is 0-indexed.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "schoolId": {
            "type": "integer",
            "minimum": 1
          },
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "pattern": "^[A-Za-z]{2}$"
          },
          "city": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80
          },
          "zip": {
            "type": "string",
            "pattern": "^\\d{5}$"
          },
          "ownership": {
            "type": "integer"
          },
          "degreePredominant": {
            "type": "integer"
          },
          "minEnrollment": {
            "type": "integer",
            "minimum": 0
          },
          "maxEnrollment": {
            "type": "integer",
            "minimum": 1
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 20
          },
          "page": {
            "type": "integer",
            "minimum": 0,
            "default": 0
          },
          "fields": {
            "type": "string",
            "maxLength": 2000
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "q": "Stanford",
        "perPage": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "page": {
            "type": "object",
            "properties": {
              "number": {
                "type": "integer"
              },
              "size": {
                "type": "integer"
              },
              "pages": {
                "type": "integer",
                "nullable": true
              }
            },
            "required": [
              "number",
              "size",
              "pages"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "edu.school-lookup",
      "group": "edu",
      "name": "school-lookup",
      "method": "GET",
      "path": "/api/edu/school-lookup",
      "url": "https://2s.io/api/edu/school-lookup",
      "description": "Look up any US public K-12 school (~102k, NCES Common Core of Data). Search by name (partial), district (LEA name, partial), state (2-letter), city, zip, or exact ncessch (12-digit NCES id). Each school: NCES id, name, district + LEA id, address, phone, lat/lon, school level (1=primary 2=middle 3=high 4=other) and type (1=regular 2=special-ed 3=vocational 4=alternative), charter/magnet/virtual flags, enrollment, teacher FTE, grade span, CCD year. Results ordered by enrollment. Higher-ed sibling: /api/edu/college-scorecard. Public-domain federal data.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          "district": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2
          },
          "city": {
            "type": "string",
            "minLength": 2,
            "maxLength": 60
          },
          "zip": {
            "type": "string",
            "pattern": "^\\d{5}$"
          },
          "ncessch": {
            "type": "string",
            "pattern": "^\\d{12}$"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 10
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "default": 0
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "name": "lincoln high",
        "state": "CA",
        "limit": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ncessch": {
                  "type": "string"
                },
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "district": {
                  "type": "string",
                  "nullable": true
                },
                "leaid": {
                  "type": "string",
                  "nullable": true
                },
                "state": {
                  "type": "string",
                  "nullable": true
                },
                "city": {
                  "type": "string",
                  "nullable": true
                },
                "street": {
                  "type": "string",
                  "nullable": true
                },
                "zip": {
                  "type": "string",
                  "nullable": true
                },
                "phone": {
                  "type": "string",
                  "nullable": true
                },
                "latitude": {
                  "type": "number",
                  "nullable": true
                },
                "longitude": {
                  "type": "number",
                  "nullable": true
                },
                "schoolLevel": {
                  "type": "number",
                  "nullable": true
                },
                "schoolType": {
                  "type": "number",
                  "nullable": true
                },
                "charter": {
                  "type": "boolean",
                  "nullable": true
                },
                "magnet": {
                  "type": "boolean",
                  "nullable": true
                },
                "virtual": {
                  "type": "boolean",
                  "nullable": true
                },
                "enrollment": {
                  "type": "number",
                  "nullable": true
                },
                "teachersFte": {
                  "type": "number",
                  "nullable": true
                },
                "lowestGrade": {
                  "type": "number",
                  "nullable": true
                },
                "highestGrade": {
                  "type": "number",
                  "nullable": true
                },
                "year": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "ncessch",
                "name",
                "district",
                "leaid",
                "state",
                "city",
                "street",
                "zip",
                "phone",
                "latitude",
                "longitude",
                "schoolLevel",
                "schoolType",
                "charter",
                "magnet",
                "virtual",
                "enrollment",
                "teachersFte",
                "lowestGrade",
                "highestGrade",
                "year"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "email.validate",
      "group": "email",
      "name": "validate",
      "method": "GET",
      "path": "/api/email/validate",
      "url": "https://2s.io/api/email/validate",
      "description": "Validate an email address and return structured signals: RFC syntax validity (isSyntaxValid + reason if not), the normalized address with split local/domain, and boolean flags for isDisposable (throwaway/temp-mail domain), isRoleAccount (info@, support@, admin@, …), and isFreeProvider (gmail/outlook/yahoo/icloud/…). With checkMx (default true) it also reports hasMxRecords — whether the domain publishes MX records, looked up live via DNS-over-HTTPS — plus the MX hosts. IMPORTANT: this is NOT a deliverability or mailbox-existence guarantee (catch-all domains, greylisting, and privacy relays make that impossible to assert from a single lookup); hasMxRecords reflects DNS MX presence only. Useful for signup-flow hygiene, lead scrubbing, and flagging disposable/role addresses before sending.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "minLength": 1,
            "maxLength": 320
          },
          "checkMx": {
            "type": "boolean"
          }
        },
        "required": [
          "email"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "email": "jane.doe@gmail.com"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "email": {
                  "type": "string"
                },
                "normalized": {
                  "type": "string",
                  "nullable": true
                },
                "local": {
                  "type": "string",
                  "nullable": true
                },
                "domain": {
                  "type": "string",
                  "nullable": true
                },
                "isSyntaxValid": {
                  "type": "boolean"
                },
                "isDisposable": {
                  "type": "boolean"
                },
                "isRoleAccount": {
                  "type": "boolean"
                },
                "isFreeProvider": {
                  "type": "boolean"
                },
                "hasMxRecords": {
                  "type": "boolean",
                  "nullable": true,
                  "description": "MX-record presence (not deliverability); null if unchecked/failed."
                },
                "mxHosts": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "reason": {
                  "type": "string",
                  "nullable": true
                },
                "note": {
                  "type": "string"
                }
              },
              "required": [
                "email",
                "normalized",
                "local",
                "domain",
                "isSyntaxValid",
                "isDisposable",
                "isRoleAccount",
                "isFreeProvider",
                "hasMxRecords",
                "mxHosts",
                "reason",
                "note"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "energy.carbon-intensity-uk",
      "group": "energy",
      "name": "carbon-intensity-uk",
      "method": "GET",
      "path": "/api/energy/carbon-intensity-uk",
      "url": "https://2s.io/api/energy/carbon-intensity-uk",
      "description": "Great Britain electricity grid carbon intensity (current half-hour) from National Grid ESO. Returns the forecast and actual carbon intensity in grams of CO2 per kWh, the qualitative index (very low / low / moderate / high / very high), and the live generation mix by fuel (gas, wind, nuclear, solar, imports, etc.). Free, CC BY / Open Government Licence. Live grid-decarbonisation signal an LLM cannot recall — for energy, sustainability, and demand-shifting agents. Complements our US energy.* set.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "inputExample": {},
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "period": {
                  "type": "object",
                  "properties": {
                    "from": {
                      "type": "string",
                      "nullable": true
                    },
                    "to": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "from",
                    "to"
                  ],
                  "additionalProperties": false
                },
                "intensity": {
                  "type": "object",
                  "properties": {
                    "forecastGCO2PerKWh": {
                      "type": "number",
                      "nullable": true
                    },
                    "actualGCO2PerKWh": {
                      "type": "number",
                      "nullable": true
                    },
                    "index": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "forecastGCO2PerKWh",
                    "actualGCO2PerKWh",
                    "index"
                  ],
                  "additionalProperties": false
                },
                "generationMix": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "fuel": {
                        "type": "string"
                      },
                      "percent": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "fuel",
                      "percent"
                    ],
                    "additionalProperties": false
                  }
                },
                "source": {
                  "type": "object",
                  "properties": {
                    "provider": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string"
                    },
                    "license": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "provider",
                    "url",
                    "license"
                  ],
                  "additionalProperties": false
                },
                "note": {
                  "type": "string"
                }
              },
              "required": [
                "period",
                "intensity",
                "generationMix",
                "source",
                "note"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "energy.electricity-rates",
      "group": "energy",
      "name": "electricity-rates",
      "method": "GET",
      "path": "/api/energy/electricity-rates",
      "url": "https://2s.io/api/energy/electricity-rates",
      "description": "Retail electricity price and sales for a US state by customer sector (residential, commercial, industrial, transportation, all), monthly, newest first, from EIA. Returns average price (cents/kWh), sales (MWh), revenue ($M), and customer count per month. Public-domain, live-wrap. More granular than energy.prices (which is the national all-sector benchmark only).",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2
          },
          "sector": {
            "type": "string",
            "enum": [
              "residential",
              "commercial",
              "industrial",
              "transportation",
              "all"
            ]
          },
          "months": {
            "type": "integer",
            "minimum": 1,
            "maximum": 120
          }
        },
        "required": [
          "state"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "state": "CA",
        "sector": "residential",
        "months": 6
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "period": {
                  "type": "string",
                  "nullable": true
                },
                "priceCentsPerKWh": {
                  "type": "number",
                  "nullable": true
                },
                "salesMWh": {
                  "type": "number",
                  "nullable": true
                },
                "revenueMillionUSD": {
                  "type": "number",
                  "nullable": true
                },
                "customers": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "period",
                "priceCentsPerKWh",
                "salesMWh",
                "revenueMillionUSD",
                "customers"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "state": {
                "type": "string"
              },
              "sector": {
                "type": "string"
              }
            },
            "required": [
              "state",
              "sector"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "energy.fuel-stations",
      "group": "energy",
      "name": "fuel-stations",
      "method": "GET",
      "path": "/api/energy/fuel-stations",
      "url": "https://2s.io/api/energy/fuel-stations",
      "description": "Locate alternative-fuel stations across the US via NREL Alternative Fuels Data Center. Search by lat/lon + radius (miles), state, or zip. Filter by fuelType (BD=Biodiesel | CNG=Compressed Natural Gas | ELEC=Electric vehicle charging | E85=Ethanol | HY=Hydrogen | LNG=Liquefied Natural Gas | LPG=Propane | RD=Renewable Diesel), status (E=Available | P=Planned | T=Temporarily Unavailable), access (public/private), and EV network. For EV chargers, returns connector types (J1772, CHAdeMO, Tesla, etc.), Level 1/2/DC-fast counts, pricing, and access hours. Indispensable for trip-planning agents, fleet logistics, EV-adoption analysis.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          },
          "radius": {
            "type": "number",
            "minimum": 0.1,
            "maximum": 500
          },
          "fuelType": {
            "type": "string"
          },
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "pattern": "^[A-Za-z]{2}$"
          },
          "zip": {
            "type": "string",
            "pattern": "^\\d{5}$"
          },
          "status": {
            "type": "string",
            "enum": [
              "all",
              "E",
              "P",
              "T"
            ]
          },
          "accessCode": {
            "type": "string",
            "enum": [
              "all",
              "public",
              "private"
            ]
          },
          "network": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200,
            "default": 25
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "lat": 37.7749,
        "lon": -122.4194,
        "radius": 10,
        "fuelType": "ELEC",
        "limit": 5
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "stationLocatorUrl": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "stationLocatorUrl"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "energy.generation-mix",
      "group": "energy",
      "name": "generation-mix",
      "method": "GET",
      "path": "/api/energy/generation-mix",
      "url": "https://2s.io/api/energy/generation-mix",
      "description": "Electricity generation mix by fuel type for a US state (2-letter) or \"US\", from EIA — the most recent monthly net generation (thousand MWh) broken out by fuel (natural gas, coal, nuclear, solar, wind, hydro, etc.) with each fuel's percent share and the all-fuels total. Public-domain, live-wrap. Use for grid carbon-intensity, decarbonization, and energy-policy reasoning. (For benchmark energy prices use energy.prices; for retail electricity rates by state/sector use energy.electricity-rates.)",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "location": {
            "type": "string",
            "minLength": 2,
            "maxLength": 3
          }
        },
        "required": [
          "location"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "location": "CA"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "location": {
                  "type": "string"
                },
                "period": {
                  "type": "string",
                  "nullable": true
                },
                "units": {
                  "type": "string"
                },
                "totalThousandMWh": {
                  "type": "number",
                  "nullable": true
                },
                "fuels": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "fuelTypeId": {
                        "type": "string"
                      },
                      "fuelType": {
                        "type": "string",
                        "nullable": true
                      },
                      "generationThousandMWh": {
                        "type": "number",
                        "nullable": true
                      },
                      "sharePct": {
                        "type": "number",
                        "nullable": true
                      }
                    },
                    "required": [
                      "fuelTypeId",
                      "fuelType",
                      "generationThousandMWh",
                      "sharePct"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "location",
                "period",
                "units",
                "totalThousandMWh",
                "fuels"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "energy.prices",
      "group": "energy",
      "name": "prices",
      "method": "GET",
      "path": "/api/energy/prices",
      "url": "https://2s.io/api/energy/prices",
      "description": "US energy benchmark prices from the EIA (Energy Information Administration) open data API. Omit series for a one-call snapshot of the latest value of every benchmark; pass series for its recent time series (newest first). Benchmarks: wti_crude / brent_crude ($/barrel), henry_hub_gas ($/MMBtu), gasoline_regular / diesel ($/gallon), electricity_retail (cents/kWh). Each observation has date, value, units, and frequency. Public-domain US government data.",
      "priceUsd": 0.00288,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "series": {
            "type": "string",
            "enum": [
              "wti_crude",
              "brent_crude",
              "henry_hub_gas",
              "gasoline_regular",
              "diesel",
              "electricity_retail"
            ],
            "description": "Optional benchmark id. Omit for a snapshot of all benchmarks. One of: wti_crude, brent_crude, henry_hub_gas, gasoline_regular, diesel, electricity_retail."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 12,
            "description": "Observations to return in single-series mode (1-100). Default 12. Ignored in snapshot mode."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "series": "wti_crude",
        "limit": 12
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "series": {
                  "type": "string"
                },
                "label": {
                  "type": "string"
                },
                "date": {
                  "type": "string",
                  "nullable": true
                },
                "value": {
                  "type": "number",
                  "nullable": true
                },
                "units": {
                  "type": "string"
                },
                "frequency": {
                  "type": "string"
                }
              },
              "required": [
                "series",
                "label",
                "date",
                "value",
                "units",
                "frequency"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "mode": {
                "type": "string",
                "enum": [
                  "snapshot",
                  "series"
                ]
              },
              "query": {
                "type": "object",
                "properties": {
                  "series": {
                    "type": "string",
                    "nullable": true
                  },
                  "limit": {
                    "type": "integer"
                  }
                },
                "required": [
                  "series",
                  "limit"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "mode",
              "query"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "energy.solar-forecast",
      "group": "energy",
      "name": "solar-forecast",
      "method": "GET",
      "path": "/api/energy/solar-forecast",
      "url": "https://2s.io/api/energy/solar-forecast",
      "description": "Solar irradiance + PV-yield forecast for any coordinate (free/keyless, global). Returns a daily 1-16 day forecast: GHI (kWh/m²), peak sun hours, sunshine hours, and estimated yield per kWp of panels (at a 0.75 performance ratio). For rooftop-solar planning, agrivoltaics, and EV-charge scheduling. Complements energy.solar-resource (NREL long-run averages, US).",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "latitude": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "longitude": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          },
          "days": {
            "type": "integer",
            "minimum": 1,
            "maximum": 16
          }
        },
        "required": [
          "latitude",
          "longitude"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "latitude": -90,
        "longitude": -180,
        "days": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "latitude": {
                  "type": "number"
                },
                "longitude": {
                  "type": "number"
                },
                "timezone": {
                  "type": "string",
                  "nullable": true
                },
                "performanceRatio": {
                  "type": "number"
                },
                "days": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "date": {
                        "type": "string"
                      },
                      "ghiKwhPerM2": {
                        "type": "number",
                        "nullable": true
                      },
                      "peakSunHours": {
                        "type": "number",
                        "nullable": true
                      },
                      "sunshineHours": {
                        "type": "number",
                        "nullable": true
                      },
                      "estYieldKwhPerKwp": {
                        "type": "number",
                        "nullable": true
                      }
                    },
                    "required": [
                      "date",
                      "ghiKwhPerM2",
                      "peakSunHours",
                      "sunshineHours",
                      "estYieldKwhPerKwp"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "latitude",
                "longitude",
                "timezone",
                "performanceRatio",
                "days"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "energy.solar-resource",
      "group": "energy",
      "name": "solar-resource",
      "method": "GET",
      "path": "/api/energy/solar-resource",
      "url": "https://2s.io/api/energy/solar-resource",
      "description": "Get average solar resource estimates for any latitude/longitude via NREL. Returns annual + monthly averages for: Direct Normal Irradiance (DNI, kWh/m²/day — solar concentrators), Global Horizontal Irradiance (GHI, kWh/m²/day — flat-plate panels), and Tilted-At-Latitude irradiance (optimal fixed-panel orientation). Sourced from NREL National Solar Radiation Database (NSRDB). Useful for rooftop solar feasibility, off-grid design, and renewable-energy modeling.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          }
        },
        "required": [
          "lat",
          "lon"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "lat": 40,
        "lon": -105
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "lat": {
                  "type": "number"
                },
                "lon": {
                  "type": "number"
                },
                "outputs": {
                  "type": "object",
                  "properties": {
                    "directNormalIrradianceKWhM2Day": {
                      "type": "object",
                      "properties": {
                        "annual": {
                          "type": "number",
                          "nullable": true
                        },
                        "monthly": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "number"
                          }
                        }
                      },
                      "required": [
                        "annual",
                        "monthly"
                      ],
                      "additionalProperties": false
                    },
                    "globalHorizontalIrradianceKWhM2Day": {
                      "type": "object",
                      "properties": {
                        "annual": {
                          "type": "number",
                          "nullable": true
                        },
                        "monthly": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "number"
                          }
                        }
                      },
                      "required": [
                        "annual",
                        "monthly"
                      ],
                      "additionalProperties": false
                    },
                    "tiltedAtLatitudeKWhM2Day": {
                      "type": "object",
                      "properties": {
                        "annual": {
                          "type": "number",
                          "nullable": true
                        },
                        "monthly": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "number"
                          }
                        }
                      },
                      "required": [
                        "annual",
                        "monthly"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "required": [
                    "directNormalIrradianceKWhM2Day",
                    "globalHorizontalIrradianceKWhM2Day",
                    "tiltedAtLatitudeKWhM2Day"
                  ],
                  "additionalProperties": false
                },
                "sources": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "warnings": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "lat",
                "lon",
                "outputs",
                "sources",
                "warnings"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "energy.utility-rates",
      "group": "energy",
      "name": "utility-rates",
      "method": "GET",
      "path": "/api/energy/utility-rates",
      "url": "https://2s.io/api/energy/utility-rates",
      "description": "Which electric utility serves a US latitude/longitude, and a summary of its published rate plans, from the OpenEI Utility Rate Database (URDB, CC0). Each plan returns the utility, rate name, customer sector, EIA utility id, fixed monthly charge, the first-tier energy rate ($/kWh), and a link to the full tariff. Use for solar/EV/storage economics, bill estimation, and \"who is my utility\" lookups. (For average state retail prices use energy.electricity-rates.)",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 25
          }
        },
        "required": [
          "lat",
          "lon"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "lat": 39.74,
        "lon": -104.99
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "lat": {
                  "type": "number"
                },
                "lon": {
                  "type": "number"
                },
                "utilities": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "plans": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "rateName": {
                        "type": "string",
                        "nullable": true
                      },
                      "utility": {
                        "type": "string",
                        "nullable": true
                      },
                      "sector": {
                        "type": "string",
                        "nullable": true
                      },
                      "eiaId": {
                        "type": "string",
                        "nullable": true
                      },
                      "fixedChargeAmount": {
                        "type": "number",
                        "nullable": true
                      },
                      "fixedChargeUnits": {
                        "type": "string",
                        "nullable": true
                      },
                      "energyRateUSDPerKWh": {
                        "type": "number",
                        "nullable": true
                      },
                      "effectiveDate": {
                        "type": "string",
                        "nullable": true
                      },
                      "uri": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "rateName",
                      "utility",
                      "sector",
                      "eiaId",
                      "fixedChargeAmount",
                      "fixedChargeUnits",
                      "energyRateUSDPerKWh",
                      "effectiveDate",
                      "uri"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "lat",
                "lon",
                "utilities",
                "plans"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "factcheck.search",
      "group": "factcheck",
      "name": "search",
      "method": "GET",
      "path": "/api/factcheck/search",
      "url": "https://2s.io/api/factcheck/search",
      "description": "Search the global corpus of published fact-checks (ClaimReview) by free-text claim. Returns matching claims with the claimant, claim date, and each fact-check review's verdict (textualRating, e.g. \"False\", \"Misleading\", \"True\"), the publisher (PolitiFact, Snopes, FactCheck.org, Reuters Fact Check, AFP, …), the review URL, and review date. Covers every topic — politics, health, science, viral and misinformation claims. Optional language, recency (maxAgeDays), and publisher-site filters. Aggregated by Google from publishers' schema.org ClaimReview data. Use it to check whether a claim has been independently fact-checked and how it was rated, rather than asserting from training data.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200,
            "description": "Free-text claim to search the fact-check corpus for."
          },
          "language": {
            "type": "string",
            "minLength": 2,
            "maxLength": 8,
            "description": "BCP-47 language code (e.g. en, es) to restrict results."
          },
          "maxAgeDays": {
            "type": "integer",
            "minimum": 1,
            "maximum": 3650,
            "description": "Only return reviews published within this many days."
          },
          "publisher": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120,
            "description": "Restrict to a publisher site (e.g. factcheck.org, politifact.com)."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Max claims to return (1–50, default 10)."
          }
        },
        "required": [
          "query"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "query": "covid vaccine microchip"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "text": {
                  "type": "string",
                  "nullable": true,
                  "description": "The claim being fact-checked."
                },
                "claimant": {
                  "type": "string",
                  "nullable": true,
                  "description": "Who made the claim."
                },
                "claimDate": {
                  "type": "string",
                  "nullable": true,
                  "description": "When the claim was made (ISO 8601)."
                },
                "reviews": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "publisher": {
                        "type": "string",
                        "nullable": true,
                        "description": "Fact-checking publisher name."
                      },
                      "publisherSite": {
                        "type": "string",
                        "nullable": true,
                        "description": "Publisher site domain."
                      },
                      "url": {
                        "type": "string",
                        "nullable": true,
                        "description": "URL of the fact-check article."
                      },
                      "title": {
                        "type": "string",
                        "nullable": true,
                        "description": "Title of the fact-check."
                      },
                      "textualRating": {
                        "type": "string",
                        "nullable": true,
                        "description": "Verdict, e.g. False / Misleading / True."
                      },
                      "reviewDate": {
                        "type": "string",
                        "nullable": true,
                        "description": "When the review was published (ISO 8601)."
                      },
                      "languageCode": {
                        "type": "string",
                        "nullable": true,
                        "description": "Language of the review."
                      }
                    },
                    "required": [
                      "publisher",
                      "publisherSite",
                      "url",
                      "title",
                      "textualRating",
                      "reviewDate",
                      "languageCode"
                    ],
                    "additionalProperties": false
                  },
                  "description": "Fact-check reviews of this claim."
                }
              },
              "required": [
                "text",
                "claimant",
                "claimDate",
                "reviews"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "string"
              },
              "count": {
                "type": "integer"
              }
            },
            "required": [
              "query",
              "count"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "feedback.send",
      "group": "feedback",
      "name": "send",
      "method": "POST",
      "path": "/api/feedback/send",
      "url": "https://2s.io/api/feedback/send",
      "description": "Send a message straight to the 2s team. POST { message } (required) plus optional subject, name, and from (your email — set as the reply-to + shown as the sender so the team can get back to you). Delivers your message by email to the 2s maintainers — use it for feedback, bug reports, endpoint requests, or to get in touch. Flat $0.10 per send; the payment keeps the channel spam-free. The recipient is fixed (the 2s team), so this is a one-way contact channel, not a general mailer. Returns { sent, id }. Trial calls are not accepted — this endpoint always requires payment.",
      "priceUsd": 0.1,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "minLength": 1,
            "maxLength": 5000,
            "description": "Message body to send to the 2s team."
          },
          "subject": {
            "type": "string",
            "maxLength": 200,
            "description": "Optional subject line."
          },
          "name": {
            "type": "string",
            "maxLength": 120,
            "description": "Optional name to attribute the message to."
          },
          "from": {
            "type": "string",
            "format": "email",
            "maxLength": 254,
            "description": "Your email — set as reply-to + shown as the sender."
          }
        },
        "required": [
          "message"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "message": "Love the API — please add a USPS address-validation endpoint.",
        "subject": "Endpoint request",
        "from": "dev@example.com"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "sent": {
                  "type": "boolean"
                },
                "id": {
                  "type": "string",
                  "description": "Provider message id."
                },
                "recipient": {
                  "type": "string",
                  "description": "Where it was delivered."
                }
              },
              "required": [
                "sent",
                "id",
                "recipient"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "finance.amortize",
      "group": "finance",
      "name": "amortize",
      "method": "GET",
      "path": "/api/finance/amortize",
      "url": "https://2s.io/api/finance/amortize",
      "description": "Compute a loan or mortgage amortization schedule. Pass principal, annualRatePct (e.g. 6.5), and the term as termMonths or termYears; optional extraMonthly adds extra principal each month (shortening the term). Returns the fixed monthly payment, total interest, total paid, the actual payoff month count, and the full month-by-month schedule (each row: payment, principal, interest, remaining balance). Handles the 0% case and trims the final payment exactly. Deterministic — the ground-truth answer for a loan/mortgage/auto-finance question instead of an LLM approximating compound interest. No external calls.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "principal": {
            "type": "number"
          },
          "annualRatePct": {
            "type": "number"
          },
          "termMonths": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1200
          },
          "termYears": {
            "type": "number",
            "exclusiveMinimum": true,
            "minimum": 0,
            "maximum": 100
          },
          "extraMonthly": {
            "type": "number",
            "minimum": 0
          }
        },
        "required": [
          "principal",
          "annualRatePct"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "principal": 300000,
        "annualRatePct": 6.5,
        "termYears": 30
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "principal": {
                  "type": "number"
                },
                "annualRatePct": {
                  "type": "number"
                },
                "termMonths": {
                  "type": "integer"
                },
                "monthlyRate": {
                  "type": "number"
                },
                "monthlyPayment": {
                  "type": "number"
                },
                "extraMonthly": {
                  "type": "number"
                },
                "payoffMonths": {
                  "type": "integer"
                },
                "totalInterest": {
                  "type": "number"
                },
                "totalPaid": {
                  "type": "number"
                },
                "schedule": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "month": {
                        "type": "integer"
                      },
                      "payment": {
                        "type": "number"
                      },
                      "principal": {
                        "type": "number"
                      },
                      "interest": {
                        "type": "number"
                      },
                      "balance": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "month",
                      "payment",
                      "principal",
                      "interest",
                      "balance"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "principal",
                "annualRatePct",
                "termMonths",
                "monthlyRate",
                "monthlyPayment",
                "extraMonthly",
                "payoffMonths",
                "totalInterest",
                "totalPaid",
                "schedule"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "finance.bank-id-resolve",
      "group": "finance",
      "name": "bank-id-resolve",
      "method": "GET",
      "path": "/api/finance/bank-id-resolve",
      "url": "https://2s.io/api/finance/bank-id-resolve",
      "description": "Resolve a bank / financial institution across identifier systems. Give exactly one of bic (SWIFT/BIC), lei, or fdic_cert and get the others back: LEI, every ISO 9362 BIC the institution registers, the FDIC institution record (when matched), jurisdiction, and a canonical name. The BIC<->LEI bridge is authoritative and live from GLEIF (the LEI record carries the institution BIC list, CC0); anchoring on an FDIC certificate returns the FDIC BankFind record and best-effort name-matches it to a GLEIF LEI (flagged via bridge). There is no free FDIC-cert<->BIC table, so the FDIC<->GLEIF link is name-match only -- per-source status + bridge make any partial resolve explicit. Sources: GLEIF (CC0) + FDIC BankFind (US public domain).",
      "priceUsd": 0.0048,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "bic": {
            "type": "string",
            "pattern": "^[A-Za-z0-9]{8}([A-Za-z0-9]{3})?$",
            "description": "ISO 9362 SWIFT/BIC, 8 or 11 chars, e.g. BOFAUS3N."
          },
          "lei": {
            "type": "string",
            "pattern": "^[A-Za-z0-9]{20}$",
            "description": "20-char LEI."
          },
          "fdic_cert": {
            "type": "string",
            "pattern": "^\\d{1,7}$",
            "description": "FDIC certificate number, e.g. 3511."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "bic": "BOFAUS3N"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "resolvedFrom": {
                  "type": "string",
                  "enum": [
                    "bic",
                    "lei",
                    "fdic_cert"
                  ]
                },
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "lei": {
                  "type": "string",
                  "nullable": true
                },
                "leiName": {
                  "type": "string",
                  "nullable": true
                },
                "jurisdiction": {
                  "type": "string",
                  "nullable": true
                },
                "bics": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "All ISO 9362 BICs GLEIF associates with the LEI."
                },
                "fdic": {
                  "type": "object",
                  "properties": {
                    "cert": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "city": {
                      "type": "string",
                      "nullable": true
                    },
                    "state": {
                      "type": "string",
                      "nullable": true
                    },
                    "active": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "cert",
                    "name",
                    "city",
                    "state",
                    "active"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                },
                "bridge": {
                  "type": "string",
                  "enum": [
                    "bic-to-lei",
                    "direct-lei",
                    "fdic-name-match",
                    "partial",
                    "none"
                  ]
                },
                "sources": {
                  "type": "object",
                  "properties": {
                    "gleif": {
                      "type": "string"
                    },
                    "fdic": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "gleif",
                    "fdic"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "resolvedFrom",
                "name",
                "lei",
                "leiName",
                "jurisdiction",
                "bics",
                "fdic",
                "bridge",
                "sources"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "finance.bin",
      "group": "finance",
      "name": "bin",
      "method": "GET",
      "path": "/api/finance/bin",
      "url": "https://2s.io/api/finance/bin",
      "description": "Identify a payment card from its BIN/IIN (Bank Identification Number — the leading 6-8 digits). Pass the BIN or the first digits of a card number and get the card brand (Visa, Mastercard, …), card type (debit/credit), category, issuing bank, and country (ISO alpha-2 + name). Longest-prefix match against an open community dataset (CC-BY). The BIN identifies the issuer/brand/country only — never the cardholder or account number. For payment routing, fraud checks, and checkout UX.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "bin": {
            "type": "string",
            "minLength": 6,
            "maxLength": 19,
            "description": "BIN/IIN or leading card digits."
          }
        },
        "required": [
          "bin"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "bin": "424242"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "query": {
                  "type": "object",
                  "properties": {
                    "input": {
                      "type": "string"
                    },
                    "matchedBin": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "input",
                    "matchedBin"
                  ],
                  "additionalProperties": false
                },
                "found": {
                  "type": "boolean"
                },
                "bin": {
                  "type": "string",
                  "nullable": true
                },
                "brand": {
                  "type": "string",
                  "nullable": true
                },
                "cardType": {
                  "type": "string",
                  "nullable": true
                },
                "category": {
                  "type": "string",
                  "nullable": true
                },
                "issuer": {
                  "type": "string",
                  "nullable": true
                },
                "countryAlpha2": {
                  "type": "string",
                  "nullable": true
                },
                "countryName": {
                  "type": "string",
                  "nullable": true
                },
                "bankUrl": {
                  "type": "string",
                  "nullable": true
                },
                "source": {
                  "type": "object",
                  "properties": {
                    "provider": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string"
                    },
                    "license": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "provider",
                    "url",
                    "license"
                  ],
                  "additionalProperties": false
                },
                "note": {
                  "type": "string"
                }
              },
              "required": [
                "query",
                "found",
                "bin",
                "brand",
                "cardType",
                "category",
                "issuer",
                "countryAlpha2",
                "countryName",
                "bankUrl",
                "source",
                "note"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "finance.central-bank-rates",
      "group": "finance",
      "name": "central-bank-rates",
      "method": "GET",
      "path": "/api/finance/central-bank-rates",
      "url": "https://2s.io/api/finance/central-bank-rates",
      "description": "Headline central-bank policy/benchmark rates side-by-side in one call, normalized: US (Fed effective funds rate), Euro area (ECB deposit facility rate), Japan (BoJ call-money benchmark), United Kingdom (SONIA, which tracks the BoE Bank Rate). Each result names the bank, country, the rate, the as-of date, the FRED series id, and a label stating exactly which instrument it is (banks don't all publish the same policy instrument). Pass bank to filter (one of: fed, ecb, boj, boe), or omit for all. Source: FRED (St. Louis Fed).",
      "priceUsd": 0.0048,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "bank": {
            "type": "string",
            "enum": [
              "fed",
              "ecb",
              "boj",
              "boe"
            ],
            "description": "Bank code to filter. One of: fed, ecb, boj, boe. Omit for all."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "bank": "ecb"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "bank": {
                  "type": "string"
                },
                "country": {
                  "type": "string"
                },
                "code": {
                  "type": "string"
                },
                "rate": {
                  "type": "number",
                  "nullable": true
                },
                "date": {
                  "type": "string",
                  "nullable": true
                },
                "seriesId": {
                  "type": "string"
                },
                "label": {
                  "type": "string"
                }
              },
              "required": [
                "bank",
                "country",
                "code",
                "rate",
                "date",
                "seriesId",
                "label"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "finance.cik-ticker",
      "group": "finance",
      "name": "cik-ticker",
      "method": "GET",
      "path": "/api/finance/cik-ticker",
      "url": "https://2s.io/api/finance/cik-ticker",
      "description": "Resolve SEC CIK <-> ticker in both directions. Pass a ticker to get its CIK; pass a CIK to get every ticker the issuer has (each share class, e.g. GOOG + GOOGL), each with its listing exchange (Nasdaq, NYSE, etc.) and the canonical company name. The CIK is the key to everything in EDGAR -- filings, XBRL facts, Form 4 insider trades, 13F holdings -- so this is the join that turns a ticker an agent has into the identifier EDGAR actually indexes by (and back). Data: SEC company_tickers_exchange.json (US public domain), cached and refreshed daily. Distinct from finance.security-resolve, which also crosses into FIGI/LEI/ISIN; this one is the focused, exchange-aware CIK<->ticker map.",
      "priceUsd": 0.0036,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "cik": {
            "type": "string",
            "minLength": 1,
            "maxLength": 13,
            "description": "SEC CIK, leading zeros optional, e.g. 320193 or 0000320193."
          },
          "ticker": {
            "type": "string",
            "minLength": 1,
            "maxLength": 12,
            "description": "US stock ticker, e.g. AAPL or GOOGL."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "ticker": "GOOGL"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "resolvedFrom": {
                  "type": "string",
                  "enum": [
                    "cik",
                    "ticker"
                  ]
                },
                "cik": {
                  "type": "string",
                  "description": "10-digit zero-padded SEC CIK."
                },
                "name": {
                  "type": "string",
                  "description": "Canonical issuer name (SEC)."
                },
                "tickers": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "ticker": {
                        "type": "string"
                      },
                      "exchange": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "ticker",
                      "exchange"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "resolvedFrom",
                "cik",
                "name",
                "tickers"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "finance.company-facts",
      "group": "finance",
      "name": "company-facts",
      "method": "GET",
      "path": "/api/finance/company-facts",
      "url": "https://2s.io/api/finance/company-facts",
      "description": "Curated XBRL financial metrics for a US public company by stock ticker. Pulls SEC EDGAR's companyfacts JSON (per-CIK XBRL filings) and extracts a top-line set of ~15 financial metrics with their most recent annual + quarterly values. Each metric returns: end date, start date (or null for balance-sheet snapshots), value, fiscal year/period, originating form (10-K/10-Q), and filed date. Available metric keys (pass any comma-separated subset via the metrics param, or omit to get all): revenue, grossProfit, operatingIncome, netIncome, eps, epsDiluted, rdExpense, totalAssets, totalLiabilities, stockholdersEquity, cash, longTermDebt, operatingCashFlow, capex, sharesOutstanding. Backed by SEC.gov; underlying data is public-domain US government records.",
      "priceUsd": 0.0048,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "minLength": 1,
            "maxLength": 10,
            "pattern": "^[A-Za-z][A-Za-z0-9.-]{0,9}$",
            "description": "US stock ticker (case-insensitive). Examples: AAPL, GOOGL, BRK.B."
          },
          "metrics": {
            "type": "string",
            "minLength": 1,
            "maxLength": 500,
            "pattern": "^[a-zA-Z]+(,[a-zA-Z]+)*$",
            "description": "Comma-separated subset of metric keys to return. Available: revenue, grossProfit, operatingIncome, netIncome, eps, epsDiluted, rdExpense, totalAssets, totalLiabilities, stockholdersEquity, cash, longTermDebt, operatingCashFlow, capex, sharesOutstanding. Omit to get all ~15."
          },
          "annualLimit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 20,
            "default": 4,
            "description": "Max annual (FY) values per metric, most recent first. Default 4, max 20."
          },
          "quarterlyLimit": {
            "type": "integer",
            "minimum": 0,
            "maximum": 20,
            "default": 4,
            "description": "Max quarterly (Q1-Q4) values per metric, most recent first. Default 4, max 20. Pass 0 to skip quarterly entirely."
          }
        },
        "required": [
          "ticker"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ticker": "AAPL",
        "metrics": "revenue,netIncome",
        "annualLimit": 2,
        "quarterlyLimit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "key": {
                  "type": "string"
                },
                "concept": {
                  "type": "string"
                },
                "label": {
                  "type": "string"
                },
                "namespace": {
                  "type": "string"
                },
                "unit": {
                  "type": "string"
                },
                "annual": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "end": {
                        "type": "string"
                      },
                      "start": {
                        "type": "string",
                        "nullable": true
                      },
                      "val": {
                        "type": "number"
                      },
                      "fiscalYear": {
                        "type": "integer"
                      },
                      "fiscalPeriod": {
                        "type": "string"
                      },
                      "form": {
                        "type": "string"
                      },
                      "filed": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "end",
                      "start",
                      "val",
                      "fiscalYear",
                      "fiscalPeriod",
                      "form",
                      "filed"
                    ],
                    "additionalProperties": false
                  }
                },
                "quarterly": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "end": {
                        "type": "string"
                      },
                      "start": {
                        "type": "string",
                        "nullable": true
                      },
                      "val": {
                        "type": "number"
                      },
                      "fiscalYear": {
                        "type": "integer"
                      },
                      "fiscalPeriod": {
                        "type": "string"
                      },
                      "form": {
                        "type": "string"
                      },
                      "filed": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "end",
                      "start",
                      "val",
                      "fiscalYear",
                      "fiscalPeriod",
                      "form",
                      "filed"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "key",
                "concept",
                "label",
                "namespace",
                "unit",
                "annual",
                "quarterly"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "ticker": {
                    "type": "string"
                  },
                  "metrics": {
                    "type": "string",
                    "nullable": true
                  },
                  "annualLimit": {
                    "type": "number"
                  },
                  "quarterlyLimit": {
                    "type": "number"
                  }
                },
                "required": [
                  "ticker",
                  "metrics",
                  "annualLimit",
                  "quarterlyLimit"
                ],
                "additionalProperties": false
              },
              "cik": {
                "type": "string"
              },
              "ticker": {
                "type": "string"
              },
              "entityName": {
                "type": "string"
              }
            },
            "required": [
              "query",
              "cik",
              "ticker",
              "entityName"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "finance.company-profile",
      "group": "finance",
      "name": "company-profile",
      "method": "GET",
      "path": "/api/finance/company-profile",
      "url": "https://2s.io/api/finance/company-profile",
      "description": "Company 360 — a US public company's SEC picture in one call by ticker. Merges three SEC sources: recent filings (10-K/10-Q/8-K and all form types, with links), curated XBRL fundamentals (revenue, net income, EPS, assets, etc. — annual + quarterly series), and recent insider transactions (Form 4 buys/sells by officers & directors). Each section reports found/error independently. Equity research, due diligence, monitoring. Pass ticker (required); optional formType filters the filings section, limit caps each list. Individual sources: /api/finance/sec-filings, /api/finance/company-facts, /api/finance/insider-trades.",
      "priceUsd": 0.00576,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "minLength": 1,
            "maxLength": 8
          },
          "formType": {
            "type": "string",
            "maxLength": 20
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "default": 10
          }
        },
        "required": [
          "ticker"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ticker": "AAPL"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string"
          },
          "filings": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "count": {
                "type": "number",
                "nullable": true
              },
              "filings": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": {}
                }
              }
            },
            "required": [
              "found",
              "error",
              "count",
              "filings"
            ],
            "additionalProperties": false
          },
          "fundamentals": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "entityName": {
                "type": "string",
                "nullable": true
              },
              "metrics": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": {}
                }
              }
            },
            "required": [
              "found",
              "error",
              "entityName",
              "metrics"
            ],
            "additionalProperties": false
          },
          "insiderTrades": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "cik": {
                "type": "string",
                "nullable": true
              },
              "count": {
                "type": "number",
                "nullable": true
              },
              "filings": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": {}
                }
              }
            },
            "required": [
              "found",
              "error",
              "cik",
              "count",
              "filings"
            ],
            "additionalProperties": false
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          }
        },
        "required": [
          "ticker",
          "filings",
          "fundamentals",
          "insiderTrades",
          "sources"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "finance.figi",
      "group": "finance",
      "name": "figi",
      "method": "GET",
      "path": "/api/finance/figi",
      "url": "https://2s.io/api/finance/figi",
      "description": "Map a security identifier to its FIGI (Financial Instrument Global Identifier) and metadata via OpenFIGI. Give an idType (ISIN, CUSIP, SEDOL, TICKER, FIGI, COMMON, WKN, CINS — or a raw OpenFIGI ID_* type) and idValue, optionally narrowed by exchCode (e.g. US, LN) or currency. Returns each matching listing with its FIGI, composite FIGI (per-country grouping), share-class FIGI (cross-country grouping), name, ticker, exchange code, security type, market sector, and description. Free, open symbology (Bloomberg OpenFIGI; FIGI is an open OMG/ANNA standard). The canonical \"what is this security and what are its identifiers across exchanges\" lookup — for trading, reference-data, and portfolio agents.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "idType": {
            "type": "string",
            "minLength": 2,
            "maxLength": 40
          },
          "idValue": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "exchCode": {
            "type": "string",
            "minLength": 1,
            "maxLength": 10
          },
          "currency": {
            "type": "string",
            "minLength": 3,
            "maxLength": 3
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          }
        },
        "required": [
          "idType",
          "idValue"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "idType": "ISIN",
        "idValue": "US0378331005"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "figi": {
                  "type": "string",
                  "nullable": true
                },
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "ticker": {
                  "type": "string",
                  "nullable": true
                },
                "exchCode": {
                  "type": "string",
                  "nullable": true
                },
                "compositeFIGI": {
                  "type": "string",
                  "nullable": true
                },
                "shareClassFIGI": {
                  "type": "string",
                  "nullable": true
                },
                "securityType": {
                  "type": "string",
                  "nullable": true
                },
                "securityType2": {
                  "type": "string",
                  "nullable": true
                },
                "marketSector": {
                  "type": "string",
                  "nullable": true
                },
                "securityDescription": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "figi",
                "name",
                "ticker",
                "exchCode",
                "compositeFIGI",
                "shareClassFIGI",
                "securityType",
                "securityType2",
                "marketSector",
                "securityDescription"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "finance.figi-search",
      "group": "finance",
      "name": "figi-search",
      "method": "GET",
      "path": "/api/finance/figi-search",
      "url": "https://2s.io/api/finance/figi-search",
      "description": "Free-text search for securities across global exchanges via OpenFIGI. Give a query (company name, ticker, description) and optionally narrow by exchCode (e.g. US), securityType, or marketSector (Equity, Corp, Govt, Mtge, Muni, Pfd, Comdty, Index, Curncy). Returns relevance-ranked matches with FIGI, composite/share-class FIGI, name, ticker, exchange, security type, market sector, and description, plus a `next` cursor for paging (pass it back as start). Free, open symbology (Bloomberg OpenFIGI). Distinct from finance.figi (exact identifier → FIGI): this is discovery by name/keyword.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "exchCode": {
            "type": "string",
            "minLength": 1,
            "maxLength": 10
          },
          "securityType": {
            "type": "string",
            "minLength": 1,
            "maxLength": 60
          },
          "marketSector": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20
          },
          "start": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          }
        },
        "required": [
          "query"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "query": "apple",
        "exchCode": "US"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "figi": {
                  "type": "string",
                  "nullable": true
                },
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "ticker": {
                  "type": "string",
                  "nullable": true
                },
                "exchCode": {
                  "type": "string",
                  "nullable": true
                },
                "compositeFIGI": {
                  "type": "string",
                  "nullable": true
                },
                "shareClassFIGI": {
                  "type": "string",
                  "nullable": true
                },
                "securityType": {
                  "type": "string",
                  "nullable": true
                },
                "securityType2": {
                  "type": "string",
                  "nullable": true
                },
                "marketSector": {
                  "type": "string",
                  "nullable": true
                },
                "securityDescription": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "figi",
                "name",
                "ticker",
                "exchCode",
                "compositeFIGI",
                "shareClassFIGI",
                "securityType",
                "securityType2",
                "marketSector",
                "securityDescription"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "finance.form-144",
      "group": "finance",
      "name": "form-144",
      "method": "GET",
      "path": "/api/finance/form-144",
      "url": "https://2s.io/api/finance/form-144",
      "description": "SEC Form 144 filings — notices of PROPOSED insider stock sales (intent to sell restricted/control shares), newest first, via EDGAR full-text search. Market-wide by default, or filter by ticker/company/keyword (q). Each: filer + issuer names, filing date, accession, CIKs, and a filing URL. The heads-up before a Form 4 confirms the sale. Complements finance.insider-trades.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "maxLength": 120,
            "description": "Optional ticker/company/keyword filter, e.g. NVDA or \"Shopify\"."
          },
          "startDate": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "endDate": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "q": "example",
        "startDate": "2024-01-01",
        "endDate": "2024-01-01",
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "names": {
                  "type": "array",
                  "items": {}
                },
                "fileDate": {
                  "nullable": true
                },
                "form": {},
                "accession": {
                  "type": "string",
                  "nullable": true
                },
                "ciks": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "url": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "names",
                "accession",
                "ciks",
                "url"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "total": {
                "type": "number"
              }
            },
            "required": [
              "total"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "finance.ifsc-india",
      "group": "finance",
      "name": "ifsc-india",
      "method": "GET",
      "path": "/api/finance/ifsc-india",
      "url": "https://2s.io/api/finance/ifsc-india",
      "description": "Indian bank branch lookup by IFSC code (the 11-character Indian Financial System Code identifying a bank branch). Returns the bank name and code, branch, centre, district, state, city, full address, contact number, MICR code, and which payment rails the branch supports (IMPS, RTGS, NEFT, UPI). Free, open data (Razorpay / RBI directory). Deterministic bank-branch reference for payments, remittance, and KYC validation in India.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ifsc": {
            "type": "string",
            "minLength": 11,
            "maxLength": 11,
            "description": "11-character IFSC code."
          }
        },
        "required": [
          "ifsc"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ifsc": "HDFC0000001"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ifsc": {
                  "type": "string",
                  "nullable": true
                },
                "bank": {
                  "type": "string",
                  "nullable": true
                },
                "bankCode": {
                  "type": "string",
                  "nullable": true
                },
                "branch": {
                  "type": "string",
                  "nullable": true
                },
                "centre": {
                  "type": "string",
                  "nullable": true
                },
                "district": {
                  "type": "string",
                  "nullable": true
                },
                "state": {
                  "type": "string",
                  "nullable": true
                },
                "city": {
                  "type": "string",
                  "nullable": true
                },
                "address": {
                  "type": "string",
                  "nullable": true
                },
                "contact": {
                  "type": "string",
                  "nullable": true
                },
                "micr": {
                  "type": "string",
                  "nullable": true
                },
                "imps": {
                  "type": "boolean",
                  "nullable": true
                },
                "rtgs": {
                  "type": "boolean",
                  "nullable": true
                },
                "neft": {
                  "type": "boolean",
                  "nullable": true
                },
                "upi": {
                  "type": "boolean",
                  "nullable": true
                }
              },
              "required": [
                "ifsc",
                "bank",
                "bankCode",
                "branch",
                "centre",
                "district",
                "state",
                "city",
                "address",
                "contact",
                "micr",
                "imps",
                "rtgs",
                "neft",
                "upi"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "finance.insider-trades",
      "group": "finance",
      "name": "insider-trades",
      "method": "GET",
      "path": "/api/finance/insider-trades",
      "url": "https://2s.io/api/finance/insider-trades",
      "description": "Recent SEC Form 4 insider transactions for a US public company by ticker. Returns parsed transactions: insider name + relationship (director, officer/title, 10%+ owner), transaction date, SEC code (P=purchase, S=sale, A=grant, D=disposition, M=exercise, F=tax-withholding, G=gift), security title, shares, price/share, total USD value, post-transaction balance, direct vs indirect ownership. Each filing pulled separately and parsed from raw XML — bounded by limit (1-10, default 5). Backed by SEC.gov; underlying Form 4 filings are public records. For insider trades + filings + fundamentals merged by ticker in one call, see /api/finance/company-profile.",
      "priceUsd": 0.0072,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "minLength": 1,
            "maxLength": 10,
            "pattern": "^[A-Za-z][A-Za-z0-9.-]{0,9}$",
            "description": "US stock ticker (case-insensitive). Examples: AAPL, GOOGL, TSLA."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "default": 5,
            "description": "Max Form 4 filings to fetch + parse (1-10). Each is an extra upstream call so we bound this tight. Default 5."
          }
        },
        "required": [
          "ticker"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ticker": "AAPL",
        "limit": 5
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "accessionNumber": {
                  "type": "string"
                },
                "filingDate": {
                  "type": "string"
                },
                "periodOfReport": {
                  "type": "string",
                  "nullable": true
                },
                "formXmlUrl": {
                  "type": "string",
                  "format": "uri"
                },
                "documentUrl": {
                  "type": "string",
                  "format": "uri"
                },
                "reportingOwner": {
                  "type": "object",
                  "properties": {
                    "cik": {
                      "type": "string",
                      "nullable": true
                    },
                    "name": {
                      "type": "string"
                    },
                    "isDirector": {
                      "type": "boolean"
                    },
                    "isOfficer": {
                      "type": "boolean"
                    },
                    "officerTitle": {
                      "type": "string",
                      "nullable": true
                    },
                    "isTenPercentOwner": {
                      "type": "boolean"
                    },
                    "isOther": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "cik",
                    "name",
                    "isDirector",
                    "isOfficer",
                    "officerTitle",
                    "isTenPercentOwner",
                    "isOther"
                  ],
                  "additionalProperties": false
                },
                "transactions": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "securityTitle": {
                        "type": "string"
                      },
                      "transactionDate": {
                        "type": "string",
                        "nullable": true
                      },
                      "code": {
                        "type": "string",
                        "nullable": true
                      },
                      "acquiredOrDisposed": {
                        "type": "string",
                        "enum": [
                          "A",
                          "D"
                        ],
                        "nullable": true
                      },
                      "shares": {
                        "type": "number",
                        "nullable": true
                      },
                      "pricePerShare": {
                        "type": "number",
                        "nullable": true
                      },
                      "totalValueUsd": {
                        "type": "number",
                        "nullable": true
                      },
                      "sharesOwnedFollowing": {
                        "type": "number",
                        "nullable": true
                      },
                      "ownership": {
                        "type": "string",
                        "enum": [
                          "D",
                          "I"
                        ],
                        "nullable": true
                      },
                      "isDerivative": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "securityTitle",
                      "transactionDate",
                      "code",
                      "acquiredOrDisposed",
                      "shares",
                      "pricePerShare",
                      "totalValueUsd",
                      "sharesOwnedFollowing",
                      "ownership",
                      "isDerivative"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "accessionNumber",
                "filingDate",
                "periodOfReport",
                "formXmlUrl",
                "documentUrl",
                "reportingOwner",
                "transactions"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "ticker": {
                    "type": "string"
                  },
                  "limit": {
                    "type": "number"
                  }
                },
                "required": [
                  "ticker",
                  "limit"
                ],
                "additionalProperties": false
              },
              "cik": {
                "type": "string"
              },
              "ticker": {
                "type": "string"
              },
              "issuerName": {
                "type": "string"
              }
            },
            "required": [
              "query",
              "cik",
              "ticker",
              "issuerName"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "finance.mortgage-pulse",
      "group": "finance",
      "name": "mortgage-pulse",
      "method": "GET",
      "path": "/api/finance/mortgage-pulse",
      "url": "https://2s.io/api/finance/mortgage-pulse",
      "description": "Packaged US mortgage & housing-rate snapshot in one call: latest 30-year and 15-year fixed mortgage rates, the 10-year Treasury yield (which mortgage rates track), the effective federal funds rate, the median sales price of houses sold, and housing starts. Each metric carries its value, the date it is as-of, a unit, and a plain-English label. Metrics: mortgage30yr, mortgage15yr, treasury10yr, fedFunds, medianSalePrice, housingStarts. No parameters. Source: FRED (St. Louis Fed) — series MORTGAGE30US, MORTGAGE15US, DGS10, FEDFUNDS, MSPUS, HOUST.",
      "priceUsd": 0.0048,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "inputExample": {},
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "asOf": {
                  "type": "string",
                  "nullable": true
                },
                "metrics": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "metric": {
                        "type": "string"
                      },
                      "seriesId": {
                        "type": "string"
                      },
                      "label": {
                        "type": "string"
                      },
                      "unit": {
                        "type": "string"
                      },
                      "value": {
                        "type": "number",
                        "nullable": true
                      },
                      "date": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "metric",
                      "seriesId",
                      "label",
                      "unit",
                      "value",
                      "date"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "asOf",
                "metrics"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "finance.sec-filings",
      "group": "finance",
      "name": "sec-filings",
      "method": "GET",
      "path": "/api/finance/sec-filings",
      "url": "https://2s.io/api/finance/sec-filings",
      "description": "Recent SEC EDGAR filings for a US publicly-traded company by stock ticker. Resolves ticker → CIK via SEC's company_tickers.json, then fetches the company's submissions index from data.sec.gov. Returns company metadata (name, CIK, SIC industry classification, exchanges, fiscal year-end, state of incorporation) plus filings with form type, filing date, report date, accession number, primary-document URL, and filing-index URL. Filter to one form type (10-K, 10-Q, 8-K, 4, 13F-HR, SC 13G, S-1, etc.) via formType param. Default 20 results, max 100. Backed by SEC.gov; underlying filings are public-domain US government records. For filings + fundamentals + insider trades merged by ticker in one call, see /api/finance/company-profile.",
      "priceUsd": 0.0036,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "minLength": 1,
            "maxLength": 10,
            "pattern": "^[A-Za-z][A-Za-z0-9.-]{0,9}$",
            "description": "Stock ticker symbol (case-insensitive). Examples: AAPL, GOOGL, BRK.B, JNJ."
          },
          "formType": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20,
            "pattern": "^[A-Za-z0-9./-]+$",
            "description": "Optional filter to a single SEC form type, e.g., \"10-K\", \"10-Q\", \"8-K\", \"13F-HR\", \"4\", \"S-1\", \"SC 13G\"."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 20,
            "description": "Max filings to return (1-100). Default 20."
          }
        },
        "required": [
          "ticker"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ticker": "AAPL",
        "formType": "10-Q",
        "limit": 5
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "accessionNumber": {
                  "type": "string"
                },
                "form": {
                  "type": "string"
                },
                "filingDate": {
                  "type": "string"
                },
                "reportDate": {
                  "type": "string",
                  "nullable": true
                },
                "acceptanceDateTime": {
                  "type": "string",
                  "nullable": true
                },
                "primaryDocument": {
                  "type": "string"
                },
                "documentUrl": {
                  "type": "string",
                  "format": "uri"
                },
                "filingIndexUrl": {
                  "type": "string",
                  "format": "uri"
                },
                "isXBRL": {
                  "type": "boolean"
                },
                "size": {
                  "type": "integer"
                }
              },
              "required": [
                "accessionNumber",
                "form",
                "filingDate",
                "reportDate",
                "acceptanceDateTime",
                "primaryDocument",
                "documentUrl",
                "filingIndexUrl",
                "isXBRL",
                "size"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "ticker": {
                    "type": "string"
                  },
                  "formType": {
                    "type": "string",
                    "nullable": true
                  },
                  "limit": {
                    "type": "number"
                  }
                },
                "required": [
                  "ticker",
                  "formType",
                  "limit"
                ],
                "additionalProperties": false
              },
              "company": {
                "type": "object",
                "properties": {
                  "cik": {
                    "type": "string"
                  },
                  "ticker": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "sicDescription": {
                    "type": "string",
                    "nullable": true
                  },
                  "exchanges": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "fiscalYearEnd": {
                    "type": "string",
                    "nullable": true
                  },
                  "stateOfIncorporation": {
                    "type": "string",
                    "nullable": true
                  },
                  "category": {
                    "type": "string",
                    "nullable": true
                  },
                  "website": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "cik",
                  "ticker",
                  "name",
                  "sicDescription",
                  "exchanges",
                  "fiscalYearEnd",
                  "stateOfIncorporation",
                  "category",
                  "website"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "query",
              "company"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "finance.security-resolve",
      "group": "finance",
      "name": "security-resolve",
      "method": "GET",
      "path": "/api/finance/security-resolve",
      "url": "https://2s.io/api/finance/security-resolve",
      "description": "Universal security-identifier resolver. Give exactly one of ticker, isin, or lei and get the others back — ticker, SEC CIK, FIGI (incl. composite + share-class), LEI, and ISINs — plus the canonical issuer name. The one call that joins a security across the systems agents actually use: CIK for filings, FIGI for trading, LEI for the legal entity, ISIN for settlement. Composes SEC EDGAR, OpenFIGI, and GLEIF (CC0). Per-source status is returned, so a partial match is explicit rather than silently wrong. Note: CUSIP/SEDOL are accepted by sibling /finance/figi as inputs but never emitted here (licensed); ISINs come from GLEIF CC0 data.",
      "priceUsd": 0.0048,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "minLength": 1,
            "maxLength": 12,
            "description": "US stock ticker, e.g. AAPL."
          },
          "isin": {
            "type": "string",
            "pattern": "^[A-Za-z0-9]{12}$",
            "description": "ISIN, e.g. US0378331005."
          },
          "lei": {
            "type": "string",
            "pattern": "^[A-Za-z0-9]{20}$",
            "description": "20-char LEI."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "ticker": "AAPL"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "resolvedFrom": {
                  "type": "string",
                  "enum": [
                    "ticker",
                    "isin",
                    "lei"
                  ]
                },
                "ticker": {
                  "type": "string",
                  "nullable": true
                },
                "cik": {
                  "type": "string",
                  "nullable": true,
                  "description": "10-digit zero-padded SEC CIK."
                },
                "name": {
                  "type": "string",
                  "nullable": true,
                  "description": "Canonical issuer name."
                },
                "figi": {
                  "type": "object",
                  "properties": {
                    "figi": {
                      "type": "string",
                      "nullable": true
                    },
                    "compositeFIGI": {
                      "type": "string",
                      "nullable": true
                    },
                    "shareClassFIGI": {
                      "type": "string",
                      "nullable": true
                    },
                    "exchCode": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "figi",
                    "compositeFIGI",
                    "shareClassFIGI",
                    "exchCode"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                },
                "lei": {
                  "type": "string",
                  "nullable": true
                },
                "leiName": {
                  "type": "string",
                  "nullable": true
                },
                "leiResolvedBy": {
                  "type": "string",
                  "enum": [
                    "isin",
                    "name-match",
                    "direct"
                  ],
                  "nullable": true,
                  "description": "How the LEI was resolved; name-match is best-effort, verify leiName."
                },
                "isins": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "sources": {
                  "type": "object",
                  "properties": {
                    "sec": {
                      "type": "string"
                    },
                    "figi": {
                      "type": "string"
                    },
                    "gleif": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "sec",
                    "figi",
                    "gleif"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "resolvedFrom",
                "ticker",
                "cik",
                "name",
                "figi",
                "lei",
                "leiName",
                "leiResolvedBy",
                "isins",
                "sources"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "finance.thirteen-f",
      "group": "finance",
      "name": "thirteen-f",
      "method": "GET",
      "path": "/api/finance/thirteen-f",
      "url": "https://2s.io/api/finance/thirteen-f",
      "description": "Parsed institutional holdings from a 13F-HR filing. By investment-manager CIK (e.g. 1067983 = Berkshire Hathaway). Returns each holding's nameOfIssuer, cusip, market value (whole USD per the modern Form 13F convention), shares/principal amount + type, putCall flag for options, and voting authority (sole/shared/none). Sorted by value descending. Pass formType for amendments (13F-HR/A) or non-filings (13F-NT). Backed by SEC.gov; underlying 13F filings are public records.",
      "priceUsd": 0.0072,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "managerCik": {
            "type": "string",
            "minLength": 1,
            "maxLength": 10,
            "pattern": "^\\d+$",
            "description": "Investment manager's CIK (numeric). Berkshire Hathaway=1067983, Renaissance=1037389, Bridgewater=1350694, Vanguard=102909, BlackRock=1364742."
          },
          "formType": {
            "type": "string",
            "minLength": 3,
            "maxLength": 20,
            "pattern": "^13F-[A-Z/]{2,10}$",
            "default": "13F-HR",
            "description": "13F filing variant. Default 13F-HR (original report). Use 13F-HR/A for amendments, 13F-NT for notice of non-filings."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200,
            "default": 25,
            "description": "Max holdings to return, sorted by value descending. (1-200). Default 25."
          }
        },
        "required": [
          "managerCik"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "managerCik": "1067983",
        "limit": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "nameOfIssuer": {
                  "type": "string"
                },
                "titleOfClass": {
                  "type": "string",
                  "nullable": true
                },
                "cusip": {
                  "type": "string"
                },
                "valueUsd": {
                  "type": "number"
                },
                "sharesOrPrinAmt": {
                  "type": "number",
                  "nullable": true
                },
                "sharesOrPrinAmtType": {
                  "type": "string",
                  "enum": [
                    "SH",
                    "PRN"
                  ],
                  "nullable": true
                },
                "investmentDiscretion": {
                  "type": "string",
                  "nullable": true
                },
                "putCall": {
                  "type": "string",
                  "enum": [
                    "PUT",
                    "CALL"
                  ],
                  "nullable": true
                },
                "votingAuthority": {
                  "type": "object",
                  "properties": {
                    "sole": {
                      "type": "number",
                      "nullable": true
                    },
                    "shared": {
                      "type": "number",
                      "nullable": true
                    },
                    "none": {
                      "type": "number",
                      "nullable": true
                    }
                  },
                  "required": [
                    "sole",
                    "shared",
                    "none"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "nameOfIssuer",
                "titleOfClass",
                "cusip",
                "valueUsd",
                "sharesOrPrinAmt",
                "sharesOrPrinAmtType",
                "investmentDiscretion",
                "putCall",
                "votingAuthority"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "managerCik": {
                    "type": "string"
                  },
                  "formType": {
                    "type": "string"
                  },
                  "limit": {
                    "type": "number"
                  }
                },
                "required": [
                  "managerCik",
                  "formType",
                  "limit"
                ],
                "additionalProperties": false
              },
              "cik": {
                "type": "string"
              },
              "managerName": {
                "type": "string"
              },
              "filing": {
                "type": "object",
                "properties": {
                  "accessionNumber": {
                    "type": "string"
                  },
                  "form": {
                    "type": "string"
                  },
                  "filingDate": {
                    "type": "string"
                  },
                  "periodOfReport": {
                    "type": "string",
                    "nullable": true
                  },
                  "infoTableUrl": {
                    "type": "string",
                    "format": "uri"
                  },
                  "documentUrl": {
                    "type": "string",
                    "format": "uri"
                  }
                },
                "required": [
                  "accessionNumber",
                  "form",
                  "filingDate",
                  "periodOfReport",
                  "infoTableUrl",
                  "documentUrl"
                ],
                "additionalProperties": false
              },
              "totalValueUsd": {
                "type": "number"
              }
            },
            "required": [
              "query",
              "cik",
              "managerName",
              "filing",
              "totalValueUsd"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "finance.xbrl-frames",
      "group": "finance",
      "name": "xbrl-frames",
      "method": "GET",
      "path": "/api/finance/xbrl-frames",
      "url": "https://2s.io/api/finance/xbrl-frames",
      "description": "SEC EDGAR XBRL Frames — one financial concept reported by every public filer for a single period, for cross-company screening and comparison. Give an XBRL tag (e.g. Revenues, NetIncomeLoss, Assets), a unit (default USD), and a period (CY2023 for annual, CY2023Q1 for a quarter, CY2023Q4I for instant balance-sheet items), and get back every filer's value — company name, CIK, location, period start/end, and the reported value — sorted high to low (or asc). Returns the total filer count and the top N. Free, public-domain (SEC). Distinct from finance.company-facts (one company, many metrics): this is one metric across all companies. For ranking, peer comparison, and market-wide analysis.",
      "priceUsd": 0.00216,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "tag": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80
          },
          "period": {
            "type": "string",
            "pattern": "^CY\\d{4}(Q[1-4]I?)?$"
          },
          "unit": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20
          },
          "taxonomy": {
            "type": "string",
            "minLength": 2,
            "maxLength": 20
          },
          "sort": {
            "type": "string",
            "enum": [
              "desc",
              "asc"
            ]
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          }
        },
        "required": [
          "tag",
          "period"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "tag": "Revenues",
        "period": "CY2023"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "cik": {
                  "type": "number"
                },
                "entityName": {
                  "type": "string",
                  "nullable": true
                },
                "location": {
                  "type": "string",
                  "nullable": true
                },
                "start": {
                  "type": "string",
                  "nullable": true
                },
                "end": {
                  "type": "string",
                  "nullable": true
                },
                "value": {
                  "type": "number"
                },
                "accession": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "cik",
                "entityName",
                "location",
                "start",
                "end",
                "value",
                "accession"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "flight.airport-board",
      "group": "flight",
      "name": "airport-board",
      "method": "GET",
      "path": "/api/flight/airport-board",
      "url": "https://2s.io/api/flight/airport-board",
      "description": "Live airport activity board. For an airport (ICAO like KSFO or IATA like SFO), returns recent/upcoming departures or arrivals — flight ident, registration, aircraft type, origin/destination airports, status, scheduled/estimated/actual gate times, gate and terminal. Choose the board with type. Real-time operational data for an airport; complements flight.status (single flight) and flight.route-schedule.",
      "priceUsd": 0.018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "airport": {
            "type": "string",
            "minLength": 3,
            "maxLength": 4,
            "pattern": "^[A-Za-z0-9]+$",
            "description": "Airport code, ICAO (KSFO) or IATA (SFO)."
          },
          "type": {
            "type": "string",
            "enum": [
              "departures",
              "arrivals",
              "scheduled_departures",
              "scheduled_arrivals"
            ],
            "description": "Default departures."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 30,
            "default": 15
          }
        },
        "required": [
          "airport"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "airport": "xxx",
        "type": "departures",
        "limit": 15
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ident": {
                  "type": "string",
                  "nullable": true
                },
                "identIata": {
                  "type": "string",
                  "nullable": true
                },
                "registration": {
                  "type": "string",
                  "nullable": true
                },
                "aircraftType": {
                  "type": "string",
                  "nullable": true
                },
                "origin": {
                  "type": "object",
                  "properties": {
                    "icao": {
                      "type": "string",
                      "nullable": true
                    },
                    "iata": {
                      "type": "string",
                      "nullable": true
                    },
                    "name": {
                      "type": "string",
                      "nullable": true
                    },
                    "city": {
                      "type": "string",
                      "nullable": true
                    },
                    "timezone": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "icao",
                    "iata",
                    "name",
                    "city",
                    "timezone"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                },
                "destination": {
                  "type": "object",
                  "properties": {
                    "icao": {
                      "type": "string",
                      "nullable": true
                    },
                    "iata": {
                      "type": "string",
                      "nullable": true
                    },
                    "name": {
                      "type": "string",
                      "nullable": true
                    },
                    "city": {
                      "type": "string",
                      "nullable": true
                    },
                    "timezone": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "icao",
                    "iata",
                    "name",
                    "city",
                    "timezone"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                },
                "status": {
                  "type": "string",
                  "nullable": true
                },
                "scheduledOut": {
                  "type": "string",
                  "nullable": true
                },
                "estimatedOut": {
                  "type": "string",
                  "nullable": true
                },
                "actualOut": {
                  "type": "string",
                  "nullable": true
                },
                "scheduledIn": {
                  "type": "string",
                  "nullable": true
                },
                "estimatedIn": {
                  "type": "string",
                  "nullable": true
                },
                "actualIn": {
                  "type": "string",
                  "nullable": true
                },
                "gateOrigin": {
                  "type": "string",
                  "nullable": true
                },
                "gateDestination": {
                  "type": "string",
                  "nullable": true
                },
                "terminalOrigin": {
                  "type": "string",
                  "nullable": true
                },
                "terminalDestination": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "ident",
                "identIata",
                "registration",
                "aircraftType",
                "origin",
                "destination",
                "status",
                "scheduledOut",
                "estimatedOut",
                "actualOut",
                "scheduledIn",
                "estimatedIn",
                "actualIn",
                "gateOrigin",
                "gateDestination",
                "terminalOrigin",
                "terminalDestination"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "airport": {
                "type": "string"
              },
              "type": {
                "type": "string"
              }
            },
            "required": [
              "airport",
              "type"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "flight.route-schedule",
      "group": "flight",
      "name": "route-schedule",
      "method": "GET",
      "path": "/api/flight/route-schedule",
      "url": "https://2s.io/api/flight/route-schedule",
      "description": "Scheduled flights between two airports over a date window. Pass origin and destination (ICAO or IATA) plus startDate/endDate; returns scheduled flights with ident, operator, aircraft type, origin/destination, and scheduled departure/arrival times. Answers 'what flights run SFO→JFK this week'. Complements flight.status and flight.airport-board.",
      "priceUsd": 0.018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "origin": {
            "type": "string",
            "minLength": 3,
            "maxLength": 4,
            "pattern": "^[A-Za-z0-9]+$",
            "description": "Origin airport, ICAO or IATA."
          },
          "destination": {
            "type": "string",
            "minLength": 3,
            "maxLength": 4,
            "pattern": "^[A-Za-z0-9]+$",
            "description": "Destination airport, ICAO or IATA."
          },
          "startDate": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Window start (YYYY-MM-DD)."
          },
          "endDate": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Window end (YYYY-MM-DD), <= 7 days after start."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 30,
            "default": 15
          }
        },
        "required": [
          "origin",
          "destination",
          "startDate",
          "endDate"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "origin": "xxx",
        "destination": "xxx",
        "startDate": "2024-01-01",
        "endDate": "2024-01-01",
        "limit": 15
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ident": {
                  "type": "string",
                  "nullable": true
                },
                "identIata": {
                  "type": "string",
                  "nullable": true
                },
                "operator": {
                  "type": "string",
                  "nullable": true
                },
                "aircraftType": {
                  "type": "string",
                  "nullable": true
                },
                "origin": {
                  "type": "string",
                  "nullable": true
                },
                "originIata": {
                  "type": "string",
                  "nullable": true
                },
                "destination": {
                  "type": "string",
                  "nullable": true
                },
                "destinationIata": {
                  "type": "string",
                  "nullable": true
                },
                "scheduledOut": {
                  "type": "string",
                  "nullable": true
                },
                "scheduledIn": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "ident",
                "identIata",
                "operator",
                "aircraftType",
                "origin",
                "originIata",
                "destination",
                "destinationIata",
                "scheduledOut",
                "scheduledIn"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "origin": {
                "type": "string"
              },
              "destination": {
                "type": "string"
              }
            },
            "required": [
              "origin",
              "destination"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "flight.status",
      "group": "flight",
      "name": "status",
      "method": "GET",
      "path": "/api/flight/status",
      "url": "https://2s.io/api/flight/status",
      "description": "Live flight status and tracking. Pass ident as an airline flight designator (ICAO \"UAL1\" or IATA \"UA1\") or an aircraft tail number; returns recent and upcoming instances of that flight with origin/destination airports (ICAO/IATA/name/city/timezone), status, cancellation/diversion flags, scheduled vs estimated vs actual gate and runway times (out/off/on/in), departure and arrival delays, en-route progress percent, aircraft type and registration, and route distance. limit controls how many instances return (default 5, newest first by scheduled departure). Real-time operational data — answer \"where is this flight, is it delayed, when does it land\" with live values. For aircraft registry data see /api/aircraft/lookup; for airport metadata see /api/airport/lookup.",
      "priceUsd": 0.018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ident": {
            "type": "string",
            "minLength": 2,
            "maxLength": 12,
            "pattern": "^[A-Za-z0-9-]+$",
            "description": "Flight designator (ICAO UAL1 or IATA UA1) or aircraft tail number."
          },
          "identType": {
            "type": "string",
            "enum": [
              "designator",
              "registration",
              "fa_flight_id"
            ]
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 15,
            "default": 5
          }
        },
        "required": [
          "ident"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ident": "UA1",
        "limit": 2
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ident": {
                  "type": "string"
                },
                "identIata": {
                  "type": "string",
                  "nullable": true
                },
                "operator": {
                  "type": "string",
                  "nullable": true
                },
                "flightNumber": {
                  "type": "string",
                  "nullable": true
                },
                "registration": {
                  "type": "string",
                  "nullable": true
                },
                "aircraftType": {
                  "type": "string",
                  "nullable": true
                },
                "origin": {
                  "type": "object",
                  "properties": {
                    "icao": {
                      "type": "string",
                      "nullable": true
                    },
                    "iata": {
                      "type": "string",
                      "nullable": true
                    },
                    "name": {
                      "type": "string",
                      "nullable": true
                    },
                    "city": {
                      "type": "string",
                      "nullable": true
                    },
                    "timezone": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "icao",
                    "iata",
                    "name",
                    "city",
                    "timezone"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                },
                "destination": {
                  "type": "object",
                  "properties": {
                    "icao": {
                      "type": "string",
                      "nullable": true
                    },
                    "iata": {
                      "type": "string",
                      "nullable": true
                    },
                    "name": {
                      "type": "string",
                      "nullable": true
                    },
                    "city": {
                      "type": "string",
                      "nullable": true
                    },
                    "timezone": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "icao",
                    "iata",
                    "name",
                    "city",
                    "timezone"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                },
                "status": {
                  "type": "string",
                  "nullable": true
                },
                "cancelled": {
                  "type": "boolean"
                },
                "diverted": {
                  "type": "boolean"
                },
                "scheduledOut": {
                  "type": "string",
                  "nullable": true
                },
                "estimatedOut": {
                  "type": "string",
                  "nullable": true
                },
                "actualOut": {
                  "type": "string",
                  "nullable": true
                },
                "actualOff": {
                  "type": "string",
                  "nullable": true,
                  "description": "Actual takeoff time."
                },
                "actualOn": {
                  "type": "string",
                  "nullable": true,
                  "description": "Actual landing time."
                },
                "scheduledIn": {
                  "type": "string",
                  "nullable": true
                },
                "estimatedIn": {
                  "type": "string",
                  "nullable": true
                },
                "actualIn": {
                  "type": "string",
                  "nullable": true
                },
                "progressPercent": {
                  "type": "number",
                  "nullable": true
                },
                "departureDelaySec": {
                  "type": "number",
                  "nullable": true
                },
                "arrivalDelaySec": {
                  "type": "number",
                  "nullable": true,
                  "description": "Negative = early."
                },
                "routeDistanceKm": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "ident",
                "identIata",
                "operator",
                "flightNumber",
                "registration",
                "aircraftType",
                "origin",
                "destination",
                "status",
                "cancelled",
                "diverted",
                "scheduledOut",
                "estimatedOut",
                "actualOut",
                "actualOff",
                "actualOn",
                "scheduledIn",
                "estimatedIn",
                "actualIn",
                "progressPercent",
                "departureDelaySec",
                "arrivalDelaySec",
                "routeDistanceKm"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "ident": {
                "type": "string",
                "description": "Normalized (uppercased) ident that was queried."
              }
            },
            "required": [
              "ident"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "food.barcode-lookup",
      "group": "food",
      "name": "barcode-lookup",
      "method": "GET",
      "path": "/api/food/barcode-lookup",
      "url": "https://2s.io/api/food/barcode-lookup",
      "description": "Resolve a food product barcode (UPC, EAN-13, EAN-8, etc.) to structured product metadata via Open Food Facts — the CC0 community-maintained database of >3M food products. Returns product name, brand, ingredient list, allergens, nutriments (per-100g + per-serving), Nutri-Score grade (a-e), NOVA processing classification (1-4), Eco-Score, categories, manufacturing origin, packaging, and product image URLs.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "barcode": {
            "type": "string",
            "pattern": "^[0-9]{6,14}$"
          }
        },
        "required": [
          "barcode"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "barcode": "3017624010701"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "barcode": {
                  "type": "string"
                },
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "brands": {
                  "type": "string",
                  "nullable": true
                },
                "categories": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "quantity": {
                  "type": "string",
                  "nullable": true
                },
                "servingSize": {
                  "type": "string",
                  "nullable": true
                },
                "ingredientsText": {
                  "type": "string",
                  "nullable": true
                },
                "allergens": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "imageUrl": {
                  "type": "string",
                  "nullable": true
                },
                "nutriscoreGrade": {
                  "type": "string",
                  "nullable": true
                },
                "novaGroup": {
                  "type": "integer",
                  "nullable": true
                },
                "ecoscoreGrade": {
                  "type": "string",
                  "nullable": true
                },
                "nutrientLevels": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "nutriments": {
                  "type": "object",
                  "additionalProperties": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string"
                      }
                    ]
                  }
                },
                "countries": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "labels": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "manufacturingPlaces": {
                  "type": "string",
                  "nullable": true
                },
                "origins": {
                  "type": "string",
                  "nullable": true
                },
                "packaging": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "barcode",
                "name",
                "brands",
                "categories",
                "quantity",
                "servingSize",
                "ingredientsText",
                "allergens",
                "imageUrl",
                "nutriscoreGrade",
                "novaGroup",
                "ecoscoreGrade",
                "nutrientLevels",
                "nutriments",
                "countries",
                "labels",
                "manufacturingPlaces",
                "origins",
                "packaging"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              }
            },
            "required": [
              "found"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "food.hygiene-uk",
      "group": "food",
      "name": "hygiene-uk",
      "method": "GET",
      "path": "/api/food/hygiene-uk",
      "url": "https://2s.io/api/food/hygiene-uk",
      "description": "UK Food Standards Agency food hygiene ratings (FHRS) for an establishment. Search by business name and/or postcode and get matching establishments with their hygiene rating (0-5 in England/Wales/NI; Pass / Improvement Required in Scotland), rating date, the three component scores (hygiene, structural, confidence in management — lower is better), business type, local authority, full address + postcode, and geocode. Free, Open Government Licence (commercial use permitted). Authoritative inspection data an LLM cannot recall — for food, hospitality, and consumer-safety agents.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "postcode": {
            "type": "string",
            "minLength": 2,
            "maxLength": 12
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "name": "Greggs",
        "postcode": "EC1A"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "fhrsId": {
                  "type": "number",
                  "nullable": true
                },
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "businessType": {
                  "type": "string",
                  "nullable": true
                },
                "ratingValue": {
                  "type": "string",
                  "nullable": true
                },
                "ratingDate": {
                  "type": "string",
                  "nullable": true
                },
                "scores": {
                  "type": "object",
                  "properties": {
                    "hygiene": {
                      "type": "number",
                      "nullable": true
                    },
                    "structural": {
                      "type": "number",
                      "nullable": true
                    },
                    "management": {
                      "type": "number",
                      "nullable": true
                    }
                  },
                  "required": [
                    "hygiene",
                    "structural",
                    "management"
                  ],
                  "additionalProperties": false
                },
                "localAuthority": {
                  "type": "string",
                  "nullable": true
                },
                "address": {
                  "type": "string",
                  "nullable": true
                },
                "postcode": {
                  "type": "string",
                  "nullable": true
                },
                "latitude": {
                  "type": "number",
                  "nullable": true
                },
                "longitude": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "fhrsId",
                "name",
                "businessType",
                "ratingValue",
                "ratingDate",
                "scores",
                "localAuthority",
                "address",
                "postcode",
                "latitude",
                "longitude"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "fx.rates",
      "group": "fx",
      "name": "rates",
      "method": "GET",
      "path": "/api/fx/rates",
      "url": "https://2s.io/api/fx/rates",
      "description": "Daily reference exchange rates from the European Central Bank (via Frankfurter). 30+ major currencies. Pass base = 3-letter ISO 4217 currency (default USD), optional symbols = comma-separated target codes (default = all available), optional date = YYYY-MM-DD for historical rates (history back to 1999, business days only; omit for latest), optional amount to convert (default 1). Returns base, date, amount, and a map of currency code → rate.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "base": {
            "type": "string",
            "pattern": "^[A-Za-z]{3}$",
            "default": "USD"
          },
          "symbols": {
            "type": "string",
            "minLength": 3,
            "maxLength": 200
          },
          "date": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "amount": {
            "type": "number",
            "exclusiveMinimum": true,
            "minimum": 0,
            "maximum": 1000000000,
            "default": 1
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "base": "USD",
        "symbols": "EUR,GBP,JPY"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "currency": {
                  "type": "string"
                },
                "rate": {
                  "type": "number"
                }
              },
              "required": [
                "currency",
                "rate"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "base": {
                "type": "string"
              },
              "date": {
                "type": "string"
              },
              "amount": {
                "type": "number"
              }
            },
            "required": [
              "base",
              "date",
              "amount"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "fx.timeseries",
      "group": "fx",
      "name": "timeseries",
      "method": "GET",
      "path": "/api/fx/timeseries",
      "url": "https://2s.io/api/fx/timeseries",
      "description": "Historical daily exchange-rate series from the European Central Bank (via Frankfurter), with computed summary statistics. Pass base = 3-letter ISO 4217 currency (default USD), start = YYYY-MM-DD, optional end = YYYY-MM-DD (default = latest available), optional symbols = comma-separated target codes (default all), optional amount to scale rates (default 1). Range is capped at 366 days. Returns, per target currency, first/last/min/max/mean rate plus absolute and percentage change over the window, alongside the full daily series. ECB publishes on business days only; weekends and holidays are omitted.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "base": {
            "type": "string",
            "pattern": "^[A-Za-z]{3}$",
            "default": "USD",
            "description": "Base currency (3-letter ISO 4217). Default USD."
          },
          "symbols": {
            "type": "string",
            "minLength": 3,
            "maxLength": 200,
            "description": "Comma-separated target currency codes. Default: all available."
          },
          "start": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Inclusive start date YYYY-MM-DD."
          },
          "end": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Inclusive end date YYYY-MM-DD. Default: latest available."
          },
          "amount": {
            "type": "number",
            "exclusiveMinimum": true,
            "minimum": 0,
            "maximum": 1000000000,
            "default": 1,
            "description": "Amount of base currency to scale rates by. Default 1."
          }
        },
        "required": [
          "start"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "base": "USD",
        "symbols": "EUR,GBP",
        "start": "2025-01-01",
        "end": "2025-03-31"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "currency": {
                  "type": "string"
                },
                "first": {
                  "type": "number"
                },
                "last": {
                  "type": "number"
                },
                "min": {
                  "type": "number"
                },
                "max": {
                  "type": "number"
                },
                "mean": {
                  "type": "number"
                },
                "change": {
                  "type": "number"
                },
                "pctChange": {
                  "type": "number"
                },
                "count": {
                  "type": "number"
                }
              },
              "required": [
                "currency",
                "first",
                "last",
                "min",
                "max",
                "mean",
                "change",
                "pctChange",
                "count"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "base": {
                "type": "string"
              },
              "start": {
                "type": "string"
              },
              "end": {
                "type": "string"
              },
              "amount": {
                "type": "number"
              },
              "observations": {
                "type": "number"
              },
              "series": {
                "type": "object",
                "additionalProperties": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "number"
                  }
                }
              }
            },
            "required": [
              "base",
              "start",
              "end",
              "amount",
              "observations",
              "series"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "geo.elevation",
      "group": "geo",
      "name": "elevation",
      "method": "GET",
      "path": "/api/geo/elevation",
      "url": "https://2s.io/api/geo/elevation",
      "description": "Ground elevation above sea level for a coordinate, anywhere on Earth. Pass lat + lon. Returns elevation in meters and feet (from the Copernicus/SRTM digital elevation model, ~90m resolution). Source: Open-Meteo elevation API (keyless, CC BY 4.0).",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          }
        },
        "required": [
          "lat",
          "lon"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "lat": 39.7391,
        "lon": -104.9847
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "lat": {
                  "type": "number"
                },
                "lon": {
                  "type": "number"
                },
                "elevationMeters": {
                  "type": "number",
                  "nullable": true
                },
                "elevationFeet": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "lat",
                "lon",
                "elevationMeters",
                "elevationFeet"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "geo.flood-zone",
      "group": "geo",
      "name": "flood-zone",
      "method": "GET",
      "path": "/api/geo/flood-zone",
      "url": "https://2s.io/api/geo/flood-zone",
      "description": "Determine the FEMA flood zone for a coordinate. Pass lat and lon. Returns the FEMA flood zone code (e.g. AE, VE, X), its subtype, whether the point is in a Special Flood Hazard Area (isSFHA — the 1% annual-chance floodplain where flood insurance is mandatory for federally backed mortgages), a plain-language risk level (high / moderate / minimal / undetermined / unmapped) and description, the static base flood elevation and depth when published, and the source FIRM panel id. Data: FEMA National Flood Hazard Layer (NFHL), free and public-domain. When no flood polygon intersects the point, returns mapped=false (usually Zone X / minimal risk or unmapped — not a guarantee of zero risk). Use for property risk screening, insurance/mortgage context, and siting decisions; geocode an address with /api/geocode/address first to get the coordinate.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          }
        },
        "required": [
          "lat",
          "lon"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "lat": 25.79,
        "lon": -80.19
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "lat": {
                "type": "number"
              },
              "lon": {
                "type": "number"
              }
            },
            "required": [
              "lat",
              "lon"
            ],
            "additionalProperties": false
          },
          "mapped": {
            "type": "boolean"
          },
          "floodZone": {
            "type": "string",
            "nullable": true
          },
          "zoneSubtype": {
            "type": "string",
            "nullable": true
          },
          "isSFHA": {
            "type": "boolean",
            "nullable": true
          },
          "riskLevel": {
            "type": "string",
            "enum": [
              "high",
              "moderate",
              "minimal",
              "undetermined",
              "unmapped"
            ]
          },
          "zoneDescription": {
            "type": "string"
          },
          "staticBFE": {
            "type": "number",
            "nullable": true
          },
          "depth": {
            "type": "number",
            "nullable": true
          },
          "firmPanelId": {
            "type": "string",
            "nullable": true
          },
          "sourceCitation": {
            "type": "string",
            "nullable": true
          },
          "note": {
            "type": "string",
            "nullable": true
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "provider": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                },
                "license": {
                  "type": "string"
                }
              },
              "required": [
                "provider",
                "url",
                "license"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "query",
          "mapped",
          "floodZone",
          "zoneSubtype",
          "isSFHA",
          "riskLevel",
          "zoneDescription",
          "staticBFE",
          "depth",
          "firmPanelId",
          "sourceCitation",
          "note",
          "sources"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "geo.ip",
      "group": "geo",
      "name": "ip",
      "method": "GET",
      "path": "/api/geo/ip",
      "url": "https://2s.io/api/geo/ip",
      "description": "Geolocate a single IPv4 or IPv6 address. Returns country (name + ISO code), region (name + code), city, ZIP, lat/lon, timezone, ISP, organization, and AS number + name. For bulk lookups (up to 100 IPs in one call) use /api/ipinfo/bulk instead. Lat/lon precision is city-level, not GPS.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ip": {
            "type": "string",
            "pattern": "^(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}|[0-9a-fA-F:]+)$",
            "minLength": 2,
            "maxLength": 45
          }
        },
        "required": [
          "ip"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ip": "xx"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "geo.location-dossier",
      "group": "geo",
      "name": "location-dossier",
      "method": "GET",
      "path": "/api/geo/location-dossier",
      "url": "https://2s.io/api/geo/location-dossier",
      "description": "Static risk & context dossier for a US location. Pass lat+lon or a US address (geocoded for you). Composes five authoritative, keyless federal sources into one answer an agent cannot derive from training: Census place context (county, state, census tract, congressional district), FEMA flood zone + Special-Flood-Hazard-Area status, USGS ASCE 7-16 seismic design parameters (Ss, S1, SDS, SD1, seismic design category, PGA), the nearest NOAA/GHCN climate station, and — when a zip is supplied — US Census ACS 5-year demographics. Each layer is isolated: one source failing does not fail the rest. This is the slow-moving structural-risk picture (siting, insurance, due diligence), distinct from real-time weather/earthquake conditions.",
      "priceUsd": 0.0072,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          },
          "address": {
            "type": "string",
            "minLength": 3,
            "maxLength": 200
          },
          "zip": {
            "type": "string",
            "pattern": "^\\d{5}$"
          },
          "riskCategory": {
            "type": "string",
            "enum": [
              "I",
              "II",
              "III",
              "IV"
            ],
            "description": "ASCE risk category (default II)."
          },
          "siteClass": {
            "type": "string",
            "enum": [
              "A",
              "B",
              "C",
              "D",
              "E"
            ],
            "description": "ASCE soil site class (default D)."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "lat": "34.05",
        "lon": "-118.25",
        "zip": "90012"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "lat": {
                "type": "number"
              },
              "lon": {
                "type": "number"
              },
              "zip": {
                "type": "string",
                "nullable": true
              },
              "address": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "lat",
              "lon",
              "zip",
              "address"
            ],
            "additionalProperties": false
          },
          "summary": {
            "type": "object",
            "properties": {
              "county": {
                "type": "string",
                "nullable": true
              },
              "state": {
                "type": "string",
                "nullable": true
              },
              "floodRisk": {
                "type": "string",
                "nullable": true
              },
              "isSFHA": {
                "type": "boolean",
                "nullable": true
              },
              "seismicDesignCategory": {
                "type": "string",
                "nullable": true
              },
              "nearestStationKm": {
                "type": "number",
                "nullable": true
              },
              "riskIndexRating": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "county",
              "state",
              "floodRisk",
              "isSFHA",
              "seismicDesignCategory",
              "nearestStationKm",
              "riskIndexRating"
            ],
            "additionalProperties": false
          },
          "place": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "data": {}
            },
            "required": [
              "found",
              "error"
            ],
            "additionalProperties": false
          },
          "flood": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "data": {}
            },
            "required": [
              "found",
              "error"
            ],
            "additionalProperties": false
          },
          "seismic": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "data": {}
            },
            "required": [
              "found",
              "error"
            ],
            "additionalProperties": false
          },
          "climate": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "data": {}
            },
            "required": [
              "found",
              "error"
            ],
            "additionalProperties": false
          },
          "demographics": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "data": {}
            },
            "required": [
              "found",
              "error"
            ],
            "additionalProperties": false
          },
          "riskIndex": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "data": {}
            },
            "required": [
              "found",
              "error"
            ],
            "additionalProperties": false
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "provider": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                },
                "license": {
                  "type": "string"
                }
              },
              "required": [
                "provider",
                "url",
                "license"
              ],
              "additionalProperties": false
            }
          },
          "note": {
            "type": "string"
          }
        },
        "required": [
          "query",
          "summary",
          "place",
          "flood",
          "seismic",
          "climate",
          "demographics",
          "riskIndex",
          "sources",
          "note"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "geo.nearby",
      "group": "geo",
      "name": "nearby",
      "method": "GET",
      "path": "/api/geo/nearby",
      "url": "https://2s.io/api/geo/nearby",
      "description": "Everything around a coordinate in one call: nearby airports (IATA/ICAO, type, distance), public K-12 schools (name, district, enrollment, distance), NOAA climate stations (for chaining into /api/climate/station-history), and earthquakes from the past week (magnitude, depth, time). Pass lat/lon plus optional radiusKm (default 25, max 200) and per-category limit (default 5). Each category returns an independent found/error block, so one slow source never empties the rest. Site assessment, relocation research, travel planning, and risk screening. Each category is also a standalone endpoint (/api/airport/near, /api/edu/school-lookup, /api/climate/station-near, /api/quakes/recent).",
      "priceUsd": 0.0036,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          },
          "radiusKm": {
            "type": "number",
            "minimum": 1,
            "maximum": 200,
            "default": 25
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 20,
            "default": 5
          }
        },
        "required": [
          "lat",
          "lon"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "lat": 40.7484,
        "lon": -73.9857,
        "radiusKm": 10,
        "limit": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number"
          },
          "lon": {
            "type": "number"
          },
          "radiusKm": {
            "type": "number"
          },
          "airports": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "count": {
                "type": "number"
              },
              "items": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": {}
                }
              }
            },
            "required": [
              "found",
              "error",
              "count",
              "items"
            ],
            "additionalProperties": false
          },
          "schools": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "count": {
                "type": "number"
              },
              "items": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": {}
                }
              }
            },
            "required": [
              "found",
              "error",
              "count",
              "items"
            ],
            "additionalProperties": false
          },
          "climateStations": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "count": {
                "type": "number"
              },
              "items": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": {}
                }
              }
            },
            "required": [
              "found",
              "error",
              "count",
              "items"
            ],
            "additionalProperties": false
          },
          "quakes": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "count": {
                "type": "number"
              },
              "items": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": {}
                }
              }
            },
            "required": [
              "found",
              "error",
              "count",
              "items"
            ],
            "additionalProperties": false,
            "description": "Earthquakes within radiusKm (min 50km search radius) from the past 7 days, magnitude ≥ 2."
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "provider": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                },
                "license": {
                  "type": "string"
                }
              },
              "required": [
                "provider",
                "url",
                "license"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "lat",
          "lon",
          "radiusKm",
          "airports",
          "schools",
          "climateStations",
          "quakes",
          "sources"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "geo.postal",
      "group": "geo",
      "name": "postal",
      "method": "GET",
      "path": "/api/geo/postal",
      "url": "https://2s.io/api/geo/postal",
      "description": "Resolve a postal/ZIP code to its place name(s), administrative divisions, and coordinates. Pass `postalCode` and a 2-letter `country` (default US). Returns each matching locality: place, admin1 (state/province name + code), admin2 (county/district), and lat/lon. International — covers major markets (US, GB, CA, DE, FR, AU, NL, ES, IT, CH, SE, MX). Use it to normalize and enrich addresses, derive the state/county for a ZIP, or geolocate a postal code in an ETL pipeline.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "postalCode": {
            "type": "string",
            "minLength": 2,
            "maxLength": 16
          },
          "country": {
            "type": "string",
            "pattern": "^[A-Za-z]{2}$"
          }
        },
        "required": [
          "postalCode"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "postalCode": "90210",
        "country": "US"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "country": {
                  "type": "string"
                },
                "postalCode": {
                  "type": "string"
                },
                "place": {
                  "type": "string",
                  "nullable": true
                },
                "admin1": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "nullable": true
                    },
                    "code": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "name",
                    "code"
                  ],
                  "additionalProperties": false,
                  "description": "State/province."
                },
                "admin2": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "nullable": true
                    },
                    "code": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "name",
                    "code"
                  ],
                  "additionalProperties": false,
                  "description": "County/district."
                },
                "coords": {
                  "type": "object",
                  "properties": {
                    "lat": {
                      "type": "number"
                    },
                    "lon": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "lat",
                    "lon"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                }
              },
              "required": [
                "country",
                "postalCode",
                "place",
                "admin1",
                "admin2",
                "coords"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "geo.zip-resolve",
      "group": "geo",
      "name": "zip-resolve",
      "method": "GET",
      "path": "/api/geo/zip-resolve",
      "url": "https://2s.io/api/geo/zip-resolve",
      "description": "Resolve a US ZIP code to the census tract(s), county, CBSA (metro), and congressional district it covers — each with HUD-USPS allocation ratios (by residential, business, other, and total address counts). A ZIP is a mail-delivery route set, not a polygon, so it spans multiple geographies; the ratios tell you how much of the ZIP falls in each — the canonical join when you have a ZIP but a dataset is keyed by county/tract/district. Source: HUD-USPS ZIP Crosswalk (public domain).",
      "priceUsd": 0.0048,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "zip": {
            "type": "string",
            "pattern": "^\\d{5}$",
            "description": "5-digit US ZIP code, e.g. 90210."
          }
        },
        "required": [
          "zip"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "zip": "90210"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "zip": {
                  "type": "string"
                },
                "city": {
                  "type": "string",
                  "nullable": true
                },
                "state": {
                  "type": "string",
                  "nullable": true
                },
                "tract": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "geoid": {
                        "type": "string"
                      },
                      "resRatio": {
                        "type": "number",
                        "description": "Share of the ZIP’s residential addresses in this geography."
                      },
                      "busRatio": {
                        "type": "number",
                        "description": "Share of business addresses."
                      },
                      "othRatio": {
                        "type": "number",
                        "description": "Share of other addresses."
                      },
                      "totRatio": {
                        "type": "number",
                        "description": "Share of total addresses."
                      }
                    },
                    "required": [
                      "geoid",
                      "resRatio",
                      "busRatio",
                      "othRatio",
                      "totRatio"
                    ],
                    "additionalProperties": false
                  }
                },
                "county": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "geoid": {
                        "type": "string"
                      },
                      "resRatio": {
                        "type": "number",
                        "description": "Share of the ZIP’s residential addresses in this geography."
                      },
                      "busRatio": {
                        "type": "number",
                        "description": "Share of business addresses."
                      },
                      "othRatio": {
                        "type": "number",
                        "description": "Share of other addresses."
                      },
                      "totRatio": {
                        "type": "number",
                        "description": "Share of total addresses."
                      }
                    },
                    "required": [
                      "geoid",
                      "resRatio",
                      "busRatio",
                      "othRatio",
                      "totRatio"
                    ],
                    "additionalProperties": false
                  }
                },
                "cbsa": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "geoid": {
                        "type": "string"
                      },
                      "resRatio": {
                        "type": "number",
                        "description": "Share of the ZIP’s residential addresses in this geography."
                      },
                      "busRatio": {
                        "type": "number",
                        "description": "Share of business addresses."
                      },
                      "othRatio": {
                        "type": "number",
                        "description": "Share of other addresses."
                      },
                      "totRatio": {
                        "type": "number",
                        "description": "Share of total addresses."
                      }
                    },
                    "required": [
                      "geoid",
                      "resRatio",
                      "busRatio",
                      "othRatio",
                      "totRatio"
                    ],
                    "additionalProperties": false
                  }
                },
                "congressionalDistrict": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "geoid": {
                        "type": "string"
                      },
                      "resRatio": {
                        "type": "number",
                        "description": "Share of the ZIP’s residential addresses in this geography."
                      },
                      "busRatio": {
                        "type": "number",
                        "description": "Share of business addresses."
                      },
                      "othRatio": {
                        "type": "number",
                        "description": "Share of other addresses."
                      },
                      "totRatio": {
                        "type": "number",
                        "description": "Share of total addresses."
                      }
                    },
                    "required": [
                      "geoid",
                      "resRatio",
                      "busRatio",
                      "othRatio",
                      "totRatio"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "zip",
                "city",
                "state",
                "tract",
                "county",
                "cbsa",
                "congressionalDistrict"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "geocode.address",
      "group": "geocode",
      "name": "address",
      "method": "GET",
      "path": "/api/geocode/address",
      "url": "https://2s.io/api/geocode/address",
      "description": "Forward geocoding — free-text address or place name → latitude/longitude plus structured address components (houseNumber, road, suburb, city, county, state, postcode, country, countryCode). Query: q (2-500 chars), limit (1-10, default 5), country (optional 2-letter ISO 3166-1 bias). Underlying data is OpenStreetMap (ODbL). Sister: /api/geocode/reverse.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "minLength": 2,
            "maxLength": 500
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "default": 5
          },
          "country": {
            "type": "string",
            "pattern": "^[a-z]{2}$"
          }
        },
        "required": [
          "q"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "q": "xx",
        "limit": 5,
        "country": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string"
                  },
                  "input": {
                    "type": "string"
                  }
                },
                "required": [
                  "kind",
                  "input"
                ],
                "additionalProperties": false
              },
              "cacheHit": {
                "type": "boolean"
              }
            },
            "required": [
              "query",
              "cacheHit"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "geocode.reverse",
      "group": "geocode",
      "name": "reverse",
      "method": "GET",
      "path": "/api/geocode/reverse",
      "url": "https://2s.io/api/geocode/reverse",
      "description": "Reverse geocoding — latitude/longitude → nearest formatted address plus structured components (houseNumber, road, suburb, city, county, state, postcode, country, countryCode). Query: lat (-90..90), lon (-180..180). Underlying data is OpenStreetMap (ODbL). Sister: /api/geocode/address.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          }
        },
        "required": [
          "lat",
          "lon"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "lat": -90,
        "lon": -180
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string"
                  },
                  "input": {
                    "type": "string"
                  }
                },
                "required": [
                  "kind",
                  "input"
                ],
                "additionalProperties": false
              },
              "cacheHit": {
                "type": "boolean"
              }
            },
            "required": [
              "query",
              "cacheHit"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "github.branches",
      "group": "github",
      "name": "branches",
      "method": "GET",
      "path": "/api/github/branches",
      "url": "https://2s.io/api/github/branches",
      "description": "Branches of a repository: name, head commit sha, and protection flag. Read-only; no caller key needed.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "owner": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "repo": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "page": {
            "type": "integer",
            "minimum": 1
          }
        },
        "required": [
          "owner",
          "repo"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "owner": "example",
        "repo": "example",
        "perPage": 1,
        "page": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "nullable": true
                },
                "sha": {
                  "nullable": true
                },
                "protected": {
                  "nullable": true
                }
              },
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "github.commits",
      "group": "github",
      "name": "commits",
      "method": "GET",
      "path": "/api/github/commits",
      "url": "https://2s.io/api/github/commits",
      "description": "Commit history for a repository: sha, message, author name + GitHub login, date, and URL. Optionally filter by branch/tag (sha), file path, or author. Paginate. Read-only; no caller key needed.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "owner": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "repo": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "sha": {
            "type": "string",
            "maxLength": 120,
            "description": "Branch, tag, or commit sha to start from."
          },
          "path": {
            "type": "string",
            "maxLength": 400
          },
          "author": {
            "type": "string",
            "maxLength": 100
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "page": {
            "type": "integer",
            "minimum": 1
          }
        },
        "required": [
          "owner",
          "repo"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "owner": "example",
        "repo": "example",
        "sha": "example",
        "path": "example",
        "author": "example",
        "perPage": 1,
        "page": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "github.contributors",
      "group": "github",
      "name": "contributors",
      "method": "GET",
      "path": "/api/github/contributors",
      "url": "https://2s.io/api/github/contributors",
      "description": "Top contributors to a repository, ranked by commit count: login, contributions, account type, and profile URL. Read-only; no caller key needed.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "owner": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "repo": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "page": {
            "type": "integer",
            "minimum": 1
          }
        },
        "required": [
          "owner",
          "repo"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "owner": "example",
        "repo": "example",
        "perPage": 1,
        "page": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "login": {
                  "nullable": true
                },
                "contributions": {
                  "nullable": true
                },
                "type": {
                  "nullable": true
                },
                "url": {
                  "nullable": true
                }
              },
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "github.issues",
      "group": "github",
      "name": "issues",
      "method": "GET",
      "path": "/api/github/issues",
      "url": "https://2s.io/api/github/issues",
      "description": "List issues for a repository (pull requests excluded): number, title, state, author, labels, comment count, and created/updated times. Filter by state (open/closed/all) and labels; paginate. Read-only; no caller key needed.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "owner": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "repo": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "state": {
            "type": "string",
            "enum": [
              "open",
              "closed",
              "all"
            ]
          },
          "labels": {
            "type": "string",
            "maxLength": 200
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "page": {
            "type": "integer",
            "minimum": 1
          }
        },
        "required": [
          "owner",
          "repo"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "owner": "example",
        "repo": "example",
        "state": "open",
        "labels": "example",
        "perPage": 1,
        "page": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "github.languages",
      "group": "github",
      "name": "languages",
      "method": "GET",
      "path": "/api/github/languages",
      "url": "https://2s.io/api/github/languages",
      "description": "Programming-language breakdown of a repository: each language with its byte count and percentage of the codebase, sorted by size. Read-only; no caller key needed.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "owner": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "repo": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          }
        },
        "required": [
          "owner",
          "repo"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "owner": "example",
        "repo": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "language": {
                  "type": "string"
                },
                "bytes": {
                  "type": "number"
                },
                "percent": {
                  "type": "number"
                }
              },
              "required": [
                "language",
                "bytes",
                "percent"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "github.pulls",
      "group": "github",
      "name": "pulls",
      "method": "GET",
      "path": "/api/github/pulls",
      "url": "https://2s.io/api/github/pulls",
      "description": "List pull requests for a repository: number, title, state, author, draft flag, merged status + time, head/base branch, and created time. Filter by state (open/closed/all); paginate. Read-only; no caller key needed.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "owner": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "repo": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "state": {
            "type": "string",
            "enum": [
              "open",
              "closed",
              "all"
            ]
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "page": {
            "type": "integer",
            "minimum": 1
          }
        },
        "required": [
          "owner",
          "repo"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "owner": "example",
        "repo": "example",
        "state": "open",
        "perPage": 1,
        "page": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "github.readme",
      "group": "github",
      "name": "readme",
      "method": "GET",
      "path": "/api/github/readme",
      "url": "https://2s.io/api/github/readme",
      "description": "Fetch a repository's README, decoded to UTF-8 text (name, path, size, content, URL). Optionally pin to a branch/tag/sha via ref. Useful for summarizing or indexing a project. Read-only; no caller key needed.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "owner": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "repo": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "ref": {
            "type": "string",
            "maxLength": 120
          }
        },
        "required": [
          "owner",
          "repo"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "owner": "example",
        "repo": "example",
        "ref": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "github.releases",
      "group": "github",
      "name": "releases",
      "method": "GET",
      "path": "/api/github/releases",
      "url": "https://2s.io/api/github/releases",
      "description": "List a repository's releases: tag, name, draft/prerelease flags, author, published time, and release notes body. Paginate. Track a project's version history. Read-only; no caller key needed.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "owner": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "repo": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "page": {
            "type": "integer",
            "minimum": 1
          }
        },
        "required": [
          "owner",
          "repo"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "owner": "example",
        "repo": "example",
        "perPage": 1,
        "page": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "github.repo",
      "group": "github",
      "name": "repo",
      "method": "GET",
      "path": "/api/github/repo",
      "url": "https://2s.io/api/github/repo",
      "description": "GitHub repository metadata: full name, owner, description, stars, forks, watchers, open issues, primary language, topics, SPDX license, default branch, homepage, archived flag, and created/updated/pushed timestamps. Read-only; no GitHub key needed by the caller.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "owner": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "repo": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          }
        },
        "required": [
          "owner",
          "repo"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "owner": "example",
        "repo": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "github.repos",
      "group": "github",
      "name": "repos",
      "method": "GET",
      "path": "/api/github/repos",
      "url": "https://2s.io/api/github/repos",
      "description": "List a user or organization's repositories (each with stars, forks, language, topics, license, timestamps). Sort by updated/created/pushed/full_name; filter type owner/member; paginate. Read-only; no caller key needed.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "owner": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "sort": {
            "type": "string",
            "enum": [
              "updated",
              "created",
              "pushed",
              "full_name"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "owner",
              "member",
              "all"
            ]
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "page": {
            "type": "integer",
            "minimum": 1
          }
        },
        "required": [
          "owner"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "owner": "example",
        "sort": "updated",
        "type": "owner",
        "perPage": 1,
        "page": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "github.search-code",
      "group": "github",
      "name": "search-code",
      "method": "GET",
      "path": "/api/github/search-code",
      "url": "https://2s.io/api/github/search-code",
      "description": "Search code across GitHub with the code-search syntax (e.g. 'defineEndpoint repo:AlleyFord/2s' or 'addEventListener language:js'). Returns total match count + file name, path, repository, and URL for each hit. Read-only; no caller key needed.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "minLength": 1,
            "maxLength": 400
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          },
          "page": {
            "type": "integer",
            "minimum": 1
          }
        },
        "required": [
          "q"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "q": "example",
        "perPage": 1,
        "page": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "totalCount": {
                "type": "number"
              }
            },
            "required": [
              "totalCount"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "github.search-repos",
      "group": "github",
      "name": "search-repos",
      "method": "GET",
      "path": "/api/github/search-repos",
      "url": "https://2s.io/api/github/search-repos",
      "description": "Search GitHub repositories with the full query syntax (e.g. 'x402 language:typescript stars:>100'). Sort by stars/forks/updated. Returns total match count + repos with stars, language, topics, license, timestamps. Read-only; no caller key needed.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "minLength": 1,
            "maxLength": 400
          },
          "sort": {
            "type": "string",
            "enum": [
              "stars",
              "forks",
              "help-wanted-issues",
              "updated"
            ]
          },
          "order": {
            "type": "string",
            "enum": [
              "asc",
              "desc"
            ]
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          },
          "page": {
            "type": "integer",
            "minimum": 1
          }
        },
        "required": [
          "q"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "q": "example",
        "sort": "stars",
        "order": "asc",
        "perPage": 1,
        "page": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "totalCount": {
                "type": "number"
              }
            },
            "required": [
              "totalCount"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "github.tags",
      "group": "github",
      "name": "tags",
      "method": "GET",
      "path": "/api/github/tags",
      "url": "https://2s.io/api/github/tags",
      "description": "Git tags of a repository (name + commit sha), most recent first. Pair with github.releases for published releases. Read-only; no caller key needed.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "owner": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "repo": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "page": {
            "type": "integer",
            "minimum": 1
          }
        },
        "required": [
          "owner",
          "repo"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "owner": "example",
        "repo": "example",
        "perPage": 1,
        "page": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "nullable": true
                },
                "sha": {
                  "nullable": true
                }
              },
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "github.user",
      "group": "github",
      "name": "user",
      "method": "GET",
      "path": "/api/github/user",
      "url": "https://2s.io/api/github/user",
      "description": "GitHub user or organization profile: login, name, company, blog, location, bio, type (User/Organization), followers, following, public repo + gist counts, and account creation date. Read-only; no caller key needed.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "username": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          }
        },
        "required": [
          "username"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "username": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.bea-gdp",
      "group": "gov",
      "name": "bea-gdp",
      "method": "GET",
      "path": "/api/gov/bea-gdp",
      "url": "https://2s.io/api/gov/bea-gdp",
      "description": "Quarterly real GDP by US state from the Bureau of Economic Analysis (BEA) Regional accounts — all-industry total, in millions of chained (inflation-adjusted) dollars. Requires state (2-letter); optionally a specific year (defaults to the last 5 years). Returns the state name plus GDP observations (period like 2025Q2, real GDP in millions USD, unit), newest quarter first. Free, public-domain (BEA). Authoritative state economic-output data an LLM cannot recall — for economic research, regional analysis, and market sizing.",
      "priceUsd": 0.00108,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "2-letter US state/territory code."
          },
          "year": {
            "type": "integer",
            "minimum": 1960,
            "maximum": 2100
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 40
          }
        },
        "required": [
          "state"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "state": "TX"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "query": {
                  "type": "object",
                  "properties": {
                    "state": {
                      "type": "string"
                    },
                    "geoFips": {
                      "type": "string"
                    },
                    "year": {
                      "type": "string"
                    },
                    "limit": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "state",
                    "geoFips",
                    "year",
                    "limit"
                  ],
                  "additionalProperties": false
                },
                "geoName": {
                  "type": "string",
                  "nullable": true
                },
                "returned": {
                  "type": "number"
                },
                "observations": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "period": {
                        "type": "string",
                        "nullable": true
                      },
                      "realGdpMillionsUSD": {
                        "type": "number",
                        "nullable": true
                      },
                      "unit": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "period",
                      "realGdpMillionsUSD",
                      "unit"
                    ],
                    "additionalProperties": false
                  }
                },
                "source": {
                  "type": "object",
                  "properties": {
                    "provider": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string"
                    },
                    "license": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "provider",
                    "url",
                    "license"
                  ],
                  "additionalProperties": false
                },
                "note": {
                  "type": "string"
                }
              },
              "required": [
                "query",
                "geoName",
                "returned",
                "observations",
                "source",
                "note"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.bill-summaries",
      "group": "gov",
      "name": "bill-summaries",
      "method": "GET",
      "path": "/api/gov/bill-summaries",
      "url": "https://2s.io/api/gov/bill-summaries",
      "description": "Stream the latest US Congressional bill summaries via Congress.gov. Each row is a CRS-authored summary attached to a specific version of a bill (Introduced, Reported to House, Engrossed in Senate, Public Law, etc.). Filter by congress + bill type. Returns the underlying bill metadata + summary text + version code + action date. Use this for change-detection on bills you care about, or to power agent-side \"what did Congress just pass\" feeds.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "congress": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200
          },
          "type": {
            "type": "string",
            "enum": [
              "hr",
              "s",
              "hjres",
              "sjres",
              "hconres",
              "sconres",
              "hres",
              "sres"
            ]
          },
          "fromDate": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "toDate": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "sort": {
            "type": "string",
            "enum": [
              "updateDate+desc",
              "updateDate+asc"
            ],
            "default": "updateDate+desc"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 250,
            "default": 25
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "default": 0
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "congress": 119,
        "limit": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "actionDate": {
                  "type": "string",
                  "nullable": true
                },
                "actionDesc": {
                  "type": "string",
                  "nullable": true
                },
                "bill": {
                  "type": "object",
                  "additionalProperties": {},
                  "nullable": true
                },
                "currentChamber": {
                  "type": "string",
                  "nullable": true
                },
                "currentChamberCode": {
                  "type": "string",
                  "nullable": true
                },
                "lastSummaryUpdateDate": {
                  "type": "string",
                  "nullable": true
                },
                "text": {
                  "type": "string",
                  "nullable": true
                },
                "updateDate": {
                  "type": "string",
                  "nullable": true
                },
                "versionCode": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "actionDate",
                "actionDesc",
                "bill",
                "currentChamber",
                "currentChamberCode",
                "lastSummaryUpdateDate",
                "text",
                "updateDate",
                "versionCode"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.carrier-safety",
      "group": "gov",
      "name": "carrier-safety",
      "method": "GET",
      "path": "/api/gov/carrier-safety",
      "url": "https://2s.io/api/gov/carrier-safety",
      "description": "FMCSA motor-carrier (trucking/bus company) safety profile. Pass dot (USDOT number) for the full record: legal/DBA name, state, interstate/intrastate operation, operating-authority status (allowedToOperate), FMCSA safety rating, fleet size (drivers + power units), crash history (total/fatal/injury/tow-away), roadside-inspection history with driver + vehicle out-of-service rates, and the CSA BASIC measures (Unsafe Driving, Hours-of-Service, Driver Fitness, Controlled Substances, Vehicle Maintenance, Hazmat, Crash Indicator) with violation counts. Or pass name to search → matching carriers with their DOT numbers. Free, public-domain US DOT data (keyed). For commercial-auto/freight underwriting, broker/shipper vetting, and vendor due diligence — the authorization + safety record an agent can't get from training.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "dot": {
            "type": "integer",
            "exclusiveMinimum": true,
            "minimum": 0
          },
          "name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "dot": "264184"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "mode": {
            "type": "string",
            "enum": [
              "carrier",
              "search"
            ]
          },
          "query": {
            "type": "object",
            "properties": {
              "dot": {
                "type": "number",
                "nullable": true
              },
              "name": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "dot",
              "name"
            ],
            "additionalProperties": false
          },
          "found": {
            "type": "boolean"
          },
          "carrier": {
            "type": "object",
            "properties": {
              "dotNumber": {
                "type": "number",
                "nullable": true
              },
              "legalName": {
                "type": "string",
                "nullable": true
              },
              "dbaName": {
                "type": "string",
                "nullable": true
              },
              "physicalState": {
                "type": "string",
                "nullable": true
              },
              "operation": {
                "type": "string",
                "nullable": true
              },
              "allowedToOperate": {
                "type": "boolean",
                "nullable": true
              },
              "statusCode": {
                "type": "string",
                "nullable": true
              },
              "safetyRating": {
                "type": "string",
                "nullable": true
              },
              "safetyRatingDate": {
                "type": "string",
                "nullable": true
              },
              "totalDrivers": {
                "type": "number",
                "nullable": true
              },
              "totalPowerUnits": {
                "type": "number",
                "nullable": true
              }
            },
            "required": [
              "dotNumber",
              "legalName",
              "dbaName",
              "physicalState",
              "operation",
              "allowedToOperate",
              "statusCode",
              "safetyRating",
              "safetyRatingDate",
              "totalDrivers",
              "totalPowerUnits"
            ],
            "additionalProperties": false,
            "nullable": true
          },
          "crashes": {
            "type": "object",
            "properties": {
              "total": {
                "type": "number",
                "nullable": true
              },
              "fatal": {
                "type": "number",
                "nullable": true
              },
              "injury": {
                "type": "number",
                "nullable": true
              },
              "towaway": {
                "type": "number",
                "nullable": true
              }
            },
            "required": [
              "total",
              "fatal",
              "injury",
              "towaway"
            ],
            "additionalProperties": false,
            "nullable": true
          },
          "inspections": {
            "type": "object",
            "properties": {
              "driverTotal": {
                "type": "number",
                "nullable": true
              },
              "driverOutOfService": {
                "type": "number",
                "nullable": true
              },
              "driverOosRate": {
                "type": "number",
                "nullable": true
              },
              "vehicleTotal": {
                "type": "number",
                "nullable": true
              },
              "vehicleOutOfService": {
                "type": "number",
                "nullable": true
              },
              "vehicleOosRate": {
                "type": "number",
                "nullable": true
              }
            },
            "required": [
              "driverTotal",
              "driverOutOfService",
              "driverOosRate",
              "vehicleTotal",
              "vehicleOutOfService",
              "vehicleOosRate"
            ],
            "additionalProperties": false,
            "nullable": true
          },
          "basics": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "category": {
                  "type": "string",
                  "nullable": true
                },
                "measureValue": {
                  "type": "number",
                  "nullable": true
                },
                "percentile": {
                  "type": "string",
                  "nullable": true
                },
                "violationThreshold": {
                  "type": "number",
                  "nullable": true
                },
                "exceededInterventionThreshold": {
                  "type": "boolean",
                  "nullable": true
                },
                "totalViolations": {
                  "type": "number",
                  "nullable": true
                },
                "totalInspectionsWithViolation": {
                  "type": "number",
                  "nullable": true
                },
                "runDate": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "category",
                "measureValue",
                "percentile",
                "violationThreshold",
                "exceededInterventionThreshold",
                "totalViolations",
                "totalInspectionsWithViolation",
                "runDate"
              ],
              "additionalProperties": false
            }
          },
          "matches": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "dotNumber": {
                  "type": "number",
                  "nullable": true
                },
                "legalName": {
                  "type": "string",
                  "nullable": true
                },
                "dbaName": {
                  "type": "string",
                  "nullable": true
                },
                "physicalState": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "dotNumber",
                "legalName",
                "dbaName",
                "physicalState"
              ],
              "additionalProperties": false
            }
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "note": {
            "type": "string"
          }
        },
        "required": [
          "mode",
          "query",
          "found",
          "carrier",
          "crashes",
          "inspections",
          "basics",
          "matches",
          "source",
          "note"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.congress-amendment",
      "group": "gov",
      "name": "congress-amendment",
      "method": "GET",
      "path": "/api/gov/congress-amendment",
      "url": "https://2s.io/api/gov/congress-amendment",
      "description": "Look up or list US Congressional amendments via Congress.gov. Pass congress + type + number to fetch a single amendment with full sponsor + action history. Or filter list by congress + type + date range. Amendment types: hamdt=House Amendment, samdt=Senate Amendment, suamdt=Senate Unprinted Amendment.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "congress": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200
          },
          "type": {
            "type": "string",
            "enum": [
              "hamdt",
              "samdt",
              "suamdt"
            ]
          },
          "number": {
            "type": "integer",
            "minimum": 1
          },
          "fromDate": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "toDate": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 250,
            "default": 25
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "default": 0
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "congress": 119,
        "type": "samdt",
        "limit": 5
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "mode": {
                "type": "string",
                "enum": [
                  "lookup",
                  "list"
                ]
              }
            },
            "required": [
              "mode"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.congress-bill",
      "group": "gov",
      "name": "congress-bill",
      "method": "GET",
      "path": "/api/gov/congress-bill",
      "url": "https://2s.io/api/gov/congress-bill",
      "description": "Look up or search US Congressional bills via the Library of Congress Congress.gov API. Pass congress + type + number to fetch a specific bill (title, sponsors, latest action, action/amendment/committee counts, policy area, congress.gov URL). Or omit number to list bills filtered by congress, bill type (hr | s | hjres | sjres | hconres | sconres | hres | sres), date range, with pagination + sort. Bill type semantics: hr=House Bill, s=Senate Bill, hjres/sjres=joint resolution, hconres/sconres=concurrent resolution, hres/sres=simple resolution.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "congress": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200
          },
          "type": {
            "type": "string",
            "enum": [
              "hr",
              "s",
              "hjres",
              "sjres",
              "hconres",
              "sconres",
              "hres",
              "sres"
            ]
          },
          "number": {
            "type": "integer",
            "minimum": 1
          },
          "fromDate": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "toDate": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "sort": {
            "type": "string",
            "enum": [
              "updateDate+desc",
              "updateDate+asc"
            ],
            "default": "updateDate+desc"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 250,
            "default": 20
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "default": 0
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "congress": 119,
        "type": "hr",
        "number": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "mode": {
                "type": "string",
                "enum": [
                  "lookup",
                  "list"
                ]
              }
            },
            "required": [
              "mode"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.congress-committee",
      "group": "gov",
      "name": "congress-committee",
      "method": "GET",
      "path": "/api/gov/congress-committee",
      "url": "https://2s.io/api/gov/congress-committee",
      "description": "List or look up US Congressional committees (Library of Congress Congress.gov). Pass systemCode (e.g. \"hspw00\") to fetch a single committee with full detail (members, subcommittees, history, hearings, jurisdiction). Or filter list by congress + chamber (house | senate | joint). Standard system codes follow chamber prefix + abbreviation + suffix convention.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "congress": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200
          },
          "chamber": {
            "type": "string",
            "enum": [
              "house",
              "senate",
              "joint"
            ]
          },
          "systemCode": {
            "type": "string",
            "pattern": "^[a-z]{2,8}\\d{2,4}$"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 250,
            "default": 25
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "default": 0
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "congress": 119,
        "chamber": "house",
        "limit": 5
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "mode": {
                "type": "string",
                "enum": [
                  "lookup",
                  "list"
                ]
              }
            },
            "required": [
              "mode"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.congress-filings",
      "group": "gov",
      "name": "congress-filings",
      "method": "GET",
      "path": "/api/gov/congress-filings",
      "url": "https://2s.io/api/gov/congress-filings",
      "description": "Track US House members' financial-disclosure filings — including Periodic Transaction Reports (PTRs), the STOCK Act filings where members must disclose their stock trades within 45 days. Defaults to PTRs; pass type=annual|candidate|amendment|all to see other disclosure kinds. Filter by member name (q), 2-letter state, filing year, or filing-date range (dateFrom/dateTo). Each result gives the member, state + district, filing type (with a readable label), the filing/disclosure date, and a direct link to the source document (docUrl). The envelope total is the full count matching your filter — so q=Pelosi or year=2026 answers 'how many PTRs did they file'. Covers 2008→present (~8,200 PTRs), refreshed daily so new filings appear within ~a day. Note: by law trades are disclosed up to 45 days after they happen — this is current-to-the-filing, not real-time. Data: US House Clerk (public domain).",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2
          },
          "type": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40
          },
          "chamber": {
            "type": "string",
            "enum": [
              "house",
              "senate"
            ]
          },
          "year": {
            "type": "integer",
            "minimum": 2008,
            "maximum": 2100
          },
          "dateFrom": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "dateTo": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 25
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100000,
            "default": 0
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "q": "Pelosi",
        "limit": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "docId": {
                  "type": "string"
                },
                "chamber": {
                  "type": "string"
                },
                "memberName": {
                  "type": "string",
                  "nullable": true
                },
                "state": {
                  "type": "string",
                  "nullable": true
                },
                "district": {
                  "type": "string",
                  "nullable": true
                },
                "filingType": {
                  "type": "string",
                  "nullable": true
                },
                "filingTypeLabel": {
                  "type": "string",
                  "nullable": true
                },
                "filingYear": {
                  "type": "number",
                  "nullable": true
                },
                "filingDate": {
                  "type": "string",
                  "nullable": true
                },
                "docUrl": {
                  "type": "string",
                  "nullable": true
                },
                "tradesParsed": {
                  "type": "boolean"
                }
              },
              "required": [
                "docId",
                "chamber",
                "memberName",
                "state",
                "district",
                "filingType",
                "filingTypeLabel",
                "filingYear",
                "filingDate",
                "docUrl",
                "tradesParsed"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.congress-hearing",
      "group": "gov",
      "name": "congress-hearing",
      "method": "GET",
      "path": "/api/gov/congress-hearing",
      "url": "https://2s.io/api/gov/congress-hearing",
      "description": "Look up or list US Congressional hearings via Congress.gov. Pass congress + chamber + jacketNumber to fetch a single hearing with full detail (title, dates, committee, transcripts/recordings if available). Or filter list by congress + chamber, with optional date range. Hearings cover committee testimony from the executive branch, subject experts, and stakeholders — primary-source material for oversight + policy research.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "congress": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200
          },
          "chamber": {
            "type": "string",
            "enum": [
              "house",
              "senate"
            ]
          },
          "jacketNumber": {
            "type": "integer",
            "minimum": 1
          },
          "fromDate": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "toDate": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 250,
            "default": 25
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "default": 0
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "congress": 119,
        "chamber": "house",
        "limit": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "mode": {
                "type": "string",
                "enum": [
                  "lookup",
                  "list"
                ]
              }
            },
            "required": [
              "mode"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.congress-member",
      "group": "gov",
      "name": "congress-member",
      "method": "GET",
      "path": "/api/gov/congress-member",
      "url": "https://2s.io/api/gov/congress-member",
      "description": "Look up or search members of the US Congress via Library of Congress Congress.gov API. Pass bioguideId (e.g. M001190) to fetch one member (full bio, terms, party history, leadership roles, sponsored + cosponsored legislation counts, official website, address). Or filter by congress + state + district, with currentMember=true to limit to seated members. Bioguide IDs are stable across history and are the canonical Congress-member identifier.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "bioguideId": {
            "type": "string",
            "pattern": "^[A-Z]\\d{6}$"
          },
          "congress": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200
          },
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "pattern": "^[A-Za-z]{2}$"
          },
          "district": {
            "type": "integer",
            "minimum": 0,
            "maximum": 60
          },
          "currentMember": {
            "type": "boolean"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 250,
            "default": 25
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "default": 0
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "bioguideId": "M001190"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "mode": {
                "type": "string",
                "enum": [
                  "lookup",
                  "list"
                ]
              }
            },
            "required": [
              "mode"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.congress-nomination",
      "group": "gov",
      "name": "congress-nomination",
      "method": "GET",
      "path": "/api/gov/congress-nomination",
      "url": "https://2s.io/api/gov/congress-nomination",
      "description": "Look up or list US presidential nominations (cabinet, judicial, executive) sent to the Senate for confirmation via Congress.gov. Pass congress + number for a single nomination with full action history. Or filter list by congress + date range. Each row carries: citation (PN###-#), description (nominee + position), receivedDate, nominationType (civilian / military / etc.), organization, latest action (committee referral, hearing, confirmation, withdrawal). Essential for confirmation-tracking + judicial-vetting agents.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "congress": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200
          },
          "number": {
            "type": "integer",
            "minimum": 1
          },
          "fromDate": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "toDate": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 250,
            "default": 25
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "default": 0
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "congress": 119,
        "limit": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "mode": {
                "type": "string",
                "enum": [
                  "lookup",
                  "list"
                ]
              }
            },
            "required": [
              "mode"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.congress-record",
      "group": "gov",
      "name": "congress-record",
      "method": "GET",
      "path": "/api/gov/congress-record",
      "url": "https://2s.io/api/gov/congress-record",
      "description": "List daily Congressional Record issues via Congress.gov — the official transcripts and proceedings of the US House and Senate, daily. Filter by year + month + day to narrow to a specific date or month. Each issue carries volume, issue number, publish date, and links to per-section content (Daily Digest, Senate, House, Extensions of Remarks) with PDF + sub-section URLs. Primary source for what was said on the floor.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "year": {
            "type": "integer",
            "minimum": 1873,
            "maximum": 2100
          },
          "month": {
            "type": "integer",
            "minimum": 1,
            "maximum": 12
          },
          "day": {
            "type": "integer",
            "minimum": 1,
            "maximum": 31
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "default": 0
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "year": 2025,
        "month": 6,
        "offset": 0
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.congress-trades",
      "group": "gov",
      "name": "congress-trades",
      "method": "GET",
      "path": "/api/gov/congress-trades",
      "url": "https://2s.io/api/gov/congress-trades",
      "description": "Search individual US Congress member stock trades, parsed from STOCK Act Periodic Transaction Reports into clean rows. Filter by member name (q, e.g. \"Pelosi\"), ticker (e.g. NVDA), transaction type (purchase | sale | exchange | partial_sale), party (D | R | I), 2-letter state, chamber, or transaction-date range (dateFrom/dateTo). Each trade returns the member + party + state/district, owner (self/spouse/joint/dependent), ticker + asset description, buy/sell, the disclosed dollar RANGE (amountMin/amountMax — disclosures are ranges, not exact), the transaction date, the disclosure date, days-to-disclose (compliance lag), and a link to the source filing PDF. The envelope total is the full count matching your filter — so ticker=NVDA&type=purchase counts who bought NVIDIA. Amounts are ranges by law; trades are disclosed up to 45 days after they happen (current-to-the-filing). Coverage: US House + Senate e-filed PTRs; scanned/handwritten reports are parsed separately. Data: US House Clerk / US Senate eFD (public domain). Cross-ref /api/gov/congress-filings for the raw filing index.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "ticker": {
            "type": "string",
            "minLength": 1,
            "maxLength": 10
          },
          "type": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20
          },
          "chamber": {
            "type": "string",
            "enum": [
              "house",
              "senate"
            ]
          },
          "party": {
            "type": "string",
            "minLength": 1,
            "maxLength": 11
          },
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2
          },
          "dateFrom": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "dateTo": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 25
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100000,
            "default": 0
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "q": "Pelosi",
        "limit": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "member": {
                  "type": "string",
                  "nullable": true
                },
                "chamber": {
                  "type": "string"
                },
                "party": {
                  "type": "string",
                  "nullable": true
                },
                "state": {
                  "type": "string",
                  "nullable": true
                },
                "district": {
                  "type": "string",
                  "nullable": true
                },
                "owner": {
                  "type": "string",
                  "nullable": true
                },
                "ticker": {
                  "type": "string",
                  "nullable": true
                },
                "assetDescription": {
                  "type": "string",
                  "nullable": true
                },
                "assetType": {
                  "type": "string",
                  "nullable": true
                },
                "transactionType": {
                  "type": "string",
                  "nullable": true
                },
                "amountMin": {
                  "type": "number",
                  "nullable": true
                },
                "amountMax": {
                  "type": "number",
                  "nullable": true
                },
                "transactionDate": {
                  "type": "string",
                  "nullable": true
                },
                "disclosureDate": {
                  "type": "string",
                  "nullable": true
                },
                "daysToDisclose": {
                  "type": "number",
                  "nullable": true
                },
                "docUrl": {
                  "type": "string",
                  "nullable": true
                },
                "source": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "member",
                "chamber",
                "party",
                "state",
                "district",
                "owner",
                "ticker",
                "assetDescription",
                "assetType",
                "transactionType",
                "amountMin",
                "amountMax",
                "transactionDate",
                "disclosureDate",
                "daysToDisclose",
                "docUrl",
                "source"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.congress-treaty",
      "group": "gov",
      "name": "congress-treaty",
      "method": "GET",
      "path": "/api/gov/congress-treaty",
      "url": "https://2s.io/api/gov/congress-treaty",
      "description": "Look up or list international treaties transmitted to the US Senate for advice and consent via Congress.gov. Pass congress + number (optionally + suffix for partitioned treaties) to fetch a single treaty with parties, topic, transmittal date, and consideration status. Or list by congress. Returns the congress the treaty was received in, the congress that considered it (if any), partial-treaty suffix, topic, transmitted date, and count of parties.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "congress": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200
          },
          "number": {
            "type": "integer",
            "minimum": 1
          },
          "suffix": {
            "type": "string",
            "pattern": "^[A-Za-z]$"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 250,
            "default": 25
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "default": 0
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "congress": 116,
        "limit": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "mode": {
                "type": "string",
                "enum": [
                  "lookup",
                  "list"
                ]
              }
            },
            "required": [
              "mode"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.contract-opportunities",
      "group": "gov",
      "name": "contract-opportunities",
      "method": "GET",
      "path": "/api/gov/contract-opportunities",
      "url": "https://2s.io/api/gov/contract-opportunities",
      "description": "Search ACTIVE US federal contract opportunities (solicitations, combined synopses, sources-sought, RFPs/RFQs) from SAM.gov. Requires a posted-date window: postedFrom and postedTo as MM/DD/YYYY, max 1 year span. Optional filters: title (keyword), naics (NAICS code), state (place/office 2-letter), setAside (set-aside code, e.g. SBA, 8A, WOSB, SDVOSBC), ptype (notice type: o=solicitation, p=presolicitation, r=sources-sought, k=combined, etc.); page with limit (1-100) and offset. Returns each opportunity with notice id, title, solicitation number, type, department path, posted date, response deadline, NAICS, classification, set-aside, active flag, contracting office location, and a sam.gov UI link — plus a total match count. Data: SAM.gov, free and public-domain. Distinct from /api/gov/usaspending-awards (past awards) — this is what is OPEN to bid now. Fresh, time-sensitive data for govcon / capture / bid-intelligence agents.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "postedFrom": {
            "type": "string",
            "pattern": "^(0[1-9]|1[0-2])\\/(0[1-9]|[12]\\d|3[01])\\/\\d{4}$"
          },
          "postedTo": {
            "type": "string",
            "pattern": "^(0[1-9]|1[0-2])\\/(0[1-9]|[12]\\d|3[01])\\/\\d{4}$"
          },
          "title": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200
          },
          "naics": {
            "type": "string",
            "pattern": "^\\d{2,6}$"
          },
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2
          },
          "setAside": {
            "type": "string",
            "minLength": 2,
            "maxLength": 12
          },
          "ptype": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 10
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 10000,
            "default": 0
          }
        },
        "required": [
          "postedFrom",
          "postedTo"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "postedFrom": "example",
        "postedTo": "example",
        "title": "xx",
        "naics": "12345",
        "state": "xx",
        "setAside": "xx",
        "ptype": "example",
        "limit": 10,
        "offset": 0
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "noticeId": {
                  "type": "string",
                  "nullable": true
                },
                "title": {
                  "type": "string",
                  "nullable": true
                },
                "solicitationNumber": {
                  "type": "string",
                  "nullable": true
                },
                "type": {
                  "type": "string",
                  "nullable": true
                },
                "department": {
                  "type": "string",
                  "nullable": true
                },
                "postedDate": {
                  "type": "string",
                  "nullable": true
                },
                "responseDeadline": {
                  "type": "string",
                  "nullable": true
                },
                "naicsCode": {
                  "type": "string",
                  "nullable": true
                },
                "classificationCode": {
                  "type": "string",
                  "nullable": true
                },
                "setAside": {
                  "type": "string",
                  "nullable": true
                },
                "active": {
                  "type": "boolean",
                  "nullable": true
                },
                "organizationType": {
                  "type": "string",
                  "nullable": true
                },
                "office": {
                  "type": "object",
                  "properties": {
                    "city": {
                      "type": "string",
                      "nullable": true
                    },
                    "state": {
                      "type": "string",
                      "nullable": true
                    },
                    "zip": {
                      "type": "string",
                      "nullable": true
                    },
                    "country": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "city",
                    "state",
                    "zip",
                    "country"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                },
                "uiLink": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "noticeId",
                "title",
                "solicitationNumber",
                "type",
                "department",
                "postedDate",
                "responseDeadline",
                "naicsCode",
                "classificationCode",
                "setAside",
                "active",
                "organizationType",
                "office",
                "uiLink"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "postedFrom": {
                    "type": "string"
                  },
                  "postedTo": {
                    "type": "string"
                  },
                  "title": {
                    "type": "string",
                    "nullable": true
                  },
                  "naics": {
                    "type": "string",
                    "nullable": true
                  },
                  "state": {
                    "type": "string",
                    "nullable": true
                  },
                  "setAside": {
                    "type": "string",
                    "nullable": true
                  },
                  "ptype": {
                    "type": "string",
                    "nullable": true
                  },
                  "limit": {
                    "type": "integer"
                  },
                  "offset": {
                    "type": "integer"
                  }
                },
                "required": [
                  "postedFrom",
                  "postedTo",
                  "title",
                  "naics",
                  "state",
                  "setAside",
                  "ptype",
                  "limit",
                  "offset"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "query"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.counterparty",
      "group": "gov",
      "name": "counterparty",
      "method": "GET",
      "path": "/api/gov/counterparty",
      "url": "https://2s.io/api/gov/counterparty",
      "description": "Federal counterparty due-diligence dossier on one name, in a single call. Give name (a company or person) and optional state; get back six independent federal/authoritative screens composed into one verdict: SAM.gov registration (UEI/CAGE, active status), SAM federal exclusions (debarment/suspension), OFAC SDN sanctions, GLEIF Legal Entity Identifier, USAspending federal contract-award history, and FARA foreign-agent registration. Returns headline riskFlags (e.g. federally_debarred, sanctions_high_confidence_match, registered_foreign_agent), a cleared boolean (true only when both debarment AND sanctions sources answered and were clean — FARA status is disclosure context and does NOT affect cleared), a summary of booleans, and a per-source found/error/data block so one slow or empty source never fails the whole call. Composition of /api/gov/entity + /api/gov/exclusions + /api/law/sanctions-check + /api/business/lei + /api/gov/usaspending-awards + /api/gov/foreign-agents — all free, public-domain US data. Name matching is probabilistic: review flagged matches manually and confirm with a hard identifier (UEI, LEI) before acting. For vendor onboarding, KYC/AML triage, grant eligibility, and procurement integrity. The federal counterpart to /api/business/entity-screen (which covers state registries).",
      "priceUsd": 0.0072,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200
          },
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2
          },
          "threshold": {
            "type": "number",
            "minimum": 0.1,
            "maximum": 1,
            "default": 0.4
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 20,
            "default": 5
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "name": "Acme Corporation"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "state": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "name",
              "state"
            ],
            "additionalProperties": false
          },
          "riskFlags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "cleared": {
            "type": "boolean"
          },
          "summary": {
            "type": "object",
            "properties": {
              "samRegistered": {
                "type": "boolean",
                "nullable": true
              },
              "activeRegistration": {
                "type": "boolean",
                "nullable": true
              },
              "isDebarred": {
                "type": "boolean",
                "nullable": true
              },
              "isSanctioned": {
                "type": "boolean",
                "nullable": true
              },
              "hasLei": {
                "type": "boolean",
                "nullable": true
              },
              "federalAwardCount": {
                "type": "number",
                "nullable": true
              },
              "isForeignAgent": {
                "type": "boolean",
                "nullable": true
              }
            },
            "required": [
              "samRegistered",
              "activeRegistration",
              "isDebarred",
              "isSanctioned",
              "hasLei",
              "federalAwardCount",
              "isForeignAgent"
            ],
            "additionalProperties": false
          },
          "registration": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "data": {
                "type": "object",
                "additionalProperties": {},
                "nullable": true
              }
            },
            "required": [
              "found",
              "error",
              "data"
            ],
            "additionalProperties": false
          },
          "exclusions": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "data": {
                "type": "object",
                "additionalProperties": {},
                "nullable": true
              }
            },
            "required": [
              "found",
              "error",
              "data"
            ],
            "additionalProperties": false
          },
          "sanctions": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "data": {
                "type": "object",
                "additionalProperties": {},
                "nullable": true
              }
            },
            "required": [
              "found",
              "error",
              "data"
            ],
            "additionalProperties": false
          },
          "lei": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "data": {
                "type": "object",
                "additionalProperties": {},
                "nullable": true
              }
            },
            "required": [
              "found",
              "error",
              "data"
            ],
            "additionalProperties": false
          },
          "federalAwards": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "data": {
                "type": "object",
                "additionalProperties": {},
                "nullable": true
              }
            },
            "required": [
              "found",
              "error",
              "data"
            ],
            "additionalProperties": false
          },
          "foreignAgent": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "data": {
                "type": "object",
                "additionalProperties": {},
                "nullable": true
              }
            },
            "required": [
              "found",
              "error",
              "data"
            ],
            "additionalProperties": false
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "provider": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                },
                "license": {
                  "type": "string"
                }
              },
              "required": [
                "provider",
                "url",
                "license"
              ],
              "additionalProperties": false
            }
          },
          "note": {
            "type": "string"
          }
        },
        "required": [
          "query",
          "riskFlags",
          "cleared",
          "summary",
          "registration",
          "exclusions",
          "sanctions",
          "lei",
          "federalAwards",
          "foreignAgent",
          "sources",
          "note"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.disaster-assistance",
      "group": "gov",
      "name": "disaster-assistance",
      "method": "GET",
      "path": "/api/gov/disaster-assistance",
      "url": "https://2s.io/api/gov/disaster-assistance",
      "description": "FEMA disaster assistance dollars — how much federal aid was approved or obligated for a declared disaster, by place. program=individuals (default) returns Individuals & Households Program (IHP) approved housing assistance, one record per ZIP per disaster, with FEMA-approved repair/replace, rental, and other-needs dollars and valid-registration counts (tenancy=owner default, or renter). program=public returns Public Assistance funded-project summaries, one record per applicant (state/local government, tribe, or eligible nonprofit) per disaster, with the federally obligated grant amount and project count. Filter by disasterNumber (the join key to gov.disaster-declarations), state (2-letter), and zipCode (5-digit, IHP only); results are ordered by approved/obligated dollars, highest first, with the total matching count and a normalized approvedAmountUSD per record. Free, public-domain (OpenFEMA). Distinct from gov.disaster-declarations (which disasters were declared + what was authorized), gov.risk-index (modeled future risk), and gov.nfip-claims (flood-insurance losses): this is the realized federal-spend record — for disaster-recovery, grants, insurance, and emergency-management workflows.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "program": {
            "type": "string",
            "enum": [
              "individuals",
              "public"
            ],
            "description": "'individuals' (IHP, default) or 'public'."
          },
          "tenancy": {
            "type": "string",
            "enum": [
              "owner",
              "renter"
            ],
            "description": "For program=individuals: 'owner' (default) or 'renter'."
          },
          "disasterNumber": {
            "type": "integer",
            "minimum": 1,
            "maximum": 99999,
            "description": "FEMA disaster number."
          },
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "2-letter US state/territory code."
          },
          "zipCode": {
            "type": "string",
            "pattern": "^\\d{5}$",
            "description": "5-digit ZIP (IHP only)."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "disasterNumber": "4673",
        "program": "individuals",
        "limit": "3"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "program": {
                "type": "string"
              },
              "tenancy": {
                "type": "string",
                "nullable": true
              },
              "disasterNumber": {
                "type": "number",
                "nullable": true
              },
              "state": {
                "type": "string",
                "nullable": true
              },
              "zipCode": {
                "type": "string",
                "nullable": true
              },
              "limit": {
                "type": "number"
              }
            },
            "required": [
              "program",
              "tenancy",
              "disasterNumber",
              "state",
              "zipCode",
              "limit"
            ],
            "additionalProperties": false
          },
          "program": {
            "type": "string"
          },
          "totalRecords": {
            "type": "number",
            "nullable": true
          },
          "returned": {
            "type": "number"
          },
          "returnedSumApprovedUSD": {
            "type": "number"
          },
          "records": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "program": {
                  "type": "string"
                },
                "disasterNumber": {
                  "type": "number",
                  "nullable": true
                },
                "state": {
                  "type": "string",
                  "nullable": true
                },
                "county": {
                  "type": "string",
                  "nullable": true
                },
                "approvedAmountUSD": {
                  "type": "number",
                  "nullable": true
                },
                "tenancy": {
                  "type": "string",
                  "nullable": true
                },
                "city": {
                  "type": "string",
                  "nullable": true
                },
                "zipCode": {
                  "type": "string",
                  "nullable": true
                },
                "validRegistrations": {
                  "type": "number",
                  "nullable": true
                },
                "approvedForFemaAssistance": {
                  "type": "number",
                  "nullable": true
                },
                "repairReplaceAmount": {
                  "type": "number",
                  "nullable": true
                },
                "rentalAmount": {
                  "type": "number",
                  "nullable": true
                },
                "otherNeedsAmount": {
                  "type": "number",
                  "nullable": true
                },
                "applicantName": {
                  "type": "string",
                  "nullable": true
                },
                "educationApplicant": {
                  "type": "boolean",
                  "nullable": true
                },
                "numberOfProjects": {
                  "type": "number",
                  "nullable": true
                },
                "incidentType": {
                  "type": "string",
                  "nullable": true
                },
                "declarationDate": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "program",
                "disasterNumber",
                "state",
                "county",
                "approvedAmountUSD",
                "tenancy",
                "city",
                "zipCode",
                "validRegistrations",
                "approvedForFemaAssistance",
                "repairReplaceAmount",
                "rentalAmount",
                "otherNeedsAmount",
                "applicantName",
                "educationApplicant",
                "numberOfProjects",
                "incidentType",
                "declarationDate"
              ],
              "additionalProperties": false
            }
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "note": {
            "type": "string"
          }
        },
        "required": [
          "query",
          "program",
          "totalRecords",
          "returned",
          "returnedSumApprovedUSD",
          "records",
          "source",
          "note"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.disaster-declarations",
      "group": "gov",
      "name": "disaster-declarations",
      "method": "GET",
      "path": "/api/gov/disaster-declarations",
      "url": "https://2s.io/api/gov/disaster-declarations",
      "description": "FEMA federal disaster & emergency declarations — every federally declared disaster since 1953, including the ones declared this week. Filter by state (2-letter), disasterNumber, declarationType (DR=major disaster, EM=emergency, FM/FS/FW=fire management), incidentType (e.g. Hurricane, Fire, Flood, Severe Storm), county (5-digit FIPS), fiscal year (fyDeclared), and declaration date range (fromDate/toDate, YYYY-MM-DD). With no filter, returns the most recent declarations nationwide. Returns the total matching count plus records (one per designated county/area) with the declaration string, disaster number, title, incident type, declaration + incident begin/end + closeout dates, designated area, county FIPS, FEMA region, and the assistance programs authorized (Individuals & Households, Individual Assistance, Public Assistance, Hazard Mitigation). Free, public-domain (OpenFEMA). Distinct from gov.risk-index (modeled future risk) and gov.nfip-claims (realized flood losses): this is the official federal-response record — for disaster-response logistics, eligibility checks, insurance, and emergency-management workflows.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "2-letter US state/territory code."
          },
          "disasterNumber": {
            "type": "integer",
            "minimum": 1,
            "maximum": 99999,
            "description": "FEMA disaster number."
          },
          "declarationType": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "DR, EM, FM, FS, or FW."
          },
          "incidentType": {
            "type": "string",
            "minLength": 2,
            "maxLength": 60,
            "description": "Incident type, e.g. Hurricane, Fire, Flood."
          },
          "county": {
            "type": "string",
            "pattern": "^\\d{5}$"
          },
          "fyDeclared": {
            "type": "integer",
            "minimum": 1953,
            "maximum": 2100
          },
          "fromDate": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "toDate": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "state": "FL",
        "incidentType": "Hurricane",
        "limit": "3"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "state": {
                "type": "string",
                "nullable": true
              },
              "disasterNumber": {
                "type": "number",
                "nullable": true
              },
              "declarationType": {
                "type": "string",
                "nullable": true
              },
              "incidentType": {
                "type": "string",
                "nullable": true
              },
              "county": {
                "type": "string",
                "nullable": true
              },
              "fyDeclared": {
                "type": "number",
                "nullable": true
              },
              "fromDate": {
                "type": "string",
                "nullable": true
              },
              "toDate": {
                "type": "string",
                "nullable": true
              },
              "limit": {
                "type": "number"
              }
            },
            "required": [
              "state",
              "disasterNumber",
              "declarationType",
              "incidentType",
              "county",
              "fyDeclared",
              "fromDate",
              "toDate",
              "limit"
            ],
            "additionalProperties": false
          },
          "totalDeclarations": {
            "type": "number",
            "nullable": true
          },
          "returned": {
            "type": "number"
          },
          "declarations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "femaDeclarationString": {
                  "type": "string",
                  "nullable": true
                },
                "disasterNumber": {
                  "type": "number",
                  "nullable": true
                },
                "state": {
                  "type": "string",
                  "nullable": true
                },
                "declarationType": {
                  "type": "string",
                  "nullable": true
                },
                "declarationTypeLabel": {
                  "type": "string",
                  "nullable": true
                },
                "declarationTitle": {
                  "type": "string",
                  "nullable": true
                },
                "incidentType": {
                  "type": "string",
                  "nullable": true
                },
                "declarationDate": {
                  "type": "string",
                  "nullable": true
                },
                "fyDeclared": {
                  "type": "number",
                  "nullable": true
                },
                "incidentBeginDate": {
                  "type": "string",
                  "nullable": true
                },
                "incidentEndDate": {
                  "type": "string",
                  "nullable": true
                },
                "disasterCloseoutDate": {
                  "type": "string",
                  "nullable": true
                },
                "designatedArea": {
                  "type": "string",
                  "nullable": true
                },
                "countyFips": {
                  "type": "string",
                  "nullable": true
                },
                "region": {
                  "type": "number",
                  "nullable": true
                },
                "tribalRequest": {
                  "type": "boolean",
                  "nullable": true
                },
                "programs": {
                  "type": "object",
                  "properties": {
                    "individualsAndHouseholds": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "individualAssistance": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "publicAssistance": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "hazardMitigation": {
                      "type": "boolean",
                      "nullable": true
                    }
                  },
                  "required": [
                    "individualsAndHouseholds",
                    "individualAssistance",
                    "publicAssistance",
                    "hazardMitigation"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "femaDeclarationString",
                "disasterNumber",
                "state",
                "declarationType",
                "declarationTypeLabel",
                "declarationTitle",
                "incidentType",
                "declarationDate",
                "fyDeclared",
                "incidentBeginDate",
                "incidentEndDate",
                "disasterCloseoutDate",
                "designatedArea",
                "countyFips",
                "region",
                "tribalRequest",
                "programs"
              ],
              "additionalProperties": false
            }
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "note": {
            "type": "string"
          }
        },
        "required": [
          "query",
          "totalDeclarations",
          "returned",
          "declarations",
          "source",
          "note"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.district",
      "group": "gov",
      "name": "district",
      "method": "GET",
      "path": "/api/gov/district",
      "url": "https://2s.io/api/gov/district",
      "description": "Resolve a US street address to its congressional district (119th Congress), state, and county, via the US Census Bureau geocoder. Returns the matched/normalized address, latitude/longitude, state (name + 2-letter abbreviation), county, and the district number within the state (null for at-large or non-voting delegate districts). The point-in-polygon district lookup is something an agent can't do from a sandbox. Pair it with the gov/congress.* endpoints to find the representatives once you have the state + district. Public domain, keyless.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "minLength": 5,
            "maxLength": 300,
            "description": "A US street address (one line, e.g. \"1600 Pennsylvania Ave NW, Washington, DC 20500\")."
          }
        },
        "required": [
          "address"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "address": "1600 Pennsylvania Ave NW, Washington, DC 20500"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "matchedAddress": {
                  "type": "string",
                  "nullable": true
                },
                "coordinates": {
                  "type": "object",
                  "properties": {
                    "lat": {
                      "type": "number",
                      "nullable": true
                    },
                    "lon": {
                      "type": "number",
                      "nullable": true
                    }
                  },
                  "required": [
                    "lat",
                    "lon"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                },
                "state": {
                  "type": "string",
                  "nullable": true
                },
                "stateAbbr": {
                  "type": "string",
                  "nullable": true
                },
                "stateFips": {
                  "type": "string",
                  "nullable": true
                },
                "county": {
                  "type": "string",
                  "nullable": true
                },
                "congress": {
                  "type": "string"
                },
                "district": {
                  "type": "string",
                  "nullable": true,
                  "description": "District number within the state (null = at-large/delegate)."
                },
                "districtName": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "matchedAddress",
                "coordinates",
                "state",
                "stateAbbr",
                "stateFips",
                "county",
                "congress",
                "district",
                "districtName"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "source": {
                "type": "string"
              }
            },
            "required": [
              "source"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.entity",
      "group": "gov",
      "name": "entity",
      "method": "GET",
      "path": "/api/gov/entity",
      "url": "https://2s.io/api/gov/entity",
      "description": "Look up entities registered to do business with the US federal government in SAM.gov. Search by ueiSAM (12-char Unique Entity ID), cageCode, or legalBusinessName (provide at least one); page with limit (1-100). Returns each entity with its UEI, CAGE code, legal and DBA name, SAM registration status and dates (registration, expiration, last update), purpose of registration, an active-exclusion flag, physical address, and business types — plus a total match count. Data: SAM.gov entity management, free and public-domain (registration core data; sensitive FOUO sections are not returned). The canonical federal counterparty identity key — pair with /api/gov/exclusions (debarment) and /api/law/sanctions-check (OFAC) for full counterparty due diligence.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "legalBusinessName": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200
          },
          "ueiSAM": {
            "type": "string",
            "minLength": 12,
            "maxLength": 12
          },
          "cageCode": {
            "type": "string",
            "minLength": 3,
            "maxLength": 10
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 10
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "legalBusinessName": "xx",
        "ueiSAM": "xxxxxxxxxxxx",
        "cageCode": "xxx",
        "limit": 10
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ueiSAM": {
                  "type": "string",
                  "nullable": true
                },
                "cageCode": {
                  "type": "string",
                  "nullable": true
                },
                "legalBusinessName": {
                  "type": "string",
                  "nullable": true
                },
                "dbaName": {
                  "type": "string",
                  "nullable": true
                },
                "samRegistered": {
                  "type": "boolean",
                  "nullable": true
                },
                "registrationStatus": {
                  "type": "string",
                  "nullable": true
                },
                "registrationDate": {
                  "type": "string",
                  "nullable": true
                },
                "registrationExpirationDate": {
                  "type": "string",
                  "nullable": true
                },
                "lastUpdateDate": {
                  "type": "string",
                  "nullable": true
                },
                "purposeOfRegistration": {
                  "type": "string",
                  "nullable": true
                },
                "hasActiveExclusion": {
                  "type": "boolean",
                  "nullable": true
                },
                "physicalAddress": {
                  "type": "object",
                  "properties": {
                    "city": {
                      "type": "string",
                      "nullable": true
                    },
                    "state": {
                      "type": "string",
                      "nullable": true
                    },
                    "zip": {
                      "type": "string",
                      "nullable": true
                    },
                    "country": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "city",
                    "state",
                    "zip",
                    "country"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                },
                "businessTypes": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "ueiSAM",
                "cageCode",
                "legalBusinessName",
                "dbaName",
                "samRegistered",
                "registrationStatus",
                "registrationDate",
                "registrationExpirationDate",
                "lastUpdateDate",
                "purposeOfRegistration",
                "hasActiveExclusion",
                "physicalAddress",
                "businessTypes"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "legalBusinessName": {
                    "type": "string",
                    "nullable": true
                  },
                  "ueiSAM": {
                    "type": "string",
                    "nullable": true
                  },
                  "cageCode": {
                    "type": "string",
                    "nullable": true
                  },
                  "limit": {
                    "type": "integer"
                  }
                },
                "required": [
                  "legalBusinessName",
                  "ueiSAM",
                  "cageCode",
                  "limit"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "query"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.epa-facilities",
      "group": "gov",
      "name": "epa-facilities",
      "method": "GET",
      "path": "/api/gov/epa-facilities",
      "url": "https://2s.io/api/gov/epa-facilities",
      "description": "EPA Facility Registry Service (FRS) — every regulated facility known to the EPA across all programs (RCRA hazardous waste, NPDES water discharge, SDWA drinking water, TRI toxic release, CAA Clean Air, Superfund, etc.). Filter by state (required), facility name prefix, and EPA program acronym. Each record includes registry ID, primary name, address, city/state/county/zip, EPA region, program system + ID, source-of-data system. Public-domain US government records.",
      "priceUsd": 0.0024,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "pattern": "^[A-Za-z]{2}$",
            "description": "2-letter US state code. Required. Example: \"CA\", \"TX\", \"NY\"."
          },
          "name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Facility-name prefix match (case-insensitive). Example: \"TESLA\", \"BOEING\", \"AMAZON\"."
          },
          "program": {
            "type": "string",
            "minLength": 2,
            "maxLength": 10,
            "pattern": "^[A-Za-z0-9]+$",
            "description": "Program system acronym. Examples: RCRA (hazardous waste), NPDES (water discharge), TRI (toxic release), AIR (Clean Air), SDWA (drinking water)."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 25,
            "description": "Max facilities to return (1-100). Default 25."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 10000,
            "default": 0,
            "description": "Offset for pagination. Default 0."
          }
        },
        "required": [
          "state"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "state": "xx",
        "name": "xx",
        "program": "xx",
        "limit": 25,
        "offset": 0
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "registryId": {
                  "type": "string"
                },
                "primaryName": {
                  "type": "string",
                  "nullable": true
                },
                "locationAddress": {
                  "type": "string",
                  "nullable": true
                },
                "city": {
                  "type": "string",
                  "nullable": true
                },
                "state": {
                  "type": "string",
                  "nullable": true
                },
                "postalCode": {
                  "type": "string",
                  "nullable": true
                },
                "county": {
                  "type": "string",
                  "nullable": true
                },
                "epaRegion": {
                  "type": "string",
                  "nullable": true
                },
                "programSystem": {
                  "type": "string",
                  "nullable": true
                },
                "pgmSysId": {
                  "type": "string",
                  "nullable": true
                },
                "sourceOfData": {
                  "type": "string",
                  "nullable": true
                },
                "publicIndicator": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "registryId",
                "primaryName",
                "locationAddress",
                "city",
                "state",
                "postalCode",
                "county",
                "epaRegion",
                "programSystem",
                "pgmSysId",
                "sourceOfData",
                "publicIndicator"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "state": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string",
                    "nullable": true
                  },
                  "program": {
                    "type": "string",
                    "nullable": true
                  },
                  "limit": {
                    "type": "integer"
                  },
                  "offset": {
                    "type": "integer"
                  }
                },
                "required": [
                  "state",
                  "name",
                  "program",
                  "limit",
                  "offset"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "query"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.eu-tenders",
      "group": "gov",
      "name": "eu-tenders",
      "method": "GET",
      "path": "/api/gov/eu-tenders",
      "url": "https://2s.io/api/gov/eu-tenders",
      "description": "Search EU public-procurement notices from TED (Tenders Electronic Daily) — the official journal of European public tenders. Filter by country (ISO 3-letter buyer country, e.g. DEU, FRA, ESP), cpv (Common Procurement Vocabulary code/prefix, e.g. 72000000 = IT services), and/or keyword (full-text). Each result: publication number, English title, buyer name + country, publication date, tender deadline, CPV codes, notice + procedure type, total value, and links to the notice page + PDF. Power users can pass a raw `query` in TED's expert query language (e.g. '(buyer-country=FRA) AND (FT~\"hospital\")'). Free, reusable EU open data (attribution). Live procurement intelligence agents can't get from training — for bid discovery, market research, and supplier monitoring across all EU member states.",
      "priceUsd": 0.00192,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 3
          },
          "cpv": {
            "type": "string",
            "minLength": 2,
            "maxLength": 8,
            "pattern": "^\\d+$"
          },
          "keyword": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "query": {
            "type": "string",
            "minLength": 1,
            "maxLength": 500
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "country": "DEU",
        "keyword": "software",
        "limit": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "publicationNumber": {
                  "type": "string",
                  "nullable": true
                },
                "title": {
                  "type": "string",
                  "nullable": true
                },
                "buyer": {
                  "type": "string",
                  "nullable": true
                },
                "buyerCountry": {
                  "type": "string",
                  "nullable": true
                },
                "publicationDate": {
                  "type": "string",
                  "nullable": true
                },
                "deadline": {
                  "type": "string",
                  "nullable": true
                },
                "cpvCodes": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "noticeType": {
                  "type": "string",
                  "nullable": true
                },
                "procedureType": {
                  "type": "string",
                  "nullable": true
                },
                "totalValue": {},
                "url": {
                  "type": "string",
                  "nullable": true
                },
                "pdfUrl": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "publicationNumber",
                "title",
                "buyer",
                "buyerCountry",
                "publicationDate",
                "deadline",
                "cpvCodes",
                "noticeType",
                "procedureType",
                "url",
                "pdfUrl"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.exclusions",
      "group": "gov",
      "name": "exclusions",
      "method": "GET",
      "path": "/api/gov/exclusions",
      "url": "https://2s.io/api/gov/exclusions",
      "description": "Check whether a person or company is excluded (debarred or suspended) from receiving US federal contracts, grants, or assistance — the SAM.gov Exclusions list. Search by name (person or entity), ueiSAM, cageCode, and/or classificationType (Individual, Firm, Vessel, Special Entity Designation); page with limit (1-100). Returns each exclusion with the excluded name, classification, exclusion type and program, the excluding agency, UEI, activation and termination dates, and address — plus a total match count. Data: SAM.gov exclusions, free and public-domain. Distinct from /api/law/sanctions-check (OFAC sanctions) — this is federal procurement debarment. Use for vendor onboarding, grant eligibility, and counterparty due diligence; pair with /api/gov/entity and /api/law/sanctions-check.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200
          },
          "ueiSAM": {
            "type": "string",
            "minLength": 12,
            "maxLength": 12
          },
          "cageCode": {
            "type": "string",
            "minLength": 3,
            "maxLength": 10
          },
          "classificationType": {
            "type": "string",
            "enum": [
              "Individual",
              "Firm",
              "Vessel",
              "Special Entity Designation"
            ]
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 10
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "name": "xx",
        "ueiSAM": "xxxxxxxxxxxx",
        "cageCode": "xxx",
        "classificationType": "Individual",
        "limit": 10
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "classificationType": {
                  "type": "string",
                  "nullable": true
                },
                "exclusionType": {
                  "type": "string",
                  "nullable": true
                },
                "exclusionProgram": {
                  "type": "string",
                  "nullable": true
                },
                "excludingAgency": {
                  "type": "string",
                  "nullable": true
                },
                "ueiSAM": {
                  "type": "string",
                  "nullable": true
                },
                "activationDate": {
                  "type": "string",
                  "nullable": true
                },
                "terminationDate": {
                  "type": "string",
                  "nullable": true
                },
                "address": {
                  "type": "object",
                  "properties": {
                    "city": {
                      "type": "string",
                      "nullable": true
                    },
                    "state": {
                      "type": "string",
                      "nullable": true
                    },
                    "country": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "city",
                    "state",
                    "country"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                }
              },
              "required": [
                "name",
                "classificationType",
                "exclusionType",
                "exclusionProgram",
                "excludingAgency",
                "ueiSAM",
                "activationDate",
                "terminationDate",
                "address"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "nullable": true
                  },
                  "ueiSAM": {
                    "type": "string",
                    "nullable": true
                  },
                  "cageCode": {
                    "type": "string",
                    "nullable": true
                  },
                  "classificationType": {
                    "type": "string",
                    "nullable": true
                  },
                  "limit": {
                    "type": "integer"
                  }
                },
                "required": [
                  "name",
                  "ueiSAM",
                  "cageCode",
                  "classificationType",
                  "limit"
                ],
                "additionalProperties": false
              },
              "hasExclusion": {
                "type": "boolean",
                "description": "True when at least one exclusion matched the query."
              }
            },
            "required": [
              "query",
              "hasExclusion"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.fair-market-rent",
      "group": "gov",
      "name": "fair-market-rent",
      "method": "GET",
      "path": "/api/gov/fair-market-rent",
      "url": "https://2s.io/api/gov/fair-market-rent",
      "description": "HUD Fair Market Rents (FMR) for a US county or state — HUD’s annual gross-rent estimate (rent + utilities) by bedroom size (efficiency through 4-bedroom), the basis for Housing Choice Voucher payment standards and other HUD programs. Look up by 5-digit county FIPS (returns the county/metro rents, broken out per ZIP where HUD publishes Small Area FMRs) or by 2-letter state (returns every metro area + county). Optional year (defaults to latest). Source: HUD USER FMR API (US public domain).",
      "priceUsd": 0.0048,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fips": {
            "type": "string",
            "pattern": "^\\d{5}$",
            "description": "5-digit US county FIPS, e.g. 06037 (Los Angeles County)."
          },
          "state": {
            "type": "string",
            "pattern": "^[A-Za-z]{2}$",
            "description": "2-letter US state abbreviation, e.g. CA."
          },
          "year": {
            "type": "string",
            "pattern": "^\\d{4}$",
            "description": "FMR year, e.g. 2026. Omit for the latest."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "fips": "06037"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "scope": {
                  "type": "string",
                  "enum": [
                    "county",
                    "state"
                  ]
                },
                "fips": {
                  "type": "string",
                  "nullable": true
                },
                "state": {
                  "type": "string",
                  "nullable": true
                },
                "year": {
                  "type": "string",
                  "nullable": true
                },
                "countyName": {
                  "type": "string",
                  "nullable": true
                },
                "metroName": {
                  "type": "string",
                  "nullable": true
                },
                "areaName": {
                  "type": "string",
                  "nullable": true
                },
                "areas": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "level": {
                        "type": "string",
                        "enum": [
                          "county",
                          "metro",
                          "smallarea",
                          "state-county"
                        ]
                      },
                      "name": {
                        "type": "string",
                        "nullable": true
                      },
                      "zipCode": {
                        "type": "string",
                        "nullable": true
                      },
                      "fipsCode": {
                        "type": "string",
                        "nullable": true
                      },
                      "rents": {
                        "type": "object",
                        "properties": {
                          "efficiency": {
                            "type": "number",
                            "nullable": true
                          },
                          "oneBedroom": {
                            "type": "number",
                            "nullable": true
                          },
                          "twoBedroom": {
                            "type": "number",
                            "nullable": true
                          },
                          "threeBedroom": {
                            "type": "number",
                            "nullable": true
                          },
                          "fourBedroom": {
                            "type": "number",
                            "nullable": true
                          }
                        },
                        "required": [
                          "efficiency",
                          "oneBedroom",
                          "twoBedroom",
                          "threeBedroom",
                          "fourBedroom"
                        ],
                        "additionalProperties": false
                      },
                      "fmrPercentile": {
                        "type": "number",
                        "nullable": true
                      }
                    },
                    "required": [
                      "level",
                      "name",
                      "zipCode",
                      "fipsCode",
                      "rents",
                      "fmrPercentile"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "scope",
                "fips",
                "state",
                "year",
                "countyName",
                "metroName",
                "areaName",
                "areas"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.fcc-id",
      "group": "gov",
      "name": "fcc-id",
      "method": "GET",
      "path": "/api/gov/fcc-id",
      "url": "https://2s.io/api/gov/fcc-id",
      "description": "Resolve an FCC ID (printed on US wireless/electronic devices) to the grantee — the manufacturer that holds the FCC equipment authorization. Pass fccId in any form (BCG-E3217A, BCGE3217A). Returns the grantee code, the product code, and the grantee company: name, city, state, country, and the date its grantee code was registered. Uses the FCC EAS Equipment Authorization Grantee Registrations open dataset, free and keyless — the \"who made this device\" lookup an agent reading a label off hardware cannot do natively. (Per-product RF detail — frequencies, equipment class — is not in the open dataset and is out of scope.)",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fccId": {
            "type": "string",
            "minLength": 3,
            "maxLength": 40,
            "description": "An FCC ID, e.g. BCG-E3217A or BCGE3217A."
          }
        },
        "required": [
          "fccId"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "fccId": "BCG-E3217A"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "fccId": {
                "type": "string"
              }
            },
            "required": [
              "fccId"
            ],
            "additionalProperties": false
          },
          "found": {
            "type": "boolean"
          },
          "granteeCode": {
            "type": "string",
            "nullable": true
          },
          "productCode": {
            "type": "string",
            "nullable": true
          },
          "grantee": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "nullable": true
              },
              "city": {
                "type": "string",
                "nullable": true
              },
              "state": {
                "type": "string",
                "nullable": true
              },
              "country": {
                "type": "string",
                "nullable": true
              },
              "zipCode": {
                "type": "string",
                "nullable": true
              },
              "dateReceived": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "name",
              "city",
              "state",
              "country",
              "zipCode",
              "dateReceived"
            ],
            "additionalProperties": false,
            "nullable": true
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "note": {
            "type": "string"
          }
        },
        "required": [
          "query",
          "found",
          "granteeCode",
          "productCode",
          "grantee",
          "source",
          "note"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.fda-animalvet-events",
      "group": "gov",
      "name": "fda-animalvet-events",
      "method": "GET",
      "path": "/api/gov/fda-animalvet-events",
      "url": "https://2s.io/api/gov/fda-animalvet-events",
      "description": "FDA animal and veterinary adverse event reports, newest first. All filters optional. Each record includes AER ID, dates, animal species/gender/breed/age/weight, reactions (VeDDRA-coded), drugs (brand + active ingredients + administration), primary reporter (Veterinarian/Owner/Other). Use cases: veterinary practice safety research, pet food adverse events, livestock drug surveillance. Backed by OpenFDA's /animalandveterinary/event endpoint; public-domain US government records.",
      "priceUsd": 0.0024,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "drug": {
            "type": "string",
            "minLength": 2,
            "maxLength": 100,
            "description": "Drug name substring across brand + active ingredients. Examples: \"Heartgard\", \"Bravecto\", \"Apoquel\"."
          },
          "species": {
            "type": "string",
            "minLength": 2,
            "maxLength": 60,
            "description": "Animal species. Examples: \"Dog\", \"Cat\", \"Horse\", \"Cattle\", \"Chicken\"."
          },
          "reaction": {
            "type": "string",
            "minLength": 2,
            "maxLength": 100,
            "description": "Reaction (VeDDRA preferred term) substring. Examples: \"Vomiting\", \"Lethargy\", \"Death\"."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 20,
            "description": "Max events (1-100). Default 20."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "drug": "xx",
        "species": "xx",
        "reaction": "xx",
        "limit": 20
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "aerId": {
                  "type": "string"
                },
                "originalReceiveDate": {
                  "type": "string",
                  "nullable": true
                },
                "onsetDate": {
                  "type": "string",
                  "nullable": true
                },
                "numberAffected": {
                  "type": "integer",
                  "nullable": true
                },
                "numberTreated": {
                  "type": "integer",
                  "nullable": true
                },
                "animal": {
                  "type": "object",
                  "properties": {
                    "species": {
                      "type": "string",
                      "nullable": true
                    },
                    "gender": {
                      "type": "string",
                      "nullable": true
                    },
                    "breed": {
                      "type": "string",
                      "nullable": true
                    },
                    "ageValue": {
                      "type": "string",
                      "nullable": true
                    },
                    "ageUnit": {
                      "type": "string",
                      "nullable": true
                    },
                    "weightValue": {
                      "type": "string",
                      "nullable": true
                    },
                    "weightUnit": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "species",
                    "gender",
                    "breed",
                    "ageValue",
                    "ageUnit",
                    "weightValue",
                    "weightUnit"
                  ],
                  "additionalProperties": false
                },
                "reactions": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "term": {
                        "type": "string"
                      },
                      "veddraCode": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "term",
                      "veddraCode"
                    ],
                    "additionalProperties": false
                  }
                },
                "drugs": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "brandName": {
                        "type": "string",
                        "nullable": true
                      },
                      "activeIngredients": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "administeredBy": {
                        "type": "string",
                        "nullable": true
                      },
                      "route": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "brandName",
                      "activeIngredients",
                      "administeredBy",
                      "route"
                    ],
                    "additionalProperties": false
                  }
                },
                "primaryReporter": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "aerId",
                "originalReceiveDate",
                "onsetDate",
                "numberAffected",
                "numberTreated",
                "animal",
                "reactions",
                "drugs",
                "primaryReporter"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "drug": {
                    "type": "string",
                    "nullable": true
                  },
                  "species": {
                    "type": "string",
                    "nullable": true
                  },
                  "reaction": {
                    "type": "string",
                    "nullable": true
                  },
                  "limit": {
                    "type": "integer"
                  }
                },
                "required": [
                  "drug",
                  "species",
                  "reaction",
                  "limit"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "query"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.fda-device-events",
      "group": "gov",
      "name": "fda-device-events",
      "method": "GET",
      "path": "/api/gov/fda-device-events",
      "url": "https://2s.io/api/gov/fda-device-events",
      "description": "FDA medical device adverse event reports (MAUDE), newest first by date received. All filters optional. Each record includes report number, event type, dates received + of event, manufacturer, brand/generic device name, model + catalog numbers, listed device problems, patient outcomes, and primary narrative text. Backed by OpenFDA's /device/event endpoint; public-domain US government records.",
      "priceUsd": 0.0024,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "device": {
            "type": "string",
            "minLength": 2,
            "maxLength": 100,
            "description": "Device-name substring across brand_name + generic_name. Examples: \"pacemaker\", \"insulin pump\", \"DePuy hip\"."
          },
          "manufacturer": {
            "type": "string",
            "minLength": 2,
            "maxLength": 100,
            "description": "Manufacturer-name substring. Examples: \"medtronic\", \"boston scientific\", \"abbott\"."
          },
          "problem": {
            "type": "string",
            "minLength": 2,
            "maxLength": 100,
            "description": "FDA device product code substring (advanced filter; most users want device or manufacturer)."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 20,
            "description": "Max events (1-100). Default 20."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "device": "xx",
        "manufacturer": "xx",
        "problem": "xx",
        "limit": 20
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "reportNumber": {
                  "type": "string"
                },
                "eventType": {
                  "type": "string",
                  "nullable": true
                },
                "dateReceived": {
                  "type": "string",
                  "nullable": true
                },
                "dateOfEvent": {
                  "type": "string",
                  "nullable": true
                },
                "manufacturerName": {
                  "type": "string",
                  "nullable": true
                },
                "brandName": {
                  "type": "string",
                  "nullable": true
                },
                "genericName": {
                  "type": "string",
                  "nullable": true
                },
                "modelNumber": {
                  "type": "string",
                  "nullable": true
                },
                "catalogNumber": {
                  "type": "string",
                  "nullable": true
                },
                "deviceProblems": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "patientOutcome": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "eventDescription": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "reportNumber",
                "eventType",
                "dateReceived",
                "dateOfEvent",
                "manufacturerName",
                "brandName",
                "genericName",
                "modelNumber",
                "catalogNumber",
                "deviceProblems",
                "patientOutcome",
                "eventDescription"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "device": {
                    "type": "string",
                    "nullable": true
                  },
                  "manufacturer": {
                    "type": "string",
                    "nullable": true
                  },
                  "problem": {
                    "type": "string",
                    "nullable": true
                  },
                  "limit": {
                    "type": "integer"
                  }
                },
                "required": [
                  "device",
                  "manufacturer",
                  "problem",
                  "limit"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "query"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.fda-drug-events",
      "group": "gov",
      "name": "fda-drug-events",
      "method": "GET",
      "path": "/api/gov/fda-drug-events",
      "url": "https://2s.io/api/gov/fda-drug-events",
      "description": "Adverse drug event reports from FDA's Adverse Event Reporting System (FAERS) — 9M+ records since 1968 covering serious adverse events, hospitalizations, deaths, and disabilities. Search by drug name (brand/generic/substance, all OR-matched) and optionally filter by MedDRA reaction term. Returns report ID, received date, seriousness flags, patient demographics, MedDRA-coded reactions, implicated drugs (up to 5 per report), and reporting country. Backed by OpenFDA; data is public-domain US government records.",
      "priceUsd": 0.0024,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "drug": {
            "type": "string",
            "minLength": 2,
            "maxLength": 100,
            "description": "Drug name (brand, generic, or substance). Examples: \"tylenol\", \"metformin\", \"lisinopril\". Case-insensitive."
          },
          "reaction": {
            "type": "string",
            "minLength": 2,
            "maxLength": 100,
            "description": "Optional MedDRA preferred-term reaction filter. Examples: \"headache\", \"nausea\", \"anaphylaxis\"."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 10,
            "description": "Max reports to return (1-100). Default 10."
          }
        },
        "required": [
          "drug"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "drug": "xx",
        "reaction": "xx",
        "limit": 10
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "safetyReportId": {
                  "type": "string"
                },
                "receivedDate": {
                  "type": "string",
                  "nullable": true
                },
                "serious": {
                  "type": "boolean"
                },
                "hospitalization": {
                  "type": "boolean"
                },
                "death": {
                  "type": "boolean"
                },
                "disabling": {
                  "type": "boolean"
                },
                "lifeThreatening": {
                  "type": "boolean"
                },
                "patientSex": {
                  "type": "string",
                  "nullable": true
                },
                "patientAge": {
                  "type": "string",
                  "nullable": true
                },
                "reactions": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "drugs": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "medicinalProduct": {
                        "type": "string",
                        "nullable": true
                      },
                      "brandName": {
                        "type": "string",
                        "nullable": true
                      },
                      "indication": {
                        "type": "string",
                        "nullable": true
                      },
                      "dosageText": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "medicinalProduct",
                      "brandName",
                      "indication",
                      "dosageText"
                    ],
                    "additionalProperties": false
                  }
                },
                "occurCountry": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "safetyReportId",
                "receivedDate",
                "serious",
                "hospitalization",
                "death",
                "disabling",
                "lifeThreatening",
                "patientSex",
                "patientAge",
                "reactions",
                "drugs",
                "occurCountry"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "drug": {
                    "type": "string"
                  },
                  "reaction": {
                    "type": "string",
                    "nullable": true
                  },
                  "limit": {
                    "type": "integer"
                  }
                },
                "required": [
                  "drug",
                  "reaction",
                  "limit"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "query"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.fda-food-recalls",
      "group": "gov",
      "name": "fda-food-recalls",
      "method": "GET",
      "path": "/api/gov/fda-food-recalls",
      "url": "https://2s.io/api/gov/fda-food-recalls",
      "description": "FDA food recall enforcement reports, newest first by report date. All filters optional. Each record includes recall number, status (Ongoing/Completed/Terminated/Pending), classification (Class I/II/III), product description, reason for recall, initial-notification mechanism, voluntary-vs-mandated, recalling firm + city/state/country, distribution pattern, and recall + report dates. Backed by OpenFDA's /food/enforcement endpoint; public-domain US government records.",
      "priceUsd": 0.0024,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "product": {
            "type": "string",
            "minLength": 2,
            "maxLength": 100,
            "description": "Product-name substring match on the recall description. Examples: \"spinach\", \"peanut butter\", \"infant formula\"."
          },
          "classification": {
            "type": "string",
            "enum": [
              "I",
              "II",
              "III"
            ],
            "description": "Optional class filter. I = life-threatening (e.g., Listeria, undeclared major allergen), II = temporary/reversible health risk, III = unlikely to cause harm (e.g., minor labeling)."
          },
          "status": {
            "type": "string",
            "enum": [
              "Ongoing",
              "Completed",
              "Terminated",
              "Pending"
            ],
            "description": "Optional status filter."
          },
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "pattern": "^[A-Za-z]{2}$",
            "description": "Optional 2-letter US state of the recalling firm (e.g., \"CA\", \"TX\")."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 20,
            "description": "Max recalls (1-100). Default 20."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "product": "xx",
        "classification": "I",
        "status": "Ongoing",
        "state": "xx",
        "limit": 20
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "recallNumber": {
                  "type": "string"
                },
                "status": {
                  "type": "string",
                  "nullable": true
                },
                "classification": {
                  "type": "string",
                  "nullable": true
                },
                "productType": {
                  "type": "string",
                  "nullable": true
                },
                "productDescription": {
                  "type": "string",
                  "nullable": true
                },
                "reasonForRecall": {
                  "type": "string",
                  "nullable": true
                },
                "initialNotification": {
                  "type": "string",
                  "nullable": true
                },
                "voluntaryMandated": {
                  "type": "string",
                  "nullable": true
                },
                "recallingFirm": {
                  "type": "string",
                  "nullable": true
                },
                "city": {
                  "type": "string",
                  "nullable": true
                },
                "state": {
                  "type": "string",
                  "nullable": true
                },
                "country": {
                  "type": "string",
                  "nullable": true
                },
                "distributionPattern": {
                  "type": "string",
                  "nullable": true
                },
                "recallInitiationDate": {
                  "type": "string",
                  "nullable": true
                },
                "reportDate": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "recallNumber",
                "status",
                "classification",
                "productType",
                "productDescription",
                "reasonForRecall",
                "initialNotification",
                "voluntaryMandated",
                "recallingFirm",
                "city",
                "state",
                "country",
                "distributionPattern",
                "recallInitiationDate",
                "reportDate"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "product": {
                    "type": "string",
                    "nullable": true
                  },
                  "classification": {
                    "type": "string",
                    "nullable": true
                  },
                  "status": {
                    "type": "string",
                    "nullable": true
                  },
                  "state": {
                    "type": "string",
                    "nullable": true
                  },
                  "limit": {
                    "type": "integer"
                  }
                },
                "required": [
                  "product",
                  "classification",
                  "status",
                  "state",
                  "limit"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "query"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.fda-recalls",
      "group": "gov",
      "name": "fda-recalls",
      "method": "GET",
      "path": "/api/gov/fda-recalls",
      "url": "https://2s.io/api/gov/fda-recalls",
      "description": "FDA drug recall enforcement reports, newest first. All filters optional. Each record includes recall number, status (Ongoing/Completed/Terminated/Pending), classification (Class I/II/III), product description, reason for recall, initial-notification mechanism, voluntary-vs-mandated flag, recalling firm name + city/state/country, distribution pattern, and recall + report dates. Backed by OpenFDA's /drug/enforcement endpoint; data is public-domain US government records.",
      "priceUsd": 0.0024,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "drug": {
            "type": "string",
            "minLength": 2,
            "maxLength": 100,
            "description": "Optional drug-name substring match on the recall product description. Examples: \"sanitizer\", \"metformin\", \"valsartan\"."
          },
          "classification": {
            "type": "string",
            "enum": [
              "I",
              "II",
              "III"
            ],
            "description": "Optional class filter. I = life-threatening, II = temporary/reversible health risk, III = unlikely to cause harm."
          },
          "status": {
            "type": "string",
            "enum": [
              "Ongoing",
              "Completed",
              "Terminated",
              "Pending"
            ],
            "description": "Optional status filter."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 20,
            "description": "Max recalls to return (1-100). Default 20."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "drug": "xx",
        "classification": "I",
        "status": "Ongoing",
        "limit": 20
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "recallNumber": {
                  "type": "string"
                },
                "status": {
                  "type": "string",
                  "nullable": true
                },
                "classification": {
                  "type": "string",
                  "nullable": true
                },
                "productType": {
                  "type": "string",
                  "nullable": true
                },
                "productDescription": {
                  "type": "string",
                  "nullable": true
                },
                "reasonForRecall": {
                  "type": "string",
                  "nullable": true
                },
                "initialNotification": {
                  "type": "string",
                  "nullable": true
                },
                "voluntaryMandated": {
                  "type": "string",
                  "nullable": true
                },
                "recallingFirm": {
                  "type": "string",
                  "nullable": true
                },
                "city": {
                  "type": "string",
                  "nullable": true
                },
                "state": {
                  "type": "string",
                  "nullable": true
                },
                "country": {
                  "type": "string",
                  "nullable": true
                },
                "distributionPattern": {
                  "type": "string",
                  "nullable": true
                },
                "recallInitiationDate": {
                  "type": "string",
                  "nullable": true
                },
                "reportDate": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "recallNumber",
                "status",
                "classification",
                "productType",
                "productDescription",
                "reasonForRecall",
                "initialNotification",
                "voluntaryMandated",
                "recallingFirm",
                "city",
                "state",
                "country",
                "distributionPattern",
                "recallInitiationDate",
                "reportDate"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "drug": {
                    "type": "string",
                    "nullable": true
                  },
                  "classification": {
                    "type": "string",
                    "nullable": true
                  },
                  "status": {
                    "type": "string",
                    "nullable": true
                  },
                  "limit": {
                    "type": "integer"
                  }
                },
                "required": [
                  "drug",
                  "classification",
                  "status",
                  "limit"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "query"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.fec",
      "group": "gov",
      "name": "fec",
      "method": "GET",
      "path": "/api/gov/fec",
      "url": "https://2s.io/api/gov/fec",
      "description": "US federal campaign finance from the FEC (openFEC). Two modes: pass name to search candidates (returns FEC candidate id, party, office, state, district, incumbent/challenger, status, and election cycles); or pass candidateId (e.g. P80000722) to get that candidate's aggregate financial totals — total receipts, disbursements, cash on hand, and individual / PAC / party / self contributions in USD for the newest cycle, alongside identity. Free, public-domain (FEC). Search by name first, then pass a returned candidateId back in for the money. For donor/spend diligence, political research, and disclosure lookups.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "candidateId": {
            "type": "string",
            "pattern": "^[A-Za-z0-9]{1,20}$"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "candidateId": "P80000722"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "candidateId": {
                  "type": "string",
                  "nullable": true
                },
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "party": {
                  "type": "string",
                  "nullable": true
                },
                "office": {
                  "type": "string",
                  "nullable": true
                },
                "state": {
                  "type": "string",
                  "nullable": true
                },
                "district": {
                  "type": "string",
                  "nullable": true
                },
                "incumbentChallenge": {
                  "type": "string",
                  "nullable": true
                },
                "status": {
                  "type": "string",
                  "nullable": true
                },
                "cycles": {
                  "type": "array",
                  "items": {
                    "type": "number"
                  }
                },
                "electionYears": {
                  "type": "array",
                  "items": {
                    "type": "number"
                  }
                },
                "finance": {
                  "type": "object",
                  "properties": {
                    "cycle": {
                      "type": "number",
                      "nullable": true
                    },
                    "coverageEndDate": {
                      "type": "string",
                      "nullable": true
                    },
                    "receiptsUSD": {
                      "type": "number",
                      "nullable": true
                    },
                    "disbursementsUSD": {
                      "type": "number",
                      "nullable": true
                    },
                    "cashOnHandUSD": {
                      "type": "number",
                      "nullable": true
                    },
                    "individualContributionsUSD": {
                      "type": "number",
                      "nullable": true
                    },
                    "pacContributionsUSD": {
                      "type": "number",
                      "nullable": true
                    },
                    "partyContributionsUSD": {
                      "type": "number",
                      "nullable": true
                    },
                    "candidateContributionsUSD": {
                      "type": "number",
                      "nullable": true
                    }
                  },
                  "required": [
                    "cycle",
                    "coverageEndDate",
                    "receiptsUSD",
                    "disbursementsUSD",
                    "cashOnHandUSD",
                    "individualContributionsUSD",
                    "pacContributionsUSD",
                    "partyContributionsUSD",
                    "candidateContributionsUSD"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                }
              },
              "required": [
                "candidateId",
                "name",
                "party",
                "office",
                "state",
                "district",
                "incumbentChallenge",
                "status",
                "cycles",
                "electionYears",
                "finance"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.fec-candidate",
      "group": "gov",
      "name": "fec-candidate",
      "method": "GET",
      "path": "/api/gov/fec-candidate",
      "url": "https://2s.io/api/gov/fec-candidate",
      "description": "Search US federal political candidates via the OpenFEC API. Filter by free-text q (name match), candidate ID (e.g. H0VA01076), state, district, party (DEM, REP, IND, LIB, GRE, etc.), office (P=President | S=Senate | H=House), election cycle (even years), election year, and hasRaised (only candidates with reported receipts). Returns FEC candidate ID, name, party, office, state/district, incumbency status, active-through cycle, first/last file dates, cycles, principal committee linkage. Use the candidate ID returned here to fetch their committees with /api/gov/fec-committee.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "candidateId": {
            "type": "string",
            "pattern": "^[A-Z]\\d[A-Z0-9]{7}$"
          },
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "pattern": "^[A-Za-z]{2}$"
          },
          "district": {
            "type": "string",
            "pattern": "^\\d{2}$"
          },
          "party": {
            "type": "string",
            "pattern": "^[A-Za-z]{3,4}$"
          },
          "office": {
            "type": "string",
            "enum": [
              "P",
              "S",
              "H"
            ]
          },
          "cycle": {
            "type": "integer",
            "minimum": 1980,
            "maximum": 2100
          },
          "electionYear": {
            "type": "integer",
            "minimum": 1980,
            "maximum": 2100
          },
          "hasRaised": {
            "type": "boolean"
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 25
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "default": 1
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "q": "Harris",
        "office": "P",
        "cycle": 2024,
        "perPage": 5
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "page": {
            "type": "object",
            "properties": {
              "number": {
                "type": "integer"
              },
              "size": {
                "type": "integer"
              },
              "pages": {
                "type": "integer",
                "nullable": true
              }
            },
            "required": [
              "number",
              "size",
              "pages"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.fec-committee",
      "group": "gov",
      "name": "fec-committee",
      "method": "GET",
      "path": "/api/gov/fec-committee",
      "url": "https://2s.io/api/gov/fec-committee",
      "description": "Search US federal political committees (PACs, super PACs, party committees, candidate principal committees, leadership PACs, etc.) via the OpenFEC API. Filter by q (name match), committee ID, candidate ID (returns committees linked to that candidate), committee type (P=Presidential | S=Senate | H=House | X=Independent expenditure-only | Y=Party | Z=National Party non-federal), designation (A=Authorized | J=Joint fundraising | P=Principal | U=Unauthorized | B=Lobbyist/Registrant PAC), state, party, cycle, organization type (C=Corporation | L=Labor | M=Membership | T=Trade | V=Cooperative | W=Corp without stock). Returns FEC committee ID, name, type/designation/organization labels, state, party, treasurer, linked candidate IDs, cycles, affiliated-committee names, first/last file dates.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "committeeId": {
            "type": "string",
            "pattern": "^C\\d{8}$"
          },
          "candidateId": {
            "type": "string",
            "pattern": "^[A-Z]\\d[A-Z0-9]{7}$"
          },
          "committeeType": {
            "type": "string",
            "enum": [
              "P",
              "S",
              "H",
              "X",
              "Y",
              "Z",
              "N",
              "I",
              "O",
              "Q",
              "U",
              "V",
              "W",
              "D",
              "E"
            ]
          },
          "designation": {
            "type": "string",
            "enum": [
              "A",
              "J",
              "P",
              "U",
              "B",
              "D"
            ]
          },
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "pattern": "^[A-Za-z]{2}$"
          },
          "party": {
            "type": "string",
            "pattern": "^[A-Za-z]{3,4}$"
          },
          "cycle": {
            "type": "integer",
            "minimum": 1980,
            "maximum": 2100
          },
          "organizationType": {
            "type": "string",
            "enum": [
              "C",
              "L",
              "M",
              "T",
              "V",
              "W"
            ]
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 25
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "default": 1
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "q": "ActBlue",
        "perPage": 5
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "page": {
            "type": "object",
            "properties": {
              "number": {
                "type": "integer"
              },
              "size": {
                "type": "integer"
              },
              "pages": {
                "type": "integer",
                "nullable": true
              }
            },
            "required": [
              "number",
              "size",
              "pages"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.fec-contributions",
      "group": "gov",
      "name": "fec-contributions",
      "method": "GET",
      "path": "/api/gov/fec-contributions",
      "url": "https://2s.io/api/gov/fec-contributions",
      "description": "Search FEC Schedule A — every itemized contribution to a federal political committee (>264M rows across all cycles). Filter by recipient committeeId or candidateId, contributor name / city / state / zip / employer / occupation, amount range, cycle (twoYearTransactionPeriod e.g. 2024), date range, isIndividual (true = individuals only; false = committee-to-committee). Sort by contribution date or amount, asc/desc. Requires at least one scope (committeeId, candidateId, twoYearTransactionPeriod cycle, or a date range) — an unscoped query scans every cycle and times out. The investigative-journalism + political-research goldmine: who gives, how much, when, working where, doing what. Each row carries the contribution receipt date, amount, contributor aggregate YTD, receipt type, memo, entity type, and link to the underlying PDF filing.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "committeeId": {
            "type": "string",
            "pattern": "^C\\d{8}$"
          },
          "candidateId": {
            "type": "string",
            "pattern": "^[A-Z]\\d[A-Z0-9]{7}$"
          },
          "contributorName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "contributorCity": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "contributorState": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "pattern": "^[A-Za-z]{2}$"
          },
          "contributorZip": {
            "type": "string",
            "pattern": "^\\d{5}(\\d{4})?$"
          },
          "contributorEmployer": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "contributorOccupation": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "minAmount": {
            "type": "number",
            "minimum": 0
          },
          "maxAmount": {
            "type": "number",
            "minimum": 0
          },
          "twoYearTransactionPeriod": {
            "type": "integer",
            "minimum": 1980,
            "maximum": 2100
          },
          "minDate": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "maxDate": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "isIndividual": {
            "type": "boolean"
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 25
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "default": 1
          },
          "sortField": {
            "type": "string",
            "enum": [
              "contribution_receipt_date",
              "contribution_receipt_amount"
            ]
          },
          "sortDirection": {
            "type": "string",
            "enum": [
              "asc",
              "desc"
            ]
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "committeeId": "C00401224",
        "minAmount": 1000,
        "perPage": 2
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "page": {
            "type": "object",
            "properties": {
              "number": {
                "type": "integer"
              },
              "size": {
                "type": "integer"
              },
              "pages": {
                "type": "integer",
                "nullable": true
              }
            },
            "required": [
              "number",
              "size",
              "pages"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.fec-expenditures",
      "group": "gov",
      "name": "fec-expenditures",
      "method": "GET",
      "path": "/api/gov/fec-expenditures",
      "url": "https://2s.io/api/gov/fec-expenditures",
      "description": "Search FEC Schedule B — every itemized disbursement (spend, vendor payment, operating expenditure, contribution out, transfer) made by a federal political committee (>157M rows). Filter by committeeId, recipient name / city / state, disbursement purpose category (Administrative / Fundraising / Media / Polling / Salary / Travel / Operating / Contribution / Loan / etc.), description text, amount range, cycle, date range. Sort by date or amount. Every row carries: who got paid, when, how much, for what, with link to underlying PDF. The natural pair with /api/gov/fec-contributions for following the money on both sides of any federal committee.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "committeeId": {
            "type": "string",
            "pattern": "^C\\d{8}$"
          },
          "recipientName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "recipientCity": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "recipientState": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "pattern": "^[A-Za-z]{2}$"
          },
          "disbursementPurposeCategory": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "disbursementDescription": {
            "type": "string",
            "minLength": 1,
            "maxLength": 160
          },
          "minAmount": {
            "type": "number",
            "minimum": 0
          },
          "maxAmount": {
            "type": "number",
            "minimum": 0
          },
          "twoYearTransactionPeriod": {
            "type": "integer",
            "minimum": 1980,
            "maximum": 2100
          },
          "minDate": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "maxDate": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 25
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "default": 1
          },
          "sortField": {
            "type": "string",
            "enum": [
              "disbursement_date",
              "disbursement_amount"
            ]
          },
          "sortDirection": {
            "type": "string",
            "enum": [
              "asc",
              "desc"
            ]
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "committeeId": "C00401224",
        "minAmount": 100000,
        "perPage": 2
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "page": {
            "type": "object",
            "properties": {
              "number": {
                "type": "integer"
              },
              "size": {
                "type": "integer"
              },
              "pages": {
                "type": "integer",
                "nullable": true
              }
            },
            "required": [
              "number",
              "size",
              "pages"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.fec-totals",
      "group": "gov",
      "name": "fec-totals",
      "method": "GET",
      "path": "/api/gov/fec-totals",
      "url": "https://2s.io/api/gov/fec-totals",
      "description": "Aggregate financial summaries (receipts, disbursements, cash-on-hand, debt, transfers, refunds, contributions by source, etc.) per cycle for federal candidates (scope=candidates) or committees (scope=committees). Filter by candidateId / committeeId, cycle, office (P/S/H), party, state, district. For candidates, electionFull=true rolls all cycles of a single election into one row (e.g. a presidential cycle spans 4 years). Use this for top-line \"how much did they raise/spend\" answers without paging through millions of itemized transactions.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "scope": {
            "type": "string",
            "enum": [
              "candidates",
              "committees"
            ]
          },
          "candidateId": {
            "type": "string",
            "pattern": "^[A-Z]\\d[A-Z0-9]{7}$"
          },
          "committeeId": {
            "type": "string",
            "pattern": "^C\\d{8}$"
          },
          "cycle": {
            "type": "integer",
            "minimum": 1980,
            "maximum": 2100
          },
          "office": {
            "type": "string",
            "enum": [
              "P",
              "S",
              "H"
            ]
          },
          "party": {
            "type": "string",
            "pattern": "^[A-Za-z]{3,4}$"
          },
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "pattern": "^[A-Za-z]{2}$"
          },
          "district": {
            "type": "string",
            "pattern": "^\\d{2}$"
          },
          "electionFull": {
            "type": "boolean"
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 25
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "default": 1
          }
        },
        "required": [
          "scope"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "scope": "committees",
        "committeeId": "C00401224",
        "cycle": 2024
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "page": {
            "type": "object",
            "properties": {
              "number": {
                "type": "integer"
              },
              "size": {
                "type": "integer"
              },
              "pages": {
                "type": "integer",
                "nullable": true
              }
            },
            "required": [
              "number",
              "size",
              "pages"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "scope": {
                "type": "string",
                "enum": [
                  "candidates",
                  "committees"
                ]
              }
            },
            "required": [
              "scope"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.federal-register-recent",
      "group": "gov",
      "name": "federal-register-recent",
      "method": "GET",
      "path": "/api/gov/federal-register-recent",
      "url": "https://2s.io/api/gov/federal-register-recent",
      "description": "Newest Federal Register documents by publication date — chronological feed for compliance change-detection. Filter by document type (RULE / PRORULE / NOTICE / PRESDOCU), agency name, and publication date range. Each record includes document number, type, title, abstract, publication date, effective date, agencies, citations (CFR/USC), HTML + PDF URLs. Defaults to last 7 days of final rules. Free public-domain data from federalregister.gov.",
      "priceUsd": 0.0024,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "RULE",
              "PRORULE",
              "NOTICE",
              "PRESDOCU"
            ],
            "default": "RULE",
            "description": "Document type: RULE = final rules, PRORULE = proposed rules, NOTICE = notices, PRESDOCU = presidential docs."
          },
          "agency": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Agency slug or name (e.g., \"environmental-protection-agency\", \"federal-trade-commission\")."
          },
          "since": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Earliest publication date (YYYY-MM-DD). Default = 7 days ago."
          },
          "until": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Latest publication date (YYYY-MM-DD). Default = today."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 25,
            "description": "Max results (1-100). Default 25."
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "default": 1,
            "description": "Page number (1-based). Default 1."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "type": "RULE",
        "agency": "xx",
        "since": "2024-01-01",
        "until": "2024-01-01",
        "limit": 25,
        "page": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "documentNumber": {
                  "type": "string"
                },
                "type": {
                  "type": "string",
                  "nullable": true
                },
                "title": {
                  "type": "string",
                  "nullable": true
                },
                "abstract": {
                  "type": "string",
                  "nullable": true
                },
                "publicationDate": {
                  "type": "string",
                  "nullable": true
                },
                "effectiveOn": {
                  "type": "string",
                  "nullable": true
                },
                "agencies": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "citations": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "htmlUrl": {
                  "type": "string",
                  "format": "uri",
                  "nullable": true
                },
                "pdfUrl": {
                  "type": "string",
                  "format": "uri",
                  "nullable": true
                }
              },
              "required": [
                "documentNumber",
                "type",
                "title",
                "abstract",
                "publicationDate",
                "effectiveOn",
                "agencies",
                "citations",
                "htmlUrl",
                "pdfUrl"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "agency": {
                    "type": "string",
                    "nullable": true
                  },
                  "since": {
                    "type": "string"
                  },
                  "until": {
                    "type": "string"
                  },
                  "limit": {
                    "type": "integer"
                  },
                  "page": {
                    "type": "integer"
                  }
                },
                "required": [
                  "type",
                  "agency",
                  "since",
                  "until",
                  "limit",
                  "page"
                ],
                "additionalProperties": false
              },
              "hasNext": {
                "type": "boolean"
              }
            },
            "required": [
              "query",
              "hasNext"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.foreign-agents",
      "group": "gov",
      "name": "foreign-agents",
      "method": "GET",
      "path": "/api/gov/foreign-agents",
      "url": "https://2s.io/api/gov/foreign-agents",
      "description": "Search currently-active FARA (Foreign Agents Registration Act) registrants by name. Pass a company or person name; returns whether the entity is a registered foreign agent (isRegisteredForeignAgent), a single KYB-safe bestMatch (null below medium confidence — no false positives), and scored candidate matches with registration number, registration date, city/state, and a 0-1 match score + confidence (high/medium/low). FARA registration is a US disclosure status (an agent acting for a foreign principal), not wrongdoing. Authoritative DOJ FARA eFile data, free and keyless — the foreign-agent check a compliance or procurement agent cannot derive from training.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200,
            "description": "Company or person name to screen against FARA registrants."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 20,
            "description": "Max candidate matches (default 5)."
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "name": "London Global Strategies"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              }
            },
            "required": [
              "name"
            ],
            "additionalProperties": false
          },
          "isRegisteredForeignAgent": {
            "type": "boolean"
          },
          "bestMatch": {
            "type": "object",
            "properties": {
              "registrationNumber": {
                "type": "number",
                "nullable": true
              },
              "name": {
                "type": "string"
              },
              "registrationDate": {
                "type": "string",
                "nullable": true
              },
              "city": {
                "type": "string",
                "nullable": true
              },
              "state": {
                "type": "string",
                "nullable": true
              },
              "score": {
                "type": "number"
              },
              "confidence": {
                "type": "string",
                "enum": [
                  "high",
                  "medium",
                  "low"
                ]
              }
            },
            "required": [
              "registrationNumber",
              "name",
              "registrationDate",
              "city",
              "state",
              "score",
              "confidence"
            ],
            "additionalProperties": false,
            "nullable": true
          },
          "matchCount": {
            "type": "number"
          },
          "matches": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "registrationNumber": {
                  "type": "number",
                  "nullable": true
                },
                "name": {
                  "type": "string"
                },
                "registrationDate": {
                  "type": "string",
                  "nullable": true
                },
                "city": {
                  "type": "string",
                  "nullable": true
                },
                "state": {
                  "type": "string",
                  "nullable": true
                },
                "score": {
                  "type": "number"
                },
                "confidence": {
                  "type": "string",
                  "enum": [
                    "high",
                    "medium",
                    "low"
                  ]
                }
              },
              "required": [
                "registrationNumber",
                "name",
                "registrationDate",
                "city",
                "state",
                "score",
                "confidence"
              ],
              "additionalProperties": false
            }
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "note": {
            "type": "string"
          }
        },
        "required": [
          "query",
          "isRegisteredForeignAgent",
          "bestMatch",
          "matchCount",
          "matches",
          "source",
          "note"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.hazard-mitigation",
      "group": "gov",
      "name": "hazard-mitigation",
      "method": "GET",
      "path": "/api/gov/hazard-mitigation",
      "url": "https://2s.io/api/gov/hazard-mitigation",
      "description": "FEMA Hazard Mitigation Assistance (HMA) funded projects — the pre- and post-disaster mitigation grants FEMA has actually obligated (HMGP, BRIC/PDM, FMA). Filter by state (2-letter), disasterNumber, programFy (program fiscal year), and/or programArea; at least one filter is required. Returns the total matching project count plus projects (identifier, program area, project type, status, recipient/subrecipient, county, disaster number, project amount and federal share obligated in USD, cost-share %, benefit-cost ratio, number of properties, approval/close dates), largest federal share first. Free, public-domain (OpenFEMA). Distinct from gov.public-assistance (post-disaster recovery grants) and gov.nfip-claims (flood losses paid) — this is mitigation funding: who got money to reduce future risk, where, and at what benefit-cost ratio.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "2-letter US state/territory code."
          },
          "disasterNumber": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100000
          },
          "programFy": {
            "type": "integer",
            "minimum": 1989,
            "maximum": 2100
          },
          "programArea": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "state": "TX",
        "programFy": 2022
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "query": {
                  "type": "object",
                  "properties": {
                    "state": {
                      "type": "string",
                      "nullable": true
                    },
                    "disasterNumber": {
                      "type": "number",
                      "nullable": true
                    },
                    "programFy": {
                      "type": "number",
                      "nullable": true
                    },
                    "programArea": {
                      "type": "string",
                      "nullable": true
                    },
                    "limit": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "state",
                    "disasterNumber",
                    "programFy",
                    "programArea",
                    "limit"
                  ],
                  "additionalProperties": false
                },
                "totalProjects": {
                  "type": "number",
                  "nullable": true
                },
                "returned": {
                  "type": "number"
                },
                "returnedSummary": {
                  "type": "object",
                  "properties": {
                    "totalFederalShareUSD": {
                      "type": "number"
                    },
                    "averageBenefitCostRatio": {
                      "type": "number",
                      "nullable": true
                    }
                  },
                  "required": [
                    "totalFederalShareUSD",
                    "averageBenefitCostRatio"
                  ],
                  "additionalProperties": false
                },
                "projects": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "projectIdentifier": {
                        "type": "string",
                        "nullable": true
                      },
                      "programArea": {
                        "type": "string",
                        "nullable": true
                      },
                      "programFy": {
                        "type": "number",
                        "nullable": true
                      },
                      "projectType": {
                        "type": "string",
                        "nullable": true
                      },
                      "status": {
                        "type": "string",
                        "nullable": true
                      },
                      "state": {
                        "type": "string",
                        "nullable": true
                      },
                      "county": {
                        "type": "string",
                        "nullable": true
                      },
                      "countyCode": {
                        "type": "string",
                        "nullable": true
                      },
                      "disasterNumber": {
                        "type": "number",
                        "nullable": true
                      },
                      "recipient": {
                        "type": "string",
                        "nullable": true
                      },
                      "subrecipient": {
                        "type": "string",
                        "nullable": true
                      },
                      "projectAmountUSD": {
                        "type": "number",
                        "nullable": true
                      },
                      "federalShareObligatedUSD": {
                        "type": "number",
                        "nullable": true
                      },
                      "costSharePercentage": {
                        "type": "number",
                        "nullable": true
                      },
                      "benefitCostRatio": {
                        "type": "number",
                        "nullable": true
                      },
                      "numberOfProperties": {
                        "type": "number",
                        "nullable": true
                      },
                      "dateApproved": {
                        "type": "string",
                        "nullable": true
                      },
                      "dateClosed": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "projectIdentifier",
                      "programArea",
                      "programFy",
                      "projectType",
                      "status",
                      "state",
                      "county",
                      "countyCode",
                      "disasterNumber",
                      "recipient",
                      "subrecipient",
                      "projectAmountUSD",
                      "federalShareObligatedUSD",
                      "costSharePercentage",
                      "benefitCostRatio",
                      "numberOfProperties",
                      "dateApproved",
                      "dateClosed"
                    ],
                    "additionalProperties": false
                  }
                },
                "source": {
                  "type": "object",
                  "properties": {
                    "provider": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string"
                    },
                    "license": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "provider",
                    "url",
                    "license"
                  ],
                  "additionalProperties": false
                },
                "note": {
                  "type": "string"
                }
              },
              "required": [
                "query",
                "totalProjects",
                "returned",
                "returnedSummary",
                "projects",
                "source",
                "note"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.house-votes",
      "group": "gov",
      "name": "house-votes",
      "method": "GET",
      "path": "/api/gov/house-votes",
      "url": "https://2s.io/api/gov/house-votes",
      "description": "US House of Representatives roll-call votes, newest first by action date. Each record includes year + roll number, congress/session, vote question + type + result, action date/time, bill reference (legis_num), description, grand totals (yea/nay/present/not-voting), AND per-party breakdown (Republican/Democratic/Independent yea/nay/present/not-voting counts). Filters (all optional, AND-combined): year, congress, result substring, bill substring (legis_num ILIKE), since/until (action_date), limit + offset. Locally aggregated from clerk.house.gov XML feeds (refreshed daily by cron). Public-domain US government records.",
      "priceUsd": 0.0024,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "year": {
            "type": "integer",
            "minimum": 1990,
            "maximum": 2099,
            "description": "Filter by year. Example: 2025."
          },
          "congress": {
            "type": "integer",
            "minimum": 100,
            "maximum": 200,
            "description": "Filter by Congress number. The 119th Congress = 2025-2026."
          },
          "result": {
            "type": "string",
            "minLength": 2,
            "maxLength": 40,
            "description": "Filter by vote result (case-insensitive substring). Examples: \"Passed\", \"Failed\", \"Agreed\"."
          },
          "bill": {
            "type": "string",
            "minLength": 2,
            "maxLength": 40,
            "description": "Filter by bill reference (case-insensitive substring on legis_num). Examples: \"H R 498\", \"H R 49\", \"S 1\"."
          },
          "since": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Earliest action date (YYYY-MM-DD)."
          },
          "until": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Latest action date (YYYY-MM-DD)."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 25,
            "description": "Max records (1-100). Default 25."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100000,
            "default": 0,
            "description": "Offset for pagination. Default 0."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "year": 1990,
        "congress": 100,
        "result": "xx",
        "bill": "xx",
        "since": "2024-01-01",
        "until": "2024-01-01",
        "limit": 25,
        "offset": 0
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "year": {
                  "type": "integer"
                },
                "roll": {
                  "type": "integer"
                },
                "congress": {
                  "type": "integer",
                  "nullable": true
                },
                "session": {
                  "type": "string",
                  "nullable": true
                },
                "voteQuestion": {
                  "type": "string",
                  "nullable": true
                },
                "voteType": {
                  "type": "string",
                  "nullable": true
                },
                "voteResult": {
                  "type": "string",
                  "nullable": true
                },
                "actionDate": {
                  "type": "string",
                  "nullable": true
                },
                "actionTime": {
                  "type": "string",
                  "nullable": true
                },
                "legisNum": {
                  "type": "string",
                  "nullable": true
                },
                "voteDesc": {
                  "type": "string",
                  "nullable": true
                },
                "totals": {
                  "type": "object",
                  "properties": {
                    "yea": {
                      "type": "integer"
                    },
                    "nay": {
                      "type": "integer"
                    },
                    "present": {
                      "type": "integer"
                    },
                    "notVoting": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "yea",
                    "nay",
                    "present",
                    "notVoting"
                  ],
                  "additionalProperties": false
                },
                "totalsByParty": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "yea": {
                        "type": "integer"
                      },
                      "nay": {
                        "type": "integer"
                      },
                      "present": {
                        "type": "integer"
                      },
                      "not_voting": {
                        "type": "integer"
                      }
                    },
                    "required": [
                      "yea",
                      "nay",
                      "present",
                      "not_voting"
                    ],
                    "additionalProperties": false
                  }
                },
                "sourceXmlUrl": {
                  "type": "string",
                  "format": "uri"
                }
              },
              "required": [
                "year",
                "roll",
                "congress",
                "session",
                "voteQuestion",
                "voteType",
                "voteResult",
                "actionDate",
                "actionTime",
                "legisNum",
                "voteDesc",
                "totals",
                "totalsByParty",
                "sourceXmlUrl"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "year": {
                    "type": "number",
                    "nullable": true
                  },
                  "congress": {
                    "type": "number",
                    "nullable": true
                  },
                  "result": {
                    "type": "string",
                    "nullable": true
                  },
                  "bill": {
                    "type": "string",
                    "nullable": true
                  },
                  "since": {
                    "type": "string",
                    "nullable": true
                  },
                  "until": {
                    "type": "string",
                    "nullable": true
                  },
                  "limit": {
                    "type": "integer"
                  },
                  "offset": {
                    "type": "integer"
                  }
                },
                "required": [
                  "year",
                  "congress",
                  "result",
                  "bill",
                  "since",
                  "until",
                  "limit",
                  "offset"
                ],
                "additionalProperties": false
              },
              "nextOffset": {
                "type": "integer",
                "nullable": true
              },
              "previousOffset": {
                "type": "integer",
                "nullable": true
              }
            },
            "required": [
              "query",
              "nextOffset",
              "previousOffset"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.income-limits",
      "group": "gov",
      "name": "income-limits",
      "method": "GET",
      "path": "/api/gov/income-limits",
      "url": "https://2s.io/api/gov/income-limits",
      "description": "HUD Income Limits (IL) for a US county or state — the program-eligibility thresholds for HUD assistance, derived from Area Median Family Income: extremely-low (30% AMI), very-low (50% AMI), and low (80% AMI) income limits for household sizes 1–8, plus the area median income. Look up by 5-digit county FIPS or by 2-letter state. Optional year (defaults to latest). The raw HUD il30/il50/il80 codes are reshaped into clear nested limits by household size. Source: HUD USER Income Limits API (US public domain).",
      "priceUsd": 0.0048,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fips": {
            "type": "string",
            "pattern": "^\\d{5}$",
            "description": "5-digit US county FIPS, e.g. 06037 (Los Angeles County)."
          },
          "state": {
            "type": "string",
            "pattern": "^[A-Za-z]{2}$",
            "description": "2-letter US state abbreviation, e.g. CA."
          },
          "year": {
            "type": "string",
            "pattern": "^\\d{4}$",
            "description": "Income-limit year, e.g. 2026. Omit for the latest."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "fips": "06037"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "scope": {
                  "type": "string",
                  "enum": [
                    "county",
                    "state"
                  ]
                },
                "fips": {
                  "type": "string",
                  "nullable": true
                },
                "state": {
                  "type": "string",
                  "nullable": true
                },
                "year": {
                  "type": "string",
                  "nullable": true
                },
                "areaName": {
                  "type": "string",
                  "nullable": true
                },
                "medianIncome": {
                  "type": "number",
                  "nullable": true
                },
                "extremelyLow30pct": {
                  "type": "object",
                  "properties": {
                    "hh1": {
                      "type": "number",
                      "nullable": true
                    },
                    "hh2": {
                      "type": "number",
                      "nullable": true
                    },
                    "hh3": {
                      "type": "number",
                      "nullable": true
                    },
                    "hh4": {
                      "type": "number",
                      "nullable": true
                    },
                    "hh5": {
                      "type": "number",
                      "nullable": true
                    },
                    "hh6": {
                      "type": "number",
                      "nullable": true
                    },
                    "hh7": {
                      "type": "number",
                      "nullable": true
                    },
                    "hh8": {
                      "type": "number",
                      "nullable": true
                    }
                  },
                  "required": [
                    "hh1",
                    "hh2",
                    "hh3",
                    "hh4",
                    "hh5",
                    "hh6",
                    "hh7",
                    "hh8"
                  ],
                  "additionalProperties": false
                },
                "veryLow50pct": {
                  "type": "object",
                  "properties": {
                    "hh1": {
                      "type": "number",
                      "nullable": true
                    },
                    "hh2": {
                      "type": "number",
                      "nullable": true
                    },
                    "hh3": {
                      "type": "number",
                      "nullable": true
                    },
                    "hh4": {
                      "type": "number",
                      "nullable": true
                    },
                    "hh5": {
                      "type": "number",
                      "nullable": true
                    },
                    "hh6": {
                      "type": "number",
                      "nullable": true
                    },
                    "hh7": {
                      "type": "number",
                      "nullable": true
                    },
                    "hh8": {
                      "type": "number",
                      "nullable": true
                    }
                  },
                  "required": [
                    "hh1",
                    "hh2",
                    "hh3",
                    "hh4",
                    "hh5",
                    "hh6",
                    "hh7",
                    "hh8"
                  ],
                  "additionalProperties": false
                },
                "lowIncome80pct": {
                  "type": "object",
                  "properties": {
                    "hh1": {
                      "type": "number",
                      "nullable": true
                    },
                    "hh2": {
                      "type": "number",
                      "nullable": true
                    },
                    "hh3": {
                      "type": "number",
                      "nullable": true
                    },
                    "hh4": {
                      "type": "number",
                      "nullable": true
                    },
                    "hh5": {
                      "type": "number",
                      "nullable": true
                    },
                    "hh6": {
                      "type": "number",
                      "nullable": true
                    },
                    "hh7": {
                      "type": "number",
                      "nullable": true
                    },
                    "hh8": {
                      "type": "number",
                      "nullable": true
                    }
                  },
                  "required": [
                    "hh1",
                    "hh2",
                    "hh3",
                    "hh4",
                    "hh5",
                    "hh6",
                    "hh7",
                    "hh8"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "scope",
                "fips",
                "state",
                "year",
                "areaName",
                "medianIncome",
                "extremelyLow30pct",
                "veryLow50pct",
                "lowIncome80pct"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.inmate-locator",
      "group": "gov",
      "name": "inmate-locator",
      "method": "GET",
      "path": "/api/gov/inmate-locator",
      "url": "https://2s.io/api/gov/inmate-locator",
      "description": "Search the Federal Bureau of Prisons inmate locator — federal inmates from 1982 to present, both currently incarcerated and released. Search by lastName (+ optional firstName/middleName, age, sex, race) or by exact BOP register number (inmateNumber, e.g. \"12345-678\"). Each match: full name, register number, sex, race, age, current facility (code/name/type), projected release date, actual release date (when released). KYC, due-diligence, journalism, and background-research staple. Federal public data.",
      "priceUsd": 0.0024,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lastName": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80
          },
          "firstName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "middleName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "inmateNumber": {
            "type": "string",
            "pattern": "^\\d{5}-\\d{3}$"
          },
          "age": {
            "type": "integer",
            "minimum": 18,
            "maximum": 120
          },
          "sex": {
            "type": "string",
            "enum": [
              "Male",
              "Female"
            ]
          },
          "race": {
            "type": "string",
            "maxLength": 40
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "lastName": "Madoff",
        "firstName": "Bernard"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "object",
                  "properties": {
                    "first": {
                      "type": "string",
                      "nullable": true
                    },
                    "middle": {
                      "type": "string",
                      "nullable": true
                    },
                    "last": {
                      "type": "string",
                      "nullable": true
                    },
                    "suffix": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "first",
                    "middle",
                    "last",
                    "suffix"
                  ],
                  "additionalProperties": false
                },
                "inmateNumber": {
                  "type": "string",
                  "nullable": true
                },
                "sex": {
                  "type": "string",
                  "nullable": true
                },
                "race": {
                  "type": "string",
                  "nullable": true
                },
                "age": {
                  "type": "number",
                  "nullable": true
                },
                "facility": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "nullable": true
                    },
                    "name": {
                      "type": "string",
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "code",
                    "name",
                    "type"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                },
                "projectedReleaseDate": {
                  "type": "string",
                  "nullable": true
                },
                "actualReleaseDate": {
                  "type": "string",
                  "nullable": true
                },
                "releaseCode": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "name",
                "inmateNumber",
                "sex",
                "race",
                "age",
                "facility",
                "projectedReleaseDate",
                "actualReleaseDate",
                "releaseCode"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "capped": {
                "type": "boolean",
                "description": "True when BOP truncated the match list; total is null in that case."
              }
            },
            "required": [
              "capped"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.lobbying-filings",
      "group": "gov",
      "name": "lobbying-filings",
      "method": "GET",
      "path": "/api/gov/lobbying-filings",
      "url": "https://2s.io/api/gov/lobbying-filings",
      "description": "Search US federal lobbying disclosures (Senate LDA filings) — who lobbies for whom, on what issues, for how much. Filter by registrant (lobbying firm name), client (organization being represented), lobbyist (individual name), year, period (first_quarter|second_quarter|third_quarter|fourth_quarter|mid_year|year_end), and type (e.g. RR=registration, Q1-Q4=quarterly reports). Each filing: type, year/period, reported income or expenses (USD), registrant + client (id/name/description/state), lobbying issues (code + description), lobbyist count, official document URL, posted timestamp. Money-in-politics, journalism, and policy-intelligence staple. Public federal data.",
      "priceUsd": 0.00288,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "registrant": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          "client": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          "lobbyist": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          "year": {
            "type": "integer",
            "minimum": 1999,
            "maximum": 2030
          },
          "period": {
            "type": "string",
            "enum": [
              "first_quarter",
              "second_quarter",
              "third_quarter",
              "fourth_quarter",
              "mid_year",
              "year_end"
            ]
          },
          "type": {
            "type": "string",
            "maxLength": 8
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "default": 1
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 25,
            "default": 10
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "client": "OpenAI",
        "year": 2025
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "filingUuid": {
                  "type": "string"
                },
                "type": {
                  "type": "string",
                  "nullable": true
                },
                "typeDisplay": {
                  "type": "string",
                  "nullable": true
                },
                "year": {
                  "type": "number",
                  "nullable": true
                },
                "period": {
                  "type": "string",
                  "nullable": true
                },
                "periodDisplay": {
                  "type": "string",
                  "nullable": true
                },
                "income": {
                  "type": "number",
                  "nullable": true
                },
                "expenses": {
                  "type": "number",
                  "nullable": true
                },
                "registrant": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number",
                      "nullable": true
                    },
                    "name": {
                      "type": "string",
                      "nullable": true
                    },
                    "description": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "description"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                },
                "client": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number",
                      "nullable": true
                    },
                    "name": {
                      "type": "string",
                      "nullable": true
                    },
                    "description": {
                      "type": "string",
                      "nullable": true
                    },
                    "state": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "description",
                    "state"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                },
                "issues": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "type": "string",
                        "nullable": true
                      },
                      "description": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "code",
                      "description"
                    ],
                    "additionalProperties": false
                  }
                },
                "lobbyistCount": {
                  "type": "number"
                },
                "documentUrl": {
                  "type": "string",
                  "nullable": true
                },
                "postedAt": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "filingUuid",
                "type",
                "typeDisplay",
                "year",
                "period",
                "periodDisplay",
                "income",
                "expenses",
                "registrant",
                "client",
                "issues",
                "lobbyistCount",
                "documentUrl",
                "postedAt"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.msha-accidents",
      "group": "gov",
      "name": "msha-accidents",
      "method": "GET",
      "path": "/api/gov/msha-accidents",
      "url": "https://2s.io/api/gov/msha-accidents",
      "description": "Search MSHA mine safety accident records via US Department of Labor Open Data Portal (~738k accidents at US mines). Each row carries mine id, contractor id, mine subunit (underground/surface/mill/etc.), FIPS state code, accident date, classification, narrative, injury degree + nature + body-part, occupation code, experience, schooling, sex, age. Filter by mine id, contractor id, FIPS state code, subunit code, accident date range, classification code. Source of truth for fatalities + injuries at every US coal + metal/nonmetal mine since 2000.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "mineId": {
            "type": "string",
            "pattern": "^\\d{4,8}$"
          },
          "contractorId": {
            "type": "string",
            "pattern": "^[A-Z0-9]{3,10}$"
          },
          "state": {
            "type": "string",
            "pattern": "^\\d{2}$"
          },
          "subunit": {
            "type": "string",
            "pattern": "^\\d{2}$"
          },
          "accidentDateMin": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "accidentDateMax": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "classification": {
            "type": "string",
            "pattern": "^\\d{2,3}$"
          },
          "fields": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9_]*(,[a-z][a-z0-9_]*)*$",
            "maxLength": 400
          },
          "sort": {
            "type": "string",
            "pattern": "^-?[a-z][a-z0-9_]*$",
            "maxLength": 120
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 25
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "default": 0
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "state": "54",
        "accidentDateMin": "2024-01-01",
        "limit": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "nextOffset": {
                "type": "integer",
                "nullable": true
              }
            },
            "required": [
              "nextOffset"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.nfip-claims",
      "group": "gov",
      "name": "nfip-claims",
      "method": "GET",
      "path": "/api/gov/nfip-claims",
      "url": "https://2s.io/api/gov/nfip-claims",
      "description": "FEMA National Flood Insurance Program (NFIP) claims history for a US location — the flood losses actually paid out in an area. Requires state (2-letter); optionally narrow by county (5-digit FIPS), ZIP, and yearOfLoss range (yearFrom/yearTo). Returns the total matching claim count plus recent redacted claim records (date of loss, county / census tract / ZIP, flood zone rated at time of loss, cause of damage, water depth, net building + contents payment in USD, building coverage, approximate lat/lon), largest net payout first (the notable losses). FEMA redacts the city field, so filter by county FIPS or ZIP. Free, public-domain (OpenFEMA). Distinct from geo.flood-zone (current SFHA designation) and gov.risk-index (modeled future risk): this is the realized loss track record — for insurance underwriting and property due diligence.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "2-letter US state/territory code."
          },
          "county": {
            "type": "string",
            "pattern": "^\\d{5}$"
          },
          "zip": {
            "type": "string",
            "pattern": "^\\d{5}$"
          },
          "yearFrom": {
            "type": "integer",
            "minimum": 1970,
            "maximum": 2100
          },
          "yearTo": {
            "type": "integer",
            "minimum": 1970,
            "maximum": 2100
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          }
        },
        "required": [
          "state"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "state": "TX",
        "county": "48201",
        "yearFrom": "2017"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "state": {
                "type": "string"
              },
              "county": {
                "type": "string",
                "nullable": true
              },
              "zip": {
                "type": "string",
                "nullable": true
              },
              "yearFrom": {
                "type": "number",
                "nullable": true
              },
              "yearTo": {
                "type": "number",
                "nullable": true
              },
              "limit": {
                "type": "number"
              }
            },
            "required": [
              "state",
              "county",
              "zip",
              "yearFrom",
              "yearTo",
              "limit"
            ],
            "additionalProperties": false
          },
          "totalClaims": {
            "type": "number",
            "nullable": true
          },
          "returned": {
            "type": "number"
          },
          "returnedSummary": {
            "type": "object",
            "properties": {
              "totalPaid": {
                "type": "number"
              },
              "averagePaid": {
                "type": "number",
                "nullable": true
              }
            },
            "required": [
              "totalPaid",
              "averagePaid"
            ],
            "additionalProperties": false
          },
          "claims": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "dateOfLoss": {
                  "type": "string",
                  "nullable": true
                },
                "yearOfLoss": {
                  "type": "number",
                  "nullable": true
                },
                "countyCode": {
                  "type": "string",
                  "nullable": true
                },
                "censusTract": {
                  "type": "string",
                  "nullable": true
                },
                "zipCode": {
                  "type": "string",
                  "nullable": true
                },
                "state": {
                  "type": "string",
                  "nullable": true
                },
                "ratedFloodZone": {
                  "type": "string",
                  "nullable": true
                },
                "causeOfDamage": {
                  "type": "string",
                  "nullable": true
                },
                "waterDepth": {
                  "type": "number",
                  "nullable": true
                },
                "occupancyType": {
                  "type": "number",
                  "nullable": true
                },
                "netBuildingPaymentUSD": {
                  "type": "number",
                  "nullable": true
                },
                "netContentsPaymentUSD": {
                  "type": "number",
                  "nullable": true
                },
                "totalAmountPaid": {
                  "type": "number",
                  "nullable": true
                },
                "totalBuildingInsuranceCoverage": {
                  "type": "number",
                  "nullable": true
                },
                "latitude": {
                  "type": "number",
                  "nullable": true
                },
                "longitude": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "dateOfLoss",
                "yearOfLoss",
                "countyCode",
                "censusTract",
                "zipCode",
                "state",
                "ratedFloodZone",
                "causeOfDamage",
                "waterDepth",
                "occupancyType",
                "netBuildingPaymentUSD",
                "netContentsPaymentUSD",
                "totalAmountPaid",
                "totalBuildingInsuranceCoverage",
                "latitude",
                "longitude"
              ],
              "additionalProperties": false
            }
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "note": {
            "type": "string"
          }
        },
        "required": [
          "query",
          "totalClaims",
          "returned",
          "returnedSummary",
          "claims",
          "source",
          "note"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.osha-accidents",
      "group": "gov",
      "name": "osha-accidents",
      "method": "GET",
      "path": "/api/gov/osha-accidents",
      "url": "https://2s.io/api/gov/osha-accidents",
      "description": "Search OSHA-investigated workplace accident reports via US Department of Labor Open Data Portal (~165k accidents). Each row carries summary number, related inspection number, report id, event date, narrative, nature of injury, body part affected, source of injury, occupation, age, sex, degree of injury (1 = fatality, 2 = hospitalized, 3 = no lost time, etc.). Filter by event date range, nature of injury code, fatality flag. Pair with /api/gov/osha-inspections + /api/gov/osha-violations to follow injury → investigation → citations.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "summaryNr": {
            "type": "integer",
            "minimum": 1
          },
          "activityNr": {
            "type": "integer",
            "minimum": 1
          },
          "reportId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40
          },
          "eventDateMin": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "eventDateMax": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "natureOfInj": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20
          },
          "fields": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9_]*(,[a-z][a-z0-9_]*)*$",
            "maxLength": 400
          },
          "sort": {
            "type": "string",
            "pattern": "^-?[a-z][a-z0-9_]*$",
            "maxLength": 120
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 25
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "default": 0
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "eventDateMin": "2025-01-01",
        "limit": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "nextOffset": {
                "type": "integer",
                "nullable": true
              }
            },
            "required": [
              "nextOffset"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.osha-inspections",
      "group": "gov",
      "name": "osha-inspections",
      "method": "GET",
      "path": "/api/gov/osha-inspections",
      "url": "https://2s.io/api/gov/osha-inspections",
      "description": "Search OSHA inspection records via the US Department of Labor Open Data Portal (~5M historical inspections). Filter by US state (2-letter), city, zip, or establishment-name substring (estabName, case-insensitive). Optional `filter` accepts raw OData-style clauses (joined with AND); `fields` selects columns; `sort` sorts (prefix with `-` for desc). Each row carries activity number, reporting id, establishment name + full site address, owner type/code, advance-notice flag, safety/health type, SIC + NAICS industry codes, open + close dates, host establishment number, union status. Backbone of workplace-safety + investigative-journalism agents.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "pattern": "^[A-Za-z]{2}$"
          },
          "city": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "zip": {
            "type": "string",
            "pattern": "^\\d{5}$"
          },
          "estabName": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          "fields": {
            "type": "string",
            "minLength": 1,
            "maxLength": 400
          },
          "filter": {
            "type": "string",
            "minLength": 1,
            "maxLength": 600
          },
          "sort": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 25
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "default": 0
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "state": "NH",
        "limit": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "nextOffset": {
                "type": "integer",
                "nullable": true
              }
            },
            "required": [
              "nextOffset"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.osha-violations",
      "group": "gov",
      "name": "osha-violations",
      "method": "GET",
      "path": "/api/gov/osha-violations",
      "url": "https://2s.io/api/gov/osha-violations",
      "description": "Search OSHA citation / violation records via US Department of Labor Open Data Portal (~13.2M citations). Each citation links to an inspection via `activityNr` — pair with /api/gov/osha-inspections to follow site → inspection → violations. Filter by activityNr, citationId, standard (29 CFR section, e.g. \"19100132\" for PPE general requirements), issuance date range, initial-penalty min/max, emphasis program code.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "activityNr": {
            "type": "integer",
            "minimum": 1
          },
          "citationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40
          },
          "standard": {
            "type": "string",
            "minLength": 2,
            "maxLength": 40
          },
          "issuanceDateMin": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "issuanceDateMax": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "initialPenalty": {
            "type": "object",
            "properties": {
              "min": {
                "type": "number",
                "minimum": 0
              },
              "max": {
                "type": "number",
                "minimum": 0
              }
            },
            "additionalProperties": false
          },
          "emphasis": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40
          },
          "fields": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9_]*(,[a-z][a-z0-9_]*)*$",
            "maxLength": 400
          },
          "sort": {
            "type": "string",
            "pattern": "^-?[a-z][a-z0-9_]*$",
            "maxLength": 120
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 25
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "default": 0
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "initialPenalty": {
          "min": 50000
        },
        "limit": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "nextOffset": {
                "type": "integer",
                "nullable": true
              }
            },
            "required": [
              "nextOffset"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.product-recalls",
      "group": "gov",
      "name": "product-recalls",
      "method": "GET",
      "path": "/api/gov/product-recalls",
      "url": "https://2s.io/api/gov/product-recalls",
      "description": "CPSC consumer-product recalls from SaferProducts.gov, newest first. Covers products outside FDA (food/drug/device) and NHTSA (vehicles): strollers, appliances, lithium batteries, furniture, toys, power tools, and more. All filters optional (with none set, returns the last 12 months). Each record includes recall number + date, title, CPSC URL, description, affected products (name/model/units), hazards, remedies, reported injuries, manufacturers/importers/distributors/retailers, where sold, manufacturing countries, images, and consumer-contact info. Public-domain US government data.",
      "priceUsd": 0.0024,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "minLength": 2,
            "maxLength": 100,
            "description": "Optional substring match on the recall title. Examples: \"stroller\", \"lithium battery\", \"space heater\"."
          },
          "productName": {
            "type": "string",
            "minLength": 2,
            "maxLength": 100,
            "description": "Optional substring match on an affected product name."
          },
          "recallNumber": {
            "type": "string",
            "minLength": 3,
            "maxLength": 20,
            "description": "Optional exact CPSC recall number, e.g., \"26094\"."
          },
          "dateStart": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Optional earliest recall date (YYYY-MM-DD)."
          },
          "dateEnd": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Optional latest recall date (YYYY-MM-DD)."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "default": 20,
            "description": "Max recalls to return (1-50). Default 20."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "title": "xx",
        "productName": "xx",
        "recallNumber": "xxx",
        "dateStart": "2024-01-01",
        "dateEnd": "2024-01-01",
        "limit": 20
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "recallId": {
                  "type": "string",
                  "nullable": true
                },
                "recallNumber": {
                  "type": "string",
                  "nullable": true
                },
                "recallDate": {
                  "type": "string",
                  "nullable": true
                },
                "lastPublishDate": {
                  "type": "string",
                  "nullable": true
                },
                "title": {
                  "type": "string",
                  "nullable": true
                },
                "url": {
                  "type": "string",
                  "nullable": true
                },
                "description": {
                  "type": "string",
                  "nullable": true
                },
                "products": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "nullable": true
                      },
                      "model": {
                        "type": "string",
                        "nullable": true
                      },
                      "units": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "name",
                      "model",
                      "units"
                    ],
                    "additionalProperties": false
                  }
                },
                "hazards": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "remedies": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "injuries": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "manufacturers": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "retailers": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "importers": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "distributors": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "soldAt": {
                  "type": "string",
                  "nullable": true
                },
                "manufacturerCountries": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "images": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "consumerContact": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "recallId",
                "recallNumber",
                "recallDate",
                "lastPublishDate",
                "title",
                "url",
                "description",
                "products",
                "hazards",
                "remedies",
                "injuries",
                "manufacturers",
                "retailers",
                "importers",
                "distributors",
                "soldAt",
                "manufacturerCountries",
                "images",
                "consumerContact"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string",
                    "nullable": true
                  },
                  "productName": {
                    "type": "string",
                    "nullable": true
                  },
                  "recallNumber": {
                    "type": "string",
                    "nullable": true
                  },
                  "dateStart": {
                    "type": "string",
                    "nullable": true
                  },
                  "dateEnd": {
                    "type": "string",
                    "nullable": true
                  },
                  "limit": {
                    "type": "integer"
                  }
                },
                "required": [
                  "title",
                  "productName",
                  "recallNumber",
                  "dateStart",
                  "dateEnd",
                  "limit"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "query"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.public-assistance",
      "group": "gov",
      "name": "public-assistance",
      "method": "GET",
      "path": "/api/gov/public-assistance",
      "url": "https://2s.io/api/gov/public-assistance",
      "description": "FEMA Public Assistance (PA) funded project details — the post-disaster grants FEMA obligates to state/local/tribal governments and eligible nonprofits to repair public infrastructure and cover emergency response (debris removal, emergency protective measures, roads, buildings, utilities, parks). Filter by state (2-letter) and/or disasterNumber (one of the two is required); optionally refine by incidentType. Returns the total matching worksheet count plus projects (disaster number, declaration date, incident type, project worksheet number, application title, applicant, damage category, project size, status, county, federal share obligated / total obligated / project amount in USD, obligation date), largest federal share first. Free, public-domain (OpenFEMA). Distinct from gov.hazard-mitigation (future-risk mitigation grants) and gov.nfip-claims (flood losses paid) — this is disaster recovery funding for public infrastructure.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "2-letter US state/territory code."
          },
          "disasterNumber": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100000
          },
          "incidentType": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "disasterNumber": 4332
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "query": {
                  "type": "object",
                  "properties": {
                    "state": {
                      "type": "string",
                      "nullable": true
                    },
                    "disasterNumber": {
                      "type": "number",
                      "nullable": true
                    },
                    "incidentType": {
                      "type": "string",
                      "nullable": true
                    },
                    "limit": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "state",
                    "disasterNumber",
                    "incidentType",
                    "limit"
                  ],
                  "additionalProperties": false
                },
                "totalProjects": {
                  "type": "number",
                  "nullable": true
                },
                "returned": {
                  "type": "number"
                },
                "returnedSummary": {
                  "type": "object",
                  "properties": {
                    "totalFederalShareUSD": {
                      "type": "number"
                    },
                    "totalObligatedUSD": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "totalFederalShareUSD",
                    "totalObligatedUSD"
                  ],
                  "additionalProperties": false
                },
                "projects": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "disasterNumber": {
                        "type": "number",
                        "nullable": true
                      },
                      "declarationDate": {
                        "type": "string",
                        "nullable": true
                      },
                      "incidentType": {
                        "type": "string",
                        "nullable": true
                      },
                      "pwNumber": {
                        "type": "string",
                        "nullable": true
                      },
                      "applicationTitle": {
                        "type": "string",
                        "nullable": true
                      },
                      "applicantId": {
                        "type": "string",
                        "nullable": true
                      },
                      "damageCategory": {
                        "type": "string",
                        "nullable": true
                      },
                      "damageCategoryCode": {
                        "type": "string",
                        "nullable": true
                      },
                      "projectSize": {
                        "type": "string",
                        "nullable": true
                      },
                      "projectStatus": {
                        "type": "string",
                        "nullable": true
                      },
                      "county": {
                        "type": "string",
                        "nullable": true
                      },
                      "countyCode": {
                        "type": "string",
                        "nullable": true
                      },
                      "state": {
                        "type": "string",
                        "nullable": true
                      },
                      "stateCode": {
                        "type": "string",
                        "nullable": true
                      },
                      "projectAmountUSD": {
                        "type": "number",
                        "nullable": true
                      },
                      "federalShareObligatedUSD": {
                        "type": "number",
                        "nullable": true
                      },
                      "totalObligatedUSD": {
                        "type": "number",
                        "nullable": true
                      },
                      "obligatedDate": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "disasterNumber",
                      "declarationDate",
                      "incidentType",
                      "pwNumber",
                      "applicationTitle",
                      "applicantId",
                      "damageCategory",
                      "damageCategoryCode",
                      "projectSize",
                      "projectStatus",
                      "county",
                      "countyCode",
                      "state",
                      "stateCode",
                      "projectAmountUSD",
                      "federalShareObligatedUSD",
                      "totalObligatedUSD",
                      "obligatedDate"
                    ],
                    "additionalProperties": false
                  }
                },
                "source": {
                  "type": "object",
                  "properties": {
                    "provider": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string"
                    },
                    "license": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "provider",
                    "url",
                    "license"
                  ],
                  "additionalProperties": false
                },
                "note": {
                  "type": "string"
                }
              },
              "required": [
                "query",
                "totalProjects",
                "returned",
                "returnedSummary",
                "projects",
                "source",
                "note"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.representatives",
      "group": "gov",
      "name": "representatives",
      "method": "GET",
      "path": "/api/gov/representatives",
      "url": "https://2s.io/api/gov/representatives",
      "description": "Your sitting members of the US Congress for a location. Pass a US address (geocoded to its state + congressional district for you), or an explicit state (2-letter) with optional district number. Returns the current US House representative for that district plus the state's two US senators — each with full name, party, state/district, the Bioguide ID, DC office, phone, official website, and contact form. State-only returns just the two senators; territories/DC return their non-voting delegate (no senators). Bundled CC0 data (unitedstates/congress-legislators), refreshed periodically. Fills the gap after gov.district (which gives the district, not the people) — for civic lookup, advocacy, and constituent tooling.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "minLength": 5,
            "maxLength": 200
          },
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2
          },
          "district": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "address": "350 5th Ave, New York, NY 10118"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "address": {
                "type": "string",
                "nullable": true
              },
              "state": {
                "type": "string",
                "nullable": true
              },
              "district": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "address",
              "state",
              "district"
            ],
            "additionalProperties": false
          },
          "resolved": {
            "type": "object",
            "properties": {
              "matchedAddress": {
                "type": "string",
                "nullable": true
              },
              "state": {
                "type": "string",
                "nullable": true
              },
              "district": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "matchedAddress",
              "state",
              "district"
            ],
            "additionalProperties": false
          },
          "house": {
            "type": "object",
            "properties": {
              "bioguideId": {
                "type": "string",
                "nullable": true
              },
              "name": {
                "type": "string",
                "nullable": true
              },
              "chamber": {
                "type": "string",
                "enum": [
                  "house"
                ]
              },
              "party": {
                "type": "string",
                "nullable": true
              },
              "state": {
                "type": "string",
                "nullable": true
              },
              "district": {
                "type": "string",
                "nullable": true
              },
              "phone": {
                "type": "string",
                "nullable": true
              },
              "office": {
                "type": "string",
                "nullable": true
              },
              "contactForm": {
                "type": "string",
                "nullable": true
              },
              "website": {
                "type": "string",
                "nullable": true
              },
              "termEnd": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "bioguideId",
              "name",
              "chamber",
              "party",
              "state",
              "district",
              "phone",
              "office",
              "contactForm",
              "website",
              "termEnd"
            ],
            "additionalProperties": false,
            "nullable": true
          },
          "senate": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "bioguideId": {
                  "type": "string",
                  "nullable": true
                },
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "chamber": {
                  "type": "string",
                  "enum": [
                    "senate"
                  ]
                },
                "party": {
                  "type": "string",
                  "nullable": true
                },
                "state": {
                  "type": "string",
                  "nullable": true
                },
                "district": {
                  "type": "string",
                  "nullable": true
                },
                "phone": {
                  "type": "string",
                  "nullable": true
                },
                "office": {
                  "type": "string",
                  "nullable": true
                },
                "contactForm": {
                  "type": "string",
                  "nullable": true
                },
                "website": {
                  "type": "string",
                  "nullable": true
                },
                "termEnd": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "bioguideId",
                "name",
                "chamber",
                "party",
                "state",
                "district",
                "phone",
                "office",
                "contactForm",
                "website",
                "termEnd"
              ],
              "additionalProperties": false
            }
          },
          "source": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "provider": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                },
                "license": {
                  "type": "string"
                }
              },
              "required": [
                "provider",
                "url",
                "license"
              ],
              "additionalProperties": false
            }
          },
          "note": {
            "type": "string"
          }
        },
        "required": [
          "query",
          "resolved",
          "house",
          "senate",
          "source",
          "note"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.risk-index",
      "group": "gov",
      "name": "risk-index",
      "method": "GET",
      "path": "/api/gov/risk-index",
      "url": "https://2s.io/api/gov/risk-index",
      "description": "FEMA National Risk Index for a US county — the authoritative natural-hazard risk profile. Look up by countyFips (5-digit STCOFIPS), by state + county name, or by a lat/lon point. Returns the composite Risk Index score/rating/national-percentile (an 18-hazard model combining Expected Annual Loss × Social Vulnerability ÷ Community Resilience), each component (expected annual loss in dollars, social vulnerability, community resilience) with its rating, and per-hazard risk ratings + expected-annual-loss for all 18 natural hazards (wildfire, earthquake, hurricane, riverine & coastal flooding, tornado, heat/cold wave, drought, etc.). The structural natural-hazard risk picture an LLM can't recall — for siting, insurance, and resilience planning. Free, public-domain. Complements geo.flood-zone (which is flood SFHA only).",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "countyFips": {
            "type": "string",
            "pattern": "^\\d{5}$"
          },
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 40
          },
          "county": {
            "type": "string",
            "minLength": 2,
            "maxLength": 60
          },
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "countyFips": "06037"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "countyFips": {
                "type": "string",
                "nullable": true
              },
              "state": {
                "type": "string",
                "nullable": true
              },
              "county": {
                "type": "string",
                "nullable": true
              },
              "lat": {
                "type": "number",
                "nullable": true
              },
              "lon": {
                "type": "number",
                "nullable": true
              }
            },
            "required": [
              "countyFips",
              "state",
              "county",
              "lat",
              "lon"
            ],
            "additionalProperties": false
          },
          "found": {
            "type": "boolean"
          },
          "county": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "stateAbbrev": {
            "type": "string",
            "nullable": true
          },
          "countyFips": {
            "type": "string",
            "nullable": true
          },
          "population": {
            "type": "number",
            "nullable": true
          },
          "riskIndex": {
            "type": "object",
            "properties": {
              "score": {
                "type": "number",
                "nullable": true
              },
              "rating": {
                "type": "string",
                "nullable": true
              },
              "nationalPercentile": {
                "type": "number",
                "nullable": true
              }
            },
            "required": [
              "score",
              "rating",
              "nationalPercentile"
            ],
            "additionalProperties": false
          },
          "expectedAnnualLoss": {
            "type": "object",
            "properties": {
              "totalUSD": {
                "type": "number",
                "nullable": true
              },
              "rating": {
                "type": "string",
                "nullable": true
              },
              "nationalPercentile": {
                "type": "number",
                "nullable": true
              }
            },
            "required": [
              "totalUSD",
              "rating",
              "nationalPercentile"
            ],
            "additionalProperties": false
          },
          "socialVulnerability": {
            "type": "object",
            "properties": {
              "score": {
                "type": "number",
                "nullable": true
              },
              "rating": {
                "type": "string",
                "nullable": true
              },
              "nationalPercentile": {
                "type": "number",
                "nullable": true
              }
            },
            "required": [
              "score",
              "rating",
              "nationalPercentile"
            ],
            "additionalProperties": false
          },
          "communityResilience": {
            "type": "object",
            "properties": {
              "score": {
                "type": "number",
                "nullable": true
              },
              "rating": {
                "type": "string",
                "nullable": true
              },
              "nationalPercentile": {
                "type": "number",
                "nullable": true
              }
            },
            "required": [
              "score",
              "rating",
              "nationalPercentile"
            ],
            "additionalProperties": false
          },
          "hazards": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "hazard": {
                  "type": "string"
                },
                "riskRating": {
                  "type": "string",
                  "nullable": true
                },
                "riskScore": {
                  "type": "number",
                  "nullable": true
                },
                "expectedAnnualLossUSD": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "code",
                "hazard",
                "riskRating",
                "riskScore",
                "expectedAnnualLossUSD"
              ],
              "additionalProperties": false
            }
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "provider": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                },
                "license": {
                  "type": "string"
                }
              },
              "required": [
                "provider",
                "url",
                "license"
              ],
              "additionalProperties": false
            }
          },
          "note": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "query",
          "found",
          "county",
          "state",
          "stateAbbrev",
          "countyFips",
          "population",
          "riskIndex",
          "expectedAnnualLoss",
          "socialVulnerability",
          "communityResilience",
          "hazards",
          "sources",
          "note"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.senate-votes",
      "group": "gov",
      "name": "senate-votes",
      "method": "GET",
      "path": "/api/gov/senate-votes",
      "url": "https://2s.io/api/gov/senate-votes",
      "description": "US Senate roll-call votes, newest first by vote date. Each record includes congress + session + vote_number, vote question + result + title + majority requirement, vote date/time, document name (e.g., S. 5, H.R. 4499), document title, grand totals (yeas/nays/present/absent), AND per-party breakdown (D/R/I yea/nay/present/absent counts derived from member-level vote_cast). Filters (all optional, AND-combined): congress, session (1 or 2), result substring, document substring (e.g., 'S. 5'), since/until (vote_date), limit + offset. Locally aggregated from senate.gov XML feeds (refreshed daily). Public-domain US government records.",
      "priceUsd": 0.0024,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "congress": {
            "type": "integer",
            "minimum": 100,
            "maximum": 200,
            "description": "Filter by Congress number. The 119th Congress = 2025-2026."
          },
          "session": {
            "type": "integer",
            "description": "Filter by session (1 = odd year, 2 = even year of a Congress)."
          },
          "result": {
            "type": "string",
            "minLength": 2,
            "maxLength": 60,
            "description": "Filter by vote result (case-insensitive substring). Examples: \"Agreed\", \"Rejected\", \"Cloture\"."
          },
          "document": {
            "type": "string",
            "minLength": 2,
            "maxLength": 40,
            "description": "Filter by document name substring (case-insensitive on document_name). Examples: \"S. 5\", \"H.R. 4499\", \"H.R.\"."
          },
          "since": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Earliest vote date (YYYY-MM-DD)."
          },
          "until": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Latest vote date (YYYY-MM-DD)."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 25,
            "description": "Max records (1-100). Default 25."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100000,
            "default": 0,
            "description": "Offset for pagination. Default 0."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "congress": 100,
        "session": 1,
        "result": "xx",
        "document": "xx",
        "since": "2024-01-01",
        "until": "2024-01-01",
        "limit": 25,
        "offset": 0
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "congress": {
                  "type": "integer"
                },
                "session": {
                  "type": "integer"
                },
                "voteNumber": {
                  "type": "integer"
                },
                "congressYear": {
                  "type": "integer",
                  "nullable": true
                },
                "voteDate": {
                  "type": "string",
                  "nullable": true
                },
                "voteTime": {
                  "type": "string",
                  "nullable": true
                },
                "voteQuestion": {
                  "type": "string",
                  "nullable": true
                },
                "voteResult": {
                  "type": "string",
                  "nullable": true
                },
                "voteResultText": {
                  "type": "string",
                  "nullable": true
                },
                "voteTitle": {
                  "type": "string",
                  "nullable": true
                },
                "majorityRequirement": {
                  "type": "string",
                  "nullable": true
                },
                "documentName": {
                  "type": "string",
                  "nullable": true
                },
                "documentTitle": {
                  "type": "string",
                  "nullable": true
                },
                "totals": {
                  "type": "object",
                  "properties": {
                    "yeas": {
                      "type": "integer"
                    },
                    "nays": {
                      "type": "integer"
                    },
                    "present": {
                      "type": "integer"
                    },
                    "absent": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "yeas",
                    "nays",
                    "present",
                    "absent"
                  ],
                  "additionalProperties": false
                },
                "totalsByParty": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "yea": {
                        "type": "integer"
                      },
                      "nay": {
                        "type": "integer"
                      },
                      "present": {
                        "type": "integer"
                      },
                      "absent": {
                        "type": "integer"
                      }
                    },
                    "required": [
                      "yea",
                      "nay",
                      "present",
                      "absent"
                    ],
                    "additionalProperties": false
                  }
                },
                "sourceXmlUrl": {
                  "type": "string",
                  "format": "uri"
                }
              },
              "required": [
                "congress",
                "session",
                "voteNumber",
                "congressYear",
                "voteDate",
                "voteTime",
                "voteQuestion",
                "voteResult",
                "voteResultText",
                "voteTitle",
                "majorityRequirement",
                "documentName",
                "documentTitle",
                "totals",
                "totalsByParty",
                "sourceXmlUrl"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "congress": {
                    "type": "number",
                    "nullable": true
                  },
                  "session": {
                    "type": "number",
                    "nullable": true
                  },
                  "result": {
                    "type": "string",
                    "nullable": true
                  },
                  "document": {
                    "type": "string",
                    "nullable": true
                  },
                  "since": {
                    "type": "string",
                    "nullable": true
                  },
                  "until": {
                    "type": "string",
                    "nullable": true
                  },
                  "limit": {
                    "type": "integer"
                  },
                  "offset": {
                    "type": "integer"
                  }
                },
                "required": [
                  "congress",
                  "session",
                  "result",
                  "document",
                  "since",
                  "until",
                  "limit",
                  "offset"
                ],
                "additionalProperties": false
              },
              "nextOffset": {
                "type": "integer",
                "nullable": true
              },
              "previousOffset": {
                "type": "integer",
                "nullable": true
              }
            },
            "required": [
              "query",
              "nextOffset",
              "previousOffset"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.uk-crime",
      "group": "gov",
      "name": "uk-crime",
      "method": "GET",
      "path": "/api/gov/uk-crime",
      "url": "https://2s.io/api/gov/uk-crime",
      "description": "UK street-level crime around a location from the Home Office data.police.uk service. Give a latitude/longitude (and optional month YYYY-MM, defaults to the latest available — UK data lags ~2 months) and get the total crime count, a breakdown by category (anti-social behaviour, burglary, violent crime, vehicle crime, etc.), and recent individual records (category, approximate street, lat/lon, and outcome status). Free, Open Government Licence (commercial use permitted). Location-risk signal an LLM cannot recall — for property, insurance, and safety agents. Locations are anonymised to nearby map points by the Home Office.",
      "priceUsd": 0.00108,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "lng": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          },
          "month": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}$"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          }
        },
        "required": [
          "lat",
          "lng"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "lat": 51.5074,
        "lng": -0.1278
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "query": {
                  "type": "object",
                  "properties": {
                    "lat": {
                      "type": "number"
                    },
                    "lng": {
                      "type": "number"
                    },
                    "month": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "lat",
                    "lng",
                    "month"
                  ],
                  "additionalProperties": false
                },
                "total": {
                  "type": "number"
                },
                "returned": {
                  "type": "number"
                },
                "byCategory": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "number"
                  }
                },
                "crimes": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "category": {
                        "type": "string",
                        "nullable": true
                      },
                      "month": {
                        "type": "string",
                        "nullable": true
                      },
                      "street": {
                        "type": "string",
                        "nullable": true
                      },
                      "latitude": {
                        "type": "number",
                        "nullable": true
                      },
                      "longitude": {
                        "type": "number",
                        "nullable": true
                      },
                      "outcome": {
                        "type": "string",
                        "nullable": true
                      },
                      "outcomeDate": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "category",
                      "month",
                      "street",
                      "latitude",
                      "longitude",
                      "outcome",
                      "outcomeDate"
                    ],
                    "additionalProperties": false
                  }
                },
                "source": {
                  "type": "object",
                  "properties": {
                    "provider": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string"
                    },
                    "license": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "provider",
                    "url",
                    "license"
                  ],
                  "additionalProperties": false
                },
                "note": {
                  "type": "string"
                }
              },
              "required": [
                "query",
                "total",
                "returned",
                "byCategory",
                "crimes",
                "source",
                "note"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.usajobs",
      "group": "gov",
      "name": "usajobs",
      "method": "GET",
      "path": "/api/gov/usajobs",
      "url": "https://2s.io/api/gov/usajobs",
      "description": "Search open US federal government job postings from the official USAJOBS API. Filter by keyword (title/skills), location (e.g. \"Austin, Texas\" or a state), and/or hiring organization; at least one is required. Returns the total matching count plus current openings with title, agency and department, location(s), salary range (USD) and pay interval, GS pay grade, work schedule, posting/close dates, and the official apply link. Keyless to the caller, public-domain (OPM). Live federal hiring data an LLM cannot recall — for job search, labor-market and workforce research.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "keyword": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "location": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "organization": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "keyword": "software engineer",
        "location": "Austin, Texas"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "positionId": {
                  "type": "string",
                  "nullable": true
                },
                "title": {
                  "type": "string",
                  "nullable": true
                },
                "organization": {
                  "type": "string",
                  "nullable": true
                },
                "department": {
                  "type": "string",
                  "nullable": true
                },
                "locations": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "salaryMinUSD": {
                  "type": "number",
                  "nullable": true
                },
                "salaryMaxUSD": {
                  "type": "number",
                  "nullable": true
                },
                "salaryInterval": {
                  "type": "string",
                  "nullable": true
                },
                "payGrade": {
                  "type": "string",
                  "nullable": true
                },
                "schedule": {
                  "type": "string",
                  "nullable": true
                },
                "postedDate": {
                  "type": "string",
                  "nullable": true
                },
                "closeDate": {
                  "type": "string",
                  "nullable": true
                },
                "applyUri": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "positionId",
                "title",
                "organization",
                "department",
                "locations",
                "salaryMinUSD",
                "salaryMaxUSD",
                "salaryInterval",
                "payGrade",
                "schedule",
                "postedDate",
                "closeDate",
                "applyUri"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.usaspending-awards",
      "group": "gov",
      "name": "usaspending-awards",
      "method": "GET",
      "path": "/api/gov/usaspending-awards",
      "url": "https://2s.io/api/gov/usaspending-awards",
      "description": "Search federal awards (contracts, grants, loans, direct payments) from USAspending.gov. Largest amount first within the date window. Each record includes award ID, recipient name, dollar amount, award type, awarding agency + sub-agency, start + end dates, description, and a permalink to the usaspending.gov detail page. Filter by recipient name, awarding agency name, recipient state, award type group, and date range. Backed by USAspending.gov's spending_by_award API; public-domain US government records.",
      "priceUsd": 0.0024,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "recipient": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120,
            "description": "Recipient (vendor/grantee) name substring. Examples: \"Microsoft\", \"Lockheed Martin\", \"Stanford University\"."
          },
          "agency": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120,
            "description": "Awarding top-tier agency name. Examples: \"Department of Defense\", \"National Institutes of Health\", \"Department of Energy\"."
          },
          "recipientState": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "pattern": "^[A-Za-z]{2}$",
            "description": "2-letter US state of the recipient (e.g., \"CA\", \"VA\")."
          },
          "awardType": {
            "type": "string",
            "enum": [
              "contracts",
              "grants",
              "loans",
              "direct_payments",
              "other"
            ],
            "default": "contracts",
            "description": "Award type group. contracts = A/B/C/D; grants = 02/03/04/05; loans = 07/08; direct_payments = 06/10; other = 11. Default contracts."
          },
          "since": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Earliest action date (YYYY-MM-DD). Default = 5 years ago."
          },
          "until": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Latest action date (YYYY-MM-DD). Default = today."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 25,
            "description": "Records per page (1-100). Default 25."
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "default": 1,
            "description": "Page number (1-based). Default 1."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "recipient": "xx",
        "agency": "xx",
        "recipientState": "xx",
        "awardType": "contracts",
        "since": "2024-01-01",
        "until": "2024-01-01",
        "limit": 25,
        "page": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "awardId": {
                  "type": "string"
                },
                "recipientName": {
                  "type": "string",
                  "nullable": true
                },
                "amount": {
                  "type": "number",
                  "nullable": true
                },
                "awardType": {
                  "type": "string",
                  "nullable": true
                },
                "awardingAgency": {
                  "type": "string",
                  "nullable": true
                },
                "awardingSubAgency": {
                  "type": "string",
                  "nullable": true
                },
                "startDate": {
                  "type": "string",
                  "nullable": true
                },
                "endDate": {
                  "type": "string",
                  "nullable": true
                },
                "description": {
                  "type": "string",
                  "nullable": true
                },
                "usaspendingUrl": {
                  "type": "string",
                  "format": "uri",
                  "nullable": true
                }
              },
              "required": [
                "awardId",
                "recipientName",
                "amount",
                "awardType",
                "awardingAgency",
                "awardingSubAgency",
                "startDate",
                "endDate",
                "description",
                "usaspendingUrl"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "recipient": {
                    "type": "string",
                    "nullable": true
                  },
                  "agency": {
                    "type": "string",
                    "nullable": true
                  },
                  "recipientState": {
                    "type": "string",
                    "nullable": true
                  },
                  "awardType": {
                    "type": "string"
                  },
                  "since": {
                    "type": "string"
                  },
                  "until": {
                    "type": "string"
                  },
                  "limit": {
                    "type": "integer"
                  },
                  "page": {
                    "type": "integer"
                  }
                },
                "required": [
                  "recipient",
                  "agency",
                  "recipientState",
                  "awardType",
                  "since",
                  "until",
                  "limit",
                  "page"
                ],
                "additionalProperties": false
              },
              "hasNext": {
                "type": "boolean"
              }
            },
            "required": [
              "query",
              "hasNext"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "gov.usgs-water",
      "group": "gov",
      "name": "usgs-water",
      "method": "GET",
      "path": "/api/gov/usgs-water",
      "url": "https://2s.io/api/gov/usgs-water",
      "description": "Real-time water data from USGS NWIS stream / river / groundwater gauges within a bounding box around lat/lon. Returns each site's latest reading per requested variable: streamflow (00060, ft³/s), gage height (00065, ft), water temperature (00010, °C), precipitation (00045, in), and others. Each reading: site code + name, lat/lon, variable name + description + unit, value (or null if no data / sentinel), qualifier codes (e.g., 'P' = provisional, 'A' = approved), observed timestamp. Free public-domain data from waterservices.usgs.gov.",
      "priceUsd": 0.0024,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90,
            "description": "Center latitude (decimal degrees)."
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180,
            "description": "Center longitude (decimal degrees)."
          },
          "radius": {
            "type": "number",
            "minimum": 0.05,
            "maximum": 2,
            "default": 0.5,
            "description": "Half-side of bounding box, in decimal degrees. Default 0.5 (~35 mi)."
          },
          "variables": {
            "type": "string",
            "pattern": "^(\\d{5})(,\\d{5})*$",
            "description": "Comma-separated USGS parameter codes (5-digit). Default \"00060,00065,00010\" (streamflow, gage height, water temp)."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 25,
            "description": "Max readings to return (1-100). Default 25."
          }
        },
        "required": [
          "lat",
          "lon"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "lat": -90,
        "lon": -180,
        "radius": 0.5,
        "variables": "example",
        "limit": 25
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "siteCode": {
                  "type": "string"
                },
                "siteName": {
                  "type": "string"
                },
                "agencyCode": {
                  "type": "string"
                },
                "latitude": {
                  "type": "number"
                },
                "longitude": {
                  "type": "number"
                },
                "variableCode": {
                  "type": "string"
                },
                "variableName": {
                  "type": "string"
                },
                "variableDescription": {
                  "type": "string"
                },
                "unit": {
                  "type": "string"
                },
                "value": {
                  "type": "number",
                  "nullable": true
                },
                "qualifiers": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "observedAt": {
                  "type": "string",
                  "nullable": true
                },
                "noDataValue": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "siteCode",
                "siteName",
                "agencyCode",
                "latitude",
                "longitude",
                "variableCode",
                "variableName",
                "variableDescription",
                "unit",
                "value",
                "qualifiers",
                "observedAt",
                "noDataValue"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "lat": {
                    "type": "number"
                  },
                  "lon": {
                    "type": "number"
                  },
                  "radiusDegrees": {
                    "type": "number"
                  },
                  "variables": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "limit": {
                    "type": "integer"
                  }
                },
                "required": [
                  "lat",
                  "lon",
                  "radiusDegrees",
                  "variables",
                  "limit"
                ],
                "additionalProperties": false
              },
              "bbox": {
                "type": "object",
                "properties": {
                  "west": {
                    "type": "number"
                  },
                  "south": {
                    "type": "number"
                  },
                  "east": {
                    "type": "number"
                  },
                  "north": {
                    "type": "number"
                  }
                },
                "required": [
                  "west",
                  "south",
                  "east",
                  "north"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "query",
              "bbox"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "hash.compute",
      "group": "hash",
      "name": "compute",
      "method": "POST",
      "path": "/api/hash/compute",
      "url": "https://2s.io/api/hash/compute",
      "description": "Compute one or more cryptographic digests (MD5, SHA-1, SHA-2 family, SHA-3 family, BLAKE2) of a string or hex/base64-encoded byte buffer. Returns hex or base64-encoded digests.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "input": {
            "type": "string",
            "maxLength": 524288
          },
          "algorithms": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "md5",
                "sha1",
                "sha224",
                "sha256",
                "sha384",
                "sha512",
                "sha3-224",
                "sha3-256",
                "sha3-384",
                "sha3-512",
                "blake2b512",
                "blake2s256"
              ]
            },
            "minItems": 1,
            "maxItems": 12
          },
          "algorithm": {
            "type": "string",
            "enum": [
              "md5",
              "sha1",
              "sha224",
              "sha256",
              "sha384",
              "sha512",
              "sha3-224",
              "sha3-256",
              "sha3-384",
              "sha3-512",
              "blake2b512",
              "blake2s256"
            ]
          },
          "inputEncoding": {
            "type": "string",
            "enum": [
              "utf8",
              "hex",
              "base64"
            ],
            "default": "utf8"
          },
          "outputEncoding": {
            "type": "string",
            "enum": [
              "hex",
              "base64"
            ],
            "default": "hex"
          }
        },
        "required": [
          "input"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "input": "example",
        "algorithms": [
          "md5"
        ],
        "algorithm": "md5",
        "inputEncoding": "utf8",
        "outputEncoding": "hex"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "input": {
                  "type": "object",
                  "properties": {
                    "encoding": {
                      "type": "string"
                    },
                    "bytes": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "encoding",
                    "bytes"
                  ],
                  "additionalProperties": false
                },
                "outputEncoding": {
                  "type": "string"
                },
                "digests": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "input",
                "outputEncoding",
                "digests"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "health.disease-surveillance",
      "group": "health",
      "name": "disease-surveillance",
      "method": "GET",
      "path": "/api/health/disease-surveillance",
      "url": "https://2s.io/api/health/disease-surveillance",
      "description": "Current US notifiable-disease surveillance from the CDC NNDSS (National Notifiable Diseases Surveillance System) weekly tables. Returns provisional weekly case counts for ~139 nationally notifiable conditions (e.g. Measles, Pertussis, Mumps, Hepatitis A, Lyme disease, Gonorrhea, West Nile, Dengue) by reporting area and MMWR week, updated weekly. Filter by condition (substring, case-insensitive: \"measles\" matches \"Measles, Indigenous\"), location (a reporting area: a US state full name like \"California\", \"New York City\", \"U.S. Residents\", a census region like \"Pacific\", or a territory), year (MMWR year, 2022 to current), and weeks (most-recent N observations). At least one of condition or location is required. Each record reports the current-week count, the previous-52-week maximum, cumulative cases YTD this MMWR year, and cumulative YTD the prior year for same-week comparison. Public-domain CDC federal data via data.cdc.gov. Use this to see live disease activity and outbreaks that postdate an agent's training cutoff.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "condition": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Disease/condition substring, case-insensitive."
          },
          "location": {
            "type": "string",
            "minLength": 2,
            "maxLength": 60,
            "description": "Reporting area: state, NYC, U.S. Residents, census region, or territory."
          },
          "year": {
            "type": "integer",
            "minimum": 2022,
            "maximum": 2100,
            "description": "MMWR year, 2022 to current."
          },
          "weeks": {
            "type": "integer",
            "minimum": 1,
            "maximum": 520,
            "description": "Return roughly the most-recent N weeks of observations."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "default": 100
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "condition": "measles",
        "location": "U.S. Residents",
        "weeks": 4
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "condition": {
                  "type": "string"
                },
                "location": {
                  "type": "string"
                },
                "year": {
                  "type": "integer"
                },
                "week": {
                  "type": "integer"
                },
                "currentWeek": {
                  "type": "number",
                  "nullable": true
                },
                "currentWeekFlag": {
                  "type": "string",
                  "nullable": true
                },
                "prev52WeekMax": {
                  "type": "number",
                  "nullable": true
                },
                "cumulativeYTD": {
                  "type": "number",
                  "nullable": true
                },
                "cumulativeYTDPrevYear": {
                  "type": "number",
                  "nullable": true
                },
                "sourceTable": {
                  "type": "string"
                }
              },
              "required": [
                "condition",
                "location",
                "year",
                "week",
                "currentWeek",
                "currentWeekFlag",
                "prev52WeekMax",
                "cumulativeYTD",
                "cumulativeYTDPrevYear",
                "sourceTable"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "condition": {
                "type": "string",
                "nullable": true
              },
              "location": {
                "type": "string",
                "nullable": true
              },
              "year": {
                "type": "integer",
                "nullable": true
              },
              "weeks": {
                "type": "integer",
                "nullable": true
              }
            },
            "required": [
              "condition",
              "location",
              "year",
              "weeks"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "health.hospital-lookup",
      "group": "health",
      "name": "hospital-lookup",
      "method": "GET",
      "path": "/api/health/hospital-lookup",
      "url": "https://2s.io/api/health/hospital-lookup",
      "description": "CMS Care Compare lookup for every CMS-certified US hospital (~5k). Lookup by 6-digit CMS Facility ID for direct match, or fuzzy by name + state + city + hospital type, with optional minimum overall rating (1-5) filter. Each record includes facility ID, name, full address, phone, hospital type (Acute Care / Critical Access / Psychiatric / etc.), ownership category, emergency services flag, birthing-friendly designation, CMS overall star rating, and per-measure-group counts (mortality, safety, readmission, patient experience, effectiveness, timeliness, medical imaging). Public-domain federal data.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "facilityId": {
            "type": "string",
            "pattern": "^\\d{6}$"
          },
          "name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200
          },
          "city": {
            "type": "string",
            "minLength": 2,
            "maxLength": 100
          },
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "pattern": "^[A-Za-z]{2}$"
          },
          "hospitalType": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80
          },
          "minRating": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 20
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 10000,
            "default": 0
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "state": "CA",
        "minRating": 5,
        "limit": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "facilityId": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "address": {
                  "type": "string",
                  "nullable": true
                },
                "city": {
                  "type": "string",
                  "nullable": true
                },
                "state": {
                  "type": "string",
                  "nullable": true
                },
                "zipcode": {
                  "type": "string",
                  "nullable": true
                },
                "county": {
                  "type": "string",
                  "nullable": true
                },
                "phone": {
                  "type": "string",
                  "nullable": true
                },
                "hospitalType": {
                  "type": "string",
                  "nullable": true
                },
                "ownership": {
                  "type": "string",
                  "nullable": true
                },
                "hasEmergencyServices": {
                  "type": "boolean",
                  "nullable": true
                },
                "meetsBirthingFriendlyCriteria": {
                  "type": "boolean",
                  "nullable": true
                },
                "overallRating": {
                  "type": "integer",
                  "nullable": true
                },
                "mortalityGroupCount": {
                  "type": "integer",
                  "nullable": true
                },
                "safetyGroupCount": {
                  "type": "integer",
                  "nullable": true
                },
                "readmissionGroupCount": {
                  "type": "integer",
                  "nullable": true
                },
                "experienceGroupCount": {
                  "type": "integer",
                  "nullable": true
                },
                "effectivenessGroupCount": {
                  "type": "integer",
                  "nullable": true
                },
                "timelinessGroupCount": {
                  "type": "integer",
                  "nullable": true
                },
                "imagingGroupCount": {
                  "type": "integer",
                  "nullable": true
                }
              },
              "required": [
                "facilityId",
                "name",
                "address",
                "city",
                "state",
                "zipcode",
                "county",
                "phone",
                "hospitalType",
                "ownership",
                "hasEmergencyServices",
                "meetsBirthingFriendlyCriteria",
                "overallRating",
                "mortalityGroupCount",
                "safetyGroupCount",
                "readmissionGroupCount",
                "experienceGroupCount",
                "effectivenessGroupCount",
                "timelinessGroupCount",
                "imagingGroupCount"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "facilityId": {
                    "type": "string",
                    "nullable": true
                  },
                  "name": {
                    "type": "string",
                    "nullable": true
                  },
                  "city": {
                    "type": "string",
                    "nullable": true
                  },
                  "state": {
                    "type": "string",
                    "nullable": true
                  },
                  "hospitalType": {
                    "type": "string",
                    "nullable": true
                  },
                  "minRating": {
                    "type": "integer",
                    "nullable": true
                  },
                  "limit": {
                    "type": "integer"
                  },
                  "offset": {
                    "type": "integer"
                  }
                },
                "required": [
                  "facilityId",
                  "name",
                  "city",
                  "state",
                  "hospitalType",
                  "minRating",
                  "limit",
                  "offset"
                ],
                "additionalProperties": false
              },
              "returned": {
                "type": "integer"
              }
            },
            "required": [
              "query",
              "returned"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "health.hospital-quality",
      "group": "health",
      "name": "hospital-quality",
      "method": "GET",
      "path": "/api/health/hospital-quality",
      "url": "https://2s.io/api/health/hospital-quality",
      "description": "CMS Care Compare hospital quality ratings — the data behind medicare.gov hospital ratings, for all ~5,300 Medicare-certified US hospitals. Look up by facilityId (CMS certification number), or filter by state, city, and name (partial match). Each row: facility id/name/address/phone, hospital type + ownership, emergency services, overall star rating (1-5), and per-domain measure summaries (mortality, safety of care, readmission, patient experience, timeliness, effectiveness) showing whether the hospital performs better/same/worse than the national average. Rows returned with CMS's documented column names. Public-domain federal data.",
      "priceUsd": 0.00288,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "facilityId": {
            "type": "string",
            "pattern": "^[0-9A-Za-z]{6}$"
          },
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2
          },
          "city": {
            "type": "string",
            "minLength": 2,
            "maxLength": 60
          },
          "name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 10
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "default": 0
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "name": "mayo clinic",
        "state": "MN"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "health.medicare-provider",
      "group": "health",
      "name": "medicare-provider",
      "method": "GET",
      "path": "/api/health/medicare-provider",
      "url": "https://2s.io/api/health/medicare-provider",
      "description": "Medicare utilization + payments by provider (CMS 'Physician & Other Practitioners - by Provider' annual dataset). Look up by npi, or filter by lastName (exact last/organization name) + state. Each row: provider NPI, name, credentials, entity type, full address, provider type/specialty, Medicare participation, beneficiary counts, total services, submitted charges, Medicare allowed/payment amounts, plus beneficiary demographic + chronic-condition aggregates — CMS's documented column names (Rndrng_NPI, Tot_Srvcs, Tot_Mdcr_Pymt_Amt, etc). Complements /api/health/open-payments (industry payments to the same NPIs). KYC, healthcare-fraud research, and provider due diligence. For a provider 360 (identity + industry payments + this) by NPI in one call, see /api/health/provider-profile. Public-domain federal data.",
      "priceUsd": 0.00288,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "npi": {
            "type": "string",
            "pattern": "^\\d{10}$"
          },
          "lastName": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80
          },
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 10
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "default": 0
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "npi": "1003000126"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "health.mortality-stats",
      "group": "health",
      "name": "mortality-stats",
      "method": "GET",
      "path": "/api/health/mortality-stats",
      "url": "https://2s.io/api/health/mortality-stats",
      "description": "US mortality statistics from CDC NCHS. dataset=leading-causes (default): annual deaths + age-adjusted death rate per 100k by state and top-10 cause of death, 1999-2017 — filter by state (full name, e.g. \"California\", or \"United States\"), year, cause (e.g. \"Heart disease\", \"Cancer\", \"Suicide\"). dataset=weekly-counts: provisional weekly death counts by jurisdiction with per-cause columns (all-cause, natural, COVID-19, heart disease, cancer, etc.), 2020-2023 — filter by state and mmwrYear. Rows returned raw from CDC with documented column names. Public-domain federal data.",
      "priceUsd": 0.0024,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "dataset": {
            "type": "string",
            "enum": [
              "leading-causes",
              "weekly-counts"
            ],
            "default": "leading-causes"
          },
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 40
          },
          "year": {
            "type": "integer",
            "minimum": 1999,
            "maximum": 2023
          },
          "cause": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200,
            "default": 25
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "default": 0
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "state": "California",
        "cause": "Suicide",
        "limit": 5
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "dataset": {
                "type": "string",
                "enum": [
                  "leading-causes",
                  "weekly-counts"
                ]
              }
            },
            "required": [
              "dataset"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "health.open-payments",
      "group": "health",
      "name": "open-payments",
      "method": "GET",
      "path": "/api/health/open-payments",
      "url": "https://2s.io/api/health/open-payments",
      "description": "Search CMS Open Payments — every payment from a drug/device manufacturer or GPO to a US physician or teaching hospital under the Sunshine Act (~10M records per year). Lookup by 10-digit NPI for the recipient (most precise), by last/first name + state, or by payer (manufacturer) name. Each record includes recipient (NPI, name, specialty, location), payer (manufacturer name + state/country), payment (amount USD, date, nature of payment such as 'Consulting Fee'/'Food and Beverage'/'Travel'/'Royalty', form of payment), and associated product (drug/device name + therapeutic area). Investigative journalism + KYC + healthcare conflict-of-interest research. Public-domain federal data.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "npi": {
            "type": "string",
            "pattern": "^\\d{10}$"
          },
          "firstName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "lastName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "payerName": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200
          },
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "pattern": "^[A-Za-z]{2}$"
          },
          "minAmount": {
            "type": "number",
            "minimum": 0,
            "maximum": 10000000
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 20
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100000,
            "default": 0
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "npi": "1417124736",
        "limit": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "recordId": {
                  "type": "string"
                },
                "recipient": {
                  "type": "object",
                  "properties": {
                    "npi": {
                      "type": "string",
                      "nullable": true
                    },
                    "firstName": {
                      "type": "string",
                      "nullable": true
                    },
                    "lastName": {
                      "type": "string",
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "nullable": true
                    },
                    "primarySpecialty": {
                      "type": "string",
                      "nullable": true
                    },
                    "city": {
                      "type": "string",
                      "nullable": true
                    },
                    "state": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "npi",
                    "firstName",
                    "lastName",
                    "type",
                    "primarySpecialty",
                    "city",
                    "state"
                  ],
                  "additionalProperties": false
                },
                "payer": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "nullable": true
                    },
                    "state": {
                      "type": "string",
                      "nullable": true
                    },
                    "country": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "name",
                    "state",
                    "country"
                  ],
                  "additionalProperties": false
                },
                "payment": {
                  "type": "object",
                  "properties": {
                    "amountUsd": {
                      "type": "number",
                      "nullable": true
                    },
                    "date": {
                      "type": "string",
                      "nullable": true
                    },
                    "natureOfPayment": {
                      "type": "string",
                      "nullable": true
                    },
                    "formOfPayment": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "amountUsd",
                    "date",
                    "natureOfPayment",
                    "formOfPayment"
                  ],
                  "additionalProperties": false
                },
                "associatedProduct": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "nullable": true
                    },
                    "name": {
                      "type": "string",
                      "nullable": true
                    },
                    "therapeuticArea": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "type",
                    "name",
                    "therapeuticArea"
                  ],
                  "additionalProperties": false
                },
                "programYear": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "recordId",
                "recipient",
                "payer",
                "payment",
                "associatedProduct",
                "programYear"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "npi": {
                    "type": "string",
                    "nullable": true
                  },
                  "lastName": {
                    "type": "string",
                    "nullable": true
                  },
                  "firstName": {
                    "type": "string",
                    "nullable": true
                  },
                  "payerName": {
                    "type": "string",
                    "nullable": true
                  },
                  "state": {
                    "type": "string",
                    "nullable": true
                  },
                  "minAmount": {
                    "type": "number",
                    "nullable": true
                  },
                  "limit": {
                    "type": "integer"
                  },
                  "offset": {
                    "type": "integer"
                  }
                },
                "required": [
                  "npi",
                  "lastName",
                  "firstName",
                  "payerName",
                  "state",
                  "minAmount",
                  "limit",
                  "offset"
                ],
                "additionalProperties": false
              },
              "programYear": {
                "type": "string"
              }
            },
            "required": [
              "query",
              "programYear"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "health.provider-profile",
      "group": "health",
      "name": "provider-profile",
      "method": "GET",
      "path": "/api/health/provider-profile",
      "url": "https://2s.io/api/health/provider-profile",
      "description": "Provider 360 — everything we know about a US healthcare provider, merged on their 10-digit NPI in one call. Combines three federal datasets: identity (NPPES registry: name, specialty/taxonomy, practice address, licenses), industry payments (CMS Open Payments: what drug & device makers paid them), and Medicare billing (CMS Physician & Other Practitioners: services, charges, and Medicare payment amounts). Each section reports found/error independently — a provider with no Open Payments or Medicare record still returns identity. KYC, healthcare-fraud research, investigative journalism, provider due diligence. Pass npi (required). For the individual sources see /api/license/medical, /api/health/open-payments, /api/health/medicare-provider.",
      "priceUsd": 0.00576,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "npi": {
            "type": "string",
            "pattern": "^\\d{10}$"
          }
        },
        "required": [
          "npi"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "npi": "1003000126"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "npi": {
            "type": "string"
          },
          "identity": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "provider": {
                "type": "object",
                "additionalProperties": {},
                "nullable": true
              }
            },
            "required": [
              "found",
              "error",
              "provider"
            ],
            "additionalProperties": false
          },
          "openPayments": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "totalCount": {
                "type": "number",
                "nullable": true
              },
              "payments": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": {}
                }
              }
            },
            "required": [
              "found",
              "error",
              "totalCount",
              "payments"
            ],
            "additionalProperties": false
          },
          "medicare": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "record": {
                "type": "object",
                "additionalProperties": {},
                "nullable": true
              }
            },
            "required": [
              "found",
              "error",
              "record"
            ],
            "additionalProperties": false
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          }
        },
        "required": [
          "npi",
          "identity",
          "openPayments",
          "medicare",
          "sources"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "html.to-markdown",
      "group": "html",
      "name": "to-markdown",
      "method": "POST",
      "path": "/api/html/to-markdown",
      "url": "https://2s.io/api/html/to-markdown",
      "description": "Convert raw HTML you already have into clean reading markdown — no URL fetch. POST { html }. Strips scripts, styles, nav, ads, and comments, extracts the main article content, and returns markdown (headings, links, lists, emphasis preserved), plain text, the page title, and a word count. Use when you scraped or generated HTML elsewhere and want clean markdown without a round-trip. For fetching + cleaning a live URL instead, use /api/url/clean (or /api/url/render for JavaScript-rendered pages). Pure conversion, no network.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "html": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000000
          }
        },
        "required": [
          "html"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "html": "<html><body><article><h1>Hello</h1><p>A <a href=\"https://x.com\">link</a>.</p></article></body></html>"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string",
                  "nullable": true
                },
                "markdown": {
                  "type": "string"
                },
                "text": {
                  "type": "string"
                },
                "wordCount": {
                  "type": "number"
                }
              },
              "required": [
                "title",
                "markdown",
                "text",
                "wordCount"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "image.compress",
      "group": "image",
      "name": "compress",
      "method": "POST",
      "path": "/api/image/compress",
      "url": "https://2s.io/api/image/compress",
      "description": "Compress an image. POST exactly one of { url } or { imageBase64 }, plus optional { format?: auto|png|jpeg|webp|avif (default auto = keep input format), quality?: 1-100 (default 75), lossy?: bool (default true), effort?: 1-10 (default 6) }. Returns compressed image bytes directly with X-2s-* headers: Original-Bytes, Compressed-Bytes, Saved-Percent, Output-Format, Source-Format, Source-Width, Source-Height, Process-Ms. Limits: 5MB URL fetch, ~3MB inline body, 4096 × 4096 input pixels. Animated GIF input becomes animated WebP when format=webp or auto.",
      "priceUsd": 0.0024,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048
          },
          "imageBase64": {
            "type": "string",
            "maxLength": 4400000
          },
          "format": {
            "type": "string",
            "enum": [
              "auto",
              "png",
              "jpeg",
              "webp",
              "avif"
            ]
          },
          "quality": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "lossy": {
            "type": "boolean"
          },
          "effort": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "url": "https://example.com",
        "imageBase64": "example",
        "format": "auto",
        "quality": 1,
        "lossy": false,
        "effort": 1
      }
    },
    {
      "id": "inflation.calculator",
      "group": "inflation",
      "name": "calculator",
      "method": "GET",
      "path": "/api/inflation/calculator",
      "url": "https://2s.io/api/inflation/calculator",
      "description": "Adjust a US dollar amount for inflation between two dates ('what is $100 in 1990 worth today?'). Pass amount, from (YYYY-MM-DD or YYYY), and optional to (defaults to the latest CPI month). Uses CPI-U (CPIAUCNS — the same not-seasonally-adjusted all-items index as the official BLS inflation calculator), data back to 1913. Returns the inflation-adjusted amount, cumulative inflation %, annualized rate, and the CPI index values used on each date. Source: BLS CPI via FRED (St. Louis Fed).",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number"
          },
          "from": {
            "type": "string",
            "pattern": "^\\d{4}(-\\d{2}(-\\d{2})?)?$"
          },
          "to": {
            "type": "string",
            "pattern": "^\\d{4}(-\\d{2}(-\\d{2})?)?$"
          }
        },
        "required": [
          "amount",
          "from"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "amount": 100,
        "from": "1990-01-01"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "amount": {
                  "type": "number"
                },
                "from": {
                  "type": "string"
                },
                "to": {
                  "type": "string"
                },
                "adjustedAmount": {
                  "type": "number"
                },
                "cumulativeInflationPct": {
                  "type": "number"
                },
                "annualizedPct": {
                  "type": "number",
                  "nullable": true
                },
                "cpiFrom": {
                  "type": "number"
                },
                "cpiFromDate": {
                  "type": "string"
                },
                "cpiTo": {
                  "type": "number"
                },
                "cpiToDate": {
                  "type": "string"
                },
                "seriesId": {
                  "type": "string"
                }
              },
              "required": [
                "amount",
                "from",
                "to",
                "adjustedAmount",
                "cumulativeInflationPct",
                "annualizedPct",
                "cpiFrom",
                "cpiFromDate",
                "cpiTo",
                "cpiToDate",
                "seriesId"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "inflation.expectations",
      "group": "inflation",
      "name": "expectations",
      "method": "GET",
      "path": "/api/inflation/expectations",
      "url": "https://2s.io/api/inflation/expectations",
      "description": "Current US inflation expectations — what markets and consumers expect future inflation to be. Returns the 5-year and 10-year TIPS breakeven rates, the 5-Year/5-Year forward inflation expectation (the Fed-watched long-run gauge), and the University of Michigan 1-year consumer inflation expectation. Each value is a percent as of its latest date. Market-based breakevens update daily. Source: Federal Reserve / Treasury via FRED (St. Louis Fed).",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "inputExample": {},
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "measure": {
                  "type": "string"
                },
                "seriesId": {
                  "type": "string"
                },
                "label": {
                  "type": "string"
                },
                "rate": {
                  "type": "number",
                  "nullable": true,
                  "description": "Expected inflation, percent."
                },
                "asOf": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "measure",
                "seriesId",
                "label",
                "rate",
                "asOf"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "inflation.hicp",
      "group": "inflation",
      "name": "hicp",
      "method": "GET",
      "path": "/api/inflation/hicp",
      "url": "https://2s.io/api/inflation/hicp",
      "description": "EU harmonized inflation — the latest HICP annual rate of change (the official, cross-country-comparable inflation rate) for the EU, euro area, and each member state. Pass country as a Eurostat geo code (DE, FR, EL for Greece, EA20 = euro area, EU27_2020 = EU) for one, or omit for all (sorted highest inflation first). All-items index (COICOP CP00). Source: Eurostat (free, no key). For US inflation use inflation.rates.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 10,
            "pattern": "^[A-Za-z0-9_]+$"
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "country": "DE"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "geo": {
                  "type": "string",
                  "description": "Eurostat geo code."
                },
                "area": {
                  "type": "string",
                  "description": "Country / aggregate name."
                },
                "annualRatePct": {
                  "type": "number",
                  "nullable": true,
                  "description": "HICP annual rate of change (inflation rate), percent."
                },
                "period": {
                  "type": "string",
                  "nullable": true,
                  "description": "Reference month (YYYY-MM)."
                }
              },
              "required": [
                "geo",
                "area",
                "annualRatePct",
                "period"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "inflation.rates",
      "group": "inflation",
      "name": "rates",
      "method": "GET",
      "path": "/api/inflation/rates",
      "url": "https://2s.io/api/inflation/rates",
      "description": "Current US inflation rates by measure, with the index level plus computed year-over-year and month-over-month % change. Pass measure for one, or omit for all. Measures: cpi, cpi-nsa, core-cpi, cpi-w, pce, core-pce, ppi, cpi-food, cpi-energy, cpi-shelter, cpi-medical, import-prices, export-prices — i.e. headline CPI (SA + NSA), core CPI, CPI-W, PCE, core PCE (the Fed's 2% target gauge), PPI final demand, and CPI by category (food, energy, shelter, medical) + import/export prices. The YoY change is the headline \"inflation rate\". Each result names the FRED series ID used. Source: BLS/BEA via FRED (St. Louis Fed). For raw access to any other series use bls.series; this is the curated, rate-computed layer.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "measure": {
            "type": "string",
            "enum": [
              "cpi",
              "cpi-nsa",
              "core-cpi",
              "cpi-w",
              "pce",
              "core-pce",
              "ppi",
              "cpi-food",
              "cpi-energy",
              "cpi-shelter",
              "cpi-medical",
              "import-prices",
              "export-prices"
            ]
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "measure": "core-pce"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "measure": {
                  "type": "string"
                },
                "seriesId": {
                  "type": "string"
                },
                "label": {
                  "type": "string"
                },
                "index": {
                  "type": "number",
                  "nullable": true,
                  "description": "The price-index level."
                },
                "asOf": {
                  "type": "string",
                  "nullable": true,
                  "description": "Date of the latest observation."
                },
                "changeMoM": {
                  "type": "number",
                  "nullable": true,
                  "description": "% change vs the prior period."
                },
                "changeYoY": {
                  "type": "number",
                  "nullable": true,
                  "description": "% change vs ~1 year earlier — the inflation rate."
                }
              },
              "required": [
                "measure",
                "seriesId",
                "label",
                "index",
                "asOf",
                "changeMoM",
                "changeYoY"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "ipinfo.bulk",
      "group": "ipinfo",
      "name": "bulk",
      "method": "POST",
      "path": "/api/ipinfo/bulk",
      "url": "https://2s.io/api/ipinfo/bulk",
      "description": "Geolocate up to 100 IPv4 or IPv6 addresses in a single call. Pass an array of IPs; results come back in input order. Each successful entry includes country (name + ISO code), region (name + code), city, postal code, lat/lon (city-level precision), timezone, and network info (ISP, organization, AS). Failed entries include an error object instead of geo fields, plus okCount/failedCount totals. Far cheaper than 100 single calls to /api/geo/ip when enriching logs, access lists, or analytics batches.",
      "priceUsd": 0.006,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ips": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 64
            },
            "minItems": 1,
            "maxItems": 100
          }
        },
        "required": [
          "ips"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ips": [
          "example"
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "okCount": {
                "type": "integer"
              },
              "failedCount": {
                "type": "integer"
              }
            },
            "required": [
              "okCount",
              "failedCount"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "iso.currency",
      "group": "iso",
      "name": "currency",
      "method": "GET",
      "path": "/api/iso/currency",
      "url": "https://2s.io/api/iso/currency",
      "description": "Look up an ISO 4217 currency. Pass code (alphabetic like USD, or 3-digit numeric like 840) for the canonical record, or country to find the currency/currencies a country uses. Returns the alphabetic + numeric code, English name, minor unit (decimal places — e.g. JPY 0, USD 2, BHD 3), and the countries using it. Bundled authoritative ISO 4217 data — the currency-code + decimal-places ground truth an LLM gets wrong on less-common currencies.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "minLength": 2,
            "maxLength": 4
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 60
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "code": "USD"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "nullable": true
              },
              "country": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "code",
              "country"
            ],
            "additionalProperties": false
          },
          "found": {
            "type": "boolean"
          },
          "currencies": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "numeric": {
                  "type": "string",
                  "nullable": true
                },
                "minorUnit": {
                  "type": "number",
                  "nullable": true
                },
                "countries": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "code",
                "name",
                "numeric",
                "minorUnit",
                "countries"
              ],
              "additionalProperties": false
            }
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "query",
          "found",
          "currencies",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "iso.language",
      "group": "iso",
      "name": "language",
      "method": "GET",
      "path": "/api/iso/language",
      "url": "https://2s.io/api/iso/language",
      "description": "Look up an ISO 639 language. Pass code in any form — 639-1 (en), 639-2/B (ger) or 639-2/T (deu) — or name (English, partial match). Returns the English name and all sibling codes (alpha-2, alpha3-B, alpha3-T), so you can normalize a messy language tag to canonical ISO identifiers and resolve the bibliographic-vs-terminological alpha-3 split (e.g. German = de / deu / ger). Bundled authoritative ISO 639 data.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "minLength": 2,
            "maxLength": 3
          },
          "name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 60
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "code": "de"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "nullable": true
              },
              "name": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "code",
              "name"
            ],
            "additionalProperties": false
          },
          "found": {
            "type": "boolean"
          },
          "languages": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "alpha3b": {
                  "type": "string",
                  "nullable": true
                },
                "alpha3t": {
                  "type": "string",
                  "nullable": true
                },
                "alpha2": {
                  "type": "string",
                  "nullable": true
                },
                "name": {
                  "type": "string"
                }
              },
              "required": [
                "alpha3b",
                "alpha3t",
                "alpha2",
                "name"
              ],
              "additionalProperties": false
            }
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "query",
          "found",
          "languages",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "iso.subdivision",
      "group": "iso",
      "name": "subdivision",
      "method": "GET",
      "path": "/api/iso/subdivision",
      "url": "https://2s.io/api/iso/subdivision",
      "description": "Look up ISO 3166-2 subdivisions (states, provinces, regions). Pass code (e.g. US-CA) to resolve a single subdivision → name + country, or country (2-letter ISO 3166-1, e.g. US) to list all of that country's subdivisions with their codes. Bundled authoritative ISO 3166-2 data (~3.8k subdivisions across 237 countries) — the address/jurisdiction ground truth an LLM hallucinates codes for.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "minLength": 4,
            "maxLength": 6
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "code": "US-CA"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "nullable": true
              },
              "country": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "code",
              "country"
            ],
            "additionalProperties": false
          },
          "found": {
            "type": "boolean"
          },
          "subdivision": {
            "type": "object",
            "properties": {
              "code": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "country": {
                "type": "string"
              }
            },
            "required": [
              "code",
              "name",
              "country"
            ],
            "additionalProperties": false,
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "subdivisions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "country": {
                  "type": "string"
                }
              },
              "required": [
                "code",
                "name",
                "country"
              ],
              "additionalProperties": false
            }
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "query",
          "found",
          "subdivision",
          "country",
          "subdivisions",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "job.federal-codes",
      "group": "job",
      "name": "federal-codes",
      "method": "GET",
      "path": "/api/job/federal-codes",
      "url": "https://2s.io/api/job/federal-codes",
      "description": "Fetch a USAJobs reference codelist (lookup tables behind every federal job posting). Pass name to pick which list: agencysubelements (every agency + sub-element), occupationalseries (2210 IT, 0301 Misc Admin, 0801 Engineer, etc.), paygrades, payplans (GS, SES, ES, WG, etc.), hiringpaths (veteran, military spouse, native American, etc.), securityclearances, locationcodes, countries, countrysubdivisions, ethnicities, racecodes, militarystatuscodes, languagecodes, positionscheduletypecodes (full-time/part-time/seasonal), travelpercentages, missioncriticalcodes, cyberworkroles, etc. (33 lists total). Use the returned codes as filter inputs to /api/job/federal-search.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "enum": [
              "academichonors",
              "agencysubelements",
              "announcementclosingtypes",
              "applicantsuppliers",
              "cyberworkroles",
              "countries",
              "countrysubdivisions",
              "degreetypecodes",
              "documentations",
              "ethnicities",
              "federalemploymentstatuses",
              "geoloccodes",
              "hiringpaths",
              "languagecodes",
              "languageproficiencies",
              "locationcodes",
              "militarystatuscodes",
              "missioncriticalcodes",
              "occupationalseries",
              "paygrades",
              "payplans",
              "positionofferingtypecodes",
              "positionopeningstatuses",
              "positionscheduletypecodes",
              "racecodes",
              "refereetypecodes",
              "remunerationrateintervalcodes",
              "requiredstandarddocuments",
              "securityclearances",
              "servicetypes",
              "specialhirings",
              "travelpercentages",
              "whomayapply"
            ]
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "name": "occupationalseries"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "enum": [
                  "academichonors",
                  "agencysubelements",
                  "announcementclosingtypes",
                  "applicantsuppliers",
                  "cyberworkroles",
                  "countries",
                  "countrysubdivisions",
                  "degreetypecodes",
                  "documentations",
                  "ethnicities",
                  "federalemploymentstatuses",
                  "geoloccodes",
                  "hiringpaths",
                  "languagecodes",
                  "languageproficiencies",
                  "locationcodes",
                  "militarystatuscodes",
                  "missioncriticalcodes",
                  "occupationalseries",
                  "paygrades",
                  "payplans",
                  "positionofferingtypecodes",
                  "positionopeningstatuses",
                  "positionscheduletypecodes",
                  "racecodes",
                  "refereetypecodes",
                  "remunerationrateintervalcodes",
                  "requiredstandarddocuments",
                  "securityclearances",
                  "servicetypes",
                  "specialhirings",
                  "travelpercentages",
                  "whomayapply"
                ]
              },
              "dateGenerated": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "name",
              "dateGenerated"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "job.federal-search",
      "group": "job",
      "name": "federal-search",
      "method": "GET",
      "path": "/api/job/federal-search",
      "url": "https://2s.io/api/job/federal-search",
      "description": "Search current US federal job postings via the USAJobs API. Filter by keyword, positionTitle, locationName (\"Washington, DC\" or city/zip), remote (telework-eligible), pay grade range (e.g. payGradeLow=GS09 + payGradeHigh=GS13), jobCategoryCode (occupational series, e.g. 2210 for IT), organization (agency sub-element code, e.g. TR40 for IRS), whoMayApply (all/public/status). Returns per-posting: control number, position ID, title, USAJobs URL + apply URL, organization + department, locations, schedule, offering type, pay scales (min/max + interval), publication start + application close, qualification summary, job category + grade. Use sortField + sortDirection to sort. Pagination via resultsPerPage + page.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "keyword": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "positionTitle": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "locationName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "remote": {
            "type": "boolean"
          },
          "payGradeLow": {
            "type": "string",
            "pattern": "^[A-Z]{2}\\d{2}$"
          },
          "payGradeHigh": {
            "type": "string",
            "pattern": "^[A-Z]{2}\\d{2}$"
          },
          "jobCategoryCode": {
            "type": "string",
            "pattern": "^\\d{3,4}$"
          },
          "organization": {
            "type": "string",
            "pattern": "^[A-Z0-9]{2,6}$"
          },
          "whoMayApply": {
            "type": "string",
            "enum": [
              "all",
              "public",
              "status"
            ]
          },
          "resultsPerPage": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500,
            "default": 25
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "default": 1
          },
          "sortField": {
            "type": "string",
            "enum": [
              "OpenDate",
              "CloseDate",
              "PositionTitle",
              "Salary"
            ]
          },
          "sortDirection": {
            "type": "string",
            "enum": [
              "Asc",
              "Desc"
            ]
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "keyword": "data scientist",
        "remote": true,
        "resultsPerPage": 5
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "controlNumber": {
                  "type": "string",
                  "nullable": true
                },
                "positionId": {
                  "type": "string",
                  "nullable": true
                },
                "title": {
                  "type": "string",
                  "nullable": true
                },
                "uri": {
                  "type": "string",
                  "nullable": true
                },
                "applyUri": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "organization": {
                  "type": "string",
                  "nullable": true
                },
                "department": {
                  "type": "string",
                  "nullable": true
                },
                "locations": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": {}
                  }
                },
                "remote": {
                  "type": "boolean"
                },
                "schedule": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": {}
                  }
                },
                "offeringType": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": {}
                  }
                },
                "payScales": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "min": {
                        "type": "number",
                        "nullable": true
                      },
                      "max": {
                        "type": "number",
                        "nullable": true
                      },
                      "interval": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "min",
                      "max",
                      "interval"
                    ],
                    "additionalProperties": false
                  }
                },
                "publicationStart": {
                  "type": "string",
                  "nullable": true
                },
                "applicationClose": {
                  "type": "string",
                  "nullable": true
                },
                "qualificationSummary": {
                  "type": "string",
                  "nullable": true
                },
                "jobCategory": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": {}
                  }
                },
                "jobGrade": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": {}
                  }
                }
              },
              "required": [
                "controlNumber",
                "positionId",
                "title",
                "uri",
                "applyUri",
                "organization",
                "department",
                "locations",
                "remote",
                "schedule",
                "offeringType",
                "payScales",
                "publicationStart",
                "applicationClose",
                "qualificationSummary",
                "jobCategory",
                "jobGrade"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "description": "Postings returned on this page."
              }
            },
            "required": [
              "count"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "labor.openings",
      "group": "labor",
      "name": "openings",
      "method": "GET",
      "path": "/api/labor/openings",
      "url": "https://2s.io/api/labor/openings",
      "description": "US labor-market turnover from the BLS JOLTS survey (total nonfarm, national), monthly, newest first. Pass measure = openings (default), hires, quits, layoffs, or separations. Returns the level in thousands per month for a trailing window. Public-domain, live-wrap. The standard signal for labor-market tightness (job openings) and worker confidence (the quits rate) — fresh macro data agents can't recite.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "measure": {
            "type": "string",
            "enum": [
              "openings",
              "hires",
              "quits",
              "layoffs",
              "separations"
            ]
          },
          "months": {
            "type": "integer",
            "minimum": 1,
            "maximum": 60
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "measure": "openings",
        "months": 6
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "measure": {
                  "type": "string"
                },
                "units": {
                  "type": "string"
                },
                "points": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "period": {
                        "type": "string"
                      },
                      "valueThousands": {
                        "type": "number",
                        "nullable": true
                      }
                    },
                    "required": [
                      "period",
                      "valueThousands"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "measure",
                "units",
                "points"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "labor.unemployment",
      "group": "labor",
      "name": "unemployment",
      "method": "GET",
      "path": "/api/labor/unemployment",
      "url": "https://2s.io/api/labor/unemployment",
      "description": "US unemployment from BLS, monthly, newest first — national (CPS, \"US\") or by US state (LAUS). Pass area (\"US\" or a 2-letter state) and optionally measure = rate (default), unemployed, employed, or laborforce. Returns seasonally-adjusted values per month for a trailing window (rate in percent; counts in thousands). Public-domain, live-wrap. Fresh local labor-market context agents can't recite.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "area": {
            "type": "string",
            "minLength": 2,
            "maxLength": 10
          },
          "measure": {
            "type": "string",
            "enum": [
              "rate",
              "unemployed",
              "employed",
              "laborforce"
            ]
          },
          "months": {
            "type": "integer",
            "minimum": 1,
            "maximum": 60
          }
        },
        "required": [
          "area"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "area": "CA",
        "measure": "rate",
        "months": 6
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "area": {
                  "type": "string"
                },
                "areaType": {
                  "type": "string"
                },
                "measure": {
                  "type": "string"
                },
                "units": {
                  "type": "string"
                },
                "points": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "period": {
                        "type": "string"
                      },
                      "value": {
                        "type": "number",
                        "nullable": true
                      }
                    },
                    "required": [
                      "period",
                      "value"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "area",
                "areaType",
                "measure",
                "units",
                "points"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "labor.wages",
      "group": "labor",
      "name": "wages",
      "method": "GET",
      "path": "/api/labor/wages",
      "url": "https://2s.io/api/labor/wages",
      "description": "Occupational employment and wages from the BLS OEWS survey, by SOC occupation code, nationally or for a US state. Pass soc (e.g. 15-1252 Software Developers) and optionally a 2-letter state. Returns total employment, hourly mean wage, and annual mean + 10th/25th/median/75th/90th-percentile wages for the latest survey year. Public-domain, live-wrap. Authoritative ground-truth wages an agent must not guess — for comp benchmarking, job-offer evaluation, and labor-cost modeling.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "soc": {
            "type": "string",
            "pattern": "^\\d{2}-?\\d{4}$"
          },
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2
          }
        },
        "required": [
          "soc"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "soc": "15-1252",
        "state": "CA"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "soc": {
                  "type": "string"
                },
                "areaType": {
                  "type": "string"
                },
                "area": {
                  "type": "string"
                },
                "year": {
                  "type": "number",
                  "nullable": true
                },
                "employment": {
                  "type": "number",
                  "nullable": true
                },
                "hourlyMeanWage": {
                  "type": "number",
                  "nullable": true
                },
                "annualMeanWage": {
                  "type": "number",
                  "nullable": true
                },
                "annualPct10": {
                  "type": "number",
                  "nullable": true
                },
                "annualPct25": {
                  "type": "number",
                  "nullable": true
                },
                "annualMedian": {
                  "type": "number",
                  "nullable": true
                },
                "annualPct75": {
                  "type": "number",
                  "nullable": true
                },
                "annualPct90": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "soc",
                "areaType",
                "area",
                "year",
                "employment",
                "hourlyMeanWage",
                "annualMeanWage",
                "annualPct10",
                "annualPct25",
                "annualMedian",
                "annualPct75",
                "annualPct90"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "law.attorney-lookup",
      "group": "law",
      "name": "attorney-lookup",
      "method": "GET",
      "path": "/api/law/attorney-lookup",
      "url": "https://2s.io/api/law/attorney-lookup",
      "description": "Find US attorneys by name in CourtListener's RECAP corpus (PACER-derived attorney directory). Query by name (case-insensitive prefix match: \"Jennifer Lee\" matches \"Jennifer Lee Pasquarella\" but not \"Sara Jennifer Lee\"), optional firm/contact-text contains filter, and limit (1-50, default 10). Returns id, normalized name, parsed firm + mailing address, phone, email, fax, count of known (docket, party) appearances, and canonical CourtListener URL per match. Use for opposing-counsel research, conflict checks, and \"who has filed this type of motion in this district\" queries. Underlying data is public domain (PACER filings); the directory itself is maintained by Free Law Project.",
      "priceUsd": 0.0036,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200,
            "description": "Attorney name (or name prefix) to search. Case-insensitive prefix match — \"Jennifer Lee\" finds \"Jennifer Lee Pasquarella\" but not \"Sara Jennifer Lee\"."
          },
          "firm": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200,
            "description": "Optional contains filter on the firm / contact block (e.g. \"Skadden\")."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "default": 10,
            "description": "Max attorney records to return (1-50). Default 10."
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "name": "xx",
        "firm": "xx",
        "limit": 10
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer"
                },
                "name": {
                  "type": "string"
                },
                "firm": {
                  "type": "string",
                  "nullable": true
                },
                "address": {
                  "type": "string",
                  "nullable": true
                },
                "phone": {
                  "type": "string",
                  "nullable": true
                },
                "email": {
                  "type": "string",
                  "nullable": true
                },
                "fax": {
                  "type": "string",
                  "nullable": true
                },
                "caseCount": {
                  "type": "integer"
                },
                "url": {
                  "type": "string",
                  "format": "uri"
                },
                "dateModified": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "name",
                "firm",
                "address",
                "phone",
                "email",
                "fax",
                "caseCount",
                "url",
                "dateModified"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "firm": {
                    "type": "string",
                    "nullable": true
                  },
                  "limit": {
                    "type": "number"
                  }
                },
                "required": [
                  "name",
                  "firm",
                  "limit"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "query"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "law.case-search",
      "group": "law",
      "name": "case-search",
      "method": "GET",
      "path": "/api/law/case-search",
      "url": "https://2s.io/api/law/case-search",
      "description": "Search US court opinions (SCOTUS, federal circuits, state appellate/supreme — ~9M opinions). Query by free-text (party names, keywords, docket #, citation). Filter by court slug (e.g., \"scotus\", \"ca9\", \"nysupct\"), filing date range, and order (relevance/dateFiled-desc/dateFiled-asc/citeCount-desc). Returns clusterId, caseName, court, year, docket, reporter citations, citationCount, snippet, canonical URL. Discovery-side complement to case-verify. Backed by CourtListener (Free Law Project); underlying opinions are public domain.",
      "priceUsd": 0.0036,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "minLength": 2,
            "maxLength": 500
          },
          "court": {
            "type": "string",
            "pattern": "^[a-z0-9-]{2,40}(,[a-z0-9-]{2,40}){0,9}$"
          },
          "filedAfter": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "filedBefore": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "order": {
            "type": "string",
            "enum": [
              "relevance",
              "dateFiled-desc",
              "dateFiled-asc",
              "citeCount-desc"
            ]
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 20,
            "default": 10
          }
        },
        "required": [
          "q"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "q": "xx",
        "court": "example",
        "filedAfter": "2024-01-01",
        "filedBefore": "2024-01-01",
        "order": "relevance",
        "limit": 10
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "q": {
                    "type": "string"
                  },
                  "court": {
                    "type": "string",
                    "nullable": true
                  },
                  "filedAfter": {
                    "type": "string",
                    "nullable": true
                  },
                  "filedBefore": {
                    "type": "string",
                    "nullable": true
                  },
                  "order": {
                    "type": "string"
                  },
                  "limit": {
                    "type": "number"
                  }
                },
                "required": [
                  "q",
                  "court",
                  "filedAfter",
                  "filedBefore",
                  "order",
                  "limit"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "query"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "law.case-verify",
      "group": "law",
      "name": "case-verify",
      "method": "POST",
      "path": "/api/law/case-verify",
      "url": "https://2s.io/api/law/case-verify",
      "description": "Verify US legal case citations in a passage of text. POST { text } where text contains one or more citations (e.g. \"Marbury v. Madison, 5 U.S. 137 (1803)\"). Returns per-citation results with canonical case name, court, year, docket, citationCount, and a public CourtListener URL — or flags the citation as unverified. Anti-hallucination check for legal LLM output. Underlying opinions are public domain; CourtListener (Free Law Project) is the corpus.",
      "priceUsd": 0.006,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "minLength": 1,
            "maxLength": 30000
          }
        },
        "required": [
          "text"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "text": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "input": {
                "type": "string",
                "description": "Echo of the checked text (truncated past 200 chars)."
              },
              "verified": {
                "type": "integer"
              },
              "unverified": {
                "type": "integer"
              }
            },
            "required": [
              "input",
              "verified",
              "unverified"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "law.cfr-section",
      "group": "law",
      "name": "cfr-section",
      "method": "GET",
      "path": "/api/law/cfr-section",
      "url": "https://2s.io/api/law/cfr-section",
      "description": "Fetch the authoritative text of any section of the US Code of Federal Regulations by title and section number — for example title 12, section 1026.43 returns Regulation Z’s ability-to-repay standards. Returns the canonical citation, section heading, full plain text, Federal Register source credit, the as-of date, and a link to the official eCFR page. An optional date parameter (YYYY-MM-DD) retrieves the historical text in force on that date, back to 2017. Data from the Electronic Code of Federal Regulations (US GPO / Office of the Federal Register), public domain, updated daily — verify regulatory citations against the authoritative source instead of relying on model memory.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "title": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "CFR title number, 1-50 (e.g. 12 for Banks and Banking, 40 for Protection of Environment)."
          },
          "section": {
            "type": "string",
            "pattern": "^[0-9]{1,4}[a-zA-Z]{0,2}\\.[0-9a-zA-Z][0-9a-zA-Z.\\-]{0,18}$",
            "description": "Section identifier as \"part.section\", e.g. \"1026.43\" or \"240.10b-5\". The part is the digits before the dot."
          },
          "date": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Optional point-in-time date (YYYY-MM-DD). Returns the text in force on that date; coverage starts 2017-01-03. Defaults to the latest available text."
          }
        },
        "required": [
          "title",
          "section"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "title": 1,
        "section": "12345678",
        "date": "2024-01-01"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "citation": {
                  "type": "string",
                  "description": "Canonical citation, e.g. \"12 CFR 1026.43\"."
                },
                "title": {
                  "type": "integer",
                  "description": "CFR title number."
                },
                "part": {
                  "type": "string",
                  "description": "Part identifier (digits before the dot)."
                },
                "section": {
                  "type": "string",
                  "description": "Full section identifier."
                },
                "heading": {
                  "type": "string",
                  "description": "Official section heading."
                },
                "text": {
                  "type": "string",
                  "description": "Plain-text body of the section."
                },
                "sourceCredit": {
                  "type": "string",
                  "nullable": true,
                  "description": "Federal Register source credit (citation history), when present."
                },
                "asOfDate": {
                  "type": "string",
                  "description": "Date (yyyy-mm-dd) the returned text reflects."
                },
                "truncated": {
                  "type": "boolean",
                  "description": "True if text was cut at the response cap (rare, giant sections only)."
                },
                "url": {
                  "type": "string",
                  "description": "Official eCFR page for the section."
                }
              },
              "required": [
                "citation",
                "title",
                "part",
                "section",
                "heading",
                "text",
                "sourceCredit",
                "asOfDate",
                "truncated",
                "url"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "law.citation-check",
      "group": "law",
      "name": "citation-check",
      "method": "POST",
      "path": "/api/law/citation-check",
      "url": "https://2s.io/api/law/citation-check",
      "description": "Anti-hallucination checker for legal references — verify that cited cases, US Code sections, and CFR regulations in a passage actually EXIST, and (deterministically) that an attributed QUOTE actually appears in the cited opinion. POST { text } to scan a brief/passage: every case citation (via CourtListener), 'N U.S.C. § X', and 'N C.F.R. § X' is checked for existence with canonical metadata + a source URL, or flagged unverified. POST { quotes: [{ citation, quote }] } to verify specific quotations: each citation is resolved and its opinion full text is checked for the quote (ellipsis-aware), returning quote.present true/false. Pass both. Returns per-reference results + a summary (verified/unverified, quotesPresent/quotesMissing). Catches fabricated cases AND fabricated quotations — the LLM legal-output failure mode that gets attorneys sanctioned. Note: this checks existence + quote presence (facts), NOT whether a case legally supports a proposition. Sources: CourtListener (Free Law Project), US OLRC, eCFR (public domain).",
      "priceUsd": 0.0072,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "minLength": 1,
            "maxLength": 50000
          },
          "quotes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "citation": {
                  "type": "string",
                  "minLength": 2,
                  "maxLength": 400
                },
                "quote": {
                  "type": "string",
                  "minLength": 4,
                  "maxLength": 4000
                }
              },
              "required": [
                "citation",
                "quote"
              ],
              "additionalProperties": false
            },
            "maxItems": 10
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "text": "As held in Brown v. Board of Education, 347 U.S. 483 (1954), and under 42 U.S.C. § 1983, ..."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "case",
                    "usc",
                    "cfr"
                  ]
                },
                "citation": {
                  "type": "string"
                },
                "exists": {
                  "type": "boolean"
                },
                "title": {
                  "type": "string",
                  "nullable": true
                },
                "detail": {
                  "type": "object",
                  "properties": {
                    "court": {
                      "type": "string",
                      "nullable": true
                    },
                    "year": {
                      "type": "number",
                      "nullable": true
                    },
                    "docketNumber": {
                      "type": "string",
                      "nullable": true
                    },
                    "citationCount": {
                      "type": "number",
                      "nullable": true
                    }
                  },
                  "required": [
                    "court",
                    "year",
                    "docketNumber",
                    "citationCount"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                },
                "url": {
                  "type": "string",
                  "nullable": true
                },
                "error": {
                  "type": "string",
                  "nullable": true
                },
                "quote": {
                  "type": "object",
                  "properties": {
                    "checked": {
                      "type": "boolean"
                    },
                    "present": {
                      "type": "boolean"
                    },
                    "note": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "checked",
                    "present",
                    "note"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                }
              },
              "required": [
                "type",
                "citation",
                "exists",
                "title",
                "detail",
                "url",
                "error",
                "quote"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "summary": {
                "type": "object",
                "properties": {
                  "total": {
                    "type": "integer"
                  },
                  "verified": {
                    "type": "integer"
                  },
                  "unverified": {
                    "type": "integer"
                  },
                  "quotesChecked": {
                    "type": "integer"
                  },
                  "quotesPresent": {
                    "type": "integer"
                  },
                  "quotesMissing": {
                    "type": "integer"
                  }
                },
                "required": [
                  "total",
                  "verified",
                  "unverified",
                  "quotesChecked",
                  "quotesPresent",
                  "quotesMissing"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "summary"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "law.docket-search",
      "group": "law",
      "name": "docket-search",
      "method": "GET",
      "path": "/api/law/docket-search",
      "url": "https://2s.io/api/law/docket-search",
      "description": "Search US federal court dockets — civil and criminal — from the RECAP/PACER archive. Full-text q (case name, party, e.g. \"United States v. Bankman-Fried\"), optional court (CourtListener court id like \"cand\", \"nysd\", \"ca9\"), filedAfter/filedBefore (YYYY-MM-DD), page. Or pass docketNumber (+ court) for exact lookup. Each docket: id, case name, court, docket number, date filed/terminated, nature of suit, assigned judge, public docket URL. Criminal-case research, litigation monitoring, KYC/due-diligence. Sibling endpoints: /api/law/case-search (opinions full-text), /api/law/opinion (full opinion text).",
      "priceUsd": 0.0048,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "minLength": 2,
            "maxLength": 300
          },
          "court": {
            "type": "string",
            "minLength": 2,
            "maxLength": 15
          },
          "docketNumber": {
            "type": "string",
            "minLength": 3,
            "maxLength": 40
          },
          "filedAfter": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "filedBefore": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "default": 1
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "q": "United States v. Bankman-Fried",
        "court": "nysd"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "docketId": {
                  "type": "number",
                  "nullable": true
                },
                "caseName": {
                  "type": "string",
                  "nullable": true
                },
                "court": {
                  "type": "string",
                  "nullable": true
                },
                "courtId": {
                  "type": "string",
                  "nullable": true
                },
                "docketNumber": {
                  "type": "string",
                  "nullable": true
                },
                "dateFiled": {
                  "type": "string",
                  "nullable": true
                },
                "dateTerminated": {
                  "type": "string",
                  "nullable": true
                },
                "natureOfSuit": {
                  "type": "string",
                  "nullable": true
                },
                "assignedTo": {
                  "type": "string",
                  "nullable": true
                },
                "url": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "docketId",
                "caseName",
                "court",
                "courtId",
                "docketNumber",
                "dateFiled",
                "dateTerminated",
                "natureOfSuit",
                "assignedTo",
                "url"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "law.federal-register",
      "group": "law",
      "name": "federal-register",
      "method": "GET",
      "path": "/api/law/federal-register",
      "url": "https://2s.io/api/law/federal-register",
      "description": "Search the US Federal Register — proposed rules, final rules, notices, and presidential documents. Filter by free-text term, document type (RULE/PRORULE/NOTICE/PRESDOCU), agency slug (e.g., epa, fda, sec), and publication date range. Returns document_number, type, title, abstract, FR citation, agencies, publication_date, effective_on, comments_close_on, htmlUrl, pdfUrl, rawTextUrl. Public-domain US government data. Real-time — published daily, past LLM training cutoff.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "minLength": 1,
            "maxLength": 500
          },
          "type": {
            "type": "string",
            "enum": [
              "RULE",
              "PRORULE",
              "NOTICE",
              "PRESDOCU"
            ]
          },
          "agency": {
            "type": "string",
            "pattern": "^[a-z0-9-]{2,60}$"
          },
          "since": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "until": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 20,
            "default": 10
          }
        },
        "required": [
          "q"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "q": "example",
        "type": "RULE",
        "agency": "example",
        "since": "2024-01-01",
        "until": "2024-01-01",
        "limit": 10
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "term": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string",
                    "nullable": true
                  },
                  "agency": {
                    "type": "string",
                    "nullable": true
                  },
                  "since": {
                    "type": "string",
                    "nullable": true
                  },
                  "until": {
                    "type": "string",
                    "nullable": true
                  },
                  "limit": {
                    "type": "number"
                  }
                },
                "required": [
                  "term",
                  "type",
                  "agency",
                  "since",
                  "until",
                  "limit"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "query"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "law.judge-lookup",
      "group": "law",
      "name": "judge-lookup",
      "method": "GET",
      "path": "/api/law/judge-lookup",
      "url": "https://2s.io/api/law/judge-lookup",
      "description": "Find US federal + state appellate judges by name in CourtListener's People DB. Query by firstName (case-insensitive prefix), lastName (case-insensitive prefix), or both — at least one required. Returns id, full name + components, dates of birth/death, gender, education (school, degree level, year), political affiliations (party + appointing executive period), count of distinct judicial positions, and canonical CourtListener URL per match. Pairs with law.case-search + law.attorney-lookup to complete the WHO graph of a legal research workflow. Backed by CourtListener (Free Law Project); underlying data is public domain.",
      "priceUsd": 0.0036,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "minLength": 2,
            "maxLength": 100,
            "description": "First-name prefix to search (case-insensitive). \"Son\" matches \"Sonia\". Optional, but at least one of firstName/lastName required."
          },
          "lastName": {
            "type": "string",
            "minLength": 2,
            "maxLength": 100,
            "description": "Last-name prefix to search (case-insensitive). \"Soto\" matches \"Sotomayor\". Optional, but at least one of firstName/lastName required."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "default": 10,
            "description": "Max judge records to return (1-50). Default 10."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "firstName": "xx",
        "lastName": "xx",
        "limit": 10
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer"
                },
                "name": {
                  "type": "string"
                },
                "firstName": {
                  "type": "string",
                  "nullable": true
                },
                "middleName": {
                  "type": "string",
                  "nullable": true
                },
                "lastName": {
                  "type": "string",
                  "nullable": true
                },
                "suffix": {
                  "type": "string",
                  "nullable": true
                },
                "dateOfBirth": {
                  "type": "string",
                  "nullable": true
                },
                "dateOfDeath": {
                  "type": "string",
                  "nullable": true
                },
                "gender": {
                  "type": "string",
                  "nullable": true
                },
                "isJudge": {
                  "type": "boolean"
                },
                "education": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "school": {
                        "type": "string",
                        "nullable": true
                      },
                      "degreeLevel": {
                        "type": "string",
                        "nullable": true
                      },
                      "degreeYear": {
                        "type": "integer",
                        "nullable": true
                      }
                    },
                    "required": [
                      "school",
                      "degreeLevel",
                      "degreeYear"
                    ],
                    "additionalProperties": false
                  }
                },
                "politicalAffiliations": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "party": {
                        "type": "string",
                        "nullable": true
                      },
                      "source": {
                        "type": "string",
                        "nullable": true
                      },
                      "startDate": {
                        "type": "string",
                        "nullable": true
                      },
                      "endDate": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "party",
                      "source",
                      "startDate",
                      "endDate"
                    ],
                    "additionalProperties": false
                  }
                },
                "positionCount": {
                  "type": "integer"
                },
                "url": {
                  "type": "string",
                  "format": "uri"
                },
                "dateModified": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "name",
                "firstName",
                "middleName",
                "lastName",
                "suffix",
                "dateOfBirth",
                "dateOfDeath",
                "gender",
                "isJudge",
                "education",
                "politicalAffiliations",
                "positionCount",
                "url",
                "dateModified"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "firstName": {
                    "type": "string",
                    "nullable": true
                  },
                  "lastName": {
                    "type": "string",
                    "nullable": true
                  },
                  "limit": {
                    "type": "number"
                  }
                },
                "required": [
                  "firstName",
                  "lastName",
                  "limit"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "query"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "law.opinion",
      "group": "law",
      "name": "opinion",
      "method": "POST",
      "path": "/api/law/opinion",
      "url": "https://2s.io/api/law/opinion",
      "description": "Fetch the full text of a US court opinion by CourtListener opinion ID OR by citation. Returns plain text (preferred), HTML fallback, case metadata (case name, court, year, docket, citation), opinion type (lead/concurrence/dissent), author, and a list of alternate opinions in the same cluster. POST { opinionId?: number, citation?: string } — exactly one required. Anti-hallucination follow-up to case-verify: once you confirm the citation exists, fetch the text. Backed by CourtListener (public-domain underlying corpus).",
      "priceUsd": 0.0048,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "opinionId": {
            "type": "integer",
            "exclusiveMinimum": true,
            "minimum": 0
          },
          "citation": {
            "type": "string",
            "minLength": 2,
            "maxLength": 500
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "opinionId": 0,
        "citation": "xx"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "opinionId": {
                    "type": "number",
                    "nullable": true
                  },
                  "citation": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "opinionId",
                  "citation"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "query"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "law.sanctions-check",
      "group": "law",
      "name": "sanctions-check",
      "method": "POST",
      "path": "/api/law/sanctions-check",
      "url": "https://2s.io/api/law/sanctions-check",
      "description": "Fuzzy-match a name (person, company, vessel, aircraft) against the US Treasury OFAC Specially Designated Nationals list. POST { query, threshold?, limit?, sourceList? }. Returns ranked matches with similarity scores, entity type, sanctions programs, aliases, and remarks. Threshold default 0.4; scores ≥ 0.85 flagged as hasHighConfidenceMatch. List refreshed daily from public US Treasury data.",
      "priceUsd": 0.0048,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 2,
            "maxLength": 500
          },
          "threshold": {
            "type": "number",
            "minimum": 0.1,
            "maximum": 1
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "sourceList": {
            "type": "string",
            "maxLength": 64
          }
        },
        "required": [
          "query"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "query": "xx",
        "threshold": 0.1,
        "limit": 1,
        "sourceList": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "string"
              },
              "threshold": {
                "type": "number"
              },
              "hasHighConfidenceMatch": {
                "type": "boolean",
                "description": "True when any match scored ≥ 0.85."
              },
              "list": {
                "type": "string"
              },
              "refreshCadence": {
                "type": "string"
              }
            },
            "required": [
              "query",
              "threshold",
              "hasHighConfidenceMatch",
              "list",
              "refreshCadence"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "law.trademark-search",
      "group": "law",
      "name": "trademark-search",
      "method": "GET",
      "path": "/api/law/trademark-search",
      "url": "https://2s.io/api/law/trademark-search",
      "description": "Search US trademarks by wordmark text, owner name, or goods/services — the text search the USPTO offers no public API for. Pass `query` for full-text search (ranked best-match first), or `serial` / `registrationNumber` for an exact record. Filter with `field` (mark|owner|all), `status` (live=registered+pending only, default; all=includes dead/abandoned), and `intlClass` (Nice class, e.g. 9). Returns each mark's wordmark, serial, registration number, status (+ live flag), filing/registration/abandonment dates, owner, international classes, and goods/services. Corpus: USPTO full trademark register (public domain). Use law.trademark-status for live USPTO prosecution detail on a known serial.",
      "priceUsd": 0.0024,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "serial": {
            "type": "string",
            "pattern": "^\\d{6,9}$"
          },
          "registrationNumber": {
            "type": "string",
            "pattern": "^[0-9 ]{1,10}$"
          },
          "field": {
            "type": "string",
            "enum": [
              "mark",
              "owner",
              "all"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "live",
              "all"
            ]
          },
          "intlClass": {
            "type": "string",
            "pattern": "^0*\\d{1,3}$"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "offset": {
            "type": "integer",
            "minimum": 0
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "query": "apple",
        "status": "live"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "serialNumber": {
                  "type": "string"
                },
                "registrationNumber": {
                  "type": "string",
                  "nullable": true
                },
                "markText": {
                  "type": "string",
                  "nullable": true,
                  "description": "The wordmark / literal element."
                },
                "status": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "nullable": true,
                      "description": "USPTO TRAM status code (e.g. 700)."
                    },
                    "label": {
                      "type": "string",
                      "nullable": true,
                      "description": "Human-readable status, e.g. \"Registered\", \"Abandoned-Failure to Respond\"."
                    },
                    "date": {
                      "type": "string",
                      "nullable": true
                    },
                    "live": {
                      "type": "boolean",
                      "description": "False for abandoned/cancelled/expired marks; true for registered or in-prosecution."
                    }
                  },
                  "required": [
                    "code",
                    "label",
                    "date",
                    "live"
                  ],
                  "additionalProperties": false
                },
                "filingDate": {
                  "type": "string",
                  "nullable": true
                },
                "registrationDate": {
                  "type": "string",
                  "nullable": true
                },
                "abandonmentDate": {
                  "type": "string",
                  "nullable": true
                },
                "cancellationDate": {
                  "type": "string",
                  "nullable": true
                },
                "renewalDate": {
                  "type": "string",
                  "nullable": true
                },
                "owner": {
                  "type": "string",
                  "nullable": true,
                  "description": "Primary current owner / applicant."
                },
                "intlClasses": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Nice international class codes, zero-padded."
                },
                "goodsServices": {
                  "type": "string",
                  "nullable": true,
                  "description": "Goods/services description (truncated to ~4k chars)."
                },
                "markDrawingCode": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "serialNumber",
                "registrationNumber",
                "markText",
                "status",
                "filingDate",
                "registrationDate",
                "abandonmentDate",
                "cancellationDate",
                "renewalDate",
                "owner",
                "intlClasses",
                "goodsServices",
                "markDrawingCode"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "page": {
            "type": "object",
            "properties": {
              "number": {
                "type": "integer"
              },
              "size": {
                "type": "integer"
              },
              "pages": {
                "type": "integer",
                "nullable": true
              }
            },
            "required": [
              "number",
              "size",
              "pages"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "law.trademark-status",
      "group": "law",
      "name": "trademark-status",
      "method": "GET",
      "path": "/api/law/trademark-status",
      "url": "https://2s.io/api/law/trademark-status",
      "description": "Verify a US trademark by USPTO serial number (8 digits) or registration number. Returns the word mark, LIVE/DEAD status with the detailed status description and date, filing and registration dates, current owner (name, entity type, citizenship), mark type (trademark / service mark / certification mark), standard-character flag, abandonment date when applicable, and the international classes covered with their descriptions. Authoritative real-time USPTO data — confirm a mark exists and is active before relying on it for clearance, licensing, or due-diligence work. Lookup is by number only (no text search); siblings: /api/patents/search, /api/law/case-verify.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "serialNumber": {
            "type": "string",
            "pattern": "^\\d{8}$"
          },
          "registrationNumber": {
            "type": "string",
            "pattern": "^\\d{6,8}$"
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "registrationNumber": "1057884"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "serialNumber": {
                  "type": "string"
                },
                "registrationNumber": {
                  "type": "string",
                  "nullable": true
                },
                "registrationDate": {
                  "type": "string",
                  "nullable": true
                },
                "filingDate": {
                  "type": "string",
                  "nullable": true
                },
                "mark": {
                  "type": "string",
                  "nullable": true,
                  "description": "Word mark text; null for design-only marks."
                },
                "live": {
                  "type": "boolean",
                  "description": "True when the mark is LIVE (active application or registration)."
                },
                "statusCode": {
                  "type": "number",
                  "nullable": true
                },
                "statusDescription": {
                  "type": "string",
                  "nullable": true,
                  "description": "TM5 status family, e.g. \"LIVE/REGISTRATION/Issued and Active\"."
                },
                "statusDetail": {
                  "type": "string",
                  "nullable": true
                },
                "statusDate": {
                  "type": "string",
                  "nullable": true
                },
                "dateAbandoned": {
                  "type": "string",
                  "nullable": true
                },
                "markType": {
                  "type": "string"
                },
                "standardCharacterMark": {
                  "type": "boolean"
                },
                "supplementalRegister": {
                  "type": "boolean"
                },
                "owner": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "nullable": true
                    },
                    "entityType": {
                      "type": "string",
                      "nullable": true
                    },
                    "partyType": {
                      "type": "string",
                      "nullable": true
                    },
                    "citizenship": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "name",
                    "entityType",
                    "partyType",
                    "citizenship"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                },
                "classes": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "internationalCode": {
                        "type": "string",
                        "nullable": true
                      },
                      "description": {
                        "type": "string",
                        "nullable": true
                      },
                      "status": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "internationalCode",
                      "description",
                      "status"
                    ],
                    "additionalProperties": false
                  }
                },
                "url": {
                  "type": "string",
                  "description": "Official TSDR page for human review."
                }
              },
              "required": [
                "serialNumber",
                "registrationNumber",
                "registrationDate",
                "filingDate",
                "mark",
                "live",
                "statusCode",
                "statusDescription",
                "statusDetail",
                "statusDate",
                "dateAbandoned",
                "markType",
                "standardCharacterMark",
                "supplementalRegister",
                "owner",
                "classes",
                "url"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "law.usc-section",
      "group": "law",
      "name": "usc-section",
      "method": "GET",
      "path": "/api/law/usc-section",
      "url": "https://2s.io/api/law/usc-section",
      "description": "Fetch the authoritative current text of any United States Code section by title and section number — for example title 17, section 107 returns the fair-use statute. Returns the canonical citation, heading, hierarchy context (title/chapter), full statutory plain text, the Statutes-at-Large source credit, and a link to the official OLRC page; set includeNotes=true to also get editorial notes (amendment history, effective dates). Hyphenated and lettered sections like 1395w-4 or 78j work. Data from the Office of the Law Revision Counsel current (\"prelim\") edition, public domain — verify statutory citations against the authoritative source instead of relying on model memory. For federal regulations see /api/law/cfr-section; for case law see /api/law/case-verify.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "title": {
            "type": "integer",
            "minimum": 1,
            "maximum": 54,
            "description": "USC title number, 1-54 (e.g. 17 for Copyrights, 26 for Internal Revenue Code, 42 for Public Health and Welfare)."
          },
          "section": {
            "type": "string",
            "pattern": "^[0-9]{1,5}[a-zA-Z]{0,3}(-[0-9a-zA-Z]{1,8})?$",
            "description": "Section number, e.g. \"107\", \"78j\", or \"1395w-4\"."
          },
          "includeNotes": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "string"
              }
            ],
            "description": "Include editorial notes (amendment history, effective dates, cross-references). Default false — notes can be long."
          }
        },
        "required": [
          "title",
          "section"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "title": 1,
        "section": "12345678",
        "includeNotes": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "citation": {
                  "type": "string",
                  "description": "Canonical citation, e.g. \"17 U.S.C. § 107\"."
                },
                "title": {
                  "type": "integer",
                  "description": "USC title number."
                },
                "section": {
                  "type": "string",
                  "description": "Section number as requested."
                },
                "heading": {
                  "type": "string",
                  "description": "Official section heading."
                },
                "context": {
                  "type": "string",
                  "nullable": true,
                  "description": "Hierarchy breadcrumb (title › chapter › …)."
                },
                "text": {
                  "type": "string",
                  "description": "Plain-text statutory body (no editorial notes)."
                },
                "sourceCredit": {
                  "type": "string",
                  "nullable": true,
                  "description": "Statutes-at-Large credit (enactment + amendment cites)."
                },
                "notes": {
                  "type": "string",
                  "nullable": true,
                  "description": "Editorial notes, only when includeNotes=true."
                },
                "truncated": {
                  "type": "boolean",
                  "description": "True if a block was cut at the response cap (rare)."
                },
                "edition": {
                  "type": "string",
                  "description": "USC edition served (\"prelim\" = current law)."
                },
                "url": {
                  "type": "string",
                  "description": "Official uscode.house.gov page for the section."
                }
              },
              "required": [
                "citation",
                "title",
                "section",
                "heading",
                "context",
                "text",
                "sourceCredit",
                "notes",
                "truncated",
                "edition",
                "url"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "license.broker",
      "group": "license",
      "name": "broker",
      "method": "GET",
      "path": "/api/license/broker",
      "url": "https://2s.io/api/license/broker",
      "description": "FINRA BrokerCheck lookup — every US registered broker / investment advisor (~620k current + former). Search by free-text query (name + firm) or by CRD number for a direct individual record. Each result includes CRD ID, name (with any 'doing business as' aliases), broker-check + IA scope (Active/Inactive), a hasDisclosures flag (yes/no for complaints, settlements, terminations on file), industry-start date, FINRA registration count, and current + previous employments (firm name, branch city/state, registration dates). Public per FINRA's investor-protection BrokerCheck program; pair with /api/finance/sec-filings for cross-reference.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200
          },
          "crd": {
            "type": "string",
            "pattern": "^\\d{1,9}$"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "default": 10
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 10000,
            "default": 0
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "query": "smith goldman",
        "limit": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "crd": {
                  "type": "string"
                },
                "firstName": {
                  "type": "string",
                  "nullable": true
                },
                "middleName": {
                  "type": "string",
                  "nullable": true
                },
                "lastName": {
                  "type": "string",
                  "nullable": true
                },
                "otherNames": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "bcScope": {
                  "type": "string",
                  "nullable": true
                },
                "iaScope": {
                  "type": "string",
                  "nullable": true
                },
                "hasDisclosures": {
                  "type": "boolean"
                },
                "yearsInIndustryStart": {
                  "type": "string",
                  "nullable": true
                },
                "finraRegistrationCount": {
                  "type": "integer"
                },
                "employmentCount": {
                  "type": "integer"
                },
                "currentEmployments": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "firmId": {
                        "type": "string"
                      },
                      "firmName": {
                        "type": "string"
                      },
                      "branchCity": {
                        "type": "string",
                        "nullable": true
                      },
                      "branchState": {
                        "type": "string",
                        "nullable": true
                      },
                      "registrationBeginDate": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "firmId",
                      "firmName",
                      "branchCity",
                      "branchState",
                      "registrationBeginDate"
                    ],
                    "additionalProperties": false
                  }
                },
                "previousEmployments": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "firmId": {
                        "type": "string"
                      },
                      "firmName": {
                        "type": "string"
                      },
                      "registrationBeginDate": {
                        "type": "string",
                        "nullable": true
                      },
                      "registrationEndDate": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "firmId",
                      "firmName",
                      "registrationBeginDate",
                      "registrationEndDate"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "crd",
                "firstName",
                "middleName",
                "lastName",
                "otherNames",
                "bcScope",
                "iaScope",
                "hasDisclosures",
                "yearsInIndustryStart",
                "finraRegistrationCount",
                "employmentCount",
                "currentEmployments",
                "previousEmployments"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "query": {
                    "type": "string",
                    "nullable": true
                  },
                  "crd": {
                    "type": "string",
                    "nullable": true
                  },
                  "limit": {
                    "type": "integer"
                  },
                  "offset": {
                    "type": "integer"
                  }
                },
                "required": [
                  "query",
                  "crd",
                  "limit",
                  "offset"
                ],
                "additionalProperties": false
              },
              "returned": {
                "type": "integer"
              }
            },
            "required": [
              "query",
              "returned"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "license.medical",
      "group": "license",
      "name": "medical",
      "method": "GET",
      "path": "/api/license/medical",
      "url": "https://2s.io/api/license/medical",
      "description": "US healthcare provider lookup (NPPES NPI Registry). Every US doctor, nurse, dentist, hospital, lab, pharmacy has an NPI — this returns the canonical record. Lookup by 10-digit NPI for a precise match, or by firstName + lastName + state for fuzzy search. Each record includes name + credentials, status, enumeration date, primary + secondary specialty taxonomies (with state license numbers), practice + mailing addresses, phone, and any cross-issuer identifiers (Medicaid, Medicare, etc.). Public-domain CMS data, free. For all three NPI datasets merged (identity + industry payments + Medicare billing) in one call, see /api/health/provider-profile.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "npi": {
            "type": "string",
            "pattern": "^\\d{10}$"
          },
          "firstName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "lastName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "pattern": "^[A-Za-z]{2}$"
          },
          "enumerationType": {
            "type": "string",
            "enum": [
              "1",
              "2"
            ]
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200,
            "default": 10
          },
          "skip": {
            "type": "integer",
            "minimum": 0,
            "maximum": 10000,
            "default": 0
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "lastName": "Smith",
        "state": "CA",
        "limit": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "npi": {
                  "type": "string"
                },
                "enumerationType": {
                  "type": "string"
                },
                "name": {
                  "type": "object",
                  "properties": {
                    "first": {
                      "type": "string",
                      "nullable": true
                    },
                    "last": {
                      "type": "string",
                      "nullable": true
                    },
                    "middle": {
                      "type": "string",
                      "nullable": true
                    },
                    "credential": {
                      "type": "string",
                      "nullable": true
                    },
                    "organizationName": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "first",
                    "last",
                    "middle",
                    "credential",
                    "organizationName"
                  ],
                  "additionalProperties": false
                },
                "status": {
                  "type": "string",
                  "nullable": true
                },
                "enumerationDate": {
                  "type": "string",
                  "nullable": true
                },
                "lastUpdated": {
                  "type": "string",
                  "nullable": true
                },
                "taxonomies": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "type": "string"
                      },
                      "desc": {
                        "type": "string"
                      },
                      "primary": {
                        "type": "boolean"
                      },
                      "licenseNumber": {
                        "type": "string",
                        "nullable": true
                      },
                      "licenseState": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "code",
                      "desc",
                      "primary",
                      "licenseNumber",
                      "licenseState"
                    ],
                    "additionalProperties": false
                  }
                },
                "addresses": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "purpose": {
                        "type": "string"
                      },
                      "address1": {
                        "type": "string",
                        "nullable": true
                      },
                      "address2": {
                        "type": "string",
                        "nullable": true
                      },
                      "city": {
                        "type": "string",
                        "nullable": true
                      },
                      "state": {
                        "type": "string",
                        "nullable": true
                      },
                      "postalCode": {
                        "type": "string",
                        "nullable": true
                      },
                      "country": {
                        "type": "string",
                        "nullable": true
                      },
                      "telephone": {
                        "type": "string",
                        "nullable": true
                      },
                      "fax": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "purpose",
                      "address1",
                      "address2",
                      "city",
                      "state",
                      "postalCode",
                      "country",
                      "telephone",
                      "fax"
                    ],
                    "additionalProperties": false
                  }
                },
                "identifiers": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "type": "string"
                      },
                      "desc": {
                        "type": "string"
                      },
                      "issuer": {
                        "type": "string",
                        "nullable": true
                      },
                      "identifier": {
                        "type": "string"
                      },
                      "state": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "code",
                      "desc",
                      "issuer",
                      "identifier",
                      "state"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "npi",
                "enumerationType",
                "name",
                "status",
                "enumerationDate",
                "lastUpdated",
                "taxonomies",
                "addresses",
                "identifiers"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "npi": {
                    "type": "string",
                    "nullable": true
                  },
                  "name": {
                    "type": "string",
                    "nullable": true
                  },
                  "firstName": {
                    "type": "string",
                    "nullable": true
                  },
                  "lastName": {
                    "type": "string",
                    "nullable": true
                  },
                  "state": {
                    "type": "string",
                    "nullable": true
                  },
                  "enumerationType": {
                    "type": "string",
                    "nullable": true
                  },
                  "limit": {
                    "type": "integer"
                  },
                  "skip": {
                    "type": "integer"
                  }
                },
                "required": [
                  "npi",
                  "name",
                  "firstName",
                  "lastName",
                  "state",
                  "enumerationType",
                  "limit",
                  "skip"
                ],
                "additionalProperties": false
              },
              "returned": {
                "type": "integer"
              }
            },
            "required": [
              "query",
              "returned"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "license.real-estate",
      "group": "license",
      "name": "real-estate",
      "method": "GET",
      "path": "/api/license/real-estate",
      "url": "https://2s.io/api/license/real-estate",
      "description": "Verify US real-estate licenses (brokers, sales agents, broker companies). Currently supported state: TX (Texas Real Estate Commission license holders). Search by name (license holder, partial), licenseNumber (exact), licenseType (partial, e.g. \"Broker\", \"Sales Agent\"), status (e.g. \"Active\"). Each license: type, number, holder name, status, original license date, expiration date, and the related supervising broker (type/number/name) where applicable. Agent/broker due-diligence and KYC. Siblings: /api/license/medical, /api/license/broker, /api/license/trades. Official state open data.",
      "priceUsd": 0.00288,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "state": {
            "type": "string",
            "enum": [
              "TX"
            ]
          },
          "name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          "licenseNumber": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20
          },
          "licenseType": {
            "type": "string",
            "minLength": 2,
            "maxLength": 60
          },
          "status": {
            "type": "string",
            "minLength": 2,
            "maxLength": 40
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 10
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "default": 0
          }
        },
        "required": [
          "state"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "state": "TX",
        "name": "Garcia",
        "licenseType": "Sales Agent",
        "limit": 5
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "licenseType": {
                  "type": "string",
                  "nullable": true
                },
                "licenseNumber": {
                  "type": "string",
                  "nullable": true
                },
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "status": {
                  "type": "string",
                  "nullable": true
                },
                "originalLicenseDate": {
                  "type": "string",
                  "nullable": true
                },
                "expires": {
                  "type": "string",
                  "nullable": true
                },
                "supervisor": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "nullable": true
                    },
                    "number": {
                      "type": "string",
                      "nullable": true
                    },
                    "name": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "type",
                    "number",
                    "name"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                }
              },
              "required": [
                "licenseType",
                "licenseNumber",
                "name",
                "status",
                "originalLicenseDate",
                "expires",
                "supervisor"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "state": {
                "type": "string"
              },
              "query": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "nullable": true
                  },
                  "licenseNumber": {
                    "type": "string",
                    "nullable": true
                  },
                  "licenseType": {
                    "type": "string",
                    "nullable": true
                  },
                  "status": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "name",
                  "licenseNumber",
                  "licenseType",
                  "status"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "state",
              "query"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "license.trades",
      "group": "license",
      "name": "trades",
      "method": "GET",
      "path": "/api/license/trades",
      "url": "https://2s.io/api/license/trades",
      "description": "Verify US trade / occupational licenses (electricians, A/C technicians, cosmetologists, tow operators, and other state-regulated trades). Currently supported state: TX (Texas Department of Licensing & Regulation, all active licenses). Search by name (matches owner or business name, partial), licenseNumber (exact), licenseType (partial, e.g. \"Electrician\"), county. Each license: type + subtype, number, business + owner name, county, expiration date, continuing-education flag. Contractor due-diligence and KYC. Siblings: /api/license/medical (NPI), /api/license/broker (FINRA). Official state open data.",
      "priceUsd": 0.00288,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "state": {
            "type": "string",
            "enum": [
              "TX"
            ]
          },
          "name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          "licenseNumber": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20
          },
          "licenseType": {
            "type": "string",
            "minLength": 2,
            "maxLength": 60
          },
          "county": {
            "type": "string",
            "minLength": 2,
            "maxLength": 40
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 10
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "default": 0
          }
        },
        "required": [
          "state"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "state": "TX",
        "name": "Garcia",
        "licenseType": "Electrician",
        "limit": 5
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "licenseType": {
                  "type": "string",
                  "nullable": true
                },
                "licenseSubtype": {
                  "type": "string",
                  "nullable": true
                },
                "licenseNumber": {
                  "type": "string",
                  "nullable": true
                },
                "businessName": {
                  "type": "string",
                  "nullable": true
                },
                "ownerName": {
                  "type": "string",
                  "nullable": true
                },
                "county": {
                  "type": "string",
                  "nullable": true
                },
                "expires": {
                  "type": "string",
                  "nullable": true
                },
                "continuingEducation": {
                  "type": "boolean",
                  "nullable": true
                }
              },
              "required": [
                "licenseType",
                "licenseSubtype",
                "licenseNumber",
                "businessName",
                "ownerName",
                "county",
                "expires",
                "continuingEducation"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "state": {
                "type": "string"
              },
              "query": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "nullable": true
                  },
                  "licenseNumber": {
                    "type": "string",
                    "nullable": true
                  },
                  "licenseType": {
                    "type": "string",
                    "nullable": true
                  },
                  "county": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "name",
                  "licenseNumber",
                  "licenseType",
                  "county"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "state",
              "query"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "lock.acquire",
      "group": "lock",
      "name": "acquire",
      "method": "POST",
      "path": "/api/lock/acquire",
      "url": "https://2s.io/api/lock/acquire",
      "description": "LOCK: acquire a distributed lock/lease, scoped to YOUR wallet. Returns { acquired:true, token } if you got it, or { acquired:false, retryInSeconds } if someone else holds it. The lock auto-expires after ttlSeconds (so a crashed holder can't wedge it). Keep the token — you need it to renew or release. Use it to make sure only one copy of your agent runs a critical section. No account or API key — pay per call with x402.",
      "priceUsd": 0.002,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "Lock name, up to 256 chars of [A-Za-z0-9._:/-]. e.g. \"nightly-report\"."
          },
          "ttlSeconds": {
            "type": "integer",
            "minimum": 1,
            "maximum": 86400,
            "description": "Auto-release after this many seconds (1-86400). Set it above your critical section's worst-case runtime."
          }
        },
        "required": [
          "key",
          "ttlSeconds"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "key": "example",
        "ttlSeconds": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "acquired": {
                  "type": "boolean"
                },
                "token": {
                  "type": "string"
                },
                "expiresInSeconds": {
                  "type": "number"
                },
                "retryInSeconds": {
                  "type": "number"
                }
              },
              "required": [
                "acquired"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "lock.release",
      "group": "lock",
      "name": "release",
      "method": "POST",
      "path": "/api/lock/release",
      "url": "https://2s.io/api/lock/release",
      "description": "LOCK: release a lock you hold, scoped to YOUR wallet. Pass the key + your token. Returns { released:true } only if your token matches (you can't release someone else's lock). Idempotent — releasing an already-gone lock returns released:false. Private to your wallet (the x402 payer).",
      "priceUsd": 0.002,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "The lock name."
          },
          "token": {
            "type": "string",
            "description": "The token returned by lock.acquire."
          }
        },
        "required": [
          "key",
          "token"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "key": "example",
        "token": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "released": {
                  "type": "boolean"
                }
              },
              "required": [
                "released"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "lock.renew",
      "group": "lock",
      "name": "renew",
      "method": "POST",
      "path": "/api/lock/renew",
      "url": "https://2s.io/api/lock/renew",
      "description": "LOCK: extend a lock you hold, scoped to YOUR wallet. Pass the key + the token you got from lock.acquire and a new ttlSeconds. Returns { renewed:true } only if your token still matches (you can't extend someone else's lock). Use it to keep a long-running critical section locked. Private to your wallet (the x402 payer).",
      "priceUsd": 0.002,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "The lock name."
          },
          "token": {
            "type": "string",
            "description": "The token returned by lock.acquire."
          },
          "ttlSeconds": {
            "type": "integer",
            "minimum": 1,
            "maximum": 86400,
            "description": "New lease duration in seconds."
          }
        },
        "required": [
          "key",
          "token",
          "ttlSeconds"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "key": "example",
        "token": "example",
        "ttlSeconds": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "renewed": {
                  "type": "boolean"
                },
                "expiresInSeconds": {
                  "type": "number"
                }
              },
              "required": [
                "renewed"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "maritime.cases",
      "group": "maritime",
      "name": "cases",
      "method": "GET",
      "path": "/api/maritime/cases",
      "url": "https://2s.io/api/maritime/cases",
      "description": "US Coast Guard activity / port-state-control case history for a vessel, by USCG vessel id (from maritime.vessel). Returns cases newest-first with the activity id, start date, type (Boarding, Inspection, Investigation, etc.), and process status. Keyless, public-domain. The compliance/inspection record behind a vessel — use for safety and counterparty due diligence.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "vesselId": {
            "type": "string",
            "pattern": "^\\d+$"
          }
        },
        "required": [
          "vesselId"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "vesselId": "5608"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "activityId": {
                  "type": "number",
                  "nullable": true
                },
                "startDate": {
                  "type": "string",
                  "nullable": true
                },
                "type": {
                  "type": "string",
                  "nullable": true
                },
                "status": {
                  "type": "string",
                  "nullable": true
                },
                "statusDetail": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "activityId",
                "startDate",
                "type",
                "status",
                "statusDetail"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "maritime.port",
      "group": "maritime",
      "name": "port",
      "method": "GET",
      "path": "/api/maritime/port",
      "url": "https://2s.io/api/maritime/port",
      "description": "Look up world ports and terminals in the NGA World Port Index (Pub 150, ~2,950 ports) by port name (partial match) and/or country (full country name, e.g. \"Japan\"). Returns matching ports with location (lat/lon, country, region), UN/LOCODE, harbor size/type and shelter, max vessel length/draft (meters), channel/anchorage/cargo-pier depths, tidal range, and chart number. Keyless, public-domain (NGA). Physical-port reference data an LLM cannot reliably recall; complements maritime.vessel (USCG vessel registry) and maritime.cases (port-state-control inspections).",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "portName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "country": {
            "type": "string",
            "minLength": 1,
            "maxLength": 60
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "portName": "Los Angeles"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "portNumber": {
                  "type": "string",
                  "nullable": true
                },
                "portName": {
                  "type": "string",
                  "nullable": true
                },
                "countryCode": {
                  "type": "string",
                  "nullable": true
                },
                "countryName": {
                  "type": "string",
                  "nullable": true
                },
                "regionName": {
                  "type": "string",
                  "nullable": true
                },
                "latitude": {
                  "type": "number",
                  "nullable": true
                },
                "longitude": {
                  "type": "number",
                  "nullable": true
                },
                "harborSize": {
                  "type": "string",
                  "nullable": true
                },
                "harborType": {
                  "type": "string",
                  "nullable": true
                },
                "shelter": {
                  "type": "string",
                  "nullable": true
                },
                "maxVesselLengthM": {
                  "type": "number",
                  "nullable": true
                },
                "maxVesselDraftM": {
                  "type": "number",
                  "nullable": true
                },
                "channelDepthM": {
                  "type": "number",
                  "nullable": true
                },
                "anchorageDepthM": {
                  "type": "number",
                  "nullable": true
                },
                "cargoPierDepthM": {
                  "type": "number",
                  "nullable": true
                },
                "tidalRangeM": {
                  "type": "number",
                  "nullable": true
                },
                "unLocode": {
                  "type": "string",
                  "nullable": true
                },
                "chartNumber": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "portNumber",
                "portName",
                "countryCode",
                "countryName",
                "regionName",
                "latitude",
                "longitude",
                "harborSize",
                "harborType",
                "shelter",
                "maxVesselLengthM",
                "maxVesselDraftM",
                "channelDepthM",
                "anchorageDepthM",
                "cargoPierDepthM",
                "tidalRangeM",
                "unLocode",
                "chartNumber"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "maritime.vessel",
      "group": "maritime",
      "name": "vessel",
      "method": "GET",
      "path": "/api/maritime/vessel",
      "url": "https://2s.io/api/maritime/vessel",
      "description": "Look up vessels in the US Coast Guard PSIX registry by name (partial match), call sign, official number, hull number (HIN), flag country, service type, or build year. Returns matching vessels with the USCG vessel id, name, call sign, service type, build year, status, official number, HIN, and flag. Keyless, public-domain. Covers US-flagged vessels (and foreign vessels with US port-state-control activity). Pair the returned vesselId with maritime.cases for the inspection record. (Cross-references trade.locode for ports.)",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 100
          },
          "callSign": {
            "type": "string",
            "maxLength": 40
          },
          "officialNumber": {
            "type": "string",
            "maxLength": 40
          },
          "hullNumber": {
            "type": "string",
            "maxLength": 40
          },
          "flag": {
            "type": "string",
            "maxLength": 60
          },
          "service": {
            "type": "string",
            "maxLength": 60
          },
          "buildYear": {
            "type": "string",
            "pattern": "^\\d{4}$"
          },
          "vesselId": {
            "type": "string",
            "pattern": "^\\d+$"
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "name": "POLAR"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "vesselId": {
                  "type": "number",
                  "nullable": true
                },
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "callSign": {
                  "type": "string",
                  "nullable": true
                },
                "serviceType": {
                  "type": "string",
                  "nullable": true
                },
                "buildYear": {
                  "type": "number",
                  "nullable": true
                },
                "status": {
                  "type": "string",
                  "nullable": true
                },
                "officialNumber": {
                  "type": "string",
                  "nullable": true
                },
                "hullNumber": {
                  "type": "string",
                  "nullable": true
                },
                "flag": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "vesselId",
                "name",
                "callSign",
                "serviceType",
                "buildYear",
                "status",
                "officialNumber",
                "hullNumber",
                "flag"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "markets.holiday",
      "group": "markets",
      "name": "holiday",
      "method": "GET",
      "path": "/api/markets/holiday",
      "url": "https://2s.io/api/markets/holiday",
      "description": "Stock-exchange holiday calendar. Pass exchange (default US); returns the list of upcoming market holidays with the date, holiday name, whether the session is a full close or an early close, and the trading hours when partial. Use it to plan around non-trading days. Data by Finnhub.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "exchange": {
            "type": "string",
            "minLength": 1,
            "maxLength": 8,
            "pattern": "^[A-Za-z]+$",
            "description": "Exchange code (default US)."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "exchange": "US"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "eventName": {
                  "type": "string",
                  "nullable": true
                },
                "atDate": {
                  "type": "string",
                  "nullable": true,
                  "description": "Holiday date (yyyy-mm-dd)."
                },
                "tradingHour": {
                  "type": "string",
                  "nullable": true,
                  "description": "Trading hours if an early close; empty when fully closed."
                }
              },
              "required": [
                "eventName",
                "atDate",
                "tradingHour"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "exchange": {
                "type": "string"
              },
              "timezone": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "exchange",
              "timezone"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "markets.status",
      "group": "markets",
      "name": "status",
      "method": "GET",
      "path": "/api/markets/status",
      "url": "https://2s.io/api/markets/status",
      "description": "Is a stock exchange open right now? Pass exchange (default US); returns whether trading is open, the current session (pre-market, regular, post-market, or closed), whether today is a market holiday, the exchange timezone, and the server timestamp. Use it to gate time-sensitive logic to market hours. Data by Finnhub.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "exchange": {
            "type": "string",
            "minLength": 1,
            "maxLength": 8,
            "pattern": "^[A-Za-z]+$",
            "description": "Exchange code (default US)."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "exchange": "US"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "exchange": {
                  "type": "string"
                },
                "isOpen": {
                  "type": "boolean",
                  "nullable": true
                },
                "session": {
                  "type": "string",
                  "nullable": true,
                  "description": "pre-market | regular | post-market | closed (or null)."
                },
                "holiday": {
                  "type": "string",
                  "nullable": true,
                  "description": "Holiday name if today is a market holiday."
                },
                "timezone": {
                  "type": "string",
                  "nullable": true
                },
                "timestamp": {
                  "type": "string",
                  "nullable": true,
                  "description": "Server time (ISO 8601)."
                }
              },
              "required": [
                "exchange",
                "isOpen",
                "session",
                "holiday",
                "timezone",
                "timestamp"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "medical.device-510k",
      "group": "medical",
      "name": "device-510k",
      "method": "GET",
      "path": "/api/medical/device-510k",
      "url": "https://2s.io/api/medical/device-510k",
      "description": "FDA 510(k) premarket clearances — the record of medical devices cleared for US marketing by demonstrating substantial equivalence to a predicate device. Search by device name, applicant (manufacturer), or FDA product code, and get back each clearance with its K-number, device name, applicant, decision date and decision description, clearance type (traditional/special/abbreviated), product code, advisory committee, and date received — newest decision first. Free, public-domain US government data. Authoritative regulatory-status data for medical-device diligence; point-in-time public records, not regulatory advice.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "device": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          "applicant": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          "productCode": {
            "type": "string",
            "minLength": 2,
            "maxLength": 10
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "default": 10
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "device": "pacemaker",
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "device": {
                "type": "string",
                "nullable": true
              },
              "applicant": {
                "type": "string",
                "nullable": true
              },
              "productCode": {
                "type": "string",
                "nullable": true
              },
              "limit": {
                "type": "number"
              }
            },
            "required": [
              "device",
              "applicant",
              "productCode",
              "limit"
            ],
            "additionalProperties": false
          },
          "totalCount": {
            "type": "number"
          },
          "returned": {
            "type": "number"
          },
          "clearances": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "kNumber": {
                  "type": "string",
                  "nullable": true
                },
                "deviceName": {
                  "type": "string",
                  "nullable": true
                },
                "applicant": {
                  "type": "string",
                  "nullable": true
                },
                "decisionDate": {
                  "type": "string",
                  "nullable": true
                },
                "decisionDescription": {
                  "type": "string",
                  "nullable": true
                },
                "clearanceType": {
                  "type": "string",
                  "nullable": true
                },
                "productCode": {
                  "type": "string",
                  "nullable": true
                },
                "advisoryCommittee": {
                  "type": "string",
                  "nullable": true
                },
                "dateReceived": {
                  "type": "string",
                  "nullable": true
                },
                "state": {
                  "type": "string",
                  "nullable": true
                },
                "country": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "kNumber",
                "deviceName",
                "applicant",
                "decisionDate",
                "decisionDescription",
                "clearanceType",
                "productCode",
                "advisoryCommittee",
                "dateReceived",
                "state",
                "country"
              ],
              "additionalProperties": false
            }
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "query",
          "totalCount",
          "returned",
          "clearances",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "medical.device-classification",
      "group": "medical",
      "name": "device-classification",
      "method": "GET",
      "path": "/api/medical/device-classification",
      "url": "https://2s.io/api/medical/device-classification",
      "description": "FDA medical device classification — the regulatory class and controls for a device type. Search by device name or FDA product code and get back the device class (I/II/III, mapping to regulatory risk and controls), CFR regulation number, medical specialty/review panel, the official definition, and flags for life-sustaining/supporting, implant, GMP-exempt, and third-party-review eligibility. Free, public-domain US government data. The authoritative answer to \"what FDA class is this device and what regulation governs it\" — for regulatory and medical-device diligence; point-in-time public records, not regulatory advice.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "device": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          "productCode": {
            "type": "string",
            "minLength": 2,
            "maxLength": 10
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "default": 10
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "device": "catheter",
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "device": {
                "type": "string",
                "nullable": true
              },
              "productCode": {
                "type": "string",
                "nullable": true
              },
              "limit": {
                "type": "number"
              }
            },
            "required": [
              "device",
              "productCode",
              "limit"
            ],
            "additionalProperties": false
          },
          "totalCount": {
            "type": "number"
          },
          "returned": {
            "type": "number"
          },
          "classifications": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "deviceName": {
                  "type": "string",
                  "nullable": true
                },
                "productCode": {
                  "type": "string",
                  "nullable": true
                },
                "deviceClass": {
                  "type": "string",
                  "nullable": true
                },
                "regulationNumber": {
                  "type": "string",
                  "nullable": true
                },
                "medicalSpecialty": {
                  "type": "string",
                  "nullable": true
                },
                "definition": {
                  "type": "string",
                  "nullable": true
                },
                "reviewPanel": {
                  "type": "string",
                  "nullable": true
                },
                "lifeSustainSupport": {
                  "type": "boolean",
                  "nullable": true
                },
                "implant": {
                  "type": "boolean",
                  "nullable": true
                },
                "gmpExempt": {
                  "type": "boolean",
                  "nullable": true
                },
                "thirdPartyReview": {
                  "type": "boolean",
                  "nullable": true
                },
                "submissionType": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "deviceName",
                "productCode",
                "deviceClass",
                "regulationNumber",
                "medicalSpecialty",
                "definition",
                "reviewPanel",
                "lifeSustainSupport",
                "implant",
                "gmpExempt",
                "thirdPartyReview",
                "submissionType"
              ],
              "additionalProperties": false
            }
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "query",
          "totalCount",
          "returned",
          "classifications",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "medical.device-recall",
      "group": "medical",
      "name": "device-recall",
      "method": "GET",
      "path": "/api/medical/device-recall",
      "url": "https://2s.io/api/medical/device-recall",
      "description": "FDA medical-device recalls — the enforcement record of devices removed or corrected in the US market because they could pose a health risk. Search by device name (product description), recalling firm (manufacturer), recall classification (I = most serious / reasonable probability of serious health consequences, II, or III), status (Ongoing, Completed, Terminated, Pending), or state of the recalling firm — or omit all filters for the most recent recalls nationwide. Each record returns the FDA recall number, classification, status, product description and quantity, the reason for the recall, code/lot information, the recalling firm and location, distribution pattern, whether it was voluntary or FDA-mandated, and the recall-initiation, classification, and report dates — newest report first, with the total matching count. Free, public-domain US government data. Which devices are under recall right now is fresh post-training data with real patient-safety stakes; distinct from medical.device-510k (clearances), medical.device-classification (risk class), medical.device-udi (device identifiers), and medical.device-event (adverse-event reports). Point-in-time public records, not medical or regulatory advice.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "device": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120,
            "description": "Device name / product-description substring."
          },
          "firm": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120,
            "description": "Recalling firm (manufacturer) name substring."
          },
          "classification": {
            "type": "string",
            "enum": [
              "I",
              "II",
              "III"
            ],
            "description": "Recall classification: I, II, or III."
          },
          "status": {
            "type": "string",
            "enum": [
              "Ongoing",
              "Completed",
              "Terminated",
              "Pending"
            ],
            "description": "Recall status."
          },
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "2-letter state of the recalling firm."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 10
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "device": "stent",
        "limit": "3"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "device": {
                "type": "string",
                "nullable": true
              },
              "firm": {
                "type": "string",
                "nullable": true
              },
              "classification": {
                "type": "string",
                "nullable": true
              },
              "status": {
                "type": "string",
                "nullable": true
              },
              "state": {
                "type": "string",
                "nullable": true
              },
              "limit": {
                "type": "number"
              }
            },
            "required": [
              "device",
              "firm",
              "classification",
              "status",
              "state",
              "limit"
            ],
            "additionalProperties": false
          },
          "totalCount": {
            "type": "number"
          },
          "returned": {
            "type": "number"
          },
          "recalls": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "recallNumber": {
                  "type": "string"
                },
                "status": {
                  "type": "string",
                  "nullable": true
                },
                "classification": {
                  "type": "string",
                  "nullable": true
                },
                "productType": {
                  "type": "string",
                  "nullable": true
                },
                "productDescription": {
                  "type": "string",
                  "nullable": true
                },
                "productQuantity": {
                  "type": "string",
                  "nullable": true
                },
                "codeInfo": {
                  "type": "string",
                  "nullable": true
                },
                "reasonForRecall": {
                  "type": "string",
                  "nullable": true
                },
                "initialNotification": {
                  "type": "string",
                  "nullable": true
                },
                "voluntaryMandated": {
                  "type": "string",
                  "nullable": true
                },
                "recallingFirm": {
                  "type": "string",
                  "nullable": true
                },
                "city": {
                  "type": "string",
                  "nullable": true
                },
                "state": {
                  "type": "string",
                  "nullable": true
                },
                "country": {
                  "type": "string",
                  "nullable": true
                },
                "distributionPattern": {
                  "type": "string",
                  "nullable": true
                },
                "recallInitiationDate": {
                  "type": "string",
                  "nullable": true
                },
                "centerClassificationDate": {
                  "type": "string",
                  "nullable": true
                },
                "reportDate": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "recallNumber",
                "status",
                "classification",
                "productType",
                "productDescription",
                "productQuantity",
                "codeInfo",
                "reasonForRecall",
                "initialNotification",
                "voluntaryMandated",
                "recallingFirm",
                "city",
                "state",
                "country",
                "distributionPattern",
                "recallInitiationDate",
                "centerClassificationDate",
                "reportDate"
              ],
              "additionalProperties": false
            }
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "query",
          "totalCount",
          "returned",
          "recalls",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "medical.device-udi",
      "group": "medical",
      "name": "device-udi",
      "method": "GET",
      "path": "/api/medical/device-udi",
      "url": "https://2s.io/api/medical/device-udi",
      "description": "FDA GUDID (Global Unique Device Identification Database) lookup — identify a marketed medical device from its UDI or by brand/company. Search by UDI/device identifier, brand name, or company name and get back the device description, version/model number, prescription vs OTC, single-use/kit/combination-product flags, MRI safety, sterilization, commercial-distribution status, publish date, the device identifiers (with issuing agency — GS1/HIBCC/ICCBBA), FDA product codes, and GMDN terms. Free, public-domain US government data. The canonical \"what device is this UDI\" lookup for supply-chain, clinical, and recall-matching agents; point-in-time public records.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "device": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          "company": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          "udi": {
            "type": "string",
            "minLength": 4,
            "maxLength": 80
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "default": 10
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "device": "pacemaker",
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "device": {
                "type": "string",
                "nullable": true
              },
              "company": {
                "type": "string",
                "nullable": true
              },
              "udi": {
                "type": "string",
                "nullable": true
              },
              "limit": {
                "type": "number"
              }
            },
            "required": [
              "device",
              "company",
              "udi",
              "limit"
            ],
            "additionalProperties": false
          },
          "totalCount": {
            "type": "number"
          },
          "returned": {
            "type": "number"
          },
          "devices": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "brandName": {
                  "type": "string",
                  "nullable": true
                },
                "companyName": {
                  "type": "string",
                  "nullable": true
                },
                "versionModelNumber": {
                  "type": "string",
                  "nullable": true
                },
                "deviceDescription": {
                  "type": "string",
                  "nullable": true
                },
                "isRx": {
                  "type": "boolean",
                  "nullable": true
                },
                "isOtc": {
                  "type": "boolean",
                  "nullable": true
                },
                "isSingleUse": {
                  "type": "boolean",
                  "nullable": true
                },
                "isKit": {
                  "type": "boolean",
                  "nullable": true
                },
                "isCombinationProduct": {
                  "type": "boolean",
                  "nullable": true
                },
                "mriSafety": {
                  "type": "string",
                  "nullable": true
                },
                "commercialDistributionStatus": {
                  "type": "string",
                  "nullable": true
                },
                "publishDate": {
                  "type": "string",
                  "nullable": true
                },
                "identifiers": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "nullable": true
                      },
                      "type": {
                        "type": "string",
                        "nullable": true
                      },
                      "issuingAgency": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "id",
                      "type",
                      "issuingAgency"
                    ],
                    "additionalProperties": false
                  }
                },
                "productCodes": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "gmdnTerms": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "brandName",
                "companyName",
                "versionModelNumber",
                "deviceDescription",
                "isRx",
                "isOtc",
                "isSingleUse",
                "isKit",
                "isCombinationProduct",
                "mriSafety",
                "commercialDistributionStatus",
                "publishDate",
                "identifiers",
                "productCodes",
                "gmdnTerms"
              ],
              "additionalProperties": false
            }
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "query",
          "totalCount",
          "returned",
          "devices",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "medical.drug-approval",
      "group": "medical",
      "name": "drug-approval",
      "method": "GET",
      "path": "/api/medical/drug-approval",
      "url": "https://2s.io/api/medical/drug-approval",
      "description": "FDA drug approval history from Drugs@FDA — the official record of FDA-approved drug applications. Give a drug name (brand or generic), an FDA application number (e.g. NDA021436), or a sponsor name, and get back each application with its products (brand name, active ingredients + strengths, dosage form, route, marketing status, therapeutic-equivalence code, reference-drug flag) and its full submission history (original approvals, supplements, status + status date, review priority). Free, public-domain US government data. The authoritative \"is this drug FDA-approved, by whom, when, and in what formulations\" record — point-in-time public records, not medical advice.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "drug": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          "applicationNumber": {
            "type": "string",
            "minLength": 3,
            "maxLength": 20
          },
          "sponsor": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "default": 5
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "drug": "tylenol",
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "drug": {
                "type": "string",
                "nullable": true
              },
              "applicationNumber": {
                "type": "string",
                "nullable": true
              },
              "sponsor": {
                "type": "string",
                "nullable": true
              },
              "limit": {
                "type": "number"
              }
            },
            "required": [
              "drug",
              "applicationNumber",
              "sponsor",
              "limit"
            ],
            "additionalProperties": false
          },
          "totalCount": {
            "type": "number"
          },
          "returned": {
            "type": "number"
          },
          "applications": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "applicationNumber": {
                  "type": "string",
                  "nullable": true
                },
                "sponsorName": {
                  "type": "string",
                  "nullable": true
                },
                "products": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "productNumber": {
                        "type": "string",
                        "nullable": true
                      },
                      "brandName": {
                        "type": "string",
                        "nullable": true
                      },
                      "activeIngredients": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "name": {
                              "type": "string"
                            },
                            "strength": {
                              "type": "string",
                              "nullable": true
                            }
                          },
                          "required": [
                            "name",
                            "strength"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "dosageForm": {
                        "type": "string",
                        "nullable": true
                      },
                      "route": {
                        "type": "string",
                        "nullable": true
                      },
                      "marketingStatus": {
                        "type": "string",
                        "nullable": true
                      },
                      "referenceDrug": {
                        "type": "string",
                        "nullable": true
                      },
                      "teCode": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "productNumber",
                      "brandName",
                      "activeIngredients",
                      "dosageForm",
                      "route",
                      "marketingStatus",
                      "referenceDrug",
                      "teCode"
                    ],
                    "additionalProperties": false
                  }
                },
                "submissions": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "nullable": true
                      },
                      "number": {
                        "type": "string",
                        "nullable": true
                      },
                      "status": {
                        "type": "string",
                        "nullable": true
                      },
                      "statusDate": {
                        "type": "string",
                        "nullable": true
                      },
                      "reviewPriority": {
                        "type": "string",
                        "nullable": true
                      },
                      "classCode": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "type",
                      "number",
                      "status",
                      "statusDate",
                      "reviewPriority",
                      "classCode"
                    ],
                    "additionalProperties": false
                  }
                },
                "brandNames": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "genericNames": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "manufacturerNames": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "applicationNumber",
                "sponsorName",
                "products",
                "submissions",
                "brandNames",
                "genericNames",
                "manufacturerNames"
              ],
              "additionalProperties": false
            }
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "query",
          "totalCount",
          "returned",
          "applications",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "medical.drug-label",
      "group": "medical",
      "name": "drug-label",
      "method": "GET",
      "path": "/api/medical/drug-label",
      "url": "https://2s.io/api/medical/drug-label",
      "description": "Authoritative FDA drug label (Structured Product Labeling). Give a drug name (brand, generic, or substance), or an exact NDC, RxCUI, or SPL set_id, and get back the FDA-approved label split into the sections agents need: boxed warning, indications and usage, dosage and administration, contraindications, warnings, adverse reactions, drug interactions, use in specific populations, pregnancy, mechanism of action, and active/inactive ingredients. Each record also carries identity metadata (brand/generic names, manufacturer, NDCs, RxCUIs, route, DEA schedule, OTC vs prescription) plus a hasBoxedWarning flag. Free, public-domain US government data. Point-in-time public records, not medical advice. Use for prescribing-support, pharmacy, and clinical agents that must read the real label rather than guess it.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "drug": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120,
            "description": "Drug name — brand, generic, or substance."
          },
          "ndc": {
            "type": "string",
            "minLength": 3,
            "maxLength": 20,
            "description": "Exact product NDC."
          },
          "rxcui": {
            "type": "string",
            "pattern": "^\\d{1,9}$",
            "description": "Exact RxNorm RxCUI."
          },
          "setId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 80,
            "description": "Exact SPL set_id."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 25,
            "default": 1,
            "description": "Max labels returned."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "drug": "atorvastatin",
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "drug": {
                "type": "string",
                "nullable": true
              },
              "ndc": {
                "type": "string",
                "nullable": true
              },
              "rxcui": {
                "type": "string",
                "nullable": true
              },
              "setId": {
                "type": "string",
                "nullable": true
              },
              "limit": {
                "type": "number"
              }
            },
            "required": [
              "drug",
              "ndc",
              "rxcui",
              "setId",
              "limit"
            ],
            "additionalProperties": false
          },
          "totalCount": {
            "type": "number"
          },
          "returned": {
            "type": "number"
          },
          "hasBoxedWarning": {
            "type": "boolean"
          },
          "labels": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "setId": {
                  "type": "string",
                  "nullable": true
                },
                "splId": {
                  "type": "string",
                  "nullable": true
                },
                "effectiveTime": {
                  "type": "string",
                  "nullable": true
                },
                "brandNames": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "genericNames": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "substanceNames": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "manufacturerNames": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "productNdc": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "routes": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "productType": {
                  "type": "string",
                  "nullable": true
                },
                "rxcui": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "deaSchedule": {
                  "type": "string",
                  "nullable": true
                },
                "isOtc": {
                  "type": "boolean",
                  "nullable": true
                },
                "boxedWarning": {
                  "type": "string",
                  "nullable": true
                },
                "indicationsAndUsage": {
                  "type": "string",
                  "nullable": true
                },
                "dosageAndAdministration": {
                  "type": "string",
                  "nullable": true
                },
                "contraindications": {
                  "type": "string",
                  "nullable": true
                },
                "warnings": {
                  "type": "string",
                  "nullable": true
                },
                "adverseReactions": {
                  "type": "string",
                  "nullable": true
                },
                "drugInteractions": {
                  "type": "string",
                  "nullable": true
                },
                "useInSpecificPopulations": {
                  "type": "string",
                  "nullable": true
                },
                "pregnancy": {
                  "type": "string",
                  "nullable": true
                },
                "mechanismOfAction": {
                  "type": "string",
                  "nullable": true
                },
                "activeIngredient": {
                  "type": "string",
                  "nullable": true
                },
                "inactiveIngredient": {
                  "type": "string",
                  "nullable": true
                },
                "purpose": {
                  "type": "string",
                  "nullable": true
                },
                "doNotUse": {
                  "type": "string",
                  "nullable": true
                },
                "whenUsing": {
                  "type": "string",
                  "nullable": true
                },
                "stopUse": {
                  "type": "string",
                  "nullable": true
                },
                "description": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "setId",
                "splId",
                "effectiveTime",
                "brandNames",
                "genericNames",
                "substanceNames",
                "manufacturerNames",
                "productNdc",
                "routes",
                "productType",
                "rxcui",
                "deaSchedule",
                "isOtc",
                "boxedWarning",
                "indicationsAndUsage",
                "dosageAndAdministration",
                "contraindications",
                "warnings",
                "adverseReactions",
                "drugInteractions",
                "useInSpecificPopulations",
                "pregnancy",
                "mechanismOfAction",
                "activeIngredient",
                "inactiveIngredient",
                "purpose",
                "doNotUse",
                "whenUsing",
                "stopUse",
                "description"
              ],
              "additionalProperties": false
            }
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "query",
          "totalCount",
          "returned",
          "hasBoxedWarning",
          "labels",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "medical.drug-price",
      "group": "medical",
      "name": "drug-price",
      "method": "GET",
      "path": "/api/medical/drug-price",
      "url": "https://2s.io/api/medical/drug-price",
      "description": "Look up US drug pricing from CMS NADAC (National Average Drug Acquisition Cost) — the benchmark per-unit acquisition cost CMS surveys from retail pharmacies and publishes weekly. Pass ndc (11-digit National Drug Code) for an exact product, or name (drug name/description keyword, e.g. 'atorvastatin 10 mg') to search. Returns rows with the NDC, description, nadacPerUnit (USD per pricing unit), pricingUnit (EA/ML/GM), effectiveDate, OTC flag, and brand/generic classification — most recent effective date first. Real surveyed acquisition costs instead of model-guessed prices. Public domain; the current-year dataset is resolved automatically. NADAC is an acquisition-cost benchmark, not a retail or insured price.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ndc": {
            "type": "string",
            "minLength": 3,
            "maxLength": 20
          },
          "name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "name": "atorvastatin 10 mg"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ndc": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "nadacPerUnit": {
                  "type": "number",
                  "nullable": true
                },
                "pricingUnit": {
                  "type": "string",
                  "nullable": true
                },
                "effectiveDate": {
                  "type": "string",
                  "nullable": true
                },
                "otc": {
                  "type": "boolean",
                  "nullable": true
                },
                "classification": {
                  "type": "string",
                  "nullable": true,
                  "description": "G = generic, B = brand"
                },
                "asOfDate": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "ndc",
                "description",
                "nadacPerUnit",
                "pricingUnit",
                "effectiveDate",
                "otc",
                "classification",
                "asOfDate"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "ndc": {
                    "type": "string",
                    "nullable": true
                  },
                  "name": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "ndc",
                  "name"
                ],
                "additionalProperties": false
              },
              "datasetYear": {
                "type": "string"
              },
              "total": {
                "type": "integer"
              }
            },
            "required": [
              "query",
              "datasetYear",
              "total"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "medical.drug-status",
      "group": "medical",
      "name": "drug-status",
      "method": "GET",
      "path": "/api/medical/drug-status",
      "url": "https://2s.io/api/medical/drug-status",
      "description": "One-call drug situational awareness. Give a drug name (resolved to a canonical RxCUI via NIH RxNorm), or an exact rxcui or ndc you already hold, and get back: whether it is currently in FDA shortage, any open or recent FDA recalls, and FDA NDC-directory metadata (labeler, DEA schedule, pharmaceutical class, marketing status). Returns a resolved identity block plus hasCurrentShortage / hasOpenRecall booleans and one found/error block per source (shortages, ndc, recalls). Composition of NIH RxNorm + OpenFDA drug-shortages, NDC directory, and recall enforcement — all free, public-domain US government data; each source degrades independently. Point-in-time public records, not medical advice. Use for pharmacy/supply-chain triage, prescribing-support agents, and verifying a drug is real, scheduled, and available before acting.",
      "priceUsd": 0.006,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "drug": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          "rxcui": {
            "type": "string",
            "pattern": "^\\d{1,9}$"
          },
          "ndc": {
            "type": "string",
            "minLength": 3,
            "maxLength": 20
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "default": 10
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "drug": "amoxicillin",
        "limit": 5
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "drug": {
                "type": "string",
                "nullable": true
              },
              "rxcui": {
                "type": "string",
                "nullable": true
              },
              "ndc": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "drug",
              "rxcui",
              "ndc"
            ],
            "additionalProperties": false
          },
          "resolved": {
            "type": "object",
            "properties": {
              "rxcui": {
                "type": "string",
                "nullable": true
              },
              "name": {
                "type": "string",
                "nullable": true
              },
              "termType": {
                "type": "string",
                "nullable": true
              },
              "matchScore": {
                "type": "number",
                "nullable": true
              }
            },
            "required": [
              "rxcui",
              "name",
              "termType",
              "matchScore"
            ],
            "additionalProperties": false
          },
          "hasCurrentShortage": {
            "type": "boolean",
            "nullable": true
          },
          "hasOpenRecall": {
            "type": "boolean",
            "nullable": true
          },
          "shortages": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "data": {
                "type": "object",
                "additionalProperties": {},
                "nullable": true
              }
            },
            "required": [
              "found",
              "error",
              "data"
            ],
            "additionalProperties": false
          },
          "ndc": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "data": {
                "type": "object",
                "additionalProperties": {},
                "nullable": true
              }
            },
            "required": [
              "found",
              "error",
              "data"
            ],
            "additionalProperties": false
          },
          "recalls": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "data": {
                "type": "object",
                "additionalProperties": {},
                "nullable": true
              }
            },
            "required": [
              "found",
              "error",
              "data"
            ],
            "additionalProperties": false
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "provider": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                },
                "license": {
                  "type": "string"
                }
              },
              "required": [
                "provider",
                "url",
                "license"
              ],
              "additionalProperties": false
            }
          },
          "note": {
            "type": "string"
          }
        },
        "required": [
          "query",
          "resolved",
          "hasCurrentShortage",
          "hasOpenRecall",
          "shortages",
          "ndc",
          "recalls",
          "sources",
          "note"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "medical.genetics",
      "group": "medical",
      "name": "genetics",
      "method": "GET",
      "path": "/api/medical/genetics",
      "url": "https://2s.io/api/medical/genetics",
      "description": "MedlinePlus Genetics (US National Library of Medicine) reference on a genetic condition or gene. Give a term (e.g. \"cystic fibrosis\", \"BRCA1\", \"sickle cell\") and get back the authoritative NLM record: the condition/gene name, a plain-language summary, the full set of sections (description, causes, frequency, inheritance, treatment), the inheritance pattern(s), related genes (with links), synonyms, and cross-references to other databases (OMIM, GTR, ICD-10-CM, …). Free, public-domain (NLM). Authoritative genetics reference an LLM cannot recite reliably — for clinical, patient-education, and research agents. Educational reference, not medical advice.",
      "priceUsd": 0.00108,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "term": {
            "type": "string",
            "minLength": 2,
            "maxLength": 100,
            "description": "Condition or gene name."
          }
        },
        "required": [
          "term"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "term": "cystic fibrosis"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "query": {
                  "type": "object",
                  "properties": {
                    "term": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "condition",
                        "gene"
                      ],
                      "nullable": true
                    },
                    "slug": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "term",
                    "type",
                    "slug"
                  ],
                  "additionalProperties": false
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "condition",
                    "gene"
                  ],
                  "nullable": true
                },
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "summary": {
                  "type": "string",
                  "nullable": true
                },
                "sections": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "role": {
                        "type": "string",
                        "nullable": true
                      },
                      "text": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "role",
                      "text"
                    ],
                    "additionalProperties": false
                  }
                },
                "inheritancePatterns": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "relatedGenes": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "symbol": {
                        "type": "string"
                      },
                      "url": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "symbol",
                      "url"
                    ],
                    "additionalProperties": false
                  }
                },
                "synonyms": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "crossReferences": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "db": {
                        "type": "string"
                      },
                      "key": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "db",
                      "key"
                    ],
                    "additionalProperties": false
                  }
                },
                "url": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "query",
                "type",
                "name",
                "summary",
                "sections",
                "inheritancePatterns",
                "relatedGenes",
                "synonyms",
                "crossReferences",
                "url"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "medical.icd10",
      "group": "medical",
      "name": "icd10",
      "method": "GET",
      "path": "/api/medical/icd10",
      "url": "https://2s.io/api/medical/icd10",
      "description": "Verify and search ICD-10-CM diagnosis codes against the official US code set (FY2026, ~98k entries). Pass code (with or without the dot, e.g. E11.9 or E119) to confirm the code exists and list its more-specific child codes, or q to keyword-search code descriptions (e.g. \"type 2 diabetes neuropathy\"). Optional billable_only=true restricts results to codes valid for claim submission; limit caps results (1-50, default 10). Returns a verified flag, the exact match if any, and matched codes with billable status plus short and long descriptions. Data: CMS/NCHS ICD-10-CM (public domain), refreshed each US fiscal year. Use to confirm diagnosis codes are real and current before placing them in claims, prior authorizations, or clinical documents.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "minLength": 3,
            "maxLength": 9,
            "pattern": "^[A-Za-z][0-9][0-9A-Za-z](\\.?[0-9A-Za-z]{0,4})$",
            "description": "ICD-10-CM code to verify, with or without the dot (e.g. E11.9 or E119). Returns the exact match plus more-specific child codes. Provide either code or q, not both."
          },
          "q": {
            "type": "string",
            "minLength": 3,
            "maxLength": 120,
            "description": "Keyword search over official code descriptions (e.g. \"type 2 diabetes neuropathy\"). Every word must match. Provide either code or q, not both."
          },
          "billable_only": {
            "type": "boolean",
            "description": "When true, only return codes valid for claim submission (excludes category headers)."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Maximum codes returned (1-50, default 10)."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "code": "xxx",
        "q": "xxx",
        "billable_only": false,
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string",
                  "description": "Storage form without the dot, e.g. E119."
                },
                "codeDotted": {
                  "type": "string",
                  "description": "Conventional display form, e.g. E11.9."
                },
                "billable": {
                  "type": "boolean",
                  "description": "True when valid for claim submission (leaf code); false for category headers."
                },
                "shortDescription": {
                  "type": "string"
                },
                "longDescription": {
                  "type": "string"
                }
              },
              "required": [
                "code",
                "codeDotted",
                "billable",
                "shortDescription",
                "longDescription"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "mode": {
                "type": "string",
                "enum": [
                  "verify",
                  "keyword"
                ],
                "description": "verify = code lookup; keyword = q search."
              },
              "query": {
                "type": "object",
                "properties": {
                  "code": {
                    "type": "string",
                    "nullable": true
                  },
                  "q": {
                    "type": "string",
                    "nullable": true
                  },
                  "billableOnly": {
                    "type": "boolean"
                  },
                  "limit": {
                    "type": "integer"
                  }
                },
                "required": [
                  "code",
                  "q",
                  "billableOnly",
                  "limit"
                ],
                "additionalProperties": false
              },
              "verified": {
                "type": "boolean",
                "nullable": true,
                "description": "Verify mode: true iff the exact code exists in the official set. null in keyword mode."
              },
              "exactMatch": {
                "type": "object",
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "Storage form without the dot, e.g. E119."
                  },
                  "codeDotted": {
                    "type": "string",
                    "description": "Conventional display form, e.g. E11.9."
                  },
                  "billable": {
                    "type": "boolean",
                    "description": "True when valid for claim submission (leaf code); false for category headers."
                  },
                  "shortDescription": {
                    "type": "string"
                  },
                  "longDescription": {
                    "type": "string"
                  }
                },
                "required": [
                  "code",
                  "codeDotted",
                  "billable",
                  "shortDescription",
                  "longDescription"
                ],
                "additionalProperties": false,
                "nullable": true,
                "description": "The exact code when verified, else null."
              },
              "fiscalYear": {
                "type": "integer",
                "description": "US fiscal year of the loaded code set."
              }
            },
            "required": [
              "mode",
              "query",
              "verified",
              "exactMatch",
              "fiscalYear"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "medical.npi",
      "group": "medical",
      "name": "npi",
      "method": "GET",
      "path": "/api/medical/npi",
      "url": "https://2s.io/api/medical/npi",
      "description": "Look up US healthcare providers in the CMS NPPES registry — the authoritative directory of National Provider Identifiers (NPIs). Give an exact 10-digit NPI, or search by provider last name (+ optional first name), or organization name, optionally narrowed by state and taxonomy/specialty. Returns each provider with NPI, entity type (individual vs organization), status, name/credential/gender or organization name, sole-proprietor flag, enumeration + last-updated dates, primary taxonomy, the full taxonomy list (code, description, primary flag, state license), and practice/mailing addresses with phone. Free, public-domain (CMS). The canonical \"who is this NPI / find this provider\" lookup for healthcare, claims, and credentialing agents.",
      "priceUsd": 0.00108,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "npi": {
            "type": "string",
            "pattern": "^\\d{10}$"
          },
          "firstName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 60
          },
          "lastName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 60
          },
          "organization": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2
          },
          "taxonomy": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "npi": "1679576722"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "npi": {
                  "type": "string",
                  "nullable": true
                },
                "enumerationType": {
                  "type": "string",
                  "nullable": true
                },
                "entityType": {
                  "type": "string",
                  "enum": [
                    "Individual",
                    "Organization"
                  ],
                  "nullable": true
                },
                "status": {
                  "type": "string",
                  "nullable": true
                },
                "firstName": {
                  "type": "string",
                  "nullable": true
                },
                "lastName": {
                  "type": "string",
                  "nullable": true
                },
                "credential": {
                  "type": "string",
                  "nullable": true
                },
                "gender": {
                  "type": "string",
                  "nullable": true
                },
                "organizationName": {
                  "type": "string",
                  "nullable": true
                },
                "soleProprietor": {
                  "type": "string",
                  "nullable": true
                },
                "enumerationDate": {
                  "type": "string",
                  "nullable": true
                },
                "lastUpdated": {
                  "type": "string",
                  "nullable": true
                },
                "primaryTaxonomy": {
                  "type": "string",
                  "nullable": true
                },
                "taxonomies": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "type": "string",
                        "nullable": true
                      },
                      "description": {
                        "type": "string",
                        "nullable": true
                      },
                      "primary": {
                        "type": "boolean"
                      },
                      "state": {
                        "type": "string",
                        "nullable": true
                      },
                      "license": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "code",
                      "description",
                      "primary",
                      "state",
                      "license"
                    ],
                    "additionalProperties": false
                  }
                },
                "addresses": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "purpose": {
                        "type": "string",
                        "nullable": true
                      },
                      "address1": {
                        "type": "string",
                        "nullable": true
                      },
                      "address2": {
                        "type": "string",
                        "nullable": true
                      },
                      "city": {
                        "type": "string",
                        "nullable": true
                      },
                      "state": {
                        "type": "string",
                        "nullable": true
                      },
                      "postalCode": {
                        "type": "string",
                        "nullable": true
                      },
                      "countryCode": {
                        "type": "string",
                        "nullable": true
                      },
                      "telephone": {
                        "type": "string",
                        "nullable": true
                      },
                      "fax": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "purpose",
                      "address1",
                      "address2",
                      "city",
                      "state",
                      "postalCode",
                      "countryCode",
                      "telephone",
                      "fax"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "npi",
                "enumerationType",
                "entityType",
                "status",
                "firstName",
                "lastName",
                "credential",
                "gender",
                "organizationName",
                "soleProprietor",
                "enumerationDate",
                "lastUpdated",
                "primaryTaxonomy",
                "taxonomies",
                "addresses"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "medical.provider-id-resolve",
      "group": "medical",
      "name": "provider-id-resolve",
      "method": "GET",
      "path": "/api/medical/provider-id-resolve",
      "url": "https://2s.io/api/medical/provider-id-resolve",
      "description": "Resolve a 10-digit NPI to the provider identity plus a fully decoded specialty profile in one call: entity type, name/organization, status, the primary specialty (NUCC grouping + classification + display name), and every taxonomy on the record decoded the same way -- with primary flag, practice state, and license. Combines the NPPES lookup (medical.npi) with the NUCC specialty decode (medical.taxonomy-specialty) so a claims, credentialing, or referral agent gets \"who is this NPI and what do they actually do\" without a second call. Data: CMS NPPES + NUCC (US public domain). Note: the facility CCN (CMS Certification Number) requires a separate CMS enrollment crosswalk and is returned null (DEFERRED) rather than guessed.",
      "priceUsd": 0.0036,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "npi": {
            "type": "string",
            "pattern": "^\\d{10}$",
            "description": "10-digit National Provider Identifier."
          }
        },
        "required": [
          "npi"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "npi": "1003116781"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "npi": {
                  "type": "string"
                },
                "entityType": {
                  "type": "string",
                  "nullable": true
                },
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "organizationName": {
                  "type": "string",
                  "nullable": true
                },
                "status": {
                  "type": "string",
                  "nullable": true
                },
                "primarySpecialty": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "nullable": true
                    },
                    "grouping": {
                      "type": "string",
                      "nullable": true
                    },
                    "classification": {
                      "type": "string",
                      "nullable": true
                    },
                    "displayName": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "code",
                    "grouping",
                    "classification",
                    "displayName"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                },
                "taxonomies": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "type": "string",
                        "nullable": true
                      },
                      "primary": {
                        "type": "boolean"
                      },
                      "state": {
                        "type": "string",
                        "nullable": true
                      },
                      "license": {
                        "type": "string",
                        "nullable": true
                      },
                      "grouping": {
                        "type": "string",
                        "nullable": true
                      },
                      "classification": {
                        "type": "string",
                        "nullable": true
                      },
                      "specialization": {
                        "type": "string",
                        "nullable": true
                      },
                      "displayName": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "code",
                      "primary",
                      "state",
                      "license",
                      "grouping",
                      "classification",
                      "specialization",
                      "displayName"
                    ],
                    "additionalProperties": false
                  }
                },
                "ccn": {
                  "enum": [
                    "null"
                  ],
                  "nullable": true,
                  "description": "DEFERRED: NPI<->CCN crosswalk needs a CMS enrollment ingest."
                }
              },
              "required": [
                "npi",
                "entityType",
                "name",
                "organizationName",
                "status",
                "primarySpecialty",
                "taxonomies",
                "ccn"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "medical.rxnorm",
      "group": "medical",
      "name": "rxnorm",
      "method": "GET",
      "path": "/api/medical/rxnorm",
      "url": "https://2s.io/api/medical/rxnorm",
      "description": "Normalize and verify drug names against RxNorm, the canonical US drug vocabulary from the NIH. Two modes: term (\"tylenol 500mg\", brand or generic, typos tolerated) returns ranked RxCUI candidates with normalized names and match scores; rxcui returns the canonical concept (name, term type like IN=ingredient / SBD=branded drug / SCD=clinical drug, suppression flag) plus related concepts — active ingredients, brand names, and available dose forms. Use before writing prescriptions data, drug interactions queries, or pharmacy integrations: verify the drug exists and get its stable identifier instead of trusting model memory. Sibling: /api/medical/icd10 (diagnosis codes). Public-domain NIH data.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "term": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200,
            "description": "Free-text drug name. Provide term or rxcui, not both."
          },
          "rxcui": {
            "type": "string",
            "pattern": "^\\d{1,8}$"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 20,
            "default": 5
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "term": "tylenol 500mg",
        "limit": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "mode": {
                "type": "string",
                "enum": [
                  "search",
                  "detail"
                ]
              },
              "concept": {
                "type": "object",
                "properties": {
                  "rxcui": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "synonym": {
                    "type": "string",
                    "nullable": true
                  },
                  "termType": {
                    "type": "string",
                    "nullable": true,
                    "description": "IN=ingredient, BN=brand, SBD=branded drug, SCD=clinical drug, …"
                  },
                  "suppressed": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "rxcui",
                  "name",
                  "synonym",
                  "termType",
                  "suppressed"
                ],
                "additionalProperties": false,
                "nullable": true,
                "description": "Canonical concept (detail mode). Null when the rxcui does not exist."
              },
              "related": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "termType": {
                      "type": "string"
                    },
                    "concepts": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "rxcui": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "rxcui",
                          "name"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "termType",
                    "concepts"
                  ],
                  "additionalProperties": false
                },
                "nullable": true,
                "description": "Related concepts by term type: IN (ingredients), BN (brands), DF (dose forms). Detail mode only."
              }
            },
            "required": [
              "mode",
              "concept",
              "related"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "medical.taxonomy-specialty",
      "group": "medical",
      "name": "taxonomy-specialty",
      "method": "GET",
      "path": "/api/medical/taxonomy-specialty",
      "url": "https://2s.io/api/medical/taxonomy-specialty",
      "description": "Resolve a NUCC Health Care Provider Taxonomy code -- the specialty code returned by medical.npi and printed on every NPPES record -- into its human specialty: grouping (top level, e.g. \"Allopathic & Osteopathic Physicians\"), classification (e.g. \"Anesthesiology\"), specialization, the official display name, and the section (Individual vs Non-Individual). The decode step every claims, credentialing, and provider-directory agent needs to turn an opaque 10-char taxonomy code into a readable specialty. Data: NUCC code set (public domain), bundled and version-pinned. Note: the CMS Medicare 2-char physician-specialty crosswalk is published only as a PDF, so medicareSpecialty is returned null (DEFERRED) rather than guessed.",
      "priceUsd": 0.0036,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "pattern": "^[0-9A-Za-z]{10}$",
            "description": "NUCC taxonomy code, e.g. 207L00000X."
          }
        },
        "required": [
          "code"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "code": "207L00000X"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "grouping": {
                  "type": "string",
                  "nullable": true
                },
                "classification": {
                  "type": "string",
                  "nullable": true
                },
                "specialization": {
                  "type": "string",
                  "nullable": true
                },
                "displayName": {
                  "type": "string",
                  "nullable": true
                },
                "section": {
                  "type": "string",
                  "nullable": true
                },
                "medicareSpecialty": {
                  "enum": [
                    "null"
                  ],
                  "nullable": true,
                  "description": "DEFERRED: CMS Medicare specialty crosswalk is PDF-only; not bundled."
                }
              },
              "required": [
                "code",
                "grouping",
                "classification",
                "specialization",
                "displayName",
                "section",
                "medicareSpecialty"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "music.artist",
      "group": "music",
      "name": "artist",
      "method": "GET",
      "path": "/api/music/artist",
      "url": "https://2s.io/api/music/artist",
      "description": "Resolve a music artist from MusicBrainz (CC0). Pass a name (or free-text/Lucene query). Returns ranked artists with MusicBrainz ID (MBID), name, sort name, type (Person/Group), country, gender, life span (begin/end/ended), and disambiguation. Keyless, public-domain core data. Use to canonicalize an artist to its MBID.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 200
          },
          "query": {
            "type": "string",
            "maxLength": 300
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 25
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "name": "Radiohead"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "mbid": {
                  "type": "string"
                },
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "sortName": {
                  "type": "string",
                  "nullable": true
                },
                "type": {
                  "type": "string",
                  "nullable": true
                },
                "country": {
                  "type": "string",
                  "nullable": true
                },
                "gender": {
                  "type": "string",
                  "nullable": true
                },
                "lifeSpanBegin": {
                  "type": "string",
                  "nullable": true
                },
                "lifeSpanEnd": {
                  "type": "string",
                  "nullable": true
                },
                "ended": {
                  "type": "boolean",
                  "nullable": true
                },
                "disambiguation": {
                  "type": "string",
                  "nullable": true
                },
                "score": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "mbid",
                "name",
                "sortName",
                "type",
                "country",
                "gender",
                "lifeSpanBegin",
                "lifeSpanEnd",
                "ended",
                "disambiguation",
                "score"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "music.recording",
      "group": "music",
      "name": "recording",
      "method": "GET",
      "path": "/api/music/recording",
      "url": "https://2s.io/api/music/recording",
      "description": "Resolve a song/recording from MusicBrainz (the open, CC0 music encyclopedia). Pass artist + title, or a free-text query (Lucene supported). Returns ranked recordings with MusicBrainz ID (MBID), title, primary artist, length (ms), first-release date, and disambiguation. Keyless, public-domain core data. Use to canonicalize a track to its MBID or cross-reference identity.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "artist": {
            "type": "string",
            "maxLength": 200
          },
          "title": {
            "type": "string",
            "maxLength": 200
          },
          "query": {
            "type": "string",
            "maxLength": 300
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 25
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "artist": "Radiohead",
        "title": "Creep"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "mbid": {
                  "type": "string"
                },
                "title": {
                  "type": "string",
                  "nullable": true
                },
                "artist": {
                  "type": "string",
                  "nullable": true
                },
                "lengthMs": {
                  "type": "number",
                  "nullable": true
                },
                "firstReleaseDate": {
                  "type": "string",
                  "nullable": true
                },
                "disambiguation": {
                  "type": "string",
                  "nullable": true
                },
                "score": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "mbid",
                "title",
                "artist",
                "lengthMs",
                "firstReleaseDate",
                "disambiguation",
                "score"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "music.release",
      "group": "music",
      "name": "release",
      "method": "GET",
      "path": "/api/music/release",
      "url": "https://2s.io/api/music/release",
      "description": "Resolve an album/release from MusicBrainz (CC0). Pass a barcode (UPC/EAN), or artist + album, or a free-text query. Returns ranked releases with MusicBrainz ID (MBID), title, primary artist, release date, country, barcode, status, track count, label, and catalog number. Keyless, public-domain core data. Barcode → album is the differentiated lookup (resolve a physical product to its metadata).",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "barcode": {
            "type": "string",
            "pattern": "^\\d{6,14}$"
          },
          "artist": {
            "type": "string",
            "maxLength": 200
          },
          "album": {
            "type": "string",
            "maxLength": 200
          },
          "query": {
            "type": "string",
            "maxLength": 300
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 25
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "artist": "Radiohead",
        "album": "OK Computer"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "mbid": {
                  "type": "string"
                },
                "title": {
                  "type": "string",
                  "nullable": true
                },
                "artist": {
                  "type": "string",
                  "nullable": true
                },
                "date": {
                  "type": "string",
                  "nullable": true
                },
                "country": {
                  "type": "string",
                  "nullable": true
                },
                "barcode": {
                  "type": "string",
                  "nullable": true
                },
                "status": {
                  "type": "string",
                  "nullable": true
                },
                "trackCount": {
                  "type": "number",
                  "nullable": true
                },
                "label": {
                  "type": "string",
                  "nullable": true
                },
                "catalogNumber": {
                  "type": "string",
                  "nullable": true
                },
                "score": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "mbid",
                "title",
                "artist",
                "date",
                "country",
                "barcode",
                "status",
                "trackCount",
                "label",
                "catalogNumber",
                "score"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "net.asn",
      "group": "net",
      "name": "asn",
      "method": "GET",
      "path": "/api/net/asn",
      "url": "https://2s.io/api/net/asn",
      "description": "Look up an Autonomous System (BGP) by AS number. Pass asn as AS3333 or 3333. Returns the AS holder/operator name, the IANA/RIR allocation block it falls in, whether it is currently announced, and a live routing-status block: first/last seen prefixes, announced IPv4/IPv6 prefix + address counts, RIS peer visibility, and observed BGP neighbour count. Data: RIPEstat (RIPE NCC), free and public. Distinct from geo.ip (host geolocation) and dns/whois (name lookups) — this is who-owns-and-routes-this-AS, observed live from the global routing table. For network forensics, abuse/security triage, and infrastructure mapping.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "asn": {
            "type": "string",
            "minLength": 1,
            "maxLength": 15,
            "description": "AS number, e.g. AS3333 or 3333."
          }
        },
        "required": [
          "asn"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "asn": "AS3333"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "asn": {
            "type": "number"
          },
          "resource": {
            "type": "string"
          },
          "holder": {
            "type": "string",
            "nullable": true
          },
          "announced": {
            "type": "boolean",
            "nullable": true
          },
          "block": {
            "type": "object",
            "properties": {
              "resource": {
                "type": "string",
                "nullable": true
              },
              "name": {
                "type": "string",
                "nullable": true
              },
              "description": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "resource",
              "name",
              "description"
            ],
            "additionalProperties": false,
            "nullable": true
          },
          "routing": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "firstSeen": {
                "type": "object",
                "properties": {
                  "prefix": {
                    "type": "string"
                  },
                  "time": {
                    "type": "string"
                  }
                },
                "required": [
                  "prefix",
                  "time"
                ],
                "additionalProperties": false,
                "nullable": true
              },
              "lastSeen": {
                "type": "object",
                "properties": {
                  "prefix": {
                    "type": "string"
                  },
                  "time": {
                    "type": "string"
                  }
                },
                "required": [
                  "prefix",
                  "time"
                ],
                "additionalProperties": false,
                "nullable": true
              },
              "announcedV4": {
                "type": "object",
                "properties": {
                  "prefixes": {
                    "type": "number"
                  },
                  "ips": {
                    "type": "number"
                  }
                },
                "required": [
                  "prefixes",
                  "ips"
                ],
                "additionalProperties": false,
                "nullable": true
              },
              "announcedV6": {
                "type": "object",
                "properties": {
                  "prefixes": {
                    "type": "number"
                  },
                  "slash48s": {
                    "type": "number"
                  }
                },
                "required": [
                  "prefixes",
                  "slash48s"
                ],
                "additionalProperties": false,
                "nullable": true
              },
              "visibilityV4": {
                "type": "object",
                "properties": {
                  "seeing": {
                    "type": "number"
                  },
                  "total": {
                    "type": "number"
                  }
                },
                "required": [
                  "seeing",
                  "total"
                ],
                "additionalProperties": false,
                "nullable": true
              },
              "visibilityV6": {
                "type": "object",
                "properties": {
                  "seeing": {
                    "type": "number"
                  },
                  "total": {
                    "type": "number"
                  }
                },
                "required": [
                  "seeing",
                  "total"
                ],
                "additionalProperties": false,
                "nullable": true
              },
              "observedNeighbours": {
                "type": "number",
                "nullable": true
              }
            },
            "required": [
              "found",
              "error",
              "firstSeen",
              "lastSeen",
              "announcedV4",
              "announcedV6",
              "visibilityV4",
              "visibilityV6",
              "observedNeighbours"
            ],
            "additionalProperties": false
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "provider": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                },
                "license": {
                  "type": "string"
                }
              },
              "required": [
                "provider",
                "url",
                "license"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "asn",
          "resource",
          "holder",
          "announced",
          "block",
          "routing",
          "sources"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "net.ip-resolve",
      "group": "net",
      "name": "ip-resolve",
      "method": "GET",
      "path": "/api/net/ip-resolve",
      "url": "https://2s.io/api/net/ip-resolve",
      "description": "Resolve a single IPv4/IPv6 address to its full network identity in one call: the Autonomous System number, the authoritative AS holder/operator (RIPEstat), the ISP + organization, whether the AS is currently announced, the RIR/IANA allocation block the AS sits in, and country/region/city + coordinates + timezone. One join that turns an IP into \"who runs this network and where\" -- the lookup network-forensics, abuse triage, and fraud agents otherwise stitch together from a geo API plus a separate BGP source. Composes geo IP data + RIPEstat (RIPE NCC, CC BY 4.0); the routing/holder block degrades independently, with per-source status returned. Distinct from net.asn (AS-number first) and geo.ip (geo only): this is IP-first and joins both.",
      "priceUsd": 0.0036,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ip": {
            "type": "string",
            "pattern": "^(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}|[0-9a-fA-F:]+)$",
            "minLength": 2,
            "maxLength": 45,
            "description": "IPv4 or IPv6 address, e.g. 8.8.8.8."
          }
        },
        "required": [
          "ip"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ip": "8.8.8.8"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ip": {
                  "type": "string"
                },
                "asn": {
                  "type": "number",
                  "nullable": true
                },
                "asnHolder": {
                  "type": "string",
                  "nullable": true
                },
                "org": {
                  "type": "string",
                  "nullable": true
                },
                "isp": {
                  "type": "string",
                  "nullable": true
                },
                "rir": {
                  "type": "object",
                  "properties": {
                    "resource": {
                      "type": "string",
                      "nullable": true
                    },
                    "name": {
                      "type": "string",
                      "nullable": true
                    },
                    "description": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "resource",
                    "name",
                    "description"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                },
                "announced": {
                  "type": "boolean",
                  "nullable": true
                },
                "country": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "nullable": true
                    },
                    "name": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "code",
                    "name"
                  ],
                  "additionalProperties": false
                },
                "region": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "nullable": true
                    },
                    "name": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "code",
                    "name"
                  ],
                  "additionalProperties": false
                },
                "city": {
                  "type": "string",
                  "nullable": true
                },
                "coords": {
                  "type": "object",
                  "properties": {
                    "lat": {
                      "type": "number"
                    },
                    "lon": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "lat",
                    "lon"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                },
                "timezone": {
                  "type": "string",
                  "nullable": true
                },
                "sources": {
                  "type": "object",
                  "properties": {
                    "geo": {
                      "type": "string"
                    },
                    "ripe": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "geo",
                    "ripe"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "ip",
                "asn",
                "asnHolder",
                "org",
                "isp",
                "rir",
                "announced",
                "country",
                "region",
                "city",
                "coords",
                "timezone",
                "sources"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "net.mac-vendor",
      "group": "net",
      "name": "mac-vendor",
      "method": "GET",
      "path": "/api/net/mac-vendor",
      "url": "https://2s.io/api/net/mac-vendor",
      "description": "Resolve a MAC address (or bare OUI prefix) to its IEEE-registered hardware vendor. Accepts any common format — FC:FB:FB:01:02:03, fc-fb-fb-01-02-03, fcfb.fb01.0203, fcfbfb, or a 9-hex MA-S prefix. Uses longest-prefix matching across the IEEE MA-L (24-bit), MA-M (28-bit) and MA-S (36-bit) registries so blocks IEEE has subdivided resolve to the actual manufacturer. Returns the vendor name, the matched OUI prefix and which registry it came from, plus decoded address bits: whether the address is multicast/group, locally administered, or a randomized (privacy) MAC — for which no vendor exists by design. Authoritative bundled IEEE data.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "mac": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "description": "MAC address or OUI prefix, e.g. FC:FB:FB:01:02:03 or fcfbfb."
          }
        },
        "required": [
          "mac"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "mac": "FC:FB:FB:01:02:03"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "mac": {
                "type": "string"
              }
            },
            "required": [
              "mac"
            ],
            "additionalProperties": false
          },
          "normalized": {
            "type": "string",
            "nullable": true
          },
          "oui": {
            "type": "string",
            "nullable": true
          },
          "registry": {
            "type": "string",
            "enum": [
              "MA-L",
              "MA-M",
              "MA-S"
            ],
            "nullable": true
          },
          "vendor": {
            "type": "string",
            "nullable": true
          },
          "found": {
            "type": "boolean"
          },
          "isMulticast": {
            "type": "boolean"
          },
          "isLocallyAdministered": {
            "type": "boolean"
          },
          "isRandomized": {
            "type": "boolean"
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "query",
          "normalized",
          "oui",
          "registry",
          "vendor",
          "found",
          "isMulticast",
          "isLocallyAdministered",
          "isRandomized",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "net.rpki-validity",
      "group": "net",
      "name": "rpki-validity",
      "method": "GET",
      "path": "/api/net/rpki-validity",
      "url": "https://2s.io/api/net/rpki-validity",
      "description": "RPKI Route Origin Validation for a (BGP origin AS, prefix) pair — answers whether an AS is legitimately authorized to originate a prefix. Pass asn (e.g. AS15169) and prefix (CIDR, e.g. 8.8.8.0/24). Returns status (valid = a ROA authorizes it; invalid = a ROA exists but does NOT authorize this origin — a possible hijack/route-leak that RPKI-enforcing networks will drop; unknown = no covering ROA), a hijackSignal boolean, the validating ROAs (origin, prefix, maxLength), and a plain-English description. Live RIR/RPKI data via RIPEstat (keyless) — un-derivable by an LLM. The core BGP-security check; complements net.asn.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "asn": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20
          },
          "prefix": {
            "type": "string",
            "minLength": 4,
            "maxLength": 49
          }
        },
        "required": [
          "asn",
          "prefix"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "asn": "AS15169",
        "prefix": "8.8.8.0/24"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "asn": {
                  "type": "integer"
                },
                "prefix": {
                  "type": "string"
                },
                "status": {
                  "type": "string",
                  "description": "valid | invalid | unknown"
                },
                "hijackSignal": {
                  "type": "boolean"
                },
                "validatingRoas": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "origin": {
                        "type": "number",
                        "nullable": true
                      },
                      "prefix": {
                        "type": "string",
                        "nullable": true
                      },
                      "maxLength": {
                        "type": "number",
                        "nullable": true
                      },
                      "validity": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "origin",
                      "prefix",
                      "maxLength",
                      "validity"
                    ],
                    "additionalProperties": false
                  }
                },
                "description": {
                  "type": "string"
                }
              },
              "required": [
                "asn",
                "prefix",
                "status",
                "hijackSignal",
                "validatingRoas",
                "description"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "news.hn-item",
      "group": "news",
      "name": "hn-item",
      "method": "GET",
      "path": "/api/news/hn-item",
      "url": "https://2s.io/api/news/hn-item",
      "description": "Fetch a specific Hacker News item (story, comment, job, poll) by its numeric ID. Returns id, type, author, time (unix + ISO), title, URL, text, score, descendant count, kid count, parent (for comments), dead/deleted flags, canonical news.ycombinator.com URL.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000000000
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "id": 8863
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer"
                },
                "type": {
                  "type": "string",
                  "nullable": true
                },
                "by": {
                  "type": "string",
                  "nullable": true
                },
                "time": {
                  "type": "integer",
                  "nullable": true
                },
                "timeIso": {
                  "type": "string",
                  "nullable": true
                },
                "title": {
                  "type": "string",
                  "nullable": true
                },
                "url": {
                  "type": "string",
                  "nullable": true
                },
                "text": {
                  "type": "string",
                  "nullable": true
                },
                "score": {
                  "type": "integer",
                  "nullable": true
                },
                "descendantsCount": {
                  "type": "integer",
                  "nullable": true
                },
                "kidsCount": {
                  "type": "integer"
                },
                "parent": {
                  "type": "integer",
                  "nullable": true
                },
                "deleted": {
                  "type": "boolean"
                },
                "dead": {
                  "type": "boolean"
                },
                "hnUrl": {
                  "type": "string",
                  "format": "uri"
                }
              },
              "required": [
                "id",
                "type",
                "by",
                "time",
                "timeIso",
                "title",
                "url",
                "text",
                "score",
                "descendantsCount",
                "kidsCount",
                "parent",
                "deleted",
                "dead",
                "hnUrl"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "news.hn-search",
      "group": "news",
      "name": "hn-search",
      "method": "GET",
      "path": "/api/news/hn-search",
      "url": "https://2s.io/api/news/hn-search",
      "description": "Full-text search across all of Hacker News (via the Algolia HN API). Search stories or comments by keyword, sorted by relevance or by date (newest first). Filter by tags (story/comment/ask_hn/show_hn/poll) and by author. Each hit: title, URL, author, points, comment count, story/comment text, created time, and canonical HN URL. Net-new vs news.hn-top (curated feeds) and news.search (general news).",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "maxLength": 400,
            "description": "Search keywords (may be empty when filtering by tags/author).",
            "default": ""
          },
          "tags": {
            "type": "string",
            "enum": [
              "story",
              "comment",
              "ask_hn",
              "show_hn",
              "poll"
            ]
          },
          "sort": {
            "type": "string",
            "enum": [
              "relevance",
              "date"
            ]
          },
          "author": {
            "type": "string",
            "maxLength": 40,
            "description": "Restrict to one HN author."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "query": "",
        "tags": "story",
        "sort": "relevance",
        "author": "example",
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "objectId": {
                  "type": "string",
                  "nullable": true
                },
                "type": {
                  "type": "string"
                },
                "title": {
                  "type": "string",
                  "nullable": true
                },
                "url": {
                  "type": "string",
                  "nullable": true
                },
                "author": {
                  "type": "string",
                  "nullable": true
                },
                "points": {
                  "type": "number",
                  "nullable": true
                },
                "numComments": {
                  "type": "number",
                  "nullable": true
                },
                "storyText": {
                  "type": "string",
                  "nullable": true
                },
                "commentText": {
                  "type": "string",
                  "nullable": true
                },
                "createdAt": {
                  "type": "string",
                  "nullable": true
                },
                "storyId": {
                  "type": "number",
                  "nullable": true
                },
                "hnUrl": {
                  "type": "string"
                }
              },
              "required": [
                "objectId",
                "type",
                "title",
                "url",
                "author",
                "points",
                "numComments",
                "storyText",
                "commentText",
                "createdAt",
                "storyId",
                "hnUrl"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "string"
              },
              "nbHits": {
                "type": "number"
              }
            },
            "required": [
              "query",
              "nbHits"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "news.hn-top",
      "group": "news",
      "name": "hn-top",
      "method": "GET",
      "path": "/api/news/hn-top",
      "url": "https://2s.io/api/news/hn-top",
      "description": "Hacker News feed of items. Pass kind = top (default) | new | best | ask | show | job to pick the feed. Returns each item's id, type, author, time (unix + ISO), title, URL, text (for self-posts), score, descendant + kid counts, parent (for comments), dead/deleted flags, and canonical news.ycombinator.com URL. Default limit = 30, max 100. Useful for tech-sentiment + topic tracking.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "top",
              "new",
              "best",
              "ask",
              "show",
              "job"
            ],
            "default": "top"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 30
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "kind": "top",
        "limit": 10
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer"
                },
                "type": {
                  "type": "string",
                  "nullable": true
                },
                "by": {
                  "type": "string",
                  "nullable": true
                },
                "time": {
                  "type": "integer",
                  "nullable": true
                },
                "timeIso": {
                  "type": "string",
                  "nullable": true
                },
                "title": {
                  "type": "string",
                  "nullable": true
                },
                "url": {
                  "type": "string",
                  "nullable": true
                },
                "text": {
                  "type": "string",
                  "nullable": true
                },
                "score": {
                  "type": "integer",
                  "nullable": true
                },
                "descendantsCount": {
                  "type": "integer",
                  "nullable": true
                },
                "kidsCount": {
                  "type": "integer"
                },
                "parent": {
                  "type": "integer",
                  "nullable": true
                },
                "deleted": {
                  "type": "boolean"
                },
                "dead": {
                  "type": "boolean"
                },
                "hnUrl": {
                  "type": "string",
                  "format": "uri"
                }
              },
              "required": [
                "id",
                "type",
                "by",
                "time",
                "timeIso",
                "title",
                "url",
                "text",
                "score",
                "descendantsCount",
                "kidsCount",
                "parent",
                "deleted",
                "dead",
                "hnUrl"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string"
              }
            },
            "required": [
              "kind"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "news.hn-user",
      "group": "news",
      "name": "hn-user",
      "method": "GET",
      "path": "/api/news/hn-user",
      "url": "https://2s.io/api/news/hn-user",
      "description": "Hacker News user profile by username. Returns id, account creation time (unix + ISO), karma, the about/bio text, number of items submitted, and the canonical news.ycombinator.com profile URL. Unknown user returns an empty result.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "username": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40,
            "description": "HN username, e.g. pg, dang."
          }
        },
        "required": [
          "username"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "username": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "nullable": true
                },
                "created": {
                  "type": "number",
                  "nullable": true
                },
                "createdIso": {
                  "type": "string",
                  "nullable": true
                },
                "karma": {
                  "type": "number",
                  "nullable": true
                },
                "about": {
                  "type": "string",
                  "nullable": true
                },
                "submittedCount": {
                  "type": "number",
                  "nullable": true
                },
                "hnUrl": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "created",
                "createdIso",
                "karma",
                "about",
                "submittedCount",
                "hnUrl"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "news.search",
      "group": "news",
      "name": "search",
      "method": "GET",
      "path": "/api/news/search",
      "url": "https://2s.io/api/news/search",
      "description": "Live news search. Returns recent headlines with title, URL, snippet, publisher source, relative age, and a breaking-news flag — real-time coverage past any model training cutoff. Supports count (1-20), offset, country (2-letter), and freshness (pd=past day, pw=past week, pm=past month, py=past year). Use for current events, market-moving developments, monitoring, and \"what happened with X\" questions. For general web results see /api/search/web; for Hacker News specifically see /api/news/hn-top.",
      "priceUsd": 0.009,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "minLength": 1,
            "maxLength": 400,
            "description": "News query."
          },
          "count": {
            "type": "integer",
            "minimum": 1,
            "maximum": 20,
            "default": 10
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9,
            "default": 0
          },
          "country": {
            "type": "string",
            "pattern": "^[a-zA-Z]{2}$"
          },
          "freshness": {
            "type": "string",
            "enum": [
              "pd",
              "pw",
              "pm",
              "py"
            ]
          }
        },
        "required": [
          "q"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "q": "artificial intelligence regulation",
        "count": 5,
        "freshness": "pw"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                },
                "description": {
                  "type": "string",
                  "nullable": true
                },
                "source": {
                  "type": "string",
                  "nullable": true,
                  "description": "Publisher hostname."
                },
                "age": {
                  "type": "string",
                  "nullable": true,
                  "description": "Relative recency, e.g. \"5 hours ago\"."
                },
                "breaking": {
                  "type": "boolean"
                },
                "thumbnail": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "title",
                "url",
                "description",
                "source",
                "age",
                "breaking",
                "thumbnail"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "string"
              }
            },
            "required": [
              "query"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "nonprofit.screen",
      "group": "nonprofit",
      "name": "screen",
      "method": "GET",
      "path": "/api/nonprofit/screen",
      "url": "https://2s.io/api/nonprofit/screen",
      "description": "Look up US 501(c) nonprofits and screen each result against the OFAC sanctions list in one call. Pass q (organization name) or ein; each matched organization returns its registry record (EIN, name, location, NTEE code, subsection) plus a sanctions block — flagged status, match count, and the matching SDN entries with confidence scores. Grant-making due diligence, donation compliance, and charity-fraud triage. Components also standalone: /api/nonprofit/search (registry only) and /api/law/sanctions-check (screen any name). Same composition family as /api/business/entity-screen.",
      "priceUsd": 0.00504,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120,
            "description": "Organization name. Provide q or ein, not both."
          },
          "ein": {
            "type": "string",
            "pattern": "^\\d{9}$"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "default": 5
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "q": "relief foundation",
        "limit": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string"
          },
          "count": {
            "type": "number"
          },
          "organizations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "org": {
                  "type": "object",
                  "additionalProperties": {},
                  "description": "Nonprofit registry record (EIN, name, location, NTEE)."
                },
                "sanctions": {
                  "type": "object",
                  "properties": {
                    "found": {
                      "type": "boolean",
                      "description": "True when the screen ran successfully."
                    },
                    "error": {
                      "type": "string",
                      "nullable": true
                    },
                    "flagged": {
                      "type": "boolean",
                      "description": "True when a high-confidence OFAC match exists."
                    },
                    "matchCount": {
                      "type": "number"
                    },
                    "matches": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": {}
                      }
                    }
                  },
                  "required": [
                    "found",
                    "error",
                    "flagged",
                    "matchCount",
                    "matches"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "org",
                "sanctions"
              ],
              "additionalProperties": false
            }
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "provider": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                },
                "license": {
                  "type": "string"
                }
              },
              "required": [
                "provider",
                "url",
                "license"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "query",
          "count",
          "organizations",
          "sources"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "nonprofit.search",
      "group": "nonprofit",
      "name": "search",
      "method": "GET",
      "path": "/api/nonprofit/search",
      "url": "https://2s.io/api/nonprofit/search",
      "description": "US 501(c) nonprofit organization search. Lookup by 9-digit EIN (with or without hyphen), free-text name, 2-letter state, NTEE category code (e.g. 'B99' for education), or IRS subsection code (3 = 501(c)(3), 4 = 501(c)(4), etc.). Each record includes EIN, name, city/state, NTEE code, subsection code + human-readable subsection description (e.g. '501(c)(3) Charitable / Religious / Educational'), and relevance score. Sourced from ProPublica Nonprofit Explorer, which aggregates IRS Form 990 + BMF data; underlying IRS data is public domain.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200
          },
          "ein": {
            "type": "string",
            "minLength": 9,
            "maxLength": 11,
            "pattern": "^\\d{2}-?\\d{7}$"
          },
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "pattern": "^[A-Za-z]{2}$"
          },
          "nteeCode": {
            "type": "string",
            "pattern": "^[A-Za-z][0-9]{1,3}$"
          },
          "subsectionCode": {
            "type": "integer",
            "minimum": 2,
            "maximum": 92
          },
          "page": {
            "type": "integer",
            "minimum": 0,
            "maximum": 99,
            "default": 0
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "q": "Khan Academy"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ein": {
                  "type": "string"
                },
                "einFormatted": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "subName": {
                  "type": "string",
                  "nullable": true
                },
                "city": {
                  "type": "string",
                  "nullable": true
                },
                "state": {
                  "type": "string",
                  "nullable": true
                },
                "nteeCode": {
                  "type": "string",
                  "nullable": true
                },
                "subsectionCode": {
                  "type": "integer",
                  "nullable": true
                },
                "subsectionDesc": {
                  "type": "string",
                  "nullable": true
                },
                "score": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "ein",
                "einFormatted",
                "name",
                "subName",
                "city",
                "state",
                "nteeCode",
                "subsectionCode",
                "subsectionDesc",
                "score"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "page": {
            "type": "object",
            "properties": {
              "number": {
                "type": "integer"
              },
              "size": {
                "type": "integer"
              },
              "pages": {
                "type": "integer",
                "nullable": true
              }
            },
            "required": [
              "number",
              "size",
              "pages"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "q": {
                    "type": "string",
                    "nullable": true
                  },
                  "ein": {
                    "type": "string",
                    "nullable": true
                  },
                  "state": {
                    "type": "string",
                    "nullable": true
                  },
                  "nteeCode": {
                    "type": "string",
                    "nullable": true
                  },
                  "subsectionCode": {
                    "type": "integer",
                    "nullable": true
                  },
                  "page": {
                    "type": "integer"
                  }
                },
                "required": [
                  "q",
                  "ein",
                  "state",
                  "nteeCode",
                  "subsectionCode",
                  "page"
                ],
                "additionalProperties": false
              },
              "returned": {
                "type": "integer"
              }
            },
            "required": [
              "query",
              "returned"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "nutrition.food",
      "group": "nutrition",
      "name": "food",
      "method": "GET",
      "path": "/api/nutrition/food",
      "url": "https://2s.io/api/nutrition/food",
      "description": "USDA FoodData Central nutrition lookup. Two modes: search (query=cheddar cheese) returns matching foods with fdcId, description, data type, category, and brand; detail (fdcId=328637) returns the full analyzed nutrient profile — energy, protein, fats, carbohydrates, vitamins, minerals — with USDA nutrient numbers, amounts, and units (per 100 g/ml unless serving fields indicate otherwise), plus ingredients for branded foods. Filter search by dataType: Foundation and SR Legacy are lab-analyzed generic foods, Branded is the packaged-food label corpus, Survey (FNDDS) is as-consumed dishes. Authoritative USDA data covering ~400k foods — use real analyzed values instead of model-estimated nutrition facts.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120,
            "description": "Food name to search, e.g. \"cheddar cheese\". Provide query or fdcId, not both."
          },
          "fdcId": {
            "type": "integer",
            "exclusiveMinimum": true,
            "minimum": 0,
            "description": "FDC food id — returns the full nutrient profile."
          },
          "dataType": {
            "type": "string",
            "enum": [
              "Foundation",
              "SR Legacy",
              "Survey (FNDDS)",
              "Branded"
            ],
            "description": "Restrict search to one data type. Foundation/SR Legacy = analyzed generic foods, Branded = packaged labels, Survey (FNDDS) = as-consumed dishes."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "default": 10
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "default": 1
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "query": "cheddar cheese",
        "dataType": "Foundation",
        "limit": 5
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "fdcId": {
                      "type": "number"
                    },
                    "description": {
                      "type": "string"
                    },
                    "dataType": {
                      "type": "string"
                    },
                    "foodCategory": {
                      "type": "string",
                      "nullable": true
                    },
                    "brandOwner": {
                      "type": "string",
                      "nullable": true
                    },
                    "brandName": {
                      "type": "string",
                      "nullable": true
                    },
                    "servingSize": {
                      "type": "number",
                      "nullable": true
                    },
                    "servingSizeUnit": {
                      "type": "string",
                      "nullable": true
                    },
                    "publishedDate": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "fdcId",
                    "description",
                    "dataType",
                    "foodCategory",
                    "brandOwner",
                    "brandName",
                    "servingSize",
                    "servingSizeUnit",
                    "publishedDate"
                  ],
                  "additionalProperties": false,
                  "description": "Search-mode hit (meta.mode = \"search\")."
                },
                {
                  "type": "object",
                  "properties": {
                    "fdcId": {
                      "type": "number"
                    },
                    "description": {
                      "type": "string"
                    },
                    "dataType": {
                      "type": "string"
                    },
                    "foodCategory": {
                      "type": "string",
                      "nullable": true
                    },
                    "brandOwner": {
                      "type": "string",
                      "nullable": true
                    },
                    "ingredients": {
                      "type": "string",
                      "nullable": true
                    },
                    "servingSize": {
                      "type": "number",
                      "nullable": true
                    },
                    "servingSizeUnit": {
                      "type": "string",
                      "nullable": true
                    },
                    "publicationDate": {
                      "type": "string",
                      "nullable": true
                    },
                    "nutrients": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "number": {
                            "type": "string",
                            "description": "USDA nutrient number, e.g. \"208\" = Energy (kcal)."
                          },
                          "name": {
                            "type": "string"
                          },
                          "amount": {
                            "type": "number"
                          },
                          "unitName": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "number",
                          "name",
                          "amount",
                          "unitName"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "fdcId",
                    "description",
                    "dataType",
                    "foodCategory",
                    "brandOwner",
                    "ingredients",
                    "servingSize",
                    "servingSizeUnit",
                    "publicationDate",
                    "nutrients"
                  ],
                  "additionalProperties": false,
                  "description": "Detail-mode full nutrient profile (meta.mode = \"detail\"). Values per 100 g/ml unless serving fields indicate otherwise."
                }
              ]
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "mode": {
                "type": "string",
                "enum": [
                  "search",
                  "detail"
                ]
              }
            },
            "required": [
              "mode"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "occupation.profile",
      "group": "occupation",
      "name": "profile",
      "method": "GET",
      "path": "/api/occupation/profile",
      "url": "https://2s.io/api/occupation/profile",
      "description": "Full occupation dossier from O*NET (US DOL) by SOC / O*NET-SOC code (e.g. 15-1252 or 15-1252.00). Returns title, description, bright-outlook flag, sample reported job titles, and the top skills, knowledge areas, abilities, work tasks, and technology skills/tools. CC-BY (O*NET attribution in source). The canonical occupation reference an agent needs for résumé/JD reasoning, career mapping, and skills analysis — pair the code with labor.wages for pay.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "minLength": 6,
            "maxLength": 12
          }
        },
        "required": [
          "code"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "code": "15-1252"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "title": {
                  "type": "string",
                  "nullable": true
                },
                "description": {
                  "type": "string",
                  "nullable": true
                },
                "brightOutlook": {
                  "type": "boolean"
                },
                "sampleJobTitles": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "skills": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "nullable": true
                      },
                      "description": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "name",
                      "description"
                    ],
                    "additionalProperties": false
                  }
                },
                "knowledge": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "nullable": true
                      },
                      "description": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "name",
                      "description"
                    ],
                    "additionalProperties": false
                  }
                },
                "abilities": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "nullable": true
                      },
                      "description": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "name",
                      "description"
                    ],
                    "additionalProperties": false
                  }
                },
                "tasks": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "technologySkills": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "code",
                "title",
                "description",
                "brightOutlook",
                "sampleJobTitles",
                "skills",
                "knowledge",
                "abilities",
                "tasks",
                "technologySkills"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "occupation.related",
      "group": "occupation",
      "name": "related",
      "method": "GET",
      "path": "/api/occupation/related",
      "url": "https://2s.io/api/occupation/related",
      "description": "Occupations related to a given O*NET occupation (career-adjacent roles), by SOC / O*NET-SOC code. Returns ranked related occupations with code + title. CC-BY (O*NET). For career-pathing, \"adjacent roles\", and transferable-skills reasoning.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "minLength": 6,
            "maxLength": 12
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          }
        },
        "required": [
          "code"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "code": "15-1252",
        "limit": 5
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "title": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "code",
                "title"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "occupation.search",
      "group": "occupation",
      "name": "search",
      "method": "GET",
      "path": "/api/occupation/search",
      "url": "https://2s.io/api/occupation/search",
      "description": "Find O*NET occupations by keyword (job title, skill, or activity). Returns ranked occupations with their SOC / O*NET-SOC code and title. CC-BY (O*NET). The \"what is the occupation code for this job/skill\" primitive — every other occupation.* and labor.wages call composes on the returned code.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "keyword": {
            "type": "string",
            "minLength": 2,
            "maxLength": 100
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          }
        },
        "required": [
          "keyword"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "keyword": "registered nurse",
        "limit": 5
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "title": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "code",
                "title"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "paper.doi-lookup",
      "group": "paper",
      "name": "doi-lookup",
      "method": "GET",
      "path": "/api/paper/doi-lookup",
      "url": "https://2s.io/api/paper/doi-lookup",
      "description": "Resolve a DOI to authoritative bibliographic metadata via Crossref. Accepts bare DOI (10.1038/nature12373) or full DOI URL (https://doi.org/10.1038/nature12373). Returns work type, title, container (journal/conference), publisher, issued/published dates, abstract, authors (with ORCID + affiliations), page range, volume/issue, ISBN + ISSN lists, canonical URL, reference + citation counts, license blocks, and subject classifications. ~160M works in Crossref. Best authoritative DOI → bibliographic resolver. Metadata is CC0.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "doi": {
            "type": "string",
            "minLength": 7,
            "maxLength": 300
          }
        },
        "required": [
          "doi"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "doi": "10.1038/nature12373"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "doi": {
                  "type": "string"
                },
                "type": {
                  "type": "string",
                  "nullable": true
                },
                "title": {
                  "type": "string",
                  "nullable": true
                },
                "containerTitle": {
                  "type": "string",
                  "nullable": true
                },
                "publisher": {
                  "type": "string",
                  "nullable": true
                },
                "issued": {
                  "type": "string",
                  "nullable": true
                },
                "publishedPrint": {
                  "type": "string",
                  "nullable": true
                },
                "publishedOnline": {
                  "type": "string",
                  "nullable": true
                },
                "abstract": {
                  "type": "string",
                  "nullable": true
                },
                "authors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "given": {
                        "type": "string",
                        "nullable": true
                      },
                      "family": {
                        "type": "string",
                        "nullable": true
                      },
                      "orcid": {
                        "type": "string",
                        "nullable": true
                      },
                      "affiliation": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    },
                    "required": [
                      "given",
                      "family",
                      "orcid",
                      "affiliation"
                    ],
                    "additionalProperties": false
                  }
                },
                "pageRange": {
                  "type": "string",
                  "nullable": true
                },
                "volume": {
                  "type": "string",
                  "nullable": true
                },
                "issue": {
                  "type": "string",
                  "nullable": true
                },
                "isbn": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "issn": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "url": {
                  "type": "string",
                  "nullable": true
                },
                "referenceCount": {
                  "type": "integer",
                  "nullable": true
                },
                "isReferencedByCount": {
                  "type": "integer",
                  "nullable": true
                },
                "license": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "url": {
                        "type": "string"
                      },
                      "contentVersion": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "url",
                      "contentVersion"
                    ],
                    "additionalProperties": false
                  }
                },
                "subjects": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "doi",
                "type",
                "title",
                "containerTitle",
                "publisher",
                "issued",
                "publishedPrint",
                "publishedOnline",
                "abstract",
                "authors",
                "pageRange",
                "volume",
                "issue",
                "isbn",
                "issn",
                "url",
                "referenceCount",
                "isReferencedByCount",
                "license",
                "subjects"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "papers.citations",
      "group": "papers",
      "name": "citations",
      "method": "GET",
      "path": "/api/papers/citations",
      "url": "https://2s.io/api/papers/citations",
      "description": "Citation graph for a scholarly work via OpenAlex. Pass id as a DOI (10.xxxx/…, doi.org URL) or an OpenAlex work id (W…). Returns the work's total citation count + reference count, and a paginated list of either the works that CITE it (view=citing, default — sort=recent for newest-first or sort=citations for most-cited-first) or the works it REFERENCES (view=referenced). Each listed work gives DOI, title, year, venue, authors, and its own citation count. Fresh citation data lands after any training cutoff. Complements papers.search (finding papers) with graph traversal (following citations).",
      "priceUsd": 0.0024,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 4,
            "maxLength": 500,
            "description": "DOI or OpenAlex work id."
          },
          "view": {
            "type": "string",
            "enum": [
              "citing",
              "referenced"
            ],
            "default": "citing"
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200,
            "default": 1
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "default": 10
          },
          "sort": {
            "type": "string",
            "enum": [
              "recent",
              "citations"
            ],
            "default": "recent"
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "id": "10.1038/s41586-021-03819-2",
        "limit": 5
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "OpenAlex work id (short form, e.g. W3177828909)."
                },
                "doi": {
                  "type": "string",
                  "nullable": true
                },
                "title": {
                  "type": "string",
                  "nullable": true
                },
                "year": {
                  "type": "number",
                  "nullable": true
                },
                "publishedAt": {
                  "type": "string",
                  "nullable": true
                },
                "citedByCount": {
                  "type": "number",
                  "nullable": true
                },
                "authors": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Author display names (first 10)."
                },
                "authorCount": {
                  "type": "number"
                },
                "venue": {
                  "type": "string",
                  "nullable": true
                },
                "url": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "doi",
                "title",
                "year",
                "publishedAt",
                "citedByCount",
                "authors",
                "authorCount",
                "venue",
                "url"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "page": {
            "type": "object",
            "properties": {
              "number": {
                "type": "integer"
              },
              "size": {
                "type": "integer"
              },
              "pages": {
                "type": "integer",
                "nullable": true
              }
            },
            "required": [
              "number",
              "size",
              "pages"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "view": {
                "type": "string"
              },
              "work": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "doi": {
                    "type": "string",
                    "nullable": true
                  },
                  "title": {
                    "type": "string",
                    "nullable": true
                  },
                  "year": {
                    "type": "number",
                    "nullable": true
                  },
                  "citedByCount": {
                    "type": "number"
                  },
                  "referencedCount": {
                    "type": "number"
                  }
                },
                "required": [
                  "id",
                  "doi",
                  "title",
                  "year",
                  "citedByCount",
                  "referencedCount"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "view",
              "work"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "papers.search",
      "group": "papers",
      "name": "search",
      "method": "GET",
      "path": "/api/papers/search",
      "url": "https://2s.io/api/papers/search",
      "description": "Unified scientific literature search across arXiv (preprints), PubMed (biomedical), and Semantic Scholar (cross-field, with citation counts). Returns a flat array of papers with stable schema: source, sourceId, doi, title, authors, abstract, year, publishedAt, citationCount, url, pdfUrl. Partial failures surface in the errors array rather than failing the whole call. Optional filters: since (YYYY-MM-DD), sources (subset), limit (max 20 per source).",
      "priceUsd": 0.0024,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "minLength": 1,
            "maxLength": 500
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 20,
            "default": 10
          },
          "since": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "sources": {
            "type": "string"
          }
        },
        "required": [
          "q"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "q": "example",
        "limit": 10,
        "since": "2024-01-01",
        "sources": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "string",
                "description": "Echo of the free-text query."
              },
              "sources": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Sources actually queried (after filtering)."
              },
              "errors": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "source": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "source",
                    "message"
                  ],
                  "additionalProperties": false
                },
                "description": "Per-source failures; empty when all sources succeeded."
              },
              "attribution": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "source": {
                      "type": "string"
                    },
                    "license": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "source",
                    "license",
                    "url"
                  ],
                  "additionalProperties": false
                },
                "description": "Per-source license + terms."
              }
            },
            "required": [
              "query",
              "sources",
              "errors",
              "attribution"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "park.lookup",
      "group": "park",
      "name": "lookup",
      "method": "GET",
      "path": "/api/park/lookup",
      "url": "https://2s.io/api/park/lookup",
      "description": "Unified read API over US National Park Service developer.nps.gov. Pick a resource: parks (every NPS unit — historical parks, monuments, seashores, etc.), alerts (closures, dangers, info), campgrounds (NPS-operated campgrounds with reservation links), events (talks, walks, ranger programs), newsreleases (park news), thingstodo (activities by park), visitorcenters. Filter by parkCode (CSV — e.g. \"acad,yose,grca\"), state, or free-text query. Returns the upstream NPS payload verbatim (rich nested objects with images, addresses, operating hours, etc.).",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "resource": {
            "type": "string",
            "enum": [
              "parks",
              "alerts",
              "campgrounds",
              "events",
              "newsreleases",
              "thingstodo",
              "visitorcenters"
            ]
          },
          "parkCode": {
            "type": "string",
            "pattern": "^[a-z]{2,4}(,[a-z]{2,4})*$"
          },
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "pattern": "^[A-Za-z]{2}$"
          },
          "q": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "default": 10
          },
          "start": {
            "type": "integer",
            "minimum": 0,
            "default": 0
          }
        },
        "required": [
          "resource"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "resource": "parks",
        "parkCode": "yose",
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "resource": {
                "type": "string",
                "enum": [
                  "parks",
                  "alerts",
                  "campgrounds",
                  "events",
                  "newsreleases",
                  "thingstodo",
                  "visitorcenters"
                ]
              },
              "limit": {
                "type": "number"
              },
              "start": {
                "type": "number"
              }
            },
            "required": [
              "resource",
              "limit",
              "start"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "patents.detail",
      "group": "patents",
      "name": "detail",
      "method": "GET",
      "path": "/api/patents/detail",
      "url": "https://2s.io/api/patents/detail",
      "description": "Full US patent application file-wrapper detail by application number. Returns bibliographic data (title, inventors, applicants, dates, status, examiner, art unit, docket #, confirmation #) plus the file-wrapper event timeline (filing, IDS, Office Actions, allowance, abandonment, …), continuity chain (parent / continuation / divisional / national stage), recorded assignments (assignor → assignee with reel/frame + conveyance text), and foreign priority claims under 35 USC § 119. Application number is the 6-10 digit USPTO ID (e.g. 18566276).",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "applicationNumber": {
            "type": "string",
            "pattern": "^[0-9]{6,10}$"
          }
        },
        "required": [
          "applicationNumber"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "applicationNumber": "18566276"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "patents.documents",
      "group": "patents",
      "name": "documents",
      "method": "GET",
      "path": "/api/patents/documents",
      "url": "https://2s.io/api/patents/documents",
      "description": "List every document in the file wrapper for a US patent application. Returns each document with its USPTO code (e.g. CTNF non-final OA, CTFR final OA, IDS, WCLM claims worksheet, NOA notice of allowance), human-readable description, official date, direction (INTERNAL/INCOMING/OUTGOING), and available formats with page counts. Includes patentCenterUrl pointing at the public USPTO Patent Center documents page for direct PDF download. Application number is the 6-10 digit USPTO ID.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "applicationNumber": {
            "type": "string",
            "pattern": "^[0-9]{6,10}$"
          }
        },
        "required": [
          "applicationNumber"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "applicationNumber": "18566276"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "applicationNumber": {
                "type": "string"
              },
              "patentCenterUrl": {
                "type": "string",
                "description": "Public USPTO Patent Center documents page for direct PDF download."
              }
            },
            "required": [
              "applicationNumber",
              "patentCenterUrl"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "patents.epo-biblio",
      "group": "patents",
      "name": "epo-biblio",
      "method": "GET",
      "path": "/api/patents/epo-biblio",
      "url": "https://2s.io/api/patents/epo-biblio",
      "description": "Bibliographic record for a patent publication via EPO OPS: invention titles (multiple languages), applicants, inventors, IPC classifications, application number, and the abstract. Worldwide coverage by publication number (e.g. EP1000000, US6093011). Net-new vs US-only patents.detail.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "number": {
            "type": "string",
            "minLength": 2,
            "maxLength": 40,
            "description": "Publication number, e.g. EP1000000 or US6093011."
          },
          "format": {
            "type": "string",
            "enum": [
              "epodoc",
              "docdb",
              "original"
            ],
            "description": "Number format (default epodoc, e.g. EP1000000 or US20260170385)."
          }
        },
        "required": [
          "number"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "number": "xx",
        "format": "epodoc"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "publicationNumber": {
                  "type": "string",
                  "nullable": true
                },
                "country": {
                  "type": "string",
                  "nullable": true
                },
                "kind": {
                  "type": "string",
                  "nullable": true
                },
                "applicationNumber": {
                  "type": "string",
                  "nullable": true
                },
                "titles": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "lang": {
                        "type": "string",
                        "nullable": true
                      },
                      "text": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "lang",
                      "text"
                    ],
                    "additionalProperties": false
                  }
                },
                "applicants": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "inventors": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "ipcClasses": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "abstract": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "publicationNumber",
                "country",
                "kind",
                "applicationNumber",
                "titles",
                "applicants",
                "inventors",
                "ipcClasses",
                "abstract"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "patents.epo-family",
      "group": "patents",
      "name": "epo-family",
      "method": "GET",
      "path": "/api/patents/epo-family",
      "url": "https://2s.io/api/patents/epo-family",
      "description": "INPADOC patent family for a publication via EPO OPS — every worldwide equivalent of the same invention (same priority), each with country, document number, kind code, and combined publication number. Use it to find where a patent was also filed/granted globally. Net-new (no US-only equivalent).",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "number": {
            "type": "string",
            "minLength": 2,
            "maxLength": 40,
            "description": "Publication number, e.g. EP1000000."
          },
          "format": {
            "type": "string",
            "enum": [
              "epodoc",
              "docdb",
              "original"
            ],
            "description": "Number format (default epodoc, e.g. EP1000000 or US20260170385)."
          }
        },
        "required": [
          "number"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "number": "xx",
        "format": "epodoc"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "publicationNumber": {
                  "type": "string",
                  "nullable": true
                },
                "country": {
                  "type": "string",
                  "nullable": true
                },
                "docNumber": {
                  "type": "string",
                  "nullable": true
                },
                "kind": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "publicationNumber",
                "country",
                "docNumber",
                "kind"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "patents.epo-legal",
      "group": "patents",
      "name": "epo-legal",
      "method": "GET",
      "path": "/api/patents/epo-legal",
      "url": "https://2s.io/api/patents/epo-legal",
      "description": "INPADOC legal-status events for a patent publication via EPO OPS: the timeline of procedural events (examination, grant, designations, national-phase entries, lapses, withdrawals) each with an event code, description, and date. For tracking whether a patent is in force, granted, or lapsed. Net-new.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "number": {
            "type": "string",
            "minLength": 2,
            "maxLength": 40,
            "description": "Publication number, e.g. EP1000000."
          },
          "format": {
            "type": "string",
            "enum": [
              "epodoc",
              "docdb",
              "original"
            ],
            "description": "Number format (default epodoc, e.g. EP1000000 or US20260170385)."
          }
        },
        "required": [
          "number"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "number": "xx",
        "format": "epodoc"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string",
                  "nullable": true
                },
                "description": {
                  "type": "string",
                  "nullable": true
                },
                "date": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "code",
                "description",
                "date"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "patents.epo-search",
      "group": "patents",
      "name": "epo-search",
      "method": "GET",
      "path": "/api/patents/epo-search",
      "url": "https://2s.io/api/patents/epo-search",
      "description": "Search worldwide patent publications via the European Patent Office's Open Patent Services (OPS). Pass a CQL query (e.g. ti=quantum computing, in=tesla, pa=siemens, cpc=H01M, pn=EP1000000) and get matching publications with country, document number, kind code, and a combined publication number, plus the total result count. Covers EP + 100+ patent authorities worldwide — net-new vs our US-only patents.search.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "minLength": 2,
            "maxLength": 400,
            "description": "CQL query, e.g. \"ti=quantum computing\" or \"pa=siemens and cpc=H01M\"."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          }
        },
        "required": [
          "q"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "q": "xx",
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "publicationNumber": {
                  "type": "string",
                  "nullable": true
                },
                "country": {
                  "type": "string",
                  "nullable": true
                },
                "docNumber": {
                  "type": "string",
                  "nullable": true
                },
                "kind": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "publicationNumber",
                "country",
                "docNumber",
                "kind"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "total": {
                "type": "number"
              }
            },
            "required": [
              "total"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "patents.search",
      "group": "patents",
      "name": "search",
      "method": "GET",
      "path": "/api/patents/search",
      "url": "https://2s.io/api/patents/search",
      "description": "Search US patent applications and grants via the USPTO Open Data Portal. Query: q (required, 2+ chars), yearFrom / yearTo (optional filing-year bounds), applicationType (optional: Utility|Design|Plant|Reissue), limit (1-100, default 10), offset (0-based, default 0). Returns { total, returned, offset, limit, hits[{ applicationNumber, title, applicationType, firstInventor, inventors[], applicants[], filingDate, effectiveFilingDate, status:{ code, description, updatedAt }, cpcSymbols[], uspcSymbol, url }] }. URLs link to USPTO Patent Center for the public file wrapper.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "minLength": 2,
            "maxLength": 500
          },
          "yearFrom": {
            "type": "integer",
            "minimum": 1790,
            "maximum": 2100
          },
          "yearTo": {
            "type": "integer",
            "minimum": 1790,
            "maximum": 2100
          },
          "applicationType": {
            "type": "string",
            "enum": [
              "Utility",
              "Design",
              "Plant",
              "Reissue"
            ]
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 10
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 10000,
            "default": 0
          }
        },
        "required": [
          "q"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "q": "neural network",
        "limit": 5
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "q": {
                    "type": "string"
                  },
                  "yearFrom": {
                    "type": "integer",
                    "nullable": true
                  },
                  "yearTo": {
                    "type": "integer",
                    "nullable": true
                  },
                  "applicationType": {
                    "type": "string",
                    "nullable": true
                  },
                  "offset": {
                    "type": "integer"
                  },
                  "limit": {
                    "type": "integer"
                  }
                },
                "required": [
                  "q",
                  "yearFrom",
                  "yearTo",
                  "applicationType",
                  "offset",
                  "limit"
                ],
                "additionalProperties": false
              },
              "returned": {
                "type": "integer",
                "description": "Hits returned on this page."
              }
            },
            "required": [
              "query",
              "returned"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "person.cross-registry",
      "group": "person",
      "name": "cross-registry",
      "method": "GET",
      "path": "/api/person/cross-registry",
      "url": "https://2s.io/api/person/cross-registry",
      "description": "Sweep a person's name across five US public registries in one call: FINRA securities brokers, federal-court attorneys (CourtListener), federal inmates (BOP), Texas trade licenses (TDLR), and Texas real-estate licenses (TREC). Returns one block per registry with found/error status, match count, and the matching records — name-matched CANDIDATES, deliberately not merged into one identity (same name does not mean same person; verify with each registry's identifier before acting). Due-diligence, KYC screening triage, and background-research staple. Each registry is also a standalone endpoint (/api/license/broker, /api/law/attorney-lookup, /api/gov/inmate-locator, /api/license/trades, /api/license/real-estate) for follow-up by identifier.",
      "priceUsd": 0.0072,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 3,
            "maxLength": 120,
            "pattern": "^[\\p{L}][\\p{L} .,'-]+$",
            "description": "Person full name. \"First Last\" works best (the inmate registry needs split names)."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "default": 5
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "name": "John Smith",
        "limit": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "note": {
            "type": "string",
            "description": "Identity-resolution disclaimer — matches are candidates, not confirmed identities."
          },
          "brokers": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "count": {
                "type": "number"
              },
              "matches": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": {}
                }
              }
            },
            "required": [
              "found",
              "error",
              "count",
              "matches"
            ],
            "additionalProperties": false
          },
          "attorneys": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "count": {
                "type": "number"
              },
              "matches": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": {}
                }
              }
            },
            "required": [
              "found",
              "error",
              "count",
              "matches"
            ],
            "additionalProperties": false
          },
          "inmates": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "count": {
                "type": "number"
              },
              "matches": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": {}
                }
              }
            },
            "required": [
              "found",
              "error",
              "count",
              "matches"
            ],
            "additionalProperties": false
          },
          "txTrades": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "count": {
                "type": "number"
              },
              "matches": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": {}
                }
              }
            },
            "required": [
              "found",
              "error",
              "count",
              "matches"
            ],
            "additionalProperties": false
          },
          "txRealEstate": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "count": {
                "type": "number"
              },
              "matches": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": {}
                }
              }
            },
            "required": [
              "found",
              "error",
              "count",
              "matches"
            ],
            "additionalProperties": false
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "provider": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                },
                "license": {
                  "type": "string"
                }
              },
              "required": [
                "provider",
                "url",
                "license"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "name",
          "note",
          "brokers",
          "attorneys",
          "inmates",
          "txTrades",
          "txRealEstate",
          "sources"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "phone.normalize",
      "group": "phone",
      "name": "normalize",
      "method": "GET",
      "path": "/api/phone/normalize",
      "url": "https://2s.io/api/phone/normalize",
      "description": "Parse, validate and canonicalize a phone number using Google's libphonenumber metadata. Query: number (required; E.164 like \"+14155552671\" or national like \"(415) 555-2671\"), country (optional ISO 3166-1 alpha-2 like US/GB/JP — required when number is not E.164). Returns {input, valid (matches a real number range), possible (right shape/length), e164, national, international, rfc3966, country, countryCallingCode, type (mobile|fixed_line|fixed_line_or_mobile|toll_free|premium_rate|shared_cost|voip|personal_number|pager|uan|voicemail|unknown), possibleCountries[]}. Returns valid:false (not an error) for unparseable input.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "number": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40,
            "description": "Phone number to normalize. E.164 (+15555551234) or a national format if country is provided."
          },
          "country": {
            "type": "string",
            "pattern": "^[A-Z]{2}$",
            "description": "ISO 3166-1 alpha-2 country code (e.g. US, GB, JP). Required when number is not in E.164 form."
          }
        },
        "required": [
          "number"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "number": "+14155552671"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "input": {
                  "type": "string",
                  "description": "The exact input string we received."
                },
                "valid": {
                  "type": "boolean",
                  "description": "True if the number matches a real, in-use number range for its country."
                },
                "possible": {
                  "type": "boolean",
                  "description": "True if the number is the right length/shape, even if not necessarily assigned."
                },
                "e164": {
                  "type": "string",
                  "nullable": true,
                  "description": "E.164 canonical form (e.g. +14155552671). Null if unparseable."
                },
                "national": {
                  "type": "string",
                  "nullable": true,
                  "description": "Country-local format (e.g. \"(415) 555-2671\"). Null if unparseable."
                },
                "international": {
                  "type": "string",
                  "nullable": true,
                  "description": "Pretty international format (e.g. \"+1 415 555 2671\"). Null if unparseable."
                },
                "rfc3966": {
                  "type": "string",
                  "nullable": true,
                  "description": "RFC 3966 tel: URI form (e.g. \"tel:+14155552671\"). Null if unparseable."
                },
                "country": {
                  "type": "string",
                  "nullable": true,
                  "description": "ISO 3166-1 alpha-2 country code, or null when ambiguous across +cc."
                },
                "countryCallingCode": {
                  "type": "string",
                  "nullable": true,
                  "description": "Country calling code with leading + (e.g. \"+1\"). Null if unparseable."
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "fixed_line",
                    "mobile",
                    "fixed_line_or_mobile",
                    "toll_free",
                    "premium_rate",
                    "shared_cost",
                    "voip",
                    "personal_number",
                    "pager",
                    "uan",
                    "voicemail",
                    "unknown"
                  ],
                  "description": "Number type. \"unknown\" when libphonenumber cannot classify."
                },
                "possibleCountries": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "All ISO 3166-1 alpha-2 codes this number could belong to."
                }
              },
              "required": [
                "input",
                "valid",
                "possible",
                "e164",
                "national",
                "international",
                "rfc3966",
                "country",
                "countryCallingCode",
                "type",
                "possibleCountries"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "poi.near",
      "group": "poi",
      "name": "near",
      "method": "GET",
      "path": "/api/poi/near",
      "url": "https://2s.io/api/poi/near",
      "description": "Find points of interest near a coordinate. Backed by OpenStreetMap via the Overpass API (free, public, ODbL). Returns name, OSM id (e.g. node/123 — deep-linkable to openstreetmap.org), latitude, longitude, distance in meters, composed street address (when present), phone, website, opening hours, brand, and cuisine tags. Results sorted nearest-first. Supported categories: restaurant, cafe, bar, fast_food, gas_station, ev_charging, parking, atm, bank, hospital, pharmacy, clinic, doctor, dentist, police, fire_station, post_office, library, toilets, school, university, supermarket, convenience, hotel, hostel, museum, attraction, park, playground. Query: lat (-90..90), lon (-180..180), category (one of the supported names), radius_m (1-10000, default 1000), limit (1-100, default 20).",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          },
          "category": {
            "type": "string",
            "enum": [
              "restaurant",
              "cafe",
              "bar",
              "fast_food",
              "gas_station",
              "ev_charging",
              "parking",
              "atm",
              "bank",
              "hospital",
              "pharmacy",
              "clinic",
              "doctor",
              "dentist",
              "police",
              "fire_station",
              "post_office",
              "library",
              "toilets",
              "school",
              "university",
              "supermarket",
              "convenience",
              "hotel",
              "hostel",
              "museum",
              "attraction",
              "park",
              "playground"
            ]
          },
          "radius_m": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10000,
            "default": 1000
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 20
          }
        },
        "required": [
          "lat",
          "lon",
          "category"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "lat": -90,
        "lon": -180,
        "category": "restaurant",
        "radius_m": 1000,
        "limit": 20
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "latitude": {
                    "type": "number"
                  },
                  "longitude": {
                    "type": "number"
                  },
                  "category": {
                    "type": "string"
                  },
                  "radiusM": {
                    "type": "integer"
                  },
                  "limit": {
                    "type": "integer"
                  }
                },
                "required": [
                  "latitude",
                  "longitude",
                  "category",
                  "radiusM",
                  "limit"
                ],
                "additionalProperties": false
              },
              "nearestM": {
                "type": "number",
                "nullable": true
              }
            },
            "required": [
              "query",
              "nearestM"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "predict.activity",
      "group": "predict",
      "name": "activity",
      "method": "GET",
      "path": "/api/predict/activity",
      "url": "https://2s.io/api/predict/activity",
      "description": "A wallet's Polymarket on-chain activity feed: trades, merges, splits, redeems, conversions and rewards, newest first. Pass the wallet (proxy) address; optionally filter by type (TRADE/MERGE/SPLIT/REDEEM/REWARD/CONVERSION) and cap with limit. Each entry returns type, side, outcome, share size, price, USD value, timestamp, the market title/slug, conditionId, and tx hash. Read-only from Polymarket's Data API.",
      "priceUsd": 0.0048,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "minLength": 8,
            "maxLength": 60,
            "description": "Wallet (proxy) address."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500,
            "description": "Max events (default 50)."
          },
          "type": {
            "type": "string",
            "enum": [
              "TRADE",
              "MERGE",
              "SPLIT",
              "REDEEM",
              "REWARD",
              "CONVERSION"
            ],
            "description": "Filter by activity type."
          }
        },
        "required": [
          "address"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "address": "xxxxxxxx",
        "limit": 1,
        "type": "TRADE"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "nullable": true
                },
                "side": {
                  "type": "string",
                  "nullable": true
                },
                "outcome": {
                  "type": "string",
                  "nullable": true
                },
                "size": {
                  "type": "number",
                  "nullable": true
                },
                "price": {
                  "type": "number",
                  "nullable": true
                },
                "usd": {
                  "type": "number",
                  "nullable": true
                },
                "timestamp": {
                  "type": "number",
                  "nullable": true
                },
                "title": {
                  "type": "string",
                  "nullable": true
                },
                "slug": {
                  "type": "string",
                  "nullable": true
                },
                "eventSlug": {
                  "type": "string",
                  "nullable": true
                },
                "conditionId": {
                  "type": "string",
                  "nullable": true
                },
                "txHash": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "type",
                "side",
                "outcome",
                "size",
                "price",
                "usd",
                "timestamp",
                "title",
                "slug",
                "eventSlug",
                "conditionId",
                "txHash"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "address": {
                "type": "string"
              },
              "count": {
                "type": "integer"
              }
            },
            "required": [
              "address",
              "count"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "predict.crypto-updown",
      "group": "predict",
      "name": "crypto-updown",
      "method": "GET",
      "path": "/api/predict/crypto-updown",
      "url": "https://2s.io/api/predict/crypto-updown",
      "description": "Polymarket crypto up-or-down markets — the recurring 'Will <asset> be up or down by <time>?' series for BTC, ETH, SOL, SPX and more (hourly/daily). Each event returns its question, dates, USD volume, and the nested Up/Down markets with live outcome prices (implied probability the asset closes higher). Filter count with limit. Read-only mirror of Polymarket's up-or-down tag.",
      "priceUsd": 0.0048,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Max events (default 20)."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "nullable": true
                },
                "ticker": {
                  "type": "string",
                  "nullable": true
                },
                "title": {
                  "type": "string",
                  "nullable": true
                },
                "slug": {
                  "type": "string",
                  "nullable": true
                },
                "description": {
                  "type": "string",
                  "nullable": true
                },
                "volumeUsd": {
                  "type": "number",
                  "nullable": true
                },
                "volume24hrUsd": {
                  "type": "number",
                  "nullable": true
                },
                "liquidityUsd": {
                  "type": "number",
                  "nullable": true
                },
                "active": {
                  "type": "boolean",
                  "nullable": true
                },
                "closed": {
                  "type": "boolean",
                  "nullable": true
                },
                "startDate": {
                  "type": "string",
                  "nullable": true
                },
                "endDate": {
                  "type": "string",
                  "nullable": true
                },
                "tags": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "marketCount": {
                  "type": "number",
                  "nullable": true
                },
                "markets": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "question": {
                        "type": "string",
                        "nullable": true
                      },
                      "slug": {
                        "type": "string",
                        "nullable": true
                      },
                      "conditionId": {
                        "type": "string",
                        "nullable": true
                      },
                      "outcomes": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "outcomePrices": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      },
                      "clobTokenIds": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "volumeUsd": {
                        "type": "number",
                        "nullable": true
                      },
                      "closed": {
                        "type": "boolean",
                        "nullable": true
                      }
                    },
                    "required": [
                      "question",
                      "slug",
                      "conditionId",
                      "outcomes",
                      "outcomePrices",
                      "clobTokenIds",
                      "volumeUsd",
                      "closed"
                    ],
                    "additionalProperties": false
                  }
                },
                "url": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "ticker",
                "title",
                "slug",
                "description",
                "volumeUsd",
                "volume24hrUsd",
                "liquidityUsd",
                "active",
                "closed",
                "startDate",
                "endDate",
                "tags",
                "marketCount",
                "markets",
                "url"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer"
              }
            },
            "required": [
              "count"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "predict.events",
      "group": "predict",
      "name": "events",
      "method": "GET",
      "path": "/api/predict/events",
      "url": "https://2s.io/api/predict/events",
      "description": "Browse Polymarket events (an event groups related markets — e.g. an election, a tournament, a price ladder). Optional keyword q, closed filter, order (volume/volume24hr/liquidity), and limit/offset. Each event returns its title, tags, USD volume + 24h volume, liquidity, dates, and the nested markets with their outcomes + live outcome prices (implied probabilities) and CLOB token ids. Read-only mirror of Polymarket's Gamma events.",
      "priceUsd": 0.0048,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "maxLength": 120,
            "description": "Keyword filter on event title/description."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "closed": {
            "type": "boolean"
          },
          "order": {
            "type": "string",
            "enum": [
              "volume",
              "volume24hr",
              "liquidity",
              "startDate",
              "endDate"
            ]
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "q": "example",
        "limit": 1,
        "offset": 0,
        "closed": false,
        "order": "volume"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "nullable": true
                },
                "ticker": {
                  "type": "string",
                  "nullable": true
                },
                "title": {
                  "type": "string",
                  "nullable": true
                },
                "slug": {
                  "type": "string",
                  "nullable": true
                },
                "description": {
                  "type": "string",
                  "nullable": true
                },
                "volumeUsd": {
                  "type": "number",
                  "nullable": true
                },
                "volume24hrUsd": {
                  "type": "number",
                  "nullable": true
                },
                "liquidityUsd": {
                  "type": "number",
                  "nullable": true
                },
                "active": {
                  "type": "boolean",
                  "nullable": true
                },
                "closed": {
                  "type": "boolean",
                  "nullable": true
                },
                "startDate": {
                  "type": "string",
                  "nullable": true
                },
                "endDate": {
                  "type": "string",
                  "nullable": true
                },
                "tags": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "marketCount": {
                  "type": "number",
                  "nullable": true
                },
                "markets": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "question": {
                        "type": "string",
                        "nullable": true
                      },
                      "slug": {
                        "type": "string",
                        "nullable": true
                      },
                      "conditionId": {
                        "type": "string",
                        "nullable": true
                      },
                      "outcomes": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "outcomePrices": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      },
                      "clobTokenIds": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "volumeUsd": {
                        "type": "number",
                        "nullable": true
                      },
                      "closed": {
                        "type": "boolean",
                        "nullable": true
                      }
                    },
                    "required": [
                      "question",
                      "slug",
                      "conditionId",
                      "outcomes",
                      "outcomePrices",
                      "clobTokenIds",
                      "volumeUsd",
                      "closed"
                    ],
                    "additionalProperties": false
                  }
                },
                "url": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "ticker",
                "title",
                "slug",
                "description",
                "volumeUsd",
                "volume24hrUsd",
                "liquidityUsd",
                "active",
                "closed",
                "startDate",
                "endDate",
                "tags",
                "marketCount",
                "markets",
                "url"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer"
              }
            },
            "required": [
              "count"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "predict.holders",
      "group": "predict",
      "name": "holders",
      "method": "GET",
      "path": "/api/predict/holders",
      "url": "https://2s.io/api/predict/holders",
      "description": "Top holders of a Polymarket market, grouped by outcome token (conditionId). Each holder: wallet, trader name, position size, outcome index, and verified flag. Reveals concentration and smart-money positioning per outcome — the holder-side complement to predict.trades (flow) and predict.whales (large trades). Read-only from Polymarket's Data API.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "market": {
            "type": "string",
            "minLength": 8,
            "maxLength": 80,
            "description": "Market conditionId (0x…) — from predict.markets / predict.market."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Top holders per outcome (default 20)."
          }
        },
        "required": [
          "market"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "market": "xxxxxxxx",
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "token": {
                  "nullable": true
                },
                "holders": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "wallet": {
                        "nullable": true
                      },
                      "name": {
                        "nullable": true
                      },
                      "amount": {
                        "type": "number",
                        "nullable": true
                      },
                      "outcomeIndex": {
                        "type": "number",
                        "nullable": true
                      },
                      "verified": {
                        "type": "boolean"
                      },
                      "bio": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "amount",
                      "outcomeIndex",
                      "verified",
                      "bio"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "holders"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "predict.kalshi-events",
      "group": "predict",
      "name": "kalshi-events",
      "method": "GET",
      "path": "/api/predict/kalshi-events",
      "url": "https://2s.io/api/predict/kalshi-events",
      "description": "Browse Kalshi events (an event groups related markets, e.g. an election or a game). Filter by status / series_ticker; page with limit + cursor. Returns event ticker, series, title, category, and market count. Read-only (no Kalshi key needed).",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "cursor": {
            "type": "string",
            "maxLength": 400
          },
          "status": {
            "type": "string",
            "enum": [
              "unopened",
              "open",
              "closed",
              "settled"
            ]
          },
          "seriesTicker": {
            "type": "string",
            "maxLength": 120
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "limit": 1,
        "cursor": "example",
        "status": "unopened",
        "seriesTicker": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "eventTicker": {
                  "nullable": true
                },
                "seriesTicker": {
                  "nullable": true
                },
                "title": {
                  "nullable": true
                },
                "subTitle": {
                  "nullable": true
                },
                "category": {
                  "nullable": true
                },
                "marketCount": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "marketCount"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "cursor": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "cursor"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "predict.kalshi-market",
      "group": "predict",
      "name": "kalshi-market",
      "method": "GET",
      "path": "/api/predict/kalshi-market",
      "url": "https://2s.io/api/predict/kalshi-market",
      "description": "A single Kalshi market by ticker. Returns yes/no bid+ask and last price (dollars, implied probability), volume, liquidity, open interest, open/close times, and settled result. Read-only (no Kalshi key needed).",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          }
        },
        "required": [
          "ticker"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ticker": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ticker": {
                  "type": "string",
                  "nullable": true
                },
                "eventTicker": {
                  "type": "string",
                  "nullable": true
                },
                "marketType": {
                  "type": "string",
                  "nullable": true
                },
                "title": {
                  "type": "string",
                  "nullable": true
                },
                "yesSubTitle": {
                  "type": "string",
                  "nullable": true
                },
                "status": {
                  "type": "string",
                  "nullable": true
                },
                "yesBid": {
                  "type": "number",
                  "nullable": true
                },
                "yesAsk": {
                  "type": "number",
                  "nullable": true
                },
                "noBid": {
                  "type": "number",
                  "nullable": true
                },
                "noAsk": {
                  "type": "number",
                  "nullable": true
                },
                "lastPrice": {
                  "type": "number",
                  "nullable": true
                },
                "volume": {
                  "type": "number",
                  "nullable": true
                },
                "volume24h": {
                  "type": "number",
                  "nullable": true
                },
                "liquidity": {
                  "type": "number",
                  "nullable": true
                },
                "openInterest": {
                  "type": "number",
                  "nullable": true
                },
                "openTime": {
                  "type": "string",
                  "nullable": true
                },
                "closeTime": {
                  "type": "string",
                  "nullable": true
                },
                "result": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "ticker",
                "eventTicker",
                "marketType",
                "title",
                "yesSubTitle",
                "status",
                "yesBid",
                "yesAsk",
                "noBid",
                "noAsk",
                "lastPrice",
                "volume",
                "volume24h",
                "liquidity",
                "openInterest",
                "openTime",
                "closeTime",
                "result"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "predict.kalshi-markets",
      "group": "predict",
      "name": "kalshi-markets",
      "method": "GET",
      "path": "/api/predict/kalshi-markets",
      "url": "https://2s.io/api/predict/kalshi-markets",
      "description": "Browse Kalshi regulated prediction markets. Filter by status (open/closed/settled), event_ticker, series_ticker, or specific tickers; page with limit + cursor. Each market returns yes/no bid+ask and last price (in dollars, 0-1 = implied probability), 24h + total volume, liquidity, open interest, open/close times, and result if settled. Read-only mirror of Kalshi's market list (no Kalshi key needed).",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "cursor": {
            "type": "string",
            "maxLength": 400
          },
          "eventTicker": {
            "type": "string",
            "maxLength": 120
          },
          "seriesTicker": {
            "type": "string",
            "maxLength": 120
          },
          "status": {
            "type": "string",
            "enum": [
              "unopened",
              "open",
              "closed",
              "settled"
            ]
          },
          "tickers": {
            "type": "string",
            "maxLength": 400,
            "description": "Comma-separated tickers."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "limit": 1,
        "cursor": "example",
        "eventTicker": "example",
        "seriesTicker": "example",
        "status": "unopened",
        "tickers": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ticker": {
                  "type": "string",
                  "nullable": true
                },
                "eventTicker": {
                  "type": "string",
                  "nullable": true
                },
                "marketType": {
                  "type": "string",
                  "nullable": true
                },
                "title": {
                  "type": "string",
                  "nullable": true
                },
                "yesSubTitle": {
                  "type": "string",
                  "nullable": true
                },
                "status": {
                  "type": "string",
                  "nullable": true
                },
                "yesBid": {
                  "type": "number",
                  "nullable": true
                },
                "yesAsk": {
                  "type": "number",
                  "nullable": true
                },
                "noBid": {
                  "type": "number",
                  "nullable": true
                },
                "noAsk": {
                  "type": "number",
                  "nullable": true
                },
                "lastPrice": {
                  "type": "number",
                  "nullable": true
                },
                "volume": {
                  "type": "number",
                  "nullable": true
                },
                "volume24h": {
                  "type": "number",
                  "nullable": true
                },
                "liquidity": {
                  "type": "number",
                  "nullable": true
                },
                "openInterest": {
                  "type": "number",
                  "nullable": true
                },
                "openTime": {
                  "type": "string",
                  "nullable": true
                },
                "closeTime": {
                  "type": "string",
                  "nullable": true
                },
                "result": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "ticker",
                "eventTicker",
                "marketType",
                "title",
                "yesSubTitle",
                "status",
                "yesBid",
                "yesAsk",
                "noBid",
                "noAsk",
                "lastPrice",
                "volume",
                "volume24h",
                "liquidity",
                "openInterest",
                "openTime",
                "closeTime",
                "result"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "cursor": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "cursor"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "predict.kalshi-orderbook",
      "group": "predict",
      "name": "kalshi-orderbook",
      "method": "GET",
      "path": "/api/predict/kalshi-orderbook",
      "url": "https://2s.io/api/predict/kalshi-orderbook",
      "description": "Order book for a Kalshi market by ticker: resting yes and no bids with price (dollars) and size (contracts). Optional depth. Read-only (no Kalshi key needed).",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "depth": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          }
        },
        "required": [
          "ticker"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ticker": "example",
        "depth": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ticker": {
                  "type": "string"
                },
                "yes": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "price": {
                        "type": "number",
                        "nullable": true
                      },
                      "size": {
                        "type": "number",
                        "nullable": true
                      }
                    },
                    "required": [
                      "price",
                      "size"
                    ],
                    "additionalProperties": false
                  }
                },
                "no": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "price": {
                        "type": "number",
                        "nullable": true
                      },
                      "size": {
                        "type": "number",
                        "nullable": true
                      }
                    },
                    "required": [
                      "price",
                      "size"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "ticker",
                "yes",
                "no"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "predict.kalshi-trades",
      "group": "predict",
      "name": "kalshi-trades",
      "method": "GET",
      "path": "/api/predict/kalshi-trades",
      "url": "https://2s.io/api/predict/kalshi-trades",
      "description": "Recent trades on Kalshi, optionally filtered to one market ticker. Returns each trade's ticker, contract count, taker side, yes/no price (dollars), and time. Page with limit + cursor. Read-only (no Kalshi key needed).",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "maxLength": 120
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "cursor": {
            "type": "string",
            "maxLength": 400
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "ticker": "example",
        "limit": 1,
        "cursor": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ticker": {
                  "nullable": true
                },
                "count": {
                  "type": "number",
                  "nullable": true
                },
                "takerSide": {
                  "nullable": true
                },
                "yesPrice": {
                  "type": "number",
                  "nullable": true
                },
                "noPrice": {
                  "type": "number",
                  "nullable": true
                },
                "createdTime": {
                  "nullable": true
                },
                "tradeId": {
                  "nullable": true
                }
              },
              "required": [
                "count",
                "yesPrice",
                "noPrice"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "cursor": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "cursor"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "predict.leaderboard",
      "group": "predict",
      "name": "leaderboard",
      "method": "GET",
      "path": "/api/predict/leaderboard",
      "url": "https://2s.io/api/predict/leaderboard",
      "description": "Polymarket smart-wallet leaderboard: top traders ranked by realized volume or profit (P&L). Choose the time window (1d/7d/30d/all) and rankBy (vol/pnl); cap with limit. Each entry returns rank, wallet (proxy) address, trader name, X handle, verified badge, total USD volume, and USD P&L — for tracking smart money. Pair the wallet with predict.positions / predict.activity / predict.wallet. Read-only from Polymarket's Data API.",
      "priceUsd": 0.0048,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "window": {
            "type": "string",
            "enum": [
              "1d",
              "7d",
              "30d",
              "all"
            ],
            "description": "Time window (default all)."
          },
          "rankBy": {
            "type": "string",
            "enum": [
              "vol",
              "pnl"
            ],
            "description": "Rank by volume or P&L (default vol)."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Max traders (default 20)."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "window": "1d",
        "rankBy": "vol",
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "rank": {
                  "type": "number",
                  "nullable": true
                },
                "wallet": {
                  "type": "string",
                  "nullable": true
                },
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "xUsername": {
                  "type": "string",
                  "nullable": true
                },
                "verified": {
                  "type": "boolean"
                },
                "volumeUsd": {
                  "type": "number",
                  "nullable": true
                },
                "pnlUsd": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "rank",
                "wallet",
                "name",
                "xUsername",
                "verified",
                "volumeUsd",
                "pnlUsd"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "window": {
                "type": "string"
              },
              "rankBy": {
                "type": "string"
              }
            },
            "required": [
              "window",
              "rankBy"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "predict.limitless-markets",
      "group": "predict",
      "name": "limitless-markets",
      "method": "GET",
      "path": "/api/predict/limitless-markets",
      "url": "https://2s.io/api/predict/limitless-markets",
      "description": "Active prediction markets on Limitless Exchange (on-chain, Base; keyless). Each market: conditionId, title, slug, description, status, live YES/NO prices, volume, liquidity, collateral token, expiration, and categories/tags. A second venue alongside the Polymarket (predict.markets) and Kalshi (predict.kalshi-markets) clusters — for cross-venue prediction-market coverage.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Max markets (default 20)."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "conditionId": {
                  "type": "string",
                  "nullable": true
                },
                "slug": {
                  "type": "string",
                  "nullable": true
                },
                "title": {
                  "type": "string",
                  "nullable": true
                },
                "description": {
                  "type": "string",
                  "nullable": true
                },
                "status": {
                  "type": "string",
                  "nullable": true
                },
                "yesPrice": {
                  "type": "number",
                  "nullable": true
                },
                "noPrice": {
                  "type": "number",
                  "nullable": true
                },
                "volume": {
                  "type": "number",
                  "nullable": true
                },
                "liquidity": {
                  "type": "number",
                  "nullable": true
                },
                "collateralSymbol": {
                  "type": "string",
                  "nullable": true
                },
                "expirationDate": {
                  "type": "string",
                  "nullable": true
                },
                "categories": {
                  "type": "array",
                  "items": {}
                },
                "tags": {
                  "type": "array",
                  "items": {}
                }
              },
              "required": [
                "conditionId",
                "slug",
                "title",
                "description",
                "status",
                "yesPrice",
                "noPrice",
                "volume",
                "liquidity",
                "collateralSymbol",
                "expirationDate",
                "categories",
                "tags"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "total": {
                "type": "number"
              }
            },
            "required": [
              "total"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "predict.market",
      "group": "predict",
      "name": "market",
      "method": "GET",
      "path": "/api/predict/market",
      "url": "https://2s.io/api/predict/market",
      "description": "A single Polymarket market by conditionId, slug, or id. Returns the question, outcomes + live prices (implied probabilities), CLOB token ids, USD volume + liquidity, dates, description, and URL. Pass one of conditionId / slug / id.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "conditionId": {
            "type": "string",
            "maxLength": 80
          },
          "slug": {
            "type": "string",
            "maxLength": 200
          },
          "id": {
            "type": "string",
            "maxLength": 40
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "conditionId": "example",
        "slug": "example",
        "id": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "nullable": true
                },
                "question": {
                  "type": "string",
                  "nullable": true
                },
                "slug": {
                  "type": "string",
                  "nullable": true
                },
                "conditionId": {
                  "type": "string",
                  "nullable": true
                },
                "outcomes": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "outcomePrices": {
                  "type": "array",
                  "items": {
                    "type": "number"
                  }
                },
                "clobTokenIds": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "volumeUsd": {
                  "type": "number",
                  "nullable": true
                },
                "liquidityUsd": {
                  "type": "number",
                  "nullable": true
                },
                "active": {
                  "type": "boolean",
                  "nullable": true
                },
                "closed": {
                  "type": "boolean",
                  "nullable": true
                },
                "startDate": {
                  "type": "string",
                  "nullable": true
                },
                "endDate": {
                  "type": "string",
                  "nullable": true
                },
                "description": {
                  "type": "string",
                  "nullable": true
                },
                "url": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "question",
                "slug",
                "conditionId",
                "outcomes",
                "outcomePrices",
                "clobTokenIds",
                "volumeUsd",
                "liquidityUsd",
                "active",
                "closed",
                "startDate",
                "endDate",
                "description",
                "url"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "predict.markets",
      "group": "predict",
      "name": "markets",
      "method": "GET",
      "path": "/api/predict/markets",
      "url": "https://2s.io/api/predict/markets",
      "description": "Browse Polymarket prediction markets. Filter by active/closed, order by volume/liquidity/endDate, page with limit/offset. Each market returns its question, outcomes + live outcome prices (implied probabilities), CLOB token ids (use with predict.price / predict.orderbook / predict.price-history), USD volume + liquidity, open/close dates, and the Polymarket URL. Read-only mirror of Polymarket's public market list.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "active": {
            "type": "boolean"
          },
          "closed": {
            "type": "boolean"
          },
          "order": {
            "type": "string",
            "enum": [
              "volume",
              "liquidity",
              "endDate",
              "startDate"
            ]
          },
          "ascending": {
            "type": "boolean"
          },
          "tagId": {
            "type": "integer"
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "limit": 1,
        "offset": 0,
        "active": false,
        "closed": false,
        "order": "volume",
        "ascending": false,
        "tagId": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "nullable": true
                },
                "question": {
                  "type": "string",
                  "nullable": true
                },
                "slug": {
                  "type": "string",
                  "nullable": true
                },
                "conditionId": {
                  "type": "string",
                  "nullable": true
                },
                "outcomes": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "outcomePrices": {
                  "type": "array",
                  "items": {
                    "type": "number"
                  }
                },
                "clobTokenIds": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "volumeUsd": {
                  "type": "number",
                  "nullable": true
                },
                "liquidityUsd": {
                  "type": "number",
                  "nullable": true
                },
                "active": {
                  "type": "boolean",
                  "nullable": true
                },
                "closed": {
                  "type": "boolean",
                  "nullable": true
                },
                "startDate": {
                  "type": "string",
                  "nullable": true
                },
                "endDate": {
                  "type": "string",
                  "nullable": true
                },
                "description": {
                  "type": "string",
                  "nullable": true
                },
                "url": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "question",
                "slug",
                "conditionId",
                "outcomes",
                "outcomePrices",
                "clobTokenIds",
                "volumeUsd",
                "liquidityUsd",
                "active",
                "closed",
                "startDate",
                "endDate",
                "description",
                "url"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer"
              }
            },
            "required": [
              "count"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "predict.matched-pairs",
      "group": "predict",
      "name": "matched-pairs",
      "method": "GET",
      "path": "/api/predict/matched-pairs",
      "url": "https://2s.io/api/predict/matched-pairs",
      "description": "Cross-venue equivalent-market pairs for arbitrage / relative-value spotting. We fuzzy-match open Polymarket vs Kalshi markets by title-token overlap and return candidate pairs with both venues' YES prices and the implied-probability spread (Polymarket YES minus Kalshi YES). Tune with minScore (0-1 title-similarity floor) and limit. Heuristic — a high score is a strong candidate, not a guaranteed identical contract. Read-only, keyless. No public source maps these directly; the pairing is derived by 2s.io.",
      "priceUsd": 0.0048,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Max pairs (default 20)."
          },
          "minScore": {
            "type": "number",
            "minimum": 0,
            "maximum": 1,
            "description": "Minimum title-similarity score 0-1 (default 0.3)."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "limit": 1,
        "minScore": 0
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "score": {
                  "type": "number"
                },
                "polymarket": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string",
                      "nullable": true
                    },
                    "yesPrice": {
                      "type": "number",
                      "nullable": true
                    },
                    "volumeUsd": {
                      "type": "number",
                      "nullable": true
                    },
                    "ref": {
                      "type": "string",
                      "nullable": true
                    },
                    "url": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "title",
                    "yesPrice",
                    "volumeUsd",
                    "ref",
                    "url"
                  ],
                  "additionalProperties": false
                },
                "kalshi": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string",
                      "nullable": true
                    },
                    "yesPrice": {
                      "type": "number",
                      "nullable": true
                    },
                    "volumeUsd": {
                      "type": "number",
                      "nullable": true
                    },
                    "ref": {
                      "type": "string",
                      "nullable": true
                    },
                    "url": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "title",
                    "yesPrice",
                    "volumeUsd",
                    "ref",
                    "url"
                  ],
                  "additionalProperties": false
                },
                "yesSpread": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "score",
                "polymarket",
                "kalshi",
                "yesSpread"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer"
              },
              "note": {
                "type": "string"
              }
            },
            "required": [
              "count",
              "note"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "predict.orderbook",
      "group": "predict",
      "name": "orderbook",
      "method": "GET",
      "path": "/api/predict/orderbook",
      "url": "https://2s.io/api/predict/orderbook",
      "description": "Full CLOB order book (bids + asks with price and size) for a Polymarket outcome token. Use the clobTokenIds from predict.markets. Read-only depth snapshot from Polymarket's CLOB.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "tokenId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120,
            "description": "CLOB token id (outcome token)."
          }
        },
        "required": [
          "tokenId"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "tokenId": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "tokenId": {
                  "type": "string"
                },
                "bids": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "price": {
                        "type": "number",
                        "nullable": true
                      },
                      "size": {
                        "type": "number",
                        "nullable": true
                      }
                    },
                    "required": [
                      "price",
                      "size"
                    ],
                    "additionalProperties": false
                  }
                },
                "asks": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "price": {
                        "type": "number",
                        "nullable": true
                      },
                      "size": {
                        "type": "number",
                        "nullable": true
                      }
                    },
                    "required": [
                      "price",
                      "size"
                    ],
                    "additionalProperties": false
                  }
                },
                "timestamp": {
                  "nullable": true
                }
              },
              "required": [
                "tokenId",
                "bids",
                "asks"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "predict.positions",
      "group": "predict",
      "name": "positions",
      "method": "GET",
      "path": "/api/predict/positions",
      "url": "https://2s.io/api/predict/positions",
      "description": "A wallet's open Polymarket positions. Pass the wallet (proxy) address; cap with limit. Each position returns the market title + outcome, share size, average vs current price, initial vs current USD value, unrealized USD P&L and percent P&L, whether it's redeemable, and the conditionId/slug. For inspecting any trader's live book (e.g. a wallet from predict.leaderboard or predict.whales). Read-only from Polymarket's Data API.",
      "priceUsd": 0.0048,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "minLength": 8,
            "maxLength": 60,
            "description": "Wallet (proxy) address."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500,
            "description": "Max positions (default 50)."
          }
        },
        "required": [
          "address"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "address": "xxxxxxxx",
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string",
                  "nullable": true
                },
                "outcome": {
                  "type": "string",
                  "nullable": true
                },
                "size": {
                  "type": "number",
                  "nullable": true
                },
                "avgPrice": {
                  "type": "number",
                  "nullable": true
                },
                "curPrice": {
                  "type": "number",
                  "nullable": true
                },
                "initialValueUsd": {
                  "type": "number",
                  "nullable": true
                },
                "valueUsd": {
                  "type": "number",
                  "nullable": true
                },
                "pnlUsd": {
                  "type": "number",
                  "nullable": true
                },
                "percentPnl": {
                  "type": "number",
                  "nullable": true
                },
                "redeemable": {
                  "type": "boolean"
                },
                "conditionId": {
                  "type": "string",
                  "nullable": true
                },
                "slug": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "title",
                "outcome",
                "size",
                "avgPrice",
                "curPrice",
                "initialValueUsd",
                "valueUsd",
                "pnlUsd",
                "percentPnl",
                "redeemable",
                "conditionId",
                "slug"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "address": {
                "type": "string"
              },
              "count": {
                "type": "integer"
              }
            },
            "required": [
              "address",
              "count"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "predict.price",
      "group": "predict",
      "name": "price",
      "method": "GET",
      "path": "/api/predict/price",
      "url": "https://2s.io/api/predict/price",
      "description": "Live best bid, best ask, and midpoint for a Polymarket outcome token (CLOB token id — get it from predict.markets clobTokenIds). The midpoint is the market's implied probability for that outcome. Read-only from Polymarket's CLOB.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "tokenId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120,
            "description": "CLOB token id (outcome token)."
          }
        },
        "required": [
          "tokenId"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "tokenId": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "tokenId": {
                  "type": "string"
                },
                "bid": {
                  "type": "number",
                  "nullable": true
                },
                "ask": {
                  "type": "number",
                  "nullable": true
                },
                "mid": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "tokenId",
                "bid",
                "ask",
                "mid"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "predict.price-history",
      "group": "predict",
      "name": "price-history",
      "method": "GET",
      "path": "/api/predict/price-history",
      "url": "https://2s.io/api/predict/price-history",
      "description": "Time-series price (implied-probability) history for a Polymarket outcome token. Pass the CLOB token id and an interval (1h, 6h, 1d, 1w, 1m, max). Returns timestamped price points — for charting how a market's odds moved. Read-only from Polymarket's CLOB.",
      "priceUsd": 0.002,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "tokenId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "interval": {
            "type": "string",
            "enum": [
              "1h",
              "6h",
              "1d",
              "1w",
              "1m",
              "max"
            ]
          },
          "fidelity": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1440
          }
        },
        "required": [
          "tokenId"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "tokenId": "example",
        "interval": "1h",
        "fidelity": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "tokenId": {
                  "type": "string"
                },
                "points": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "t": {},
                      "p": {
                        "type": "number",
                        "nullable": true
                      }
                    },
                    "required": [
                      "p"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "tokenId",
                "points"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "predict.search",
      "group": "predict",
      "name": "search",
      "method": "GET",
      "path": "/api/predict/search",
      "url": "https://2s.io/api/predict/search",
      "description": "Cross-venue prediction-market keyword search across Polymarket, Kalshi, and Limitless Exchange in one call. Pass q (required); filter by status (open/closed) and cap per-venue with limit. Each hit is tagged with its venue and returns the question, live YES/NO price (0-1 implied probability), USD volume, close date, and the venue URL — for finding the same real-world question wherever it trades. Read-only, keyless.",
      "priceUsd": 0.0048,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120,
            "description": "Keyword(s) to search market questions for."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Max results per venue (default 15)."
          },
          "status": {
            "type": "string",
            "enum": [
              "open",
              "closed"
            ],
            "description": "Filter by market status."
          }
        },
        "required": [
          "q"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "q": "xx",
        "limit": 1,
        "status": "open"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "venue": {
                  "type": "string",
                  "enum": [
                    "polymarket",
                    "kalshi",
                    "limitless"
                  ]
                },
                "title": {
                  "type": "string",
                  "nullable": true
                },
                "slug": {
                  "type": "string",
                  "nullable": true
                },
                "yesPrice": {
                  "type": "number",
                  "nullable": true
                },
                "noPrice": {
                  "type": "number",
                  "nullable": true
                },
                "volumeUsd": {
                  "type": "number",
                  "nullable": true
                },
                "closed": {
                  "type": "boolean",
                  "nullable": true
                },
                "endDate": {
                  "type": "string",
                  "nullable": true
                },
                "ticker": {
                  "type": "string",
                  "nullable": true
                },
                "conditionId": {
                  "type": "string",
                  "nullable": true
                },
                "url": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "venue",
                "title",
                "slug",
                "yesPrice",
                "noPrice",
                "volumeUsd",
                "closed",
                "endDate",
                "ticker",
                "conditionId",
                "url"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "q": {
                "type": "string"
              },
              "byVenue": {
                "type": "object",
                "additionalProperties": {
                  "type": "number"
                }
              }
            },
            "required": [
              "q",
              "byVenue"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "predict.sports",
      "group": "predict",
      "name": "sports",
      "method": "GET",
      "path": "/api/predict/sports",
      "url": "https://2s.io/api/predict/sports",
      "description": "Sports prediction markets across Polymarket and Kalshi in one call — game lines, futures, and props (NFL/NBA/MLB/NHL/soccer/tennis/etc). Optionally narrow with league (a tag/category keyword, e.g. nfl, soccer, world-cup) and cap with limit. Each hit is tagged with its venue and returns the question, live YES/NO price (implied probability), USD volume, close date, and the venue URL. Read-only, keyless.",
      "priceUsd": 0.0048,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "league": {
            "type": "string",
            "maxLength": 60,
            "description": "League/category keyword (e.g. nfl, nba, soccer, world-cup)."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Max results per venue (default 20)."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "league": "example",
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "venue": {
                  "type": "string",
                  "enum": [
                    "polymarket",
                    "kalshi"
                  ]
                },
                "title": {
                  "type": "string",
                  "nullable": true
                },
                "yesPrice": {
                  "type": "number",
                  "nullable": true
                },
                "noPrice": {
                  "type": "number",
                  "nullable": true
                },
                "volumeUsd": {
                  "type": "number",
                  "nullable": true
                },
                "endDate": {
                  "type": "string",
                  "nullable": true
                },
                "ticker": {
                  "type": "string",
                  "nullable": true
                },
                "slug": {
                  "type": "string",
                  "nullable": true
                },
                "conditionId": {
                  "type": "string",
                  "nullable": true
                },
                "tags": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "url": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "venue",
                "title",
                "yesPrice",
                "noPrice",
                "volumeUsd",
                "endDate",
                "ticker",
                "slug",
                "conditionId",
                "tags",
                "url"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "byVenue": {
                "type": "object",
                "additionalProperties": {
                  "type": "number"
                }
              }
            },
            "required": [
              "byVenue"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "predict.trades",
      "group": "predict",
      "name": "trades",
      "method": "GET",
      "path": "/api/predict/trades",
      "url": "https://2s.io/api/predict/trades",
      "description": "Recent Polymarket trades. Filter by market (conditionId) and/or user (wallet address); page with limit (max 500). Each trade returns wallet, trader name, side (buy/sell), outcome, size, price, USD notional, timestamp, market title, and tx hash. Read-only from Polymarket's Data API.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "market": {
            "type": "string",
            "maxLength": 80,
            "description": "Market conditionId."
          },
          "user": {
            "type": "string",
            "maxLength": 60,
            "description": "Wallet address."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "market": "example",
        "user": "example",
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "wallet": {
                  "type": "string",
                  "nullable": true
                },
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "side": {
                  "type": "string",
                  "nullable": true
                },
                "outcome": {
                  "type": "string",
                  "nullable": true
                },
                "size": {
                  "type": "number",
                  "nullable": true
                },
                "price": {
                  "type": "number",
                  "nullable": true
                },
                "usd": {
                  "type": "number",
                  "nullable": true
                },
                "timestamp": {
                  "type": "number",
                  "nullable": true
                },
                "title": {
                  "type": "string",
                  "nullable": true
                },
                "slug": {
                  "type": "string",
                  "nullable": true
                },
                "conditionId": {
                  "type": "string",
                  "nullable": true
                },
                "txHash": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "wallet",
                "name",
                "side",
                "outcome",
                "size",
                "price",
                "usd",
                "timestamp",
                "title",
                "slug",
                "conditionId",
                "txHash"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "predict.wallet",
      "group": "predict",
      "name": "wallet",
      "method": "GET",
      "path": "/api/predict/wallet",
      "url": "https://2s.io/api/predict/wallet",
      "description": "A Polymarket trader's portfolio by wallet address: total portfolio USD value plus open positions (market title, outcome, size, average vs current price, current value, and unrealized PnL). For tracking a wallet's prediction-market book. Read-only from Polymarket's Data API.",
      "priceUsd": 0.002,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "minLength": 8,
            "maxLength": 60,
            "description": "Wallet (proxy) address."
          }
        },
        "required": [
          "address"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "address": "xxxxxxxx"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "address": {
                  "type": "string"
                },
                "portfolioValueUsd": {
                  "type": "number",
                  "nullable": true
                },
                "positions": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "title": {
                        "nullable": true
                      },
                      "outcome": {
                        "nullable": true
                      },
                      "size": {
                        "type": "number",
                        "nullable": true
                      },
                      "avgPrice": {
                        "type": "number",
                        "nullable": true
                      },
                      "curPrice": {
                        "type": "number",
                        "nullable": true
                      },
                      "valueUsd": {
                        "type": "number",
                        "nullable": true
                      },
                      "pnlUsd": {
                        "type": "number",
                        "nullable": true
                      },
                      "conditionId": {
                        "nullable": true
                      }
                    },
                    "required": [
                      "size",
                      "avgPrice",
                      "curPrice",
                      "valueUsd",
                      "pnlUsd"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "address",
                "portfolioValueUsd",
                "positions"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "predict.whales",
      "group": "predict",
      "name": "whales",
      "method": "GET",
      "path": "/api/predict/whales",
      "url": "https://2s.io/api/predict/whales",
      "description": "Polymarket whale radar: the largest recent trades by USD notional across all markets, ranked. Optional minUsd floor and limit. Each entry includes wallet, trader name, market, side, outcome, size, price, USD value, and tx hash — for tracking smart-money / large positioning. Read-only from Polymarket's Data API.",
      "priceUsd": 0.002,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "minUsd": {
            "type": "number",
            "minimum": 0,
            "description": "Only trades at/above this USD notional."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "limit": 1,
        "minUsd": 0
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "wallet": {
                  "type": "string",
                  "nullable": true
                },
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "side": {
                  "type": "string",
                  "nullable": true
                },
                "outcome": {
                  "type": "string",
                  "nullable": true
                },
                "size": {
                  "type": "number",
                  "nullable": true
                },
                "price": {
                  "type": "number",
                  "nullable": true
                },
                "usd": {
                  "type": "number",
                  "nullable": true
                },
                "timestamp": {
                  "type": "number",
                  "nullable": true
                },
                "title": {
                  "type": "string",
                  "nullable": true
                },
                "slug": {
                  "type": "string",
                  "nullable": true
                },
                "conditionId": {
                  "type": "string",
                  "nullable": true
                },
                "txHash": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "wallet",
                "name",
                "side",
                "outcome",
                "size",
                "price",
                "usd",
                "timestamp",
                "title",
                "slug",
                "conditionId",
                "txHash"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer"
              }
            },
            "required": [
              "count"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "product.gtin",
      "group": "product",
      "name": "gtin",
      "method": "GET",
      "path": "/api/product/gtin",
      "url": "https://2s.io/api/product/gtin",
      "description": "Decode and validate a product barcode (GTIN / UPC-A / EAN-13 / EAN-8 / GTIN-14 / ISBN-13 / ISSN). Returns the GS1 mod-10 check-digit validation (valid flag + expected digit — an LLM can't reliably compute this), the symbology, the zero-padded GTIN-14 canonical form, and the GS1 prefix decoded to the issuing GS1 member organisation and its country (NOTE: that's the country of the org that issued the prefix, not necessarily where the item was made). Flags restricted-distribution (in-store/variable-measure) prefixes and Bookland (ISBN) / serial (ISSN) ranges. Also attempts a FRESH best-effort product-identity lookup (name, brand, category, image) across the open Open Food/Beauty/Products/Pet Food Facts federation (ODbL) — reliable for food, beverage, and beauty items, sparse for general retail (electronics/apparel), and may be null. Always live (no caching). Set identity=false to skip the lookup and decode only.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "gtin": {
            "type": "string",
            "minLength": 6,
            "maxLength": 20
          },
          "identity": {
            "type": "boolean"
          }
        },
        "required": [
          "gtin"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "gtin": "049000042566"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "input": {
                  "type": "string"
                },
                "gtin": {
                  "type": "string",
                  "nullable": true
                },
                "gtin14": {
                  "type": "string",
                  "nullable": true
                },
                "valid": {
                  "type": "boolean"
                },
                "symbology": {
                  "type": "string"
                },
                "checkDigit": {
                  "type": "object",
                  "properties": {
                    "given": {
                      "type": "number",
                      "nullable": true
                    },
                    "expected": {
                      "type": "number",
                      "nullable": true
                    }
                  },
                  "required": [
                    "given",
                    "expected"
                  ],
                  "additionalProperties": false
                },
                "gs1Prefix": {
                  "type": "string",
                  "nullable": true
                },
                "issuingOrg": {
                  "type": "string",
                  "nullable": true
                },
                "issuingCountry": {
                  "type": "string",
                  "nullable": true
                },
                "isbn": {
                  "type": "string",
                  "nullable": true
                },
                "restrictedDistribution": {
                  "type": "boolean"
                },
                "note": {
                  "type": "string"
                },
                "identity": {
                  "type": "object",
                  "properties": {
                    "found": {
                      "type": "boolean"
                    },
                    "dataset": {
                      "type": "string",
                      "nullable": true
                    },
                    "name": {
                      "type": "string",
                      "nullable": true
                    },
                    "brand": {
                      "type": "string",
                      "nullable": true
                    },
                    "categories": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "quantity": {
                      "type": "string",
                      "nullable": true
                    },
                    "imageUrl": {
                      "type": "string",
                      "nullable": true
                    },
                    "source": {
                      "type": "object",
                      "properties": {
                        "provider": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string"
                        },
                        "license": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "provider",
                        "url",
                        "license"
                      ],
                      "additionalProperties": false,
                      "nullable": true
                    }
                  },
                  "required": [
                    "found",
                    "dataset",
                    "name",
                    "brand",
                    "categories",
                    "quantity",
                    "imageUrl",
                    "source"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "input",
                "gtin",
                "gtin14",
                "valid",
                "symbology",
                "checkDigit",
                "gs1Prefix",
                "issuingOrg",
                "issuingCountry",
                "isbn",
                "restrictedDistribution",
                "note",
                "identity"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "property.nyc-deed-history",
      "group": "property",
      "name": "nyc-deed-history",
      "method": "GET",
      "path": "/api/property/nyc-deed-history",
      "url": "https://2s.io/api/property/nyc-deed-history",
      "description": "NYC deed + mortgage history for a tax lot via ACRIS (Automated City Register Information System) legals dataset, keyed by BBL. Each row carries a unique documentId you can use to drill into the ACRIS master dataset (the master URL pattern is included in the response) for full details: parties, consideration amount, document type (DEED, MORTGAGE, ASSIGNMENT OF MORTGAGE, etc.). Use `property.nyc-parcel-lookup` first to convert an address to a BBL. Returns most-recent records first.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "bbl": {
            "type": "string",
            "pattern": "^[1-5][- 0-9]{9,19}$"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200,
            "default": 25
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "default": 0
          }
        },
        "required": [
          "bbl"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "bbl": "1010110001",
        "limit": 5
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "bbl": {
                "type": "string"
              },
              "masterDatasetForDocIds": {
                "type": "string"
              }
            },
            "required": [
              "bbl",
              "masterDatasetForDocIds"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "property.nyc-parcel-lookup",
      "group": "property",
      "name": "nyc-parcel-lookup",
      "method": "GET",
      "path": "/api/property/nyc-parcel-lookup",
      "url": "https://2s.io/api/property/nyc-parcel-lookup",
      "description": "NYC tax-lot lookup via PLUTO (Primary Land Use Tax Lot Output) — every tax lot in the city with owner, zoning, lot/building area, year built, classification, lat/lon, community + school + council + police districts. Pass `bbl` (10-digit Borough-Block-Lot composite, e.g. 1010110001 for the Empire State Building) for an exact lookup, OR pass `address` (partial-match) optionally constrained by `borough` (name or 2-letter code MN/BX/BK/QN/SI). The BBL returned here is the universal join key for all other property.nyc-* endpoints — fetch parcels first, then chain into deed-history, permits, or violations.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "bbl": {
            "type": "string",
            "pattern": "^[1-5][- 0-9]{9,19}$"
          },
          "address": {
            "type": "string",
            "minLength": 3,
            "maxLength": 120
          },
          "borough": {
            "type": "string",
            "pattern": "^([A-Za-z ]{2,15})$"
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "bbl": "1010110001"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "property.nyc-permits",
      "group": "property",
      "name": "nyc-permits",
      "method": "GET",
      "path": "/api/property/nyc-permits",
      "url": "https://2s.io/api/property/nyc-permits",
      "description": "NYC Department of Buildings permit issuance — every construction, alteration, or demolition permit ever issued. Search by `bbl` (10-digit) or `address` (street_name substring). Filter by jobType (A1=Major Alteration, A2=Minor Alteration, A3=Minor Cosmetic, NB=New Building, DM=Demolition, etc.) or permitStatus (ISSUED, IN PROCESS, RE-ISSUED, REVOKED, etc.). Each row carries job + permit numbers, work type, building type, residential flag, filing/issuance/expiration dates, estimated fee. Use for construction-history agents, code-enforcement research, and zoning compliance checks.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "bbl": {
            "type": "string",
            "pattern": "^[1-5][- 0-9]{9,19}$"
          },
          "address": {
            "type": "string",
            "minLength": 3,
            "maxLength": 120
          },
          "jobType": {
            "type": "string",
            "pattern": "^[A-Za-z0-9]{1,5}$"
          },
          "permitStatus": {
            "type": "string",
            "pattern": "^[A-Za-z _-]{2,30}$"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200,
            "default": 25
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "default": 0
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "bbl": "1010110001",
        "limit": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "property.nyc-violations",
      "group": "property",
      "name": "nyc-violations",
      "method": "GET",
      "path": "/api/property/nyc-violations",
      "url": "https://2s.io/api/property/nyc-violations",
      "description": "NYC Housing Preservation & Development (HPD) violations — every notice of violation issued at a multi-family building. Search by `bbl` (10-digit) or `address` (street_name substring). Filter by `classCode` (A=least severe, B=hazardous, C=immediately hazardous) and `currentStatusOnly=true` to limit to open violations. Each row carries violation id, building id, full address + apartment + story, inspection + approved + certify-by + correct-by dates, current status + status date, and the narrative NOV description. Use for landlord-history, code-enforcement, and tenant-rights agents.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "bbl": {
            "type": "string",
            "pattern": "^[1-5][- 0-9]{9,19}$"
          },
          "address": {
            "type": "string",
            "minLength": 3,
            "maxLength": 120
          },
          "classCode": {
            "type": "string",
            "enum": [
              "A",
              "B",
              "C"
            ]
          },
          "currentStatusOnly": {
            "type": "boolean"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200,
            "default": 25
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "default": 0
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "bbl": "3030310015",
        "classCode": "C",
        "limit": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "pubsub.create-topic",
      "group": "pubsub",
      "name": "create-topic",
      "method": "POST",
      "path": "/api/pubsub/create-topic",
      "url": "https://2s.io/api/pubsub/create-topic",
      "description": "PUBSUB: create a topic you own, scoped to YOUR wallet. Returns a topicId — share it so other agents can pubsub.subscribe; only you (the owner) can pubsub.publish to it. The coordination backbone for multi-agent systems. Idempotent per name (re-creating returns the same id and extends its 90-day life). No account or API key — pay per call with x402.",
      "priceUsd": 0.002,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Topic name, 1-64 chars of [A-Za-z0-9._:-]. e.g. \"price-alerts\"."
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "name": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "topicId": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                }
              },
              "required": [
                "topicId",
                "name"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "pubsub.publish",
      "group": "pubsub",
      "name": "publish",
      "method": "POST",
      "path": "/api/pubsub/publish",
      "url": "https://2s.io/api/pubsub/publish",
      "description": "PUBSUB: publish a message to a topic YOU own, fanning out a signed callback to every CONFIRMED subscriber. Returns the number of subscribers it was delivered to. Only the topic owner (the x402 payer who created it) can publish. Message is arbitrary JSON (≤64 KB). Priced by confirmed-subscriber count (a small base + per subscriber), so you pay for the fan-out you request. Delivery is at-least-once with retry + signature.",
      "priceUsd": 0.002,
      "priceMode": "dynamic",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "topicId": {
            "type": "string",
            "description": "The topic you own (from pubsub.create-topic)."
          },
          "message": {
            "description": "The payload to fan out — any JSON, up to 64 KB."
          }
        },
        "required": [
          "topicId"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "topicId": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "topicId": {
                  "type": "string"
                },
                "delivered": {
                  "type": "number"
                }
              },
              "required": [
                "topicId",
                "delivered"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "pubsub.subscribe",
      "group": "pubsub",
      "name": "subscribe",
      "method": "POST",
      "path": "/api/pubsub/subscribe",
      "url": "https://2s.io/api/pubsub/subscribe",
      "description": "PUBSUB: subscribe a callbackUrl to a topic by its topicId (the topic can belong to any wallet — you just need the id). CONFIRMATION REQUIRED: we immediately POST a one-time challenge to your callbackUrl with header X-2s-Confirmation-Token (and {type:\"2s_subscription_confirmation\", token} in the JSON body); to be CONFIRMED your endpoint must reply 2xx with the response body set to exactly that token, or JSON {\"token\":\"<token>\"}. Only confirmed subscribers receive published messages (this prevents subscribing a non-consenting URL). Response field \"confirmed\" tells you if it worked; re-call to retry. When the owner publishes, we POST the message to your callbackUrl, EIP-191-signed (verify with X-2s-Signature) and retried with backoff; a subscriber that repeatedly fails delivery is auto-disabled. Returns a subscriptionId for pubsub.unsubscribe. Up to 100 subscribers per topic, one per URL. Pay per call with x402.",
      "priceUsd": 0.002,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "topicId": {
            "type": "string",
            "description": "The topicId to subscribe to (from pubsub.create-topic)."
          },
          "callbackUrl": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "Where we POST published messages. Any http(s) URL; must echo the confirmation token to activate; body is signed."
          },
          "label": {
            "type": "string",
            "maxLength": 64,
            "description": "Optional free-text tag."
          }
        },
        "required": [
          "topicId",
          "callbackUrl"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "topicId": "example",
        "callbackUrl": "https://example.com",
        "label": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "subscriptionId": {
                  "type": "string"
                },
                "confirmed": {
                  "type": "boolean"
                },
                "callbackSigner": {
                  "type": "string"
                }
              },
              "required": [
                "subscriptionId",
                "confirmed",
                "callbackSigner"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "pubsub.unsubscribe",
      "group": "pubsub",
      "name": "unsubscribe",
      "method": "POST",
      "path": "/api/pubsub/unsubscribe",
      "url": "https://2s.io/api/pubsub/unsubscribe",
      "description": "PUBSUB: remove one of YOUR subscriptions by its subscriptionId — you stop receiving that topic's messages. Returns removed:false if it isn't yours or is already gone. Private to your wallet (the x402 payer).",
      "priceUsd": 0.002,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "subscriptionId": {
            "type": "string",
            "description": "The subscriptionId from pubsub.subscribe."
          }
        },
        "required": [
          "subscriptionId"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "subscriptionId": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "subscriptionId": {
                  "type": "string"
                },
                "removed": {
                  "type": "boolean"
                }
              },
              "required": [
                "subscriptionId",
                "removed"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "quakes.recent",
      "group": "quakes",
      "name": "recent",
      "method": "GET",
      "path": "/api/quakes/recent",
      "url": "https://2s.io/api/quakes/recent",
      "description": "Recent earthquakes near a coordinate. Returns each quake with magnitude, place name, time (ISO), latitude/longitude/depth, tsunami flag, USGS event URL, and distance-from-query in km — sorted by time descending. Real-time data, post-LLM-training-cutoff. Backed by USGS FDSN event API (public domain). Query: lat (-90..90), lon (-180..180), radius_km (1-1000, default 500), hours (1-720, default 24), min_magnitude (0-10, default 2.0).",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          },
          "radius_km": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "default": 500
          },
          "hours": {
            "type": "number",
            "minimum": 1,
            "maximum": 720,
            "default": 24
          },
          "min_magnitude": {
            "type": "number",
            "minimum": 0,
            "maximum": 10,
            "default": 2
          }
        },
        "required": [
          "lat",
          "lon"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "lat": -90,
        "lon": -180,
        "radius_km": 500,
        "hours": 24,
        "min_magnitude": 2
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "latitude": {
                    "type": "number"
                  },
                  "longitude": {
                    "type": "number"
                  },
                  "radiusKm": {
                    "type": "number"
                  },
                  "hours": {
                    "type": "number"
                  },
                  "minMagnitude": {
                    "type": "number"
                  }
                },
                "required": [
                  "latitude",
                  "longitude",
                  "radiusKm",
                  "hours",
                  "minMagnitude"
                ],
                "additionalProperties": false
              },
              "largestMagnitude": {
                "type": "number",
                "nullable": true
              },
              "nearestKm": {
                "type": "number",
                "nullable": true
              }
            },
            "required": [
              "query",
              "largestMagnitude",
              "nearestKm"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "queue.ack",
      "group": "queue",
      "name": "ack",
      "method": "POST",
      "path": "/api/queue/ack",
      "url": "https://2s.io/api/queue/ack",
      "description": "QUEUE: confirm a leased message is processed — deletes it so it isn't redelivered, scoped to YOUR wallet. Pass the message id + the leaseToken from queue.lease. Returns acked:false if the lease expired or the token doesn't match (the message will be redelivered to a future lease). Private to your wallet (the x402 payer).",
      "priceUsd": 0.002,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "queue": {
            "type": "string",
            "description": "Queue the message came from."
          },
          "id": {
            "type": "string",
            "description": "Message id from queue.lease."
          },
          "leaseToken": {
            "type": "string",
            "description": "leaseToken from queue.lease."
          }
        },
        "required": [
          "queue",
          "id",
          "leaseToken"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "queue": "example",
        "id": "example",
        "leaseToken": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "acked": {
                  "type": "boolean"
                }
              },
              "required": [
                "id",
                "acked"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "queue.enqueue",
      "group": "queue",
      "name": "enqueue",
      "method": "POST",
      "path": "/api/queue/enqueue",
      "url": "https://2s.io/api/queue/enqueue",
      "description": "QUEUE: append a message to a durable, wallet-scoped queue. Workers pull it later with queue.lease and confirm with queue.ack. Use it to buffer tasks, hand work between agent runs, or fan work to a consumer. Body is arbitrary JSON (≤256 KB). Optional maxAttempts before a message dead-letters. Kept on a rolling 90-day window. No account or API key — pay per call with x402.",
      "priceUsd": 0.002,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "queue": {
            "type": "string",
            "description": "Queue name, 1-64 chars of [A-Za-z0-9._:-]. e.g. \"jobs\"."
          },
          "body": {
            "description": "The message payload — any JSON, up to 256 KB."
          },
          "maxAttempts": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Deliveries before the message moves to the dead-letter status. Default 10."
          }
        },
        "required": [
          "queue"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "queue": "example",
        "maxAttempts": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                }
              },
              "required": [
                "id"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "queue.lease",
      "group": "queue",
      "name": "lease",
      "method": "POST",
      "path": "/api/queue/lease",
      "url": "https://2s.io/api/queue/lease",
      "description": "QUEUE: atomically claim up to `count` messages for processing, scoped to YOUR wallet. Each comes with a leaseToken; the messages are hidden from other workers for visibilitySeconds. Process them, then queue.ack each with its leaseToken — if you don't ack in time, the message is redelivered. Concurrent workers never get the same message (FOR UPDATE SKIP LOCKED). Private to your wallet (the x402 payer).",
      "priceUsd": 0.002,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "queue": {
            "type": "string",
            "description": "Queue to pull from."
          },
          "count": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "How many to claim. Default 1, max 100."
          },
          "visibilitySeconds": {
            "type": "integer",
            "minimum": 1,
            "maximum": 3600,
            "description": "How long claimed messages stay hidden before redelivery. Default 30, max 3600."
          }
        },
        "required": [
          "queue"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "queue": "example",
        "count": 1,
        "visibilitySeconds": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "body": {},
                "attempts": {
                  "type": "number"
                },
                "leaseToken": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "attempts",
                "leaseToken"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "queue.stats",
      "group": "queue",
      "name": "stats",
      "method": "POST",
      "path": "/api/queue/stats",
      "url": "https://2s.io/api/queue/stats",
      "description": "QUEUE: depth of a queue, scoped to YOUR wallet — counts of ready (available now), leased (in flight), and dlq (dead-lettered) messages, plus total. Use it to monitor backlog and decide whether to scale workers. Private to your wallet (the x402 payer).",
      "priceUsd": 0.002,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "queue": {
            "type": "string",
            "description": "Queue to inspect."
          }
        },
        "required": [
          "queue"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "queue": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ready": {
                  "type": "number"
                },
                "leased": {
                  "type": "number"
                },
                "dlq": {
                  "type": "number"
                },
                "total": {
                  "type": "number"
                }
              },
              "required": [
                "ready",
                "leased",
                "dlq",
                "total"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "recreation.search",
      "group": "recreation",
      "name": "search",
      "method": "GET",
      "path": "/api/recreation/search",
      "url": "https://2s.io/api/recreation/search",
      "description": "Search the Recreation Information Database (RIDB) — the single source of truth for federal recreation lands and programs across NPS, USFS, BLM, USACE, BOR, FWS, NARA. Pick a resource: recareas (designated recreation areas), facilities (individual sites — campgrounds, day-use, visitor centers), campsites (individual reservable campsites with attributes), permits (special-use permits, lotteries), tours, events, activities (taxonomy lookup). Filter by free-text query, state, activity ID, or lat/lon + radius (miles, max 50). Used by every federal-recreation-related agent: trip planning, permit chasers, fishing/hunting locator, campground availability tools.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "resource": {
            "type": "string",
            "enum": [
              "recareas",
              "facilities",
              "campsites",
              "permits",
              "tours",
              "events",
              "activities"
            ]
          },
          "query": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "state": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "pattern": "^[A-Za-z]{2}$"
          },
          "activity": {
            "type": "integer",
            "minimum": 1,
            "maximum": 99999
          },
          "latitude": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "longitude": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          },
          "radius": {
            "type": "number",
            "minimum": 0.1,
            "maximum": 50
          },
          "lastUpdated": {
            "type": "string",
            "pattern": "^\\d{2}-\\d{2}-\\d{4}$"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "default": 25
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "default": 0
          }
        },
        "required": [
          "resource"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "resource": "campsites",
        "state": "CA",
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "resource": {
                "type": "string",
                "enum": [
                  "recareas",
                  "facilities",
                  "campsites",
                  "permits",
                  "tours",
                  "events",
                  "activities"
                ]
              },
              "currentCount": {
                "type": "number",
                "description": "Records returned on this page."
              }
            },
            "required": [
              "resource",
              "currentCount"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "registry.npm-lookup",
      "group": "registry",
      "name": "npm-lookup",
      "method": "GET",
      "path": "/api/registry/npm-lookup",
      "url": "https://2s.io/api/registry/npm-lookup",
      "description": "Look up an npm package by name (supports scoped packages like @sentry/node). Returns description, homepage, repository, license, author + maintainers list, keywords, distTags (latest/beta/rc/etc.), latest version + publication date, and the 50 most recent versions with their publish dates + deprecation status. ~3M JavaScript/TypeScript packages. npm public registry.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 214
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "name": "react"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "description": {
                  "type": "string",
                  "nullable": true
                },
                "homepage": {
                  "type": "string",
                  "nullable": true
                },
                "repository": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "nullable": true
                    },
                    "url": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "type",
                    "url"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                },
                "license": {
                  "type": "string",
                  "nullable": true
                },
                "author": {
                  "type": "string",
                  "nullable": true
                },
                "maintainers": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "keywords": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "distTags": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "latestVersion": {
                  "type": "string",
                  "nullable": true
                },
                "latestPublished": {
                  "type": "string",
                  "nullable": true
                },
                "versions": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "version": {
                        "type": "string"
                      },
                      "published": {
                        "type": "string",
                        "nullable": true
                      },
                      "deprecated": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "version",
                      "published",
                      "deprecated"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "name",
                "description",
                "homepage",
                "repository",
                "license",
                "author",
                "maintainers",
                "keywords",
                "distTags",
                "latestVersion",
                "latestPublished",
                "versions"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "registry.pypi-lookup",
      "group": "registry",
      "name": "pypi-lookup",
      "method": "GET",
      "path": "/api/registry/pypi-lookup",
      "url": "https://2s.io/api/registry/pypi-lookup",
      "description": "Look up a Python package on PyPI by name. Returns version, summary + long description, content-type, project URLs (Homepage, Source, Bug Tracker, Docs, etc.), license, author + maintainer (with emails), keywords, classifiers (top 30), requires-python spec, requires-dist (top 100 runtime deps), the 50 most recent releases with publish dates, and any yanked versions in that window. PyPI public registry.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "name": "requests"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "version": {
                  "type": "string"
                },
                "summary": {
                  "type": "string",
                  "nullable": true
                },
                "description": {
                  "type": "string",
                  "nullable": true
                },
                "descriptionContentType": {
                  "type": "string",
                  "nullable": true
                },
                "homePage": {
                  "type": "string",
                  "nullable": true
                },
                "projectUrls": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "license": {
                  "type": "string",
                  "nullable": true
                },
                "author": {
                  "type": "string",
                  "nullable": true
                },
                "authorEmail": {
                  "type": "string",
                  "nullable": true
                },
                "maintainer": {
                  "type": "string",
                  "nullable": true
                },
                "maintainerEmail": {
                  "type": "string",
                  "nullable": true
                },
                "keywords": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "classifiers": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "requiresPython": {
                  "type": "string",
                  "nullable": true
                },
                "requiresDist": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "releaseDates": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "yankedVersions": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "name",
                "version",
                "summary",
                "description",
                "descriptionContentType",
                "homePage",
                "projectUrls",
                "license",
                "author",
                "authorEmail",
                "maintainer",
                "maintainerEmail",
                "keywords",
                "classifiers",
                "requiresPython",
                "requiresDist",
                "releaseDates",
                "yankedVersions"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "research.author",
      "group": "research",
      "name": "author",
      "method": "GET",
      "path": "/api/research/author",
      "url": "https://2s.io/api/research/author",
      "description": "Resolve a researcher by ORCID iD. Pass orcid (e.g. 0000-0002-1825-0097, with or without the https://orcid.org/ prefix). Returns the researcher name, affiliations (employments and educations with organization, role, department, years, and a current flag), a total works count, and a works summary (title, type, year, DOI when present). Data: ORCID Public API, free and keyless; per-record visibility is set by the record holder. The canonical author key in scholarly metadata — pair with /api/papers/search, /api/paper/doi-lookup, and /api/research/org (ROR institutions). Use to verify an author identity, current institution, or publication record before citing.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "orcid": {
            "type": "string",
            "minLength": 16,
            "maxLength": 60,
            "description": "ORCID iD, e.g. 0000-0002-1825-0097."
          },
          "worksLimit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "default": 20
          }
        },
        "required": [
          "orcid"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "orcid": "0000-0002-1825-0097"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "orcid": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "name": {
            "type": "object",
            "properties": {
              "given": {
                "type": "string",
                "nullable": true
              },
              "family": {
                "type": "string",
                "nullable": true
              },
              "credit": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "given",
              "family",
              "credit"
            ],
            "additionalProperties": false
          },
          "affiliations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "employment",
                    "education"
                  ]
                },
                "organization": {
                  "type": "string",
                  "nullable": true
                },
                "roleTitle": {
                  "type": "string",
                  "nullable": true
                },
                "department": {
                  "type": "string",
                  "nullable": true
                },
                "startYear": {
                  "type": "number",
                  "nullable": true
                },
                "endYear": {
                  "type": "number",
                  "nullable": true
                },
                "current": {
                  "type": "boolean"
                },
                "country": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "type",
                "organization",
                "roleTitle",
                "department",
                "startYear",
                "endYear",
                "current",
                "country"
              ],
              "additionalProperties": false
            }
          },
          "worksCount": {
            "type": "number"
          },
          "works": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string",
                  "nullable": true
                },
                "type": {
                  "type": "string",
                  "nullable": true
                },
                "year": {
                  "type": "number",
                  "nullable": true
                },
                "doi": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "title",
                "type",
                "year",
                "doi"
              ],
              "additionalProperties": false
            }
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "provider": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                },
                "license": {
                  "type": "string"
                }
              },
              "required": [
                "provider",
                "url",
                "license"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "orcid",
          "url",
          "name",
          "affiliations",
          "worksCount",
          "works",
          "sources"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "research.funding",
      "group": "research",
      "name": "funding",
      "method": "GET",
      "path": "/api/research/funding",
      "url": "https://2s.io/api/research/funding",
      "description": "Search US federal biomedical research grants via NIH RePORTER. Filter by term (free-text over project title, terms, and abstract), org (funded institution name), pi (principal-investigator name), and/or fiscalYear; page with limit (1-50) and offset. Returns each award with project number, title, fiscal year, award amount (USD), contact PI, organization (name, city, state, country, department), funding agency/institute, and project start/end dates — newest fiscal year first, with a total match count. Data: NIH RePORTER, free and public-domain. Fresh post-training award data agents cannot know; pair with /api/research/org (ROR) and /api/research/author (ORCID). Use for funding landscape research, competitor/lab tracking, and grant-opportunity context.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "term": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200
          },
          "org": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200
          },
          "pi": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          "fiscalYear": {
            "type": "integer",
            "minimum": 1985,
            "maximum": 2100
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "default": 10
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 14000,
            "default": 0
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "term": "crispr",
        "fiscalYear": 2026,
        "limit": 5
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "term": {
                "type": "string",
                "nullable": true
              },
              "org": {
                "type": "string",
                "nullable": true
              },
              "pi": {
                "type": "string",
                "nullable": true
              },
              "fiscalYear": {
                "type": "number",
                "nullable": true
              },
              "limit": {
                "type": "number"
              },
              "offset": {
                "type": "number"
              }
            },
            "required": [
              "term",
              "org",
              "pi",
              "fiscalYear",
              "limit",
              "offset"
            ],
            "additionalProperties": false
          },
          "total": {
            "type": "number",
            "nullable": true
          },
          "count": {
            "type": "number"
          },
          "awards": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "projectNum": {
                  "type": "string",
                  "nullable": true
                },
                "title": {
                  "type": "string",
                  "nullable": true
                },
                "fiscalYear": {
                  "type": "number",
                  "nullable": true
                },
                "awardAmount": {
                  "type": "number",
                  "nullable": true
                },
                "piName": {
                  "type": "string",
                  "nullable": true
                },
                "organization": {
                  "type": "string",
                  "nullable": true
                },
                "orgCity": {
                  "type": "string",
                  "nullable": true
                },
                "orgState": {
                  "type": "string",
                  "nullable": true
                },
                "orgCountry": {
                  "type": "string",
                  "nullable": true
                },
                "department": {
                  "type": "string",
                  "nullable": true
                },
                "agency": {
                  "type": "string",
                  "nullable": true
                },
                "agencyName": {
                  "type": "string",
                  "nullable": true
                },
                "startDate": {
                  "type": "string",
                  "nullable": true
                },
                "endDate": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "projectNum",
                "title",
                "fiscalYear",
                "awardAmount",
                "piName",
                "organization",
                "orgCity",
                "orgState",
                "orgCountry",
                "department",
                "agency",
                "agencyName",
                "startDate",
                "endDate"
              ],
              "additionalProperties": false
            }
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "provider": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                },
                "license": {
                  "type": "string"
                }
              },
              "required": [
                "provider",
                "url",
                "license"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "query",
          "total",
          "count",
          "awards",
          "sources"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "research.org",
      "group": "research",
      "name": "org",
      "method": "GET",
      "path": "/api/research/org",
      "url": "https://2s.io/api/research/org",
      "description": "Resolve a research organization via the Research Organization Registry (ROR). Pass id (a ROR id like 056y0v115 or its full URL) to fetch one org, or name to search by free text. Returns the canonical ROR id and name, organization type, status, founding year, location (city, country, GeoNames coordinates), website, Wikipedia link, external identifiers (GRID, ISNI, Wikidata, Crossref Funder), parent/child relationships, and aliases/acronyms. Data: ROR, free and CC0. The canonical institution key in scholarly metadata — pair with /api/papers/search and /api/paper/doi-lookup (author affiliations) and /api/research/author (ORCID). Use to disambiguate an institution name to a stable id before joining datasets.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          "name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 20,
            "default": 5
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "name": "anthropic"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "nullable": true
              },
              "name": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "id",
              "name"
            ],
            "additionalProperties": false
          },
          "total": {
            "type": "number",
            "nullable": true
          },
          "count": {
            "type": "number"
          },
          "organizations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "established": {
                  "type": "number",
                  "nullable": true
                },
                "status": {
                  "type": "string",
                  "nullable": true
                },
                "types": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "location": {
                  "type": "object",
                  "properties": {
                    "city": {
                      "type": "string",
                      "nullable": true
                    },
                    "countryCode": {
                      "type": "string",
                      "nullable": true
                    },
                    "countryName": {
                      "type": "string",
                      "nullable": true
                    },
                    "subdivision": {
                      "type": "string",
                      "nullable": true
                    },
                    "lat": {
                      "type": "number",
                      "nullable": true
                    },
                    "lng": {
                      "type": "number",
                      "nullable": true
                    },
                    "geonamesId": {
                      "type": "number",
                      "nullable": true
                    }
                  },
                  "required": [
                    "city",
                    "countryCode",
                    "countryName",
                    "subdivision",
                    "lat",
                    "lng",
                    "geonamesId"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                },
                "website": {
                  "type": "string",
                  "nullable": true
                },
                "wikipedia": {
                  "type": "string",
                  "nullable": true
                },
                "externalIds": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "preferred": {
                        "type": "string",
                        "nullable": true
                      },
                      "all": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    },
                    "required": [
                      "type",
                      "preferred",
                      "all"
                    ],
                    "additionalProperties": false
                  }
                },
                "relationships": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "id": {
                        "type": "string"
                      },
                      "label": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "type",
                      "id",
                      "label"
                    ],
                    "additionalProperties": false
                  }
                },
                "aliases": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "id",
                "name",
                "established",
                "status",
                "types",
                "location",
                "website",
                "wikipedia",
                "externalIds",
                "relationships",
                "aliases"
              ],
              "additionalProperties": false
            }
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "provider": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                },
                "license": {
                  "type": "string"
                }
              },
              "required": [
                "provider",
                "url",
                "license"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "query",
          "total",
          "count",
          "organizations",
          "sources"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "schedule.cancel",
      "group": "schedule",
      "name": "cancel",
      "method": "POST",
      "path": "/api/schedule/cancel",
      "url": "https://2s.io/api/schedule/cancel",
      "description": "SCHEDULE: stop an active schedule immediately, scoped to YOUR wallet. No more callbacks will fire. Returns cancelled:false if it was already done/cancelled or isn't yours. No refund of the unused window. Private to your wallet (the x402 payer).",
      "priceUsd": 0.002,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "scheduleId": {
            "type": "string",
            "description": "The scheduleId from schedule.create."
          }
        },
        "required": [
          "scheduleId"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "scheduleId": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "scheduleId": {
                  "type": "string"
                },
                "cancelled": {
                  "type": "boolean"
                }
              },
              "required": [
                "scheduleId",
                "cancelled"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "schedule.create",
      "group": "schedule",
      "name": "create",
      "method": "POST",
      "path": "/api/schedule/create",
      "url": "https://2s.io/api/schedule/create",
      "description": "SCHEDULE: arm a time-driven callback, scoped to YOUR wallet — the time-based twin of watchers. We POST your payload to callbackUrl either once at a future time (`at`) or repeatedly (`everySeconds`, ≥60). Each push is EIP-191-signed by our published key (verify offline) and retried with backoff. Pay once; bounded by maxFires + a 90-day window. Gives a stateless agent a cron without a server. No account or API key — pay per call with x402.",
      "priceUsd": 0.05,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "callbackUrl": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "Where we POST when it fires. Any http(s) URL; the JSON body is signed (verify with X-2s-Signature)."
          },
          "at": {
            "type": "string",
            "description": "ISO-8601 timestamp for a ONE-SHOT fire. e.g. \"2026-07-01T14:00:00Z\". Provide this OR everySeconds, not both."
          },
          "everySeconds": {
            "type": "integer",
            "minimum": 60,
            "description": "Recurring interval in seconds (≥60). Provide this OR at."
          },
          "payload": {
            "type": "object",
            "additionalProperties": {},
            "description": "Arbitrary JSON echoed in every callback (plus scheduleId, fireNumber, firedAt). e.g. {\"job\":\"digest\"}."
          },
          "maxFires": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Stop after this many fires (recurring only). Default 25, max 1000."
          },
          "expiresInSeconds": {
            "type": "integer",
            "minimum": 60,
            "description": "Auto-expire the schedule after this long. Default + max 90 days."
          },
          "label": {
            "type": "string",
            "maxLength": 64,
            "description": "Optional free-text tag to recognize this schedule later."
          }
        },
        "required": [
          "callbackUrl"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "callbackUrl": "https://example.com",
        "at": "example",
        "everySeconds": 60,
        "payload": {},
        "maxFires": 1,
        "expiresInSeconds": 60,
        "label": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "scheduleId": {
                  "type": "string"
                },
                "status": {
                  "type": "string"
                },
                "nextFire": {
                  "type": "string",
                  "nullable": true
                },
                "everySeconds": {
                  "type": "number",
                  "nullable": true
                },
                "maxFires": {
                  "type": "number"
                },
                "expiresAt": {
                  "type": "string"
                },
                "callbackSigner": {
                  "type": "string"
                }
              },
              "required": [
                "scheduleId",
                "status",
                "nextFire",
                "everySeconds",
                "maxFires",
                "expiresAt",
                "callbackSigner"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "schedule.status",
      "group": "schedule",
      "name": "status",
      "method": "POST",
      "path": "/api/schedule/status",
      "url": "https://2s.io/api/schedule/status",
      "description": "SCHEDULE: check a schedule's state, scoped to YOUR wallet — status, next fire time, fires used vs max, expiry, and its recent delivery attempts (including any that failed/retried). 404 if it isn't yours or doesn't exist. Private to your wallet (the x402 payer).",
      "priceUsd": 0.002,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "scheduleId": {
            "type": "string",
            "description": "The scheduleId from schedule.create."
          }
        },
        "required": [
          "scheduleId"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "scheduleId": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "scheduleId": {
                  "type": "string"
                },
                "status": {
                  "type": "string"
                },
                "nextFire": {
                  "type": "string",
                  "nullable": true
                },
                "firesUsed": {
                  "type": "number"
                },
                "maxFires": {
                  "type": "number"
                },
                "recentDeliveries": {
                  "type": "array",
                  "items": {}
                }
              },
              "required": [
                "scheduleId",
                "status",
                "nextFire",
                "firesUsed",
                "maxFires",
                "recentDeliveries"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "search.ai",
      "group": "search",
      "name": "ai",
      "method": "GET",
      "path": "/api/search/ai",
      "url": "https://2s.io/api/search/ai",
      "description": "AI web search optimized for agents. Returns ranked results with the relevant extracted content of each page (not just a link + blurb), plus a relevance score. topic=news for recent reporting. Distinct from search.web (raw SERP) — this returns clean, LLM-ready page content per result.",
      "priceUsd": 0.018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "minLength": 2,
            "maxLength": 400,
            "description": "Search query."
          },
          "maxResults": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10
          },
          "topic": {
            "type": "string",
            "enum": [
              "general",
              "news"
            ]
          }
        },
        "required": [
          "q"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "q": "xx",
        "maxResults": 1,
        "topic": "general"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string",
                  "nullable": true
                },
                "url": {
                  "type": "string",
                  "nullable": true
                },
                "content": {
                  "type": "string",
                  "nullable": true
                },
                "score": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "title",
                "url",
                "content",
                "score"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "search.crawl",
      "group": "search",
      "name": "crawl",
      "method": "POST",
      "path": "/api/search/crawl",
      "url": "https://2s.io/api/search/crawl",
      "description": "Crawl a site and return clean page content. POST { url, limit?, maxDepth?, instructions? }. Follows links from the start URL (up to 10 pages, depth ≤2) and returns each page's extracted content. Optional natural-language instructions steer which pages to follow (e.g. \"only pricing and docs pages\"). For ingesting a small site/section in one call.",
      "priceUsd": 0.048,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "Start URL to crawl."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Max pages (≤10)."
          },
          "maxDepth": {
            "type": "integer",
            "minimum": 1,
            "maximum": 2
          },
          "instructions": {
            "type": "string",
            "maxLength": 300,
            "description": "Natural-language steering for which pages to follow."
          }
        },
        "required": [
          "url"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "url": "https://example.com",
        "limit": 1,
        "maxDepth": 1,
        "instructions": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string",
                  "nullable": true
                },
                "content": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "url",
                "content"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "baseUrl": {
                "type": "string"
              }
            },
            "required": [
              "baseUrl"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "search.endpoints",
      "group": "search",
      "name": "endpoints",
      "method": "GET",
      "path": "/api/search/endpoints",
      "url": "https://2s.io/api/search/endpoints",
      "description": "Find the right 2s endpoint for a task using natural language. Pass q (e.g. 'check if a domain can be spoofed', 'is this CVE being exploited', 'screen a company for sanctions', 'decode a VIN') and get back the catalog's most relevant endpoints, ranked, each with its id, API path, method, group, description, and price. Deterministic keyword + synonym matching over the live endpoint registry (no LLM, no external calls) — a self-routing index so an agent (or its planner) can discover which paid call answers a question instead of reading the whole 290+ endpoint catalog. Returns the path you then call directly.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          }
        },
        "required": [
          "q"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "q": "check if a domain can be spoofed",
        "limit": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "path": {
                  "type": "string"
                },
                "method": {
                  "type": "string"
                },
                "group": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "priceUsd": {
                  "type": "number"
                },
                "score": {
                  "type": "number"
                }
              },
              "required": [
                "id",
                "path",
                "method",
                "group",
                "name",
                "description",
                "priceUsd",
                "score"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "string"
              },
              "total": {
                "type": "integer"
              }
            },
            "required": [
              "query",
              "total"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "search.extract",
      "group": "search",
      "name": "extract",
      "method": "POST",
      "path": "/api/search/extract",
      "url": "https://2s.io/api/search/extract",
      "description": "Extract clean, LLM-ready content from up to 5 URLs in one call. POST { urls[], depth? }. Returns the main text content of each page (JS-rendered, boilerplate stripped) plus a list of any URLs that failed. For feeding web pages to an agent without running your own headless browser.",
      "priceUsd": 0.018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "urls": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uri",
              "maxLength": 2048
            },
            "minItems": 1,
            "maxItems": 5,
            "description": "1-5 URLs to extract."
          },
          "depth": {
            "type": "string",
            "enum": [
              "basic",
              "advanced"
            ]
          }
        },
        "required": [
          "urls"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "urls": [
          "https://example.com"
        ],
        "depth": "basic"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string",
                  "nullable": true
                },
                "content": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "url",
                "content"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "failed": {
                "type": "array",
                "items": {}
              }
            },
            "required": [
              "failed"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "search.web",
      "group": "search",
      "name": "web",
      "method": "GET",
      "path": "/api/search/web",
      "url": "https://2s.io/api/search/web",
      "description": "Live web search. Returns ranked results with title, URL, snippet description, site name, and page age — fresh information past any model training cutoff. Supports count (1-20), offset for paging, country (2-letter, e.g. US), freshness (pd=past day, pw=past week, pm=past month, py=past year, or a YYYY-MM-DDtoYYYY-MM-DD range), and safesearch (off/moderate/strict). Use for current events, fact verification, finding documentation, and research. Independent search index. For news-specific results with sources and timestamps see /api/news/search.",
      "priceUsd": 0.009,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "minLength": 1,
            "maxLength": 400,
            "description": "Search query."
          },
          "count": {
            "type": "integer",
            "minimum": 1,
            "maximum": 20,
            "default": 10
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9,
            "default": 0
          },
          "country": {
            "type": "string",
            "pattern": "^[a-zA-Z]{2}$"
          },
          "freshness": {
            "type": "string",
            "pattern": "^(pd|pw|pm|py|\\d{4}-\\d{2}-\\d{2}to\\d{4}-\\d{2}-\\d{2})$"
          },
          "safesearch": {
            "type": "string",
            "enum": [
              "off",
              "moderate",
              "strict"
            ]
          }
        },
        "required": [
          "q"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "q": "x402 payment protocol",
        "count": 5
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                },
                "description": {
                  "type": "string",
                  "nullable": true
                },
                "siteName": {
                  "type": "string",
                  "nullable": true
                },
                "age": {
                  "type": "string",
                  "nullable": true,
                  "description": "Relative page age when known, e.g. \"2 days ago\"."
                },
                "language": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "title",
                "url",
                "description",
                "siteName",
                "age",
                "language"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "string"
              },
              "moreAvailable": {
                "type": "boolean",
                "description": "True when another offset page exists."
              }
            },
            "required": [
              "query",
              "moreAvailable"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "security.attack",
      "group": "security",
      "name": "attack",
      "method": "GET",
      "path": "/api/security/attack",
      "url": "https://2s.io/api/security/attack",
      "description": "Authoritative MITRE ATT&CK (Enterprise) technique lookup. Pass id (e.g. T1059 or sub-technique T1059.001) for the canonical technique — name, tactics (kill-chain phases), description, platforms, sub-technique flag + parent, mitigations, and detection guidance — or query for a keyword search returning ranked techniques. Bundled current ATT&CK matrix (~700 techniques), zero external calls. Agents cite T-numbers and tactic names that must be exact; this returns version-pinned, citeable data instead of hallucinated IDs. For threat modeling, detection engineering, and report enrichment.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 2,
            "maxLength": 20
          },
          "query": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "id": "T1059"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "security.capec",
      "group": "security",
      "name": "capec",
      "method": "GET",
      "path": "/api/security/capec",
      "url": "https://2s.io/api/security/capec",
      "description": "Authoritative MITRE CAPEC (Common Attack Pattern Enumeration) lookup. Pass id (e.g. CAPEC-66, or just 66) for the canonical attack pattern — name, abstraction, description, typical likelihood + severity, mapped CWE weaknesses (with names), and related patterns (with names) — or query for a keyword search. Bundled catalog (~615 patterns), zero external calls. The attacker's-eye complement to security.cwe (the defender's weakness view) — the CAPEC↔CWE cross-links let an agent pivot between how an attack works and the weakness it exploits, with exact citeable IDs.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20
          },
          "query": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "id": "CAPEC-66"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "security.cve",
      "group": "security",
      "name": "cve",
      "method": "GET",
      "path": "/api/security/cve",
      "url": "https://2s.io/api/security/cve",
      "description": "Look up a CVE by id (e.g. CVE-2021-44228) across three authoritative vulnerability feeds in one call. Query: cve (CVE-YYYY-NNNN). Returns the canonical record — description, CVSS base score + severity + vector, CWE weakness ids, published/modified dates, reference links — plus whether it is on the US CISA Known Exploited Vulnerabilities catalog (with remediation due date and known-ransomware flag) and its EPSS exploit-probability score and percentile. The exploited and EPSS sections report independently, so one feed being unavailable does not fail the call. 404 if the CVE id is unknown. For triage, prioritization, and anti-hallucination on vulnerability claims.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "cve": {
            "type": "string",
            "minLength": 6,
            "maxLength": 40,
            "description": "CVE identifier in the form CVE-YYYY-NNNN (e.g. CVE-2021-44228)."
          }
        },
        "required": [
          "cve"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "cve": "CVE-2021-44228"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "cve": {
            "type": "string"
          },
          "published": {
            "type": "string",
            "nullable": true
          },
          "lastModified": {
            "type": "string",
            "nullable": true
          },
          "vulnStatus": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "cvss": {
            "type": "object",
            "additionalProperties": {},
            "nullable": true
          },
          "cwes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "references": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "knownExploited": {
            "type": "object",
            "additionalProperties": {}
          },
          "knownExploitedError": {
            "type": "string",
            "nullable": true
          },
          "epss": {
            "type": "object",
            "additionalProperties": {},
            "nullable": true
          },
          "epssError": {
            "type": "string",
            "nullable": true
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          }
        },
        "required": [
          "cve",
          "published",
          "lastModified",
          "vulnStatus",
          "description",
          "cvss",
          "cwes",
          "references",
          "knownExploited",
          "knownExploitedError",
          "epss",
          "epssError",
          "sources"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "security.cve-changes",
      "group": "security",
      "name": "cve-changes",
      "method": "GET",
      "path": "/api/security/cve-changes",
      "url": "https://2s.io/api/security/cve-changes",
      "description": "CVE change feed — the CVE records MODIFIED within a time window, so an agent can incrementally maintain a vulnerability view instead of re-scanning. Pass since (YYYY-MM-DD or ISO datetime); until defaults to now (window must be ≤ 120 days, the NVD limit). Optionally narrow by keyword (product/text) or cpe (exact CPE). Returns each changed CVE with its id, published + lastModified timestamps, current vulnStatus (e.g. Modified, Analyzed, Rejected), best-available CVSS score/severity, description, and kevListed — whether it is now on the CISA Known-Exploited Vulnerabilities catalog (the high-signal flag for a poller). Newest modification first. Sourced live from NVD (NIST) + CISA KEV, free/keyless. Pair with security.cve for full per-CVE detail.",
      "priceUsd": 0.00216,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "since": {
            "type": "string",
            "minLength": 8,
            "maxLength": 30
          },
          "until": {
            "type": "string",
            "minLength": 8,
            "maxLength": 30
          },
          "keyword": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "cpe": {
            "type": "string",
            "minLength": 3,
            "maxLength": 200
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          }
        },
        "required": [
          "since"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "since": "2026-06-14",
        "limit": 5
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "published": {
                  "type": "string",
                  "nullable": true
                },
                "lastModified": {
                  "type": "string",
                  "nullable": true
                },
                "vulnStatus": {
                  "type": "string",
                  "nullable": true
                },
                "description": {
                  "type": "string",
                  "nullable": true
                },
                "cvss": {
                  "type": "object",
                  "additionalProperties": {},
                  "nullable": true
                },
                "kevListed": {
                  "type": "boolean"
                }
              },
              "required": [
                "id",
                "published",
                "lastModified",
                "vulnStatus",
                "description",
                "cvss",
                "kevListed"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "window": {
                "type": "object",
                "properties": {
                  "since": {
                    "type": "string"
                  },
                  "until": {
                    "type": "string"
                  }
                },
                "required": [
                  "since",
                  "until"
                ],
                "additionalProperties": false
              },
              "total": {
                "type": "integer"
              }
            },
            "required": [
              "window",
              "total"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "security.cve-search",
      "group": "security",
      "name": "cve-search",
      "method": "GET",
      "path": "/api/security/cve-search",
      "url": "https://2s.io/api/security/cve-search",
      "description": "Find vulnerabilities affecting a product by searching the NIST National Vulnerability Database. Pass product (free-text keyword, e.g. \"apache log4j\", \"openssl\", \"wordpress plugin contact-form-7\") or cpe (an exact CPE 2.3 name, e.g. cpe:2.3:a:apache:log4j:2.14.1:*:*:*:*:*:*:*). Returns matching CVEs newest-first, each with its id, description, CVSS base score/severity/vector, and dates. Optional limit (1–50). For \"what CVEs affect X\" / surveying a product's vulnerability history — distinct from security.cve, which resolves a single CVE id across NVD + CISA KEV + EPSS. Free, keyless.",
      "priceUsd": 0.00216,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "product": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200,
            "description": "Free-text product/keyword (e.g. \"apache log4j\")."
          },
          "cpe": {
            "type": "string",
            "minLength": 5,
            "maxLength": 300,
            "description": "Exact CPE 2.3 name (e.g. cpe:2.3:a:apache:log4j:2.14.1:*:*:*:*:*:*:*)."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Max CVEs to return (1–50, default 20)."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "product": "apache log4j",
        "limit": 5
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "description": {
                  "type": "string",
                  "nullable": true
                },
                "cvss": {
                  "type": "object",
                  "additionalProperties": {},
                  "nullable": true,
                  "description": "Best-available CVSS (base score, severity, vector)."
                },
                "published": {
                  "type": "string",
                  "nullable": true
                },
                "lastModified": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "description",
                "cvss",
                "published",
                "lastModified"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "total": {
                "type": "integer"
              },
              "query": {
                "type": "string"
              }
            },
            "required": [
              "total",
              "query"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "security.cwe",
      "group": "security",
      "name": "cwe",
      "method": "GET",
      "path": "/api/security/cwe",
      "url": "https://2s.io/api/security/cwe",
      "description": "Authoritative MITRE CWE (Common Weakness Enumeration) lookup. Pass id (e.g. CWE-79, or just 79) for the canonical weakness — name, abstraction, description, extended description, ChildOf/ParentOf relationships (with names), and mapped CAPEC attack patterns (with names) — or query for a keyword search returning ranked matches. Bundled catalog (~970 weaknesses), zero external calls. Agents hallucinate CWE IDs and names constantly; this returns exact, citeable, version-pinned data. Pairs with security.cve (which returns CWE ids) and security.capec.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20
          },
          "query": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "id": "CWE-79"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "security.exploit-availability",
      "group": "security",
      "name": "exploit-availability",
      "method": "GET",
      "path": "/api/security/exploit-availability",
      "url": "https://2s.io/api/security/exploit-availability",
      "description": "Does public exploit code exist for a CVE, and where? Pass cve (e.g. CVE-2021-44228). Returns hasPublicExploit, the count, hasMetasploitModule and hasVerifiedExploit flags, and the Exploit-DB entries (id, description, type, platform, date, verified, Metasploit flag, link). Bundled inverted index from the Exploit-DB archive (~25k CVEs). This is the triage signal BEYOND security.cve's KEV (exploited in the wild) + EPSS (exploit probability): is the vulnerability actually weaponized with available code? Use the trio together to decide how urgently to patch. Absence is not proof no exploit exists (private/other archives not covered).",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "cve": {
            "type": "string",
            "minLength": 6,
            "maxLength": 30
          }
        },
        "required": [
          "cve"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "cve": "CVE-2021-44228"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "cve": {
                  "type": "string"
                },
                "hasPublicExploit": {
                  "type": "boolean"
                },
                "exploitCount": {
                  "type": "integer"
                },
                "hasMetasploitModule": {
                  "type": "boolean"
                },
                "hasVerifiedExploit": {
                  "type": "boolean"
                },
                "exploits": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "edbId": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      },
                      "platform": {
                        "type": "string"
                      },
                      "date": {
                        "type": "string"
                      },
                      "verified": {
                        "type": "boolean"
                      },
                      "metasploit": {
                        "type": "boolean"
                      },
                      "url": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "edbId",
                      "description",
                      "type",
                      "platform",
                      "date",
                      "verified",
                      "metasploit",
                      "url"
                    ],
                    "additionalProperties": false
                  }
                },
                "note": {
                  "type": "string"
                }
              },
              "required": [
                "cve",
                "hasPublicExploit",
                "exploitCount",
                "hasMetasploitModule",
                "hasVerifiedExploit",
                "exploits",
                "note"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "security.http-headers",
      "group": "security",
      "name": "http-headers",
      "method": "GET",
      "path": "/api/security/http-headers",
      "url": "https://2s.io/api/security/http-headers",
      "description": "Fetch a URL and grade its HTTP security headers. Pass url (scheme optional — defaults to https). Returns an overall letter grade + score, the list of present/missing headers, and a per-header analysis with the live value and specific issues for: Strict-Transport-Security (HSTS max-age/includeSubDomains), Content-Security-Policy (flags 'unsafe-inline'/'unsafe-eval'/missing default-src), X-Frame-Options or CSP frame-ancestors (clickjacking), X-Content-Type-Options (nosniff), Referrer-Policy, Permissions-Policy, and Cross-Origin-Opener/Resource-Policy. Also flags Server/X-Powered-By info disclosure. Analyzed from the target's LIVE response headers through an SSRF-guarded fetch (private/loopback targets refused) — an LLM cannot see a site's current headers. For web-app security review, vendor assessment, and CI gates.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "minLength": 3,
            "maxLength": 2048
          }
        },
        "required": [
          "url"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "url": "https://example.com"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string"
                },
                "finalUrl": {
                  "type": "string"
                },
                "status": {
                  "type": "integer"
                },
                "grade": {
                  "type": "string"
                },
                "score": {
                  "type": "number"
                },
                "maxScore": {
                  "type": "number"
                },
                "present": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "missing": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "headers": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "header": {
                        "type": "string"
                      },
                      "present": {
                        "type": "boolean"
                      },
                      "value": {
                        "type": "string",
                        "nullable": true
                      },
                      "weight": {
                        "type": "number"
                      },
                      "issues": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    },
                    "required": [
                      "header",
                      "present",
                      "value",
                      "weight",
                      "issues"
                    ],
                    "additionalProperties": false
                  }
                },
                "infoDisclosure": {
                  "type": "object",
                  "properties": {
                    "server": {
                      "type": "string",
                      "nullable": true
                    },
                    "xPoweredBy": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "server",
                    "xPoweredBy"
                  ],
                  "additionalProperties": false
                },
                "note": {
                  "type": "string"
                }
              },
              "required": [
                "url",
                "finalUrl",
                "status",
                "grade",
                "score",
                "maxScore",
                "present",
                "missing",
                "headers",
                "infoDisclosure",
                "note"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "security.ics-advisories",
      "group": "security",
      "name": "ics-advisories",
      "method": "GET",
      "path": "/api/security/ics-advisories",
      "url": "https://2s.io/api/security/ics-advisories",
      "description": "CISA Industrial Control Systems (ICS) advisories — vulnerabilities in operational-technology gear (SCADA, PLCs, building automation, energy/manufacturing/transportation systems, and medical devices), from the official CISA advisory RSS feed. Each item is normalized to the canonical advisory id (ICSA-YY-DDD-NN, or ICSMA-YY-DDD-NN for medical), title, link to the full advisory, publication date (ISO), and a plain-text summary. Optionally filter by keyword (e.g. a vendor like \"Siemens\") and cap the count. Returned newest-first. Free, public-domain (CISA).",
      "priceUsd": 0.0048,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100,
            "description": "Case-insensitive keyword filter on title + summary, e.g. a vendor like \"Siemens\"."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Max advisories to return (1-100, default 25)."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "q": "Siemens"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "advisoryId": {
                  "type": "string",
                  "nullable": true
                },
                "title": {
                  "type": "string"
                },
                "link": {
                  "type": "string",
                  "nullable": true
                },
                "published": {
                  "type": "string",
                  "nullable": true
                },
                "summary": {
                  "type": "string"
                }
              },
              "required": [
                "advisoryId",
                "title",
                "link",
                "published",
                "summary"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "security.ioc-reputation",
      "group": "security",
      "name": "ioc-reputation",
      "method": "GET",
      "path": "/api/security/ioc-reputation",
      "url": "https://2s.io/api/security/ioc-reputation",
      "description": "Threat-intelligence reputation for an indicator of compromise (IOC) — pass ioc as an IP, domain, URL, or file hash (md5/sha1/sha256) and the type is auto-detected. Returns a malicious boolean plus a per-source breakdown: abuse.ch ThreatFox (IOC→malware/threat mapping), URLhaus (malicious URLs on a host/URL), MalwareBazaar (known malware samples by hash), Feodo Tracker (active botnet C2 IPs), Tor exit-node membership, and Spamhaus DROP (hijacked/criminal netblocks). Each source reports listed + a detail. Sourced from live, hourly-rotating threat feeds an LLM cannot know — a ground-truth liveness check for SOC alert triage, log enrichment, and blocklist decisions. Absence of a match is not proof of safety.",
      "priceUsd": 0.00216,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ioc": {
            "type": "string",
            "minLength": 3,
            "maxLength": 2048
          }
        },
        "required": [
          "ioc"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ioc": "139.180.203.104"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ioc": {
                  "type": "string"
                },
                "type": {
                  "type": "string",
                  "description": "ip | domain | url | hash"
                },
                "malicious": {
                  "type": "boolean"
                },
                "sourcesChecked": {
                  "type": "integer"
                },
                "hits": {
                  "type": "integer"
                },
                "results": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "source": {
                        "type": "string"
                      },
                      "listed": {
                        "type": "boolean"
                      },
                      "detail": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "source",
                      "listed",
                      "detail"
                    ],
                    "additionalProperties": false
                  }
                },
                "note": {
                  "type": "string"
                }
              },
              "required": [
                "ioc",
                "type",
                "malicious",
                "sourcesChecked",
                "hits",
                "results",
                "note"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "security.ip-abuse",
      "group": "security",
      "name": "ip-abuse",
      "method": "GET",
      "path": "/api/security/ip-abuse",
      "url": "https://2s.io/api/security/ip-abuse",
      "description": "AbuseIPDB abuse report for a single IP — the crowd-sourced abuse-confidence score (0-100) the fail2ban / SSH-scanner / web-attack ecosystem reports into. Pass ip (IPv4 or IPv6). Returns abuseConfidenceScore, totalReports, numDistinctUsers, lastReportedAt, usageType (e.g. Data Center / Residential), ISP, domain, hostnames, isTor, isWhitelisted, and country. Set verbose=true for the individual report records (categories + reporter country). Optional maxAgeInDays (1-365, default 90) bounds the reporting window. Live crowd data an LLM cannot know — SOC alert triage, login-abuse blocking, and firewall decisions.",
      "priceUsd": 0.00216,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ip": {
            "type": "string",
            "minLength": 3,
            "maxLength": 45
          },
          "maxAgeInDays": {
            "type": "integer",
            "minimum": 1,
            "maximum": 365,
            "default": 90
          },
          "verbose": {
            "type": "boolean",
            "default": false
          }
        },
        "required": [
          "ip"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ip": "118.25.6.39"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ipAddress": {
                  "type": "string",
                  "nullable": true
                },
                "isPublic": {
                  "type": "boolean",
                  "nullable": true
                },
                "ipVersion": {
                  "type": "integer",
                  "nullable": true
                },
                "isWhitelisted": {
                  "type": "boolean",
                  "nullable": true
                },
                "abuseConfidenceScore": {
                  "type": "integer",
                  "nullable": true
                },
                "countryCode": {
                  "type": "string",
                  "nullable": true
                },
                "usageType": {
                  "type": "string",
                  "nullable": true
                },
                "isp": {
                  "type": "string",
                  "nullable": true
                },
                "domain": {
                  "type": "string",
                  "nullable": true
                },
                "hostnames": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "isTor": {
                  "type": "boolean",
                  "nullable": true
                },
                "totalReports": {
                  "type": "integer",
                  "nullable": true
                },
                "numDistinctUsers": {
                  "type": "integer",
                  "nullable": true
                },
                "lastReportedAt": {
                  "type": "string",
                  "nullable": true
                },
                "reports": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "reportedAt": {
                        "type": "string",
                        "nullable": true
                      },
                      "comment": {
                        "type": "string",
                        "nullable": true
                      },
                      "categories": {
                        "type": "array",
                        "items": {
                          "type": "integer"
                        }
                      },
                      "reporterId": {
                        "type": "integer",
                        "nullable": true
                      },
                      "reporterCountryCode": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "reportedAt",
                      "comment",
                      "categories",
                      "reporterId",
                      "reporterCountryCode"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "ipAddress",
                "isPublic",
                "ipVersion",
                "isWhitelisted",
                "abuseConfidenceScore",
                "countryCode",
                "usageType",
                "isp",
                "domain",
                "hostnames",
                "isTor",
                "totalReports",
                "numDistinctUsers",
                "lastReportedAt"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "security.ip-blacklist",
      "group": "security",
      "name": "ip-blacklist",
      "method": "GET",
      "path": "/api/security/ip-blacklist",
      "url": "https://2s.io/api/security/ip-blacklist",
      "description": "AbuseIPDB bulk blacklist — the most-reported abusive IPs above a confidence threshold, the canonical fail2ban / firewall block-feed. Returns ipAddress, countryCode, abuseConfidenceScore, and lastReportedAt for each entry, plus the list's generatedAt timestamp. Tune confidenceMinimum (25-100, default 90), limit (1-10000, default 100), ipVersion (4 or 6), and onlyCountries / exceptCountries (comma-separated ISO-2). Live crowd-sourced threat feed for populating drop lists, WAF rules, and edge blocklists.",
      "priceUsd": 0.0024,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "confidenceMinimum": {
            "type": "integer",
            "minimum": 25,
            "maximum": 100,
            "default": 90
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10000,
            "default": 100
          },
          "ipVersion": {
            "type": "integer"
          },
          "onlyCountries": {
            "type": "string",
            "maxLength": 400
          },
          "exceptCountries": {
            "type": "string",
            "maxLength": 400
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "confidenceMinimum": 100,
        "limit": 50
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ipAddress": {
                  "type": "string",
                  "nullable": true
                },
                "countryCode": {
                  "type": "string",
                  "nullable": true
                },
                "abuseConfidenceScore": {
                  "type": "integer",
                  "nullable": true
                },
                "lastReportedAt": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "ipAddress",
                "countryCode",
                "abuseConfidenceScore",
                "lastReportedAt"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "generatedAt": {
                "type": "string",
                "nullable": true
              },
              "confidenceMinimum": {
                "type": "integer"
              },
              "count": {
                "type": "integer"
              }
            },
            "required": [
              "generatedAt",
              "confidenceMinimum",
              "count"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "security.ip-block",
      "group": "security",
      "name": "ip-block",
      "method": "GET",
      "path": "/api/security/ip-block",
      "url": "https://2s.io/api/security/ip-block",
      "description": "AbuseIPDB subnet (CIDR) check — which IPs inside a network block have been reported for abuse. Pass network as a CIDR (e.g. 118.25.0.0/24; AbuseIPDB supports up to /16 for IPv4, /112 for IPv6). Returns the block metadata (network/netmask/min-max addresses, possible hosts, address-space description) plus reportedAddress: each flagged IP with numReports, abuseConfidenceScore, mostRecentReport, and country. Optional maxAgeInDays (1-365, default 30) and limit. Use to vet a hosting range, score a customer's netblock, or sweep your own allocation.",
      "priceUsd": 0.0024,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "network": {
            "type": "string",
            "minLength": 5,
            "maxLength": 50
          },
          "maxAgeInDays": {
            "type": "integer",
            "minimum": 1,
            "maximum": 365,
            "default": 30
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "default": 100
          }
        },
        "required": [
          "network"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "network": "118.25.0.0/24"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "networkAddress": {
                  "type": "string",
                  "nullable": true
                },
                "netmask": {
                  "type": "string",
                  "nullable": true
                },
                "minAddress": {
                  "type": "string",
                  "nullable": true
                },
                "maxAddress": {
                  "type": "string",
                  "nullable": true
                },
                "numPossibleHosts": {
                  "type": "integer",
                  "nullable": true
                },
                "addressSpaceDesc": {
                  "type": "string",
                  "nullable": true
                },
                "reportedAddress": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "ipAddress": {
                        "type": "string",
                        "nullable": true
                      },
                      "numReports": {
                        "type": "integer",
                        "nullable": true
                      },
                      "mostRecentReport": {
                        "type": "string",
                        "nullable": true
                      },
                      "abuseConfidenceScore": {
                        "type": "integer",
                        "nullable": true
                      },
                      "countryCode": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "ipAddress",
                      "numReports",
                      "mostRecentReport",
                      "abuseConfidenceScore",
                      "countryCode"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "networkAddress",
                "netmask",
                "minAddress",
                "maxAddress",
                "numPossibleHosts",
                "addressSpaceDesc",
                "reportedAddress"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "network": {
                "type": "string"
              }
            },
            "required": [
              "network"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "security.ip-reputation",
      "group": "security",
      "name": "ip-reputation",
      "method": "GET",
      "path": "/api/security/ip-reputation",
      "url": "https://2s.io/api/security/ip-reputation",
      "description": "Multi-source IP reputation with one combined authority score (0-100). Polls four independent reputation sources in parallel and blends them: AbuseIPDB (crowd-sourced abuse confidence), abuse.ch threat-lists (Feodo botnet C2 + ThreatFox + Spamhaus DROP + Tor exit nodes), blocklist.de (fail2ban attack-report network), and StopForumSpam. Returns combinedScore, a verdict (clean / low / suspicious / malicious), which sources flagged it, per-source opinions (score + weight + detail), and enrichment (ISP, usage type, country, ASN, Tor). An authoritative threat-list hit (botnet/malware/hijacked netblock) hard-floors the verdict at malicious. Per-source isolation: a down feed degrades that opinion only. The one-call answer for 'should I trust this IP?' instead of trusting a single feed.",
      "priceUsd": 0.0036,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ip": {
            "type": "string",
            "minLength": 3,
            "maxLength": 45
          }
        },
        "required": [
          "ip"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ip": "118.25.6.39"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ip": {
                  "type": "string"
                },
                "ipVersion": {
                  "type": "integer"
                },
                "combinedScore": {
                  "type": "integer"
                },
                "verdict": {
                  "type": "string",
                  "enum": [
                    "clean",
                    "low",
                    "suspicious",
                    "malicious"
                  ]
                },
                "flaggedBy": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "sourcesAvailable": {
                  "type": "integer"
                },
                "sourcesFlagged": {
                  "type": "integer"
                },
                "enrichment": {
                  "type": "object",
                  "properties": {
                    "isp": {
                      "type": "string",
                      "nullable": true
                    },
                    "usageType": {
                      "type": "string",
                      "nullable": true
                    },
                    "countryCode": {
                      "type": "string",
                      "nullable": true
                    },
                    "domain": {
                      "type": "string",
                      "nullable": true
                    },
                    "asn": {
                      "type": "integer",
                      "nullable": true
                    },
                    "isTor": {
                      "type": "boolean",
                      "nullable": true
                    }
                  },
                  "required": [
                    "isp",
                    "usageType",
                    "countryCode",
                    "domain",
                    "asn",
                    "isTor"
                  ],
                  "additionalProperties": false
                },
                "opinions": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "source": {
                        "type": "string"
                      },
                      "available": {
                        "type": "boolean"
                      },
                      "malicious": {
                        "type": "boolean"
                      },
                      "score": {
                        "type": "number",
                        "nullable": true
                      },
                      "weight": {
                        "type": "number"
                      },
                      "detail": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "source",
                      "available",
                      "malicious",
                      "score",
                      "weight",
                      "detail"
                    ],
                    "additionalProperties": false
                  }
                },
                "partial": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "ip",
                "ipVersion",
                "combinedScore",
                "verdict",
                "flaggedBy",
                "sourcesAvailable",
                "sourcesFlagged",
                "enrichment",
                "opinions",
                "partial"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "verdict": {
                "type": "string"
              },
              "combinedScore": {
                "type": "integer"
              },
              "sourcesAvailable": {
                "type": "integer"
              },
              "sourcesFlagged": {
                "type": "integer"
              },
              "partial": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "verdict",
              "combinedScore",
              "sourcesAvailable",
              "sourcesFlagged",
              "partial"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "security.package",
      "group": "security",
      "name": "package",
      "method": "GET",
      "path": "/api/security/package",
      "url": "https://2s.io/api/security/package",
      "description": "Security and provenance for an open-source package, composed live from three authoritative sources in one call. Pass ecosystem (npm, pypi, go, maven, cargo, nuget) + name (+ optional version; defaults to latest). Returns: known vulnerabilities from OSV (osv.dev — aggregates GitHub Security Advisories, PyPA, RustSec, Go vuln DB, etc.) each with its id, CVE aliases, summary, severity, and references; the resolved license and deprecation status (deps.dev); and the source repo's OpenSSF Scorecard health score (overall + per-check) plus stars/forks/open-issues. All live — newly-disclosed advisories appear within hours. Distinct from registry.npm-lookup / pypi-lookup (metadata only): this answers \"is this dependency safe to add, what license does it carry, and how well-maintained is it.\"",
      "priceUsd": 0.00216,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ecosystem": {
            "type": "string",
            "enum": [
              "npm",
              "pypi",
              "go",
              "maven",
              "cargo",
              "nuget"
            ],
            "description": "Package ecosystem: npm, pypi, go, maven, cargo, or nuget."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 214,
            "description": "Package name (e.g. lodash, requests, github.com/gin-gonic/gin)."
          },
          "version": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120,
            "description": "Specific version (defaults to the latest/default version)."
          }
        },
        "required": [
          "ecosystem",
          "name"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ecosystem": "npm",
        "name": "lodash",
        "version": "4.17.20"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "package": {
                  "type": "object",
                  "properties": {
                    "ecosystem": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "version": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "ecosystem",
                    "name",
                    "version"
                  ],
                  "additionalProperties": false
                },
                "vulnerabilityCount": {
                  "type": "integer"
                },
                "vulnerabilities": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "nullable": true,
                        "description": "Advisory id (e.g. GHSA-…)."
                      },
                      "aliases": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": "Aliases incl. CVE ids."
                      },
                      "summary": {
                        "type": "string",
                        "nullable": true
                      },
                      "severity": {
                        "type": "string",
                        "nullable": true,
                        "description": "Severity label or CVSS vector."
                      },
                      "published": {
                        "type": "string",
                        "nullable": true
                      },
                      "modified": {
                        "type": "string",
                        "nullable": true
                      },
                      "references": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    },
                    "required": [
                      "id",
                      "aliases",
                      "summary",
                      "severity",
                      "published",
                      "modified",
                      "references"
                    ],
                    "additionalProperties": false
                  }
                },
                "license": {
                  "type": "string",
                  "nullable": true
                },
                "deprecated": {
                  "type": "boolean"
                },
                "deprecatedReason": {
                  "type": "string",
                  "nullable": true
                },
                "publishedAt": {
                  "type": "string",
                  "nullable": true
                },
                "sourceRepo": {
                  "type": "string",
                  "nullable": true
                },
                "scorecard": {
                  "type": "object",
                  "properties": {
                    "overallScore": {
                      "type": "number",
                      "nullable": true
                    },
                    "date": {
                      "type": "string",
                      "nullable": true
                    },
                    "checks": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "name": {
                            "type": "string",
                            "nullable": true
                          },
                          "score": {
                            "type": "number",
                            "nullable": true
                          }
                        },
                        "required": [
                          "name",
                          "score"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "overallScore",
                    "date",
                    "checks"
                  ],
                  "additionalProperties": false,
                  "nullable": true,
                  "description": "OpenSSF Scorecard repo-health score (0–10)."
                },
                "repo": {
                  "type": "object",
                  "properties": {
                    "stars": {
                      "type": "number",
                      "nullable": true
                    },
                    "forks": {
                      "type": "number",
                      "nullable": true
                    },
                    "openIssues": {
                      "type": "number",
                      "nullable": true
                    }
                  },
                  "required": [
                    "stars",
                    "forks",
                    "openIssues"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                },
                "errors": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  },
                  "description": "Per-source errors (a degraded source does not fail the call)."
                }
              },
              "required": [
                "package",
                "vulnerabilityCount",
                "vulnerabilities",
                "license",
                "deprecated",
                "deprecatedReason",
                "publishedAt",
                "sourceRepo",
                "scorecard",
                "repo"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "sources": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "sources"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "security.password-exposure",
      "group": "security",
      "name": "password-exposure",
      "method": "POST",
      "path": "/api/security/password-exposure",
      "url": "https://2s.io/api/security/password-exposure",
      "description": "Check whether a password has appeared in known data breaches, using Have I Been Pwned's Pwned Passwords k-anonymity model — only the first 5 characters of the password's SHA-1 hash are ever sent upstream, so the service never sees the password or the full hash. POST { password } (hashed server-side) OR { sha1 } (the 40-hex SHA-1, for true zero-knowledge — hash it client-side and send only that). Returns breached (boolean), count (how many times it appears in breach corpora), and the sha1Prefix used. Backed by a 900M+ breached-credential corpus an LLM cannot know. For signup/password-policy enforcement and credential-hygiene checks. Absence is not a guarantee of strength.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "password": {
            "type": "string",
            "minLength": 1,
            "maxLength": 512
          },
          "sha1": {
            "type": "string",
            "minLength": 40,
            "maxLength": 40
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "password": "P@ssw0rd"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "breached": {
                  "type": "boolean"
                },
                "count": {
                  "type": "integer"
                },
                "sha1Prefix": {
                  "type": "string"
                },
                "inputMode": {
                  "type": "string"
                },
                "note": {
                  "type": "string"
                }
              },
              "required": [
                "breached",
                "count",
                "sha1Prefix",
                "inputMode",
                "note"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "soil.hardiness-zone",
      "group": "soil",
      "name": "hardiness-zone",
      "method": "GET",
      "path": "/api/soil/hardiness-zone",
      "url": "https://2s.io/api/soil/hardiness-zone",
      "description": "USDA Plant Hardiness Zone for a US ZIP code — the standard planting zone (e.g. \"9b\") plus its average annual minimum-temperature range (°F) and the ZIP centroid. Keyless, public-domain (USDA PHZM). The \"what grows where\" primitive for gardening, landscaping, nursery, and agronomy agents.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "zip": {
            "type": "string",
            "pattern": "^\\d{5}$"
          }
        },
        "required": [
          "zip"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "zip": "85048"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "zip": {
                  "type": "string"
                },
                "zone": {
                  "type": "string",
                  "nullable": true
                },
                "temperatureRangeF": {
                  "type": "string",
                  "nullable": true
                },
                "lat": {
                  "type": "number",
                  "nullable": true
                },
                "lon": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "zip",
                "zone",
                "temperatureRangeF",
                "lat",
                "lon"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "soil.profile",
      "group": "soil",
      "name": "profile",
      "method": "GET",
      "path": "/api/soil/profile",
      "url": "https://2s.io/api/soil/profile",
      "description": "Ground-truth soil profile for any US latitude/longitude from the USDA-NRCS SSURGO survey (Soil Data Access). Returns the soil map unit plus its component soil types ranked by composition percent, each with taxonomic order/class, drainage class, hydrologic group, and representative slope. Keyless, public-domain. Use for agronomy, land assessment, hydrology, septic/foundation suitability, and crop-fit reasoning. Coordinates over water or outside surveyed areas return an empty component list.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          }
        },
        "required": [
          "lat",
          "lon"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "lat": 42,
        "lon": -93.6
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "lat": {
                  "type": "number"
                },
                "lon": {
                  "type": "number"
                },
                "mapUnitKey": {
                  "type": "string",
                  "nullable": true
                },
                "mapUnitName": {
                  "type": "string",
                  "nullable": true
                },
                "components": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "componentName": {
                        "type": "string",
                        "nullable": true
                      },
                      "componentPercent": {
                        "type": "number",
                        "nullable": true
                      },
                      "taxonomicOrder": {
                        "type": "string",
                        "nullable": true
                      },
                      "taxonomicClass": {
                        "type": "string",
                        "nullable": true
                      },
                      "drainageClass": {
                        "type": "string",
                        "nullable": true
                      },
                      "hydrologicGroup": {
                        "type": "string",
                        "nullable": true
                      },
                      "slopePct": {
                        "type": "number",
                        "nullable": true
                      }
                    },
                    "required": [
                      "componentName",
                      "componentPercent",
                      "taxonomicOrder",
                      "taxonomicClass",
                      "drainageClass",
                      "hydrologicGroup",
                      "slopePct"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "lat",
                "lon",
                "mapUnitKey",
                "mapUnitName",
                "components"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "space.body",
      "group": "space",
      "name": "body",
      "method": "GET",
      "path": "/api/space/body",
      "url": "https://2s.io/api/space/body",
      "description": "Look up any asteroid or comet in NASA JPL's Small-Body Database by designation, number, or name (e.g. \"433\", \"Eros\", \"433 Eros\", \"1P/Halley\", \"2024 YR4\"). Returns full name + kind + orbit class (e.g. Amor, Apollo, Jupiter-family comet), NEO and potentially-hazardous-asteroid flags, physical params (absolute magnitude H, diameter, extent, rotation period, albedo, density, spectral type), and orbital elements (eccentricity, semi-major axis, perihelion/aphelion, inclination, period, Earth MOID, observation arc). Astronomy, planetary-defense, and mission-planning research. Public-domain NASA/JPL data; for a body's near-Earth close approaches see /api/space/close-approaches.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "minLength": 1,
            "maxLength": 60
          }
        },
        "required": [
          "q"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "q": "433 Eros"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "body": {
                  "type": "object",
                  "properties": {
                    "fullName": {
                      "type": "string",
                      "nullable": true
                    },
                    "shortName": {
                      "type": "string",
                      "nullable": true
                    },
                    "kind": {
                      "type": "string",
                      "nullable": true
                    },
                    "neo": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "pha": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "orbitClass": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "string",
                          "nullable": true
                        },
                        "name": {
                          "type": "string",
                          "nullable": true
                        }
                      },
                      "required": [
                        "code",
                        "name"
                      ],
                      "additionalProperties": false,
                      "nullable": true
                    },
                    "physical": {
                      "type": "object",
                      "additionalProperties": {}
                    },
                    "orbit": {
                      "type": "object",
                      "additionalProperties": {}
                    }
                  },
                  "required": [
                    "fullName",
                    "shortName",
                    "kind",
                    "neo",
                    "pha",
                    "orbitClass",
                    "physical",
                    "orbit"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "body"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "space.close-approaches",
      "group": "space",
      "name": "close-approaches",
      "method": "GET",
      "path": "/api/space/close-approaches",
      "url": "https://2s.io/api/space/close-approaches",
      "description": "List near-Earth asteroid/comet close approaches to Earth within a date window and maximum distance, from NASA JPL's Close-Approach Data API. Filter by dateMin / dateMax (YYYY-MM-DD) and distMaxAu (max approach distance in AU; default 0.05 AU ≈ 19.5 lunar distances). Each approach: object designation, close-approach date (UTC), nominal + minimum distance in AU and lunar distances, relative velocity (km/s), and absolute magnitude H (a size proxy). Sorted nearest-first. Planetary-defense, observation planning, and \"what's passing by this month\" queries. Public-domain NASA/JPL data; for full physical/orbital params of a listed object see /api/space/body.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "dateMin": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "dateMax": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "distMaxAu": {
            "type": "number",
            "minimum": 0.0001,
            "maximum": 1,
            "default": 0.05
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200,
            "default": 50
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "dateMin": "2026-06-01",
        "dateMax": "2026-06-30",
        "distMaxAu": 0.05,
        "limit": 10
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "designation": {
                  "type": "string",
                  "nullable": true
                },
                "date": {
                  "type": "string",
                  "nullable": true
                },
                "julianDate": {
                  "type": "number",
                  "nullable": true
                },
                "distanceAu": {
                  "type": "number",
                  "nullable": true
                },
                "distanceMinAu": {
                  "type": "number",
                  "nullable": true
                },
                "distanceLd": {
                  "type": "number",
                  "nullable": true
                },
                "relativeVelocityKmS": {
                  "type": "number",
                  "nullable": true
                },
                "absoluteMagnitudeH": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "designation",
                "date",
                "julianDate",
                "distanceAu",
                "distanceMinAu",
                "distanceLd",
                "relativeVelocityKmS",
                "absoluteMagnitudeH"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "space.exoplanet",
      "group": "space",
      "name": "exoplanet",
      "method": "GET",
      "path": "/api/space/exoplanet",
      "url": "https://2s.io/api/space/exoplanet",
      "description": "Search confirmed exoplanets in the NASA Exoplanet Archive (~6,000, updated weekly — past any LLM training cutoff). Filter by name (planet, partial), hostStar (partial), discoveryYear, or method (e.g. \"Transit\", \"Radial Velocity\", \"Microlensing\"). Each planet: name, host star + how many stars/planets in the system, discovery method/year/facility, orbital period, semi-major axis, radius (Earth radii), mass (Earth masses), equilibrium temperature, insolation; host-star spectral type/temperature/radius/mass; distance in parsecs + light-years; and RA/dec. Astronomy, habitability research, science education. Public-domain NASA data.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 60
          },
          "hostStar": {
            "type": "string",
            "minLength": 1,
            "maxLength": 60
          },
          "discoveryYear": {
            "type": "integer",
            "minimum": 1989,
            "maximum": 2030
          },
          "method": {
            "type": "string",
            "minLength": 2,
            "maxLength": 40
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 20
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "name": "Kepler-22 b"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "nullable": true
                  },
                  "hostStar": {
                    "type": "string",
                    "nullable": true
                  },
                  "discoveryYear": {
                    "type": "number",
                    "nullable": true
                  },
                  "method": {
                    "type": "string",
                    "nullable": true
                  },
                  "limit": {
                    "type": "number"
                  }
                },
                "required": [
                  "name",
                  "hostStar",
                  "discoveryYear",
                  "method",
                  "limit"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "query"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "space.launches",
      "group": "space",
      "name": "launches",
      "method": "GET",
      "path": "/api/space/launches",
      "url": "https://2s.io/api/space/launches",
      "description": "Upcoming or recent orbital rocket launches from The Space Devs' Launch Library 2 — the live manifest behind most launch-tracking apps. `when`=upcoming (default) or previous. Optional `search` filters by rocket, provider, or mission text (e.g. \"Starship\", \"SpaceX\", \"Artemis\"). Each launch: name, status (Go/TBD/Success/Failure), NET launch time + window (UTC), launch provider, rocket configuration, pad + location, mission name/type/orbit/description, and whether a webcast is live. Real-time data agents can't get from training. Public CC-BY data (attribute The Space Devs).",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "when": {
            "type": "string",
            "enum": [
              "upcoming",
              "previous"
            ],
            "default": "upcoming"
          },
          "search": {
            "type": "string",
            "maxLength": 80
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "default": 10
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "default": 0
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "when": "upcoming",
        "limit": 5
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "nullable": true
                },
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "status": {
                  "type": "object",
                  "properties": {
                    "abbrev": {
                      "type": "string",
                      "nullable": true
                    },
                    "description": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "abbrev",
                    "description"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                },
                "net": {
                  "type": "string",
                  "nullable": true
                },
                "windowStart": {
                  "type": "string",
                  "nullable": true
                },
                "windowEnd": {
                  "type": "string",
                  "nullable": true
                },
                "provider": {
                  "type": "string",
                  "nullable": true
                },
                "rocket": {
                  "type": "string",
                  "nullable": true
                },
                "pad": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "nullable": true
                    },
                    "location": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "name",
                    "location"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                },
                "mission": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "nullable": true
                    },
                    "type": {
                      "type": "string",
                      "nullable": true
                    },
                    "orbit": {
                      "type": "string",
                      "nullable": true
                    },
                    "description": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "name",
                    "type",
                    "orbit",
                    "description"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                },
                "webcastLive": {
                  "type": "boolean",
                  "nullable": true
                },
                "image": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "name",
                "status",
                "net",
                "windowStart",
                "windowEnd",
                "provider",
                "rocket",
                "pad",
                "mission",
                "webcastLive",
                "image"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "when": {
                "type": "string"
              }
            },
            "required": [
              "when"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "space.observe",
      "group": "space",
      "name": "observe",
      "method": "GET",
      "path": "/api/space/observe",
      "url": "https://2s.io/api/space/observe",
      "description": "Compute where any asteroid or comet is in the sky and whether you can see it. Give a body (designation/number/name, e.g. \"433 Eros\", \"Ceres\", \"2024 YR4\") and optionally your lat/lon and a time (ISO, default now). Returns the body's identity (NEO/PHA flags, orbit class, absolute magnitude H), its geocentric right ascension + declination, the constellation it's in, geocentric + heliocentric distance (AU), solar phase angle, and its apparent visual magnitude (IAU H-G model — how bright it appears now). With lat/lon it adds altitude/azimuth, whether it's above your horizon, a visible-now flag (up AND sky dark), and the best viewing window in the next 24 hours (when it's highest during darkness). Orbital position is computed locally from JPL elements — VALIDATED against JPL Horizons to <0.1 arcminute. Stargazing, astrophotography planning, occultation/observation prep. For the body's static physical + orbital params see /api/space/body.",
      "priceUsd": 0.00288,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string",
            "minLength": 1,
            "maxLength": 60
          },
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          },
          "altKm": {
            "type": "number",
            "minimum": -0.5,
            "maximum": 9
          },
          "at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "body"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "body": "433 Eros",
        "lat": 40.7128,
        "lon": -74.006
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "body": {
                  "type": "object",
                  "properties": {
                    "fullName": {
                      "type": "string",
                      "nullable": true
                    },
                    "neo": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "pha": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "orbitClass": {
                      "type": "string",
                      "nullable": true
                    },
                    "absoluteMagnitudeH": {
                      "type": "number",
                      "nullable": true
                    }
                  },
                  "required": [
                    "fullName",
                    "neo",
                    "pha",
                    "orbitClass",
                    "absoluteMagnitudeH"
                  ],
                  "additionalProperties": false
                },
                "at": {
                  "type": "string"
                },
                "position": {
                  "type": "object",
                  "properties": {
                    "rightAscensionHours": {
                      "type": "number"
                    },
                    "declinationDeg": {
                      "type": "number"
                    },
                    "constellation": {
                      "type": "string",
                      "nullable": true
                    },
                    "geocentricDistanceAu": {
                      "type": "number"
                    },
                    "heliocentricDistanceAu": {
                      "type": "number"
                    },
                    "phaseAngleDeg": {
                      "type": "number"
                    },
                    "apparentMagnitude": {
                      "type": "number",
                      "nullable": true
                    }
                  },
                  "required": [
                    "rightAscensionHours",
                    "declinationDeg",
                    "constellation",
                    "geocentricDistanceAu",
                    "heliocentricDistanceAu",
                    "phaseAngleDeg",
                    "apparentMagnitude"
                  ],
                  "additionalProperties": false
                },
                "observer": {
                  "type": "object",
                  "properties": {
                    "altitudeDeg": {
                      "type": "number"
                    },
                    "azimuthDeg": {
                      "type": "number"
                    },
                    "aboveHorizon": {
                      "type": "boolean"
                    },
                    "visibleNow": {
                      "type": "boolean"
                    },
                    "bestViewing": {
                      "type": "object",
                      "properties": {
                        "at": {
                          "type": "string"
                        },
                        "altitudeDeg": {
                          "type": "number"
                        }
                      },
                      "required": [
                        "at",
                        "altitudeDeg"
                      ],
                      "additionalProperties": false,
                      "nullable": true
                    }
                  },
                  "required": [
                    "altitudeDeg",
                    "azimuthDeg",
                    "aboveHorizon",
                    "visibleNow",
                    "bestViewing"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                }
              },
              "required": [
                "body",
                "at",
                "position",
                "observer"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "space.satellite",
      "group": "space",
      "name": "satellite",
      "method": "GET",
      "path": "/api/space/satellite",
      "url": "https://2s.io/api/space/satellite",
      "description": "Compute the current position of any cataloged Earth-orbiting satellite by NORAD catalog number (e.g. 25544 = ISS, 20580 = Hubble), using fresh Celestrak orbital elements propagated with SGP4. Returns sub-point latitude/longitude, altitude (km), and speed (km/s) for the requested instant (default: now; pass `at` as an ISO timestamp for any time within a few days of the elements' epoch). Supply observer `lat`/`lon` (and optional altKm) to also get look angles — azimuth, elevation, slant range, and whether the satellite is above your horizon — for visual/antenna pointing. Satellite tracking, pass prediction, ground-station planning. Public-domain orbital data; physical/mission metadata is not included.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "noradId": {
            "type": "integer",
            "minimum": 1,
            "maximum": 999999
          },
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          },
          "altKm": {
            "type": "number",
            "minimum": -0.5,
            "maximum": 9
          },
          "at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "noradId"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "noradId": 25544,
        "lat": 40.7128,
        "lon": -74.006
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "position": {
                  "type": "object",
                  "properties": {
                    "noradId": {
                      "type": "number"
                    },
                    "name": {
                      "type": "string",
                      "nullable": true
                    },
                    "internationalDesignator": {
                      "type": "string",
                      "nullable": true
                    },
                    "epoch": {
                      "type": "string",
                      "nullable": true
                    },
                    "at": {
                      "type": "string"
                    },
                    "geodetic": {
                      "type": "object",
                      "properties": {
                        "latitude": {
                          "type": "number"
                        },
                        "longitude": {
                          "type": "number"
                        },
                        "altitudeKm": {
                          "type": "number"
                        }
                      },
                      "required": [
                        "latitude",
                        "longitude",
                        "altitudeKm"
                      ],
                      "additionalProperties": false
                    },
                    "velocityKmS": {
                      "type": "number"
                    },
                    "look": {
                      "type": "object",
                      "properties": {
                        "azimuthDeg": {
                          "type": "number"
                        },
                        "elevationDeg": {
                          "type": "number"
                        },
                        "rangeKm": {
                          "type": "number"
                        },
                        "aboveHorizon": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "azimuthDeg",
                        "elevationDeg",
                        "rangeKm",
                        "aboveHorizon"
                      ],
                      "additionalProperties": false,
                      "nullable": true
                    }
                  },
                  "required": [
                    "noradId",
                    "name",
                    "internationalDesignator",
                    "epoch",
                    "at",
                    "geodetic",
                    "velocityKmS",
                    "look"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "position"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "space.satellites",
      "group": "space",
      "name": "satellites",
      "method": "GET",
      "path": "/api/space/satellites",
      "url": "https://2s.io/api/space/satellites",
      "description": "Search the catalog of every cataloged Earth-orbiting object — ~69,000 satellites, rocket bodies, and debris tracked by US Space Force / 18 SDS (via CelesTrak SATCAT). Filter by name (q, e.g. \"starlink\"), owner/launching country (owner — code like US/PRC/CIS or a name like \"china\"), object type (type = payload | rocket body | debris | unknown), launch-year range (launchYearFrom/launchYearTo), international/COSPAR designator prefix (intlDesignator, e.g. \"2024-\"), on-orbit vs decayed (onOrbit), or exact NORAD number (noradId). Each result carries the NORAD id, name, international designator, object type, owner + resolved country, launch date + site, decay date (null = still in orbit), and orbital parameters (period, inclination, apogee, perigee). The envelope total is the full count matching your filter — so onOrbit=true&type=payload answers \"how many active satellites are up there\", and owner=PRC tells you who launched them. For a satellite's live sub-point position, pass its noradId to /api/space/satellite.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "owner": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40
          },
          "type": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20
          },
          "noradId": {
            "type": "integer",
            "minimum": 1,
            "maximum": 999999
          },
          "intlDesignator": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20
          },
          "launchYearFrom": {
            "type": "integer",
            "minimum": 1957,
            "maximum": 2100
          },
          "launchYearTo": {
            "type": "integer",
            "minimum": 1957,
            "maximum": 2100
          },
          "onOrbit": {
            "type": "string",
            "enum": [
              "true",
              "false"
            ]
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 25
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100000,
            "default": 0
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "q": "starlink",
        "onOrbit": "true",
        "limit": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "noradId": {
                  "type": "number"
                },
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "intlDesignator": {
                  "type": "string",
                  "nullable": true
                },
                "objectType": {
                  "type": "string",
                  "nullable": true
                },
                "opsStatus": {
                  "type": "string",
                  "nullable": true
                },
                "owner": {
                  "type": "string",
                  "nullable": true
                },
                "ownerName": {
                  "type": "string",
                  "nullable": true
                },
                "launchDate": {
                  "type": "string",
                  "nullable": true
                },
                "launchSite": {
                  "type": "string",
                  "nullable": true
                },
                "decayDate": {
                  "type": "string",
                  "nullable": true
                },
                "onOrbit": {
                  "type": "boolean"
                },
                "orbit": {
                  "type": "object",
                  "properties": {
                    "periodMin": {
                      "type": "number",
                      "nullable": true
                    },
                    "inclinationDeg": {
                      "type": "number",
                      "nullable": true
                    },
                    "apogeeKm": {
                      "type": "number",
                      "nullable": true
                    },
                    "perigeeKm": {
                      "type": "number",
                      "nullable": true
                    },
                    "orbitType": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "periodMin",
                    "inclinationDeg",
                    "apogeeKm",
                    "perigeeKm",
                    "orbitType"
                  ],
                  "additionalProperties": false
                },
                "rcsM2": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "noradId",
                "name",
                "intlDesignator",
                "objectType",
                "opsStatus",
                "owner",
                "ownerName",
                "launchDate",
                "launchSite",
                "decayDate",
                "onOrbit",
                "orbit",
                "rcsM2"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "space.sky-tonight",
      "group": "space",
      "name": "sky-tonight",
      "method": "GET",
      "path": "/api/space/sky-tonight",
      "url": "https://2s.io/api/space/sky-tonight",
      "description": "Observer-local sky almanac for any lat/lon and time (default now). Returns the Sun's next rise/set + current altitude/azimuth; the Moon's rise/set, current alt/az, phase angle, phase name (New → Full → Waning Crescent), illuminated fraction, and next moon quarter; and for all seven non-Earth planets (Mercury→Neptune): altitude, azimuth, RA/dec, distance (AU), apparent magnitude, and whether each is currently above the horizon. Computed from first principles (astronomy-engine, sub-arcminute) — no external service, no key. Stargazing, astrophotography planning, 'what's up right now', is-it-dark-yet. `at` accepts any ISO timestamp.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          },
          "altitudeM": {
            "type": "number",
            "minimum": -500,
            "maximum": 9000,
            "default": 0
          },
          "at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "lat",
          "lon"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "lat": 40.7128,
        "lon": -74.006
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "sky": {
                  "type": "object",
                  "properties": {
                    "at": {
                      "type": "string"
                    },
                    "observer": {
                      "type": "object",
                      "properties": {
                        "lat": {
                          "type": "number"
                        },
                        "lon": {
                          "type": "number"
                        },
                        "altitudeM": {
                          "type": "number"
                        }
                      },
                      "required": [
                        "lat",
                        "lon",
                        "altitudeM"
                      ],
                      "additionalProperties": false
                    },
                    "sun": {
                      "type": "object",
                      "additionalProperties": {}
                    },
                    "moon": {
                      "type": "object",
                      "additionalProperties": {}
                    },
                    "planets": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": {}
                      }
                    }
                  },
                  "required": [
                    "at",
                    "observer",
                    "sun",
                    "moon",
                    "planets"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "sky"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "space.skywatch",
      "group": "space",
      "name": "skywatch",
      "method": "GET",
      "path": "/api/space/skywatch",
      "url": "https://2s.io/api/space/skywatch",
      "description": "One call → what's notable in YOUR sky right now, for a lat/lon. Synthesizes three sources: (1) the live almanac — sun up/down, moon phase + illumination, and which of the 7 naked-eye planets are currently above your horizon with their altitude/azimuth/magnitude; (2) near-Earth asteroid close approaches over the next 7 days (designation, date, distance in lunar distances); and (3) the ISS — its current sub-point, and whether it is above your horizon right now with look angles. Each section reports found/error independently. The \"is it dark, what's up, anything passing\" digest for stargazers and astrophotographers. For the raw almanac alone see /api/space/sky-tonight.",
      "priceUsd": 0.00288,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          },
          "altitudeM": {
            "type": "number",
            "minimum": -500,
            "maximum": 9000,
            "default": 0
          }
        },
        "required": [
          "lat",
          "lon"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "lat": 40.7128,
        "lon": -74.006
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "at": {
            "type": "string"
          },
          "observer": {
            "type": "object",
            "properties": {
              "lat": {
                "type": "number"
              },
              "lon": {
                "type": "number"
              },
              "altitudeM": {
                "type": "number"
              }
            },
            "required": [
              "lat",
              "lon",
              "altitudeM"
            ],
            "additionalProperties": false
          },
          "sky": {
            "type": "object",
            "properties": {
              "isDark": {
                "type": "boolean"
              },
              "sun": {
                "type": "object",
                "additionalProperties": {}
              },
              "moon": {
                "type": "object",
                "additionalProperties": {}
              },
              "planetsUp": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": {}
                }
              }
            },
            "required": [
              "isDark",
              "sun",
              "moon",
              "planetsUp"
            ],
            "additionalProperties": false
          },
          "closeApproaches": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "count": {
                "type": "number",
                "nullable": true
              },
              "approaches": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": {}
                }
              }
            },
            "required": [
              "found",
              "error",
              "count",
              "approaches"
            ],
            "additionalProperties": false
          },
          "iss": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "aboveHorizon": {
                "type": "boolean",
                "nullable": true
              },
              "geodetic": {
                "type": "object",
                "additionalProperties": {},
                "nullable": true
              },
              "look": {
                "type": "object",
                "additionalProperties": {},
                "nullable": true
              }
            },
            "required": [
              "found",
              "error",
              "aboveHorizon",
              "geodetic",
              "look"
            ],
            "additionalProperties": false
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          }
        },
        "required": [
          "at",
          "observer",
          "sky",
          "closeApproaches",
          "iss",
          "sources"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "space.system",
      "group": "space",
      "name": "system",
      "method": "GET",
      "path": "/api/space/system",
      "url": "https://2s.io/api/space/system",
      "description": "Profile a confirmed exoplanetary system by host-star name (e.g. \"TRAPPIST-1\", \"Kepler-90\", \"TOI-700\"). Groups all the star's known planets into one view, summarizes the host star (spectral type, temperature, radius, mass, distance in light-years), and COMPUTES the star's habitable (\"Goldilocks\") zone — inner and outer boundary in AU, derived from the stellar luminosity (effective temperature + radius vs. the Sun) — then flags which planets orbit within it. Each planet: radius/mass (Earth units), orbital period, semi-major axis, equilibrium temperature, and in-habitable-zone flag. Astronomy, habitability research, education. Built from the NASA Exoplanet Archive (the same data as /api/space/exoplanet) plus the computed HZ. Public-domain NASA data.",
      "priceUsd": 0.00288,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "hostStar": {
            "type": "string",
            "minLength": 1,
            "maxLength": 60
          }
        },
        "required": [
          "hostStar"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "hostStar": "TRAPPIST-1"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "system": {
            "type": "object",
            "properties": {
              "hostStar": {
                "type": "string"
              },
              "planetCount": {
                "type": "number"
              },
              "star": {
                "type": "object",
                "properties": {
                  "spectralType": {
                    "type": "string",
                    "nullable": true
                  },
                  "effectiveTempK": {
                    "type": "number",
                    "nullable": true
                  },
                  "radiusSolar": {
                    "type": "number",
                    "nullable": true
                  },
                  "massSolar": {
                    "type": "number",
                    "nullable": true
                  },
                  "luminositySolar": {
                    "type": "number",
                    "nullable": true
                  },
                  "distanceLightYears": {
                    "type": "number",
                    "nullable": true
                  }
                },
                "required": [
                  "spectralType",
                  "effectiveTempK",
                  "radiusSolar",
                  "massSolar",
                  "luminositySolar",
                  "distanceLightYears"
                ],
                "additionalProperties": false
              },
              "habitableZone": {
                "type": "object",
                "properties": {
                  "innerAu": {
                    "type": "number"
                  },
                  "outerAu": {
                    "type": "number"
                  }
                },
                "required": [
                  "innerAu",
                  "outerAu"
                ],
                "additionalProperties": false,
                "nullable": true
              },
              "planets": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": {}
                }
              }
            },
            "required": [
              "hostStar",
              "planetCount",
              "star",
              "habitableZone",
              "planets"
            ],
            "additionalProperties": false
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "system",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "space.weather",
      "group": "space",
      "name": "weather",
      "method": "GET",
      "path": "/api/space/weather",
      "url": "https://2s.io/api/space/weather",
      "description": "Current space weather from NOAA SWPC public feeds. Returns the latest planetary K-index (3-hour geomagnetic activity), solar wind plasma (density / speed / temperature from ACE/DSCOVR at L1), GOES X-ray flux with NOAA flare class (A/B/C/M/X), and the current NOAA R (radio blackout) / S (solar radiation) / G (geomagnetic storm) scales plus a 24-hour forecast in 6-hour windows. All timestamps are ISO 8601 UTC. No parameters. Useful for aurora forecasting, HF-radio propagation, satellite-operations planning, and GPS-degradation alerts. Data is public domain (NOAA / US government work).",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "inputExample": {},
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "kp": {
                  "type": "object",
                  "properties": {
                    "latest": {
                      "type": "object",
                      "properties": {
                        "time": {
                          "type": "string",
                          "description": "ISO 8601 UTC timestamp of the 3-hour interval."
                        },
                        "kp": {
                          "type": "number",
                          "description": "Planetary K-index, 0..9."
                        },
                        "gScale": {
                          "type": "integer",
                          "description": "Derived NOAA G-storm scale (0..5)."
                        },
                        "gLabel": {
                          "type": "string",
                          "description": "Plain-English label: none / minor / moderate / strong / severe / extreme."
                        }
                      },
                      "required": [
                        "time",
                        "kp",
                        "gScale",
                        "gLabel"
                      ],
                      "additionalProperties": false
                    },
                    "recent": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "time": {
                            "type": "string"
                          },
                          "kp": {
                            "type": "number"
                          },
                          "gScale": {
                            "type": "integer"
                          },
                          "gLabel": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "time",
                          "kp",
                          "gScale",
                          "gLabel"
                        ],
                        "additionalProperties": false
                      },
                      "description": "Last ~24 hours of Kp samples (up to 8 entries, oldest first)."
                    }
                  },
                  "required": [
                    "latest",
                    "recent"
                  ],
                  "additionalProperties": false
                },
                "solarWind": {
                  "type": "object",
                  "properties": {
                    "time": {
                      "type": "string"
                    },
                    "densityPerCm3": {
                      "type": "number",
                      "nullable": true,
                      "description": "Proton density at L1 (n/cm³)."
                    },
                    "speedKmPerSec": {
                      "type": "number",
                      "nullable": true,
                      "description": "Bulk speed (km/s). Quiet ~350-450, fast > 600."
                    },
                    "temperatureK": {
                      "type": "number",
                      "nullable": true,
                      "description": "Proton temperature (K)."
                    }
                  },
                  "required": [
                    "time",
                    "densityPerCm3",
                    "speedKmPerSec",
                    "temperatureK"
                  ],
                  "additionalProperties": false
                },
                "xray": {
                  "type": "object",
                  "properties": {
                    "time": {
                      "type": "string"
                    },
                    "fluxLongWm2": {
                      "type": "number",
                      "nullable": true,
                      "description": "GOES long-band (0.1-0.8 nm) flux in W/m²."
                    },
                    "flareClass": {
                      "type": "string",
                      "nullable": true,
                      "description": "NOAA flare class derived from long-band flux (e.g. \"C2.4\", \"M1.0\", \"X9.3\")."
                    },
                    "satellite": {
                      "type": "integer",
                      "nullable": true,
                      "description": "GOES satellite number reporting this sample."
                    }
                  },
                  "required": [
                    "time",
                    "fluxLongWm2",
                    "flareClass",
                    "satellite"
                  ],
                  "additionalProperties": false
                },
                "scales": {
                  "type": "object",
                  "properties": {
                    "current": {
                      "type": "object",
                      "properties": {
                        "observedAt": {
                          "type": "string"
                        },
                        "rRadio": {
                          "type": "object",
                          "properties": {
                            "scale": {
                              "type": "integer"
                            },
                            "label": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "scale",
                            "label"
                          ],
                          "additionalProperties": false
                        },
                        "sRadiation": {
                          "type": "object",
                          "properties": {
                            "scale": {
                              "type": "integer"
                            },
                            "label": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "scale",
                            "label"
                          ],
                          "additionalProperties": false
                        },
                        "gGeomagnetic": {
                          "type": "object",
                          "properties": {
                            "scale": {
                              "type": "integer"
                            },
                            "label": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "scale",
                            "label"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "required": [
                        "observedAt",
                        "rRadio",
                        "sRadiation",
                        "gGeomagnetic"
                      ],
                      "additionalProperties": false
                    },
                    "forecast": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "startsAt": {
                            "type": "string"
                          },
                          "rMinorPercent": {
                            "type": "number",
                            "nullable": true,
                            "description": "Probability of R1-R2 radio blackout (0..100)."
                          },
                          "rMajorPercent": {
                            "type": "number",
                            "nullable": true,
                            "description": "Probability of R3+ radio blackout (0..100)."
                          },
                          "sPercent": {
                            "type": "number",
                            "nullable": true,
                            "description": "Probability of S1+ solar radiation storm (0..100)."
                          },
                          "gScale": {
                            "type": "integer"
                          },
                          "gLabel": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "startsAt",
                          "rMinorPercent",
                          "rMajorPercent",
                          "sPercent",
                          "gScale",
                          "gLabel"
                        ],
                        "additionalProperties": false
                      },
                      "description": "Forward forecast in 6-hour windows (up to 4 entries covering the next ~24h)."
                    }
                  },
                  "required": [
                    "current",
                    "forecast"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "kp",
                "solarWind",
                "xray",
                "scales"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "sports.mlb-schedule",
      "group": "sports",
      "name": "mlb-schedule",
      "method": "GET",
      "path": "/api/sports/mlb-schedule",
      "url": "https://2s.io/api/sports/mlb-schedule",
      "description": "MLB games for a date (and optionally one team), via the official MLB Stats API (free/keyless). Each game: gamePk, start time, detailed status (Scheduled/In Progress/Final), away and home team + score, and venue. Defaults to today when no date is given. Live scores + schedule for agents.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "YYYY-MM-DD; defaults to today."
          },
          "teamId": {
            "type": "integer",
            "description": "MLB team id to filter to one club."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "date": "2024-01-01",
        "teamId": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "gamePk": {
                  "nullable": true
                },
                "gameDate": {
                  "nullable": true
                },
                "status": {
                  "nullable": true
                },
                "awayTeam": {
                  "nullable": true
                },
                "awayScore": {
                  "type": "number",
                  "nullable": true
                },
                "homeTeam": {
                  "nullable": true
                },
                "homeScore": {
                  "type": "number",
                  "nullable": true
                },
                "venue": {
                  "nullable": true
                }
              },
              "required": [
                "awayScore",
                "homeScore"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "sports.mlb-standings",
      "group": "sports",
      "name": "mlb-standings",
      "method": "GET",
      "path": "/api/sports/mlb-standings",
      "url": "https://2s.io/api/sports/mlb-standings",
      "description": "MLB regular-season standings for a season (official MLB Stats API, free/keyless). Each team: wins, losses, win %, games back, division + league rank, and current streak. Defaults to the current season.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "season": {
            "type": "integer",
            "minimum": 1900,
            "maximum": 2100
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "season": 1900
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "team": {
                  "nullable": true
                },
                "wins": {
                  "type": "number",
                  "nullable": true
                },
                "losses": {
                  "type": "number",
                  "nullable": true
                },
                "winPct": {
                  "nullable": true
                },
                "gamesBack": {
                  "nullable": true
                },
                "divisionRank": {
                  "nullable": true
                },
                "leagueRank": {
                  "nullable": true
                },
                "streak": {
                  "nullable": true
                }
              },
              "required": [
                "wins",
                "losses"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "sports.nba-games",
      "group": "sports",
      "name": "nba-games",
      "method": "GET",
      "path": "/api/sports/nba-games",
      "url": "https://2s.io/api/sports/nba-games",
      "description": "NBA games from balldontlie — schedule and scores in one feed. Filter by season (start year), a single date, and/or team id. Each game: date, season, status, postseason flag, home/visitor teams and final (or live) scores. Cursor-paginated (pass meta.cursor as cursor to continue).",
      "priceUsd": 0.0048,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "season": {
            "type": "integer",
            "minimum": 1946,
            "maximum": 2100,
            "description": "Season start year, e.g. 2024 for the 2024-25 season."
          },
          "date": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Single date, YYYY-MM-DD."
          },
          "team_id": {
            "type": "integer",
            "exclusiveMinimum": true,
            "minimum": 0,
            "description": "NBA team id (1–30)."
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "Pagination cursor from a prior meta.cursor."
          },
          "per_page": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Page size, 1–100 (default 25)."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "season": 2024,
        "per_page": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "nullable": true
                },
                "date": {
                  "type": "string",
                  "nullable": true
                },
                "datetime": {
                  "type": "string",
                  "nullable": true
                },
                "season": {
                  "type": "number",
                  "nullable": true
                },
                "status": {
                  "type": "string",
                  "nullable": true
                },
                "period": {
                  "type": "number",
                  "nullable": true
                },
                "postseason": {
                  "type": "boolean"
                },
                "home_team": {
                  "nullable": true
                },
                "visitor_team": {
                  "nullable": true
                },
                "home_team_score": {
                  "type": "number",
                  "nullable": true
                },
                "visitor_team_score": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "date",
                "datetime",
                "season",
                "status",
                "period",
                "postseason",
                "home_team_score",
                "visitor_team_score"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "cursor": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "cursor"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "sports.nba-players",
      "group": "sports",
      "name": "nba-players",
      "method": "GET",
      "path": "/api/sports/nba-players",
      "url": "https://2s.io/api/sports/nba-players",
      "description": "NBA players from balldontlie — search by name and page through results. Each player: id, name, position, height, weight, jersey number, college, country, draft year, and current team. Cursor-paginated (pass meta.cursor as cursor to continue).",
      "priceUsd": 0.0048,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "search": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100,
            "description": "Name search (first or last), e.g. \"james\"."
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "Pagination cursor from a prior meta.cursor."
          },
          "per_page": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Page size, 1–100 (default 25)."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "search": "james",
        "per_page": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "nullable": true
                },
                "first_name": {
                  "type": "string",
                  "nullable": true
                },
                "last_name": {
                  "type": "string",
                  "nullable": true
                },
                "position": {
                  "type": "string",
                  "nullable": true
                },
                "height": {
                  "type": "string",
                  "nullable": true
                },
                "weight": {
                  "type": "string",
                  "nullable": true
                },
                "jersey_number": {
                  "type": "string",
                  "nullable": true
                },
                "college": {
                  "type": "string",
                  "nullable": true
                },
                "country": {
                  "type": "string",
                  "nullable": true
                },
                "draft_year": {
                  "type": "number",
                  "nullable": true
                },
                "team": {
                  "nullable": true
                }
              },
              "required": [
                "id",
                "first_name",
                "last_name",
                "position",
                "height",
                "weight",
                "jersey_number",
                "college",
                "country",
                "draft_year"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "cursor": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "cursor"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "sports.nba-teams",
      "group": "sports",
      "name": "nba-teams",
      "method": "GET",
      "path": "/api/sports/nba-teams",
      "url": "https://2s.io/api/sports/nba-teams",
      "description": "NBA teams from balldontlie — all 30 franchises with id, full name, abbreviation, conference, division, and city. Pass an optional team id to fetch a single team.",
      "priceUsd": 0.0048,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "exclusiveMinimum": true,
            "minimum": 0,
            "description": "NBA team id (1–30). Omit to list all teams."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "id": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "nullable": true
                },
                "full_name": {
                  "type": "string",
                  "nullable": true
                },
                "abbreviation": {
                  "type": "string",
                  "nullable": true
                },
                "conference": {
                  "type": "string",
                  "nullable": true
                },
                "division": {
                  "type": "string",
                  "nullable": true
                },
                "city": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "full_name",
                "abbreviation",
                "conference",
                "division",
                "city"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "sports.nfl-games",
      "group": "sports",
      "name": "nfl-games",
      "method": "GET",
      "path": "/api/sports/nfl-games",
      "url": "https://2s.io/api/sports/nfl-games",
      "description": "NFL games from balldontlie — schedule and scores in one feed. Filter by season, week, and/or team id. Each game: date, season, week, status, postseason flag, venue, recap summary, home/visitor teams and final (or live) scores. Cursor-paginated (pass meta.cursor as cursor to continue).",
      "priceUsd": 0.0048,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "season": {
            "type": "integer",
            "minimum": 1920,
            "maximum": 2100,
            "description": "Season year, e.g. 2024."
          },
          "week": {
            "type": "integer",
            "minimum": 1,
            "maximum": 30,
            "description": "Week number (regular + postseason)."
          },
          "team_id": {
            "type": "integer",
            "exclusiveMinimum": true,
            "minimum": 0,
            "description": "NFL team id."
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "Pagination cursor from a prior meta.cursor."
          },
          "per_page": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Page size, 1–100 (default 25)."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "season": 2024,
        "week": 1,
        "per_page": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "nullable": true
                },
                "date": {
                  "type": "string",
                  "nullable": true
                },
                "season": {
                  "type": "number",
                  "nullable": true
                },
                "week": {
                  "type": "number",
                  "nullable": true
                },
                "status": {
                  "type": "string",
                  "nullable": true
                },
                "postseason": {
                  "type": "boolean"
                },
                "venue": {
                  "type": "string",
                  "nullable": true
                },
                "summary": {
                  "type": "string",
                  "nullable": true
                },
                "home_team": {
                  "nullable": true
                },
                "visitor_team": {
                  "nullable": true
                },
                "home_team_score": {
                  "type": "number",
                  "nullable": true
                },
                "visitor_team_score": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "date",
                "season",
                "week",
                "status",
                "postseason",
                "venue",
                "summary",
                "home_team_score",
                "visitor_team_score"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "cursor": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "cursor"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "sports.nfl-players",
      "group": "sports",
      "name": "nfl-players",
      "method": "GET",
      "path": "/api/sports/nfl-players",
      "url": "https://2s.io/api/sports/nfl-players",
      "description": "NFL players from balldontlie — search by name and page through results. Each player: id, name, position, height, weight, jersey number, college, experience, age, and current team. Cursor-paginated (pass meta.cursor as cursor to continue).",
      "priceUsd": 0.0048,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "search": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100,
            "description": "Name search (first or last), e.g. \"mahomes\"."
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "Pagination cursor from a prior meta.cursor."
          },
          "per_page": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Page size, 1–100 (default 25)."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "search": "mahomes",
        "per_page": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "nullable": true
                },
                "first_name": {
                  "type": "string",
                  "nullable": true
                },
                "last_name": {
                  "type": "string",
                  "nullable": true
                },
                "position": {
                  "type": "string",
                  "nullable": true
                },
                "position_abbreviation": {
                  "type": "string",
                  "nullable": true
                },
                "height": {
                  "type": "string",
                  "nullable": true
                },
                "weight": {
                  "type": "string",
                  "nullable": true
                },
                "jersey_number": {
                  "type": "string",
                  "nullable": true
                },
                "college": {
                  "type": "string",
                  "nullable": true
                },
                "experience": {
                  "type": "string",
                  "nullable": true
                },
                "age": {
                  "type": "number",
                  "nullable": true
                },
                "team": {
                  "nullable": true
                }
              },
              "required": [
                "id",
                "first_name",
                "last_name",
                "position",
                "position_abbreviation",
                "height",
                "weight",
                "jersey_number",
                "college",
                "experience",
                "age"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "cursor": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "cursor"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "sports.nfl-teams",
      "group": "sports",
      "name": "nfl-teams",
      "method": "GET",
      "path": "/api/sports/nfl-teams",
      "url": "https://2s.io/api/sports/nfl-teams",
      "description": "NFL teams from balldontlie — all 32 franchises with id, full name, abbreviation, conference (AFC/NFC), division, and city. Pass an optional team id to fetch a single team.",
      "priceUsd": 0.0048,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "exclusiveMinimum": true,
            "minimum": 0,
            "description": "NFL team id. Omit to list all teams."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "id": 14
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "nullable": true
                },
                "full_name": {
                  "type": "string",
                  "nullable": true
                },
                "abbreviation": {
                  "type": "string",
                  "nullable": true
                },
                "conference": {
                  "type": "string",
                  "nullable": true
                },
                "division": {
                  "type": "string",
                  "nullable": true
                },
                "city": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "full_name",
                "abbreviation",
                "conference",
                "division",
                "city"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "sports.nhl-schedule",
      "group": "sports",
      "name": "nhl-schedule",
      "method": "GET",
      "path": "/api/sports/nhl-schedule",
      "url": "https://2s.io/api/sports/nhl-schedule",
      "description": "Upcoming NHL game schedule for the week anchored on a date (official NHL api-web, free/keyless). Each game: id, date, start time (UTC), game state (FUT/LIVE/OFF), game type (Preseason/Regular Season/Playoffs), away and home team + abbreviation + score, venue, and TV broadcasts. Optionally filter to one team by 3-letter abbreviation (e.g. TOR). Defaults to the week starting today. Forward-looking matchups for scheduling agents — distinct from nhl-scores (single-day results).",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "YYYY-MM-DD anchor; returns that day plus the rest of the NHL game week. Defaults to today."
          },
          "team": {
            "type": "string",
            "minLength": 2,
            "maxLength": 3,
            "description": "3-letter NHL team abbreviation to filter to one club (e.g. TOR, BOS, EDM)."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "date": "2024-01-01",
        "team": "xx"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "nullable": true
                },
                "date": {
                  "type": "string",
                  "nullable": true
                },
                "startTimeUTC": {
                  "nullable": true
                },
                "gameState": {
                  "nullable": true
                },
                "gameType": {
                  "type": "string",
                  "nullable": true
                },
                "awayTeam": {
                  "type": "string",
                  "nullable": true
                },
                "awayAbbrev": {
                  "type": "string",
                  "nullable": true
                },
                "awayScore": {
                  "type": "number",
                  "nullable": true
                },
                "homeTeam": {
                  "type": "string",
                  "nullable": true
                },
                "homeAbbrev": {
                  "type": "string",
                  "nullable": true
                },
                "homeScore": {
                  "type": "number",
                  "nullable": true
                },
                "venue": {
                  "type": "string",
                  "nullable": true
                },
                "broadcasts": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "country": {
                        "type": "string",
                        "nullable": true
                      },
                      "network": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "country",
                      "network"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "date",
                "gameType",
                "awayTeam",
                "awayAbbrev",
                "awayScore",
                "homeTeam",
                "homeAbbrev",
                "homeScore",
                "venue",
                "broadcasts"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "sports.nhl-scores",
      "group": "sports",
      "name": "nhl-scores",
      "method": "GET",
      "path": "/api/sports/nhl-scores",
      "url": "https://2s.io/api/sports/nhl-scores",
      "description": "NHL scores and games for a date (official NHL api-web, free/keyless). Each game: id, game state (FUT/LIVE/FINAL), start time, away and home team + score. Defaults to today.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "YYYY-MM-DD; defaults to today."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "date": "2024-01-01"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "nullable": true
                },
                "gameState": {
                  "nullable": true
                },
                "startTimeUTC": {
                  "nullable": true
                },
                "awayTeam": {
                  "type": "string",
                  "nullable": true
                },
                "awayScore": {
                  "type": "number",
                  "nullable": true
                },
                "homeTeam": {
                  "type": "string",
                  "nullable": true
                },
                "homeScore": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "awayTeam",
                "awayScore",
                "homeTeam",
                "homeScore"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "sports.nhl-standings",
      "group": "sports",
      "name": "nhl-standings",
      "method": "GET",
      "path": "/api/sports/nhl-standings",
      "url": "https://2s.io/api/sports/nhl-standings",
      "description": "Current NHL standings (official NHL api-web, free/keyless). Each team: conference, division, games played, wins, losses, OT losses, points, goal differential, and current streak.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "inputExample": {},
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "team": {
                  "type": "string",
                  "nullable": true
                },
                "abbrev": {
                  "type": "string",
                  "nullable": true
                },
                "conference": {
                  "nullable": true
                },
                "division": {
                  "nullable": true
                },
                "gamesPlayed": {
                  "type": "number",
                  "nullable": true
                },
                "wins": {
                  "type": "number",
                  "nullable": true
                },
                "losses": {
                  "type": "number",
                  "nullable": true
                },
                "otLosses": {
                  "type": "number",
                  "nullable": true
                },
                "points": {
                  "type": "number",
                  "nullable": true
                },
                "goalDiff": {
                  "type": "number",
                  "nullable": true
                },
                "streak": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "team",
                "abbrev",
                "gamesPlayed",
                "wins",
                "losses",
                "otLosses",
                "points",
                "goalDiff",
                "streak"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "stocks.company-news",
      "group": "stocks",
      "name": "company-news",
      "method": "GET",
      "path": "/api/stocks/company-news",
      "url": "https://2s.io/api/stocks/company-news",
      "description": "Recent news articles about a specific US-listed company. Pass ticker and optionally a from/to date window (YYYY-MM-DD; defaults to the last 14 days); returns headlines with source, summary, URL, image, related symbol, category, and publish time (newest first). Use it to catch up on what is being written about a company. News aggregated by Finnhub.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "minLength": 1,
            "maxLength": 12,
            "pattern": "^[A-Za-z][A-Za-z0-9.\\-]{0,11}$",
            "description": "US-listed ticker symbol."
          },
          "from": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Earliest article date YYYY-MM-DD (default: 14 days ago)."
          },
          "to": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Latest article date YYYY-MM-DD (default: today)."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 250,
            "description": "Max articles to return (default 100)."
          }
        },
        "required": [
          "ticker"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ticker": "AAPL"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "datetime": {
                  "type": "string",
                  "nullable": true,
                  "description": "Publish time (ISO 8601)."
                },
                "headline": {
                  "type": "string",
                  "nullable": true
                },
                "source": {
                  "type": "string",
                  "nullable": true
                },
                "summary": {
                  "type": "string",
                  "nullable": true
                },
                "url": {
                  "type": "string",
                  "nullable": true
                },
                "image": {
                  "type": "string",
                  "nullable": true
                },
                "category": {
                  "type": "string",
                  "nullable": true
                },
                "related": {
                  "type": "string",
                  "nullable": true
                },
                "id": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "datetime",
                "headline",
                "source",
                "summary",
                "url",
                "image",
                "category",
                "related",
                "id"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "symbol": {
                "type": "string"
              },
              "from": {
                "type": "string"
              },
              "to": {
                "type": "string"
              }
            },
            "required": [
              "symbol",
              "from",
              "to"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "stocks.earnings-surprises",
      "group": "stocks",
      "name": "earnings-surprises",
      "method": "GET",
      "path": "/api/stocks/earnings-surprises",
      "url": "https://2s.io/api/stocks/earnings-surprises",
      "description": "Historical quarterly earnings surprises for a US-listed company — reported (actual) EPS vs the analyst consensus estimate, the absolute surprise, and the surprise percentage, for the most recent quarters (newest first). Pass ticker (optionally limit). Tells you whether a company has been beating or missing expectations. Data by Finnhub.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "minLength": 1,
            "maxLength": 12,
            "pattern": "^[A-Za-z][A-Za-z0-9.\\-]{0,11}$",
            "description": "US-listed ticker symbol."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 40,
            "description": "Max quarters to return (default all available, usually 4)."
          }
        },
        "required": [
          "ticker"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ticker": "AAPL"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "period": {
                  "type": "string",
                  "description": "Fiscal period end date (yyyy-mm-dd)."
                },
                "actual": {
                  "type": "number",
                  "nullable": true,
                  "description": "Reported EPS."
                },
                "estimate": {
                  "type": "number",
                  "nullable": true,
                  "description": "Consensus estimated EPS."
                },
                "surprise": {
                  "type": "number",
                  "nullable": true,
                  "description": "actual − estimate."
                },
                "surprisePercent": {
                  "type": "number",
                  "nullable": true
                },
                "quarter": {
                  "type": "number",
                  "nullable": true
                },
                "year": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "period",
                "actual",
                "estimate",
                "surprise",
                "surprisePercent",
                "quarter",
                "year"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "symbol": {
                "type": "string"
              }
            },
            "required": [
              "symbol"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "stocks.financials-reported",
      "group": "stocks",
      "name": "financials-reported",
      "method": "GET",
      "path": "/api/stocks/financials-reported",
      "url": "https://2s.io/api/stocks/financials-reported",
      "description": "As-reported financial statements for a US-listed company, exactly as filed with the SEC — balance sheet, income statement, and cash-flow statement line items, parsed from each 10-K/10-Q. Pass ticker and optionally freq (annual or quarterly) and limit; returns the most recent filings (newest first) with filing metadata (form, period, filed date, accession) and the full report under `report`. Data by Finnhub.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "minLength": 1,
            "maxLength": 12,
            "pattern": "^[A-Za-z][A-Za-z0-9.\\-]{0,11}$",
            "description": "US-listed ticker symbol."
          },
          "freq": {
            "type": "string",
            "enum": [
              "annual",
              "quarterly"
            ],
            "description": "Statement frequency. Default: annual."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 20,
            "description": "Max filings to return (default 4)."
          }
        },
        "required": [
          "ticker"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ticker": "AAPL"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "symbol": {
                  "type": "string",
                  "nullable": true
                },
                "cik": {
                  "type": "string",
                  "nullable": true
                },
                "year": {
                  "type": "number",
                  "nullable": true
                },
                "quarter": {
                  "type": "number",
                  "nullable": true
                },
                "form": {
                  "type": "string",
                  "nullable": true
                },
                "startDate": {
                  "type": "string",
                  "nullable": true
                },
                "endDate": {
                  "type": "string",
                  "nullable": true
                },
                "filedDate": {
                  "type": "string",
                  "nullable": true
                },
                "accessNumber": {
                  "type": "string",
                  "nullable": true
                },
                "report": {
                  "type": "object",
                  "additionalProperties": {},
                  "description": "As-reported statements: { bs, ic, cf } line-item arrays."
                }
              },
              "required": [
                "symbol",
                "cik",
                "year",
                "quarter",
                "form",
                "startDate",
                "endDate",
                "filedDate",
                "accessNumber",
                "report"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "symbol": {
                "type": "string"
              },
              "freq": {
                "type": "string"
              }
            },
            "required": [
              "symbol",
              "freq"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "stocks.gov-spending",
      "group": "stocks",
      "name": "gov-spending",
      "method": "GET",
      "path": "/api/stocks/gov-spending",
      "url": "https://2s.io/api/stocks/gov-spending",
      "description": "US federal government spending awarded to a public company (sourced from USAspending). Pass ticker and optionally a from/to window (YYYY-MM-DD; defaults to ~2 years); returns each award with the recipient (and parent), awarding agency/sub-agency, obligated/outlayed/potential/total values in USD, action date, and period of performance. Use it to see how much federal money flows to a company. Data by Finnhub.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "minLength": 1,
            "maxLength": 12,
            "pattern": "^[A-Za-z][A-Za-z0-9.\\-]{0,11}$",
            "description": "US-listed ticker symbol."
          },
          "from": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Earliest action date YYYY-MM-DD (default: ~2 years ago)."
          },
          "to": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Latest action date YYYY-MM-DD (default: today)."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500,
            "description": "Max awards to return (default 100)."
          }
        },
        "required": [
          "ticker"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ticker": "LMT"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "symbol": {
                  "type": "string",
                  "nullable": true
                },
                "recipientName": {
                  "type": "string",
                  "nullable": true
                },
                "recipientParentName": {
                  "type": "string",
                  "nullable": true
                },
                "awardingAgencyName": {
                  "type": "string",
                  "nullable": true
                },
                "awardingSubAgencyName": {
                  "type": "string",
                  "nullable": true
                },
                "totalValue": {
                  "type": "number",
                  "nullable": true
                },
                "obligatedAmount": {
                  "type": "number",
                  "nullable": true
                },
                "outlayedAmount": {
                  "type": "number",
                  "nullable": true
                },
                "potentialAmount": {
                  "type": "number",
                  "nullable": true
                },
                "actionDate": {
                  "type": "string",
                  "nullable": true
                },
                "performanceStartDate": {
                  "type": "string",
                  "nullable": true
                },
                "performanceEndDate": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "symbol",
                "recipientName",
                "recipientParentName",
                "awardingAgencyName",
                "awardingSubAgencyName",
                "totalValue",
                "obligatedAmount",
                "outlayedAmount",
                "potentialAmount",
                "actionDate",
                "performanceStartDate",
                "performanceEndDate"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "symbol": {
                "type": "string"
              },
              "from": {
                "type": "string"
              },
              "to": {
                "type": "string"
              }
            },
            "required": [
              "symbol",
              "from",
              "to"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "stocks.h1b-visas",
      "group": "stocks",
      "name": "h1b-visas",
      "method": "GET",
      "path": "/api/stocks/h1b-visas",
      "url": "https://2s.io/api/stocks/h1b-visas",
      "description": "US work-visa (H-1B and related) applications filed by a public company, sourced from Department of Labor LCA disclosures. Pass ticker and optionally a from/to window (YYYY-MM-DD; defaults to ~2 years); returns each application with job title, SOC code, visa class, case status, wage range, worksite city/state, employment dates, and case number. Use it as a hiring/headcount signal. Data by Finnhub.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "minLength": 1,
            "maxLength": 12,
            "pattern": "^[A-Za-z][A-Za-z0-9.\\-]{0,11}$",
            "description": "US-listed ticker symbol."
          },
          "from": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Earliest received date YYYY-MM-DD (default: ~2 years ago)."
          },
          "to": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Latest received date YYYY-MM-DD (default: today)."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500,
            "description": "Max applications to return (default 100)."
          }
        },
        "required": [
          "ticker"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ticker": "AAPL"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "symbol": {
                  "type": "string",
                  "nullable": true
                },
                "year": {
                  "type": "number",
                  "nullable": true
                },
                "quarter": {
                  "type": "number",
                  "nullable": true
                },
                "caseNumber": {
                  "type": "string",
                  "nullable": true
                },
                "caseStatus": {
                  "type": "string",
                  "nullable": true
                },
                "visaClass": {
                  "type": "string",
                  "nullable": true
                },
                "jobTitle": {
                  "type": "string",
                  "nullable": true
                },
                "socCode": {
                  "type": "string",
                  "nullable": true
                },
                "wageRangeFrom": {
                  "type": "number",
                  "nullable": true
                },
                "wageRangeTo": {
                  "type": "number",
                  "nullable": true
                },
                "employerName": {
                  "type": "string",
                  "nullable": true
                },
                "worksiteCity": {
                  "type": "string",
                  "nullable": true
                },
                "worksiteState": {
                  "type": "string",
                  "nullable": true
                },
                "beginDate": {
                  "type": "string",
                  "nullable": true
                },
                "endDate": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "symbol",
                "year",
                "quarter",
                "caseNumber",
                "caseStatus",
                "visaClass",
                "jobTitle",
                "socCode",
                "wageRangeFrom",
                "wageRangeTo",
                "employerName",
                "worksiteCity",
                "worksiteState",
                "beginDate",
                "endDate"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "symbol": {
                "type": "string"
              },
              "from": {
                "type": "string"
              },
              "to": {
                "type": "string"
              }
            },
            "required": [
              "symbol",
              "from",
              "to"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "stocks.insider-sentiment",
      "group": "stocks",
      "name": "insider-sentiment",
      "method": "GET",
      "path": "/api/stocks/insider-sentiment",
      "url": "https://2s.io/api/stocks/insider-sentiment",
      "description": "Aggregated insider sentiment for a US-listed company, by month. For each month returns the net change in insider share holdings and Finnhub's MSPR (Monthly Share Purchase Ratio, −100 to +100 — higher means more net insider buying). Pass ticker and optionally a from/to window (YYYY-MM-DD; defaults to ~1 year). A distilled signal layered on top of raw insider filings. Data by Finnhub.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "minLength": 1,
            "maxLength": 12,
            "pattern": "^[A-Za-z][A-Za-z0-9.\\-]{0,11}$",
            "description": "US-listed ticker symbol."
          },
          "from": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Earliest month date YYYY-MM-DD (default: ~1 year ago)."
          },
          "to": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Latest month date YYYY-MM-DD (default: today)."
          }
        },
        "required": [
          "ticker"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ticker": "AAPL"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "symbol": {
                  "type": "string",
                  "nullable": true
                },
                "year": {
                  "type": "number",
                  "nullable": true
                },
                "month": {
                  "type": "number",
                  "nullable": true
                },
                "change": {
                  "type": "number",
                  "nullable": true,
                  "description": "Net change in insider share holdings for the month."
                },
                "mspr": {
                  "type": "number",
                  "nullable": true,
                  "description": "Monthly Share Purchase Ratio, −100..+100."
                }
              },
              "required": [
                "symbol",
                "year",
                "month",
                "change",
                "mspr"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "symbol": {
                "type": "string"
              },
              "from": {
                "type": "string"
              },
              "to": {
                "type": "string"
              }
            },
            "required": [
              "symbol",
              "from",
              "to"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "stocks.lobbying",
      "group": "stocks",
      "name": "lobbying",
      "method": "GET",
      "path": "/api/stocks/lobbying",
      "url": "https://2s.io/api/stocks/lobbying",
      "description": "US federal lobbying disclosures for a public company (sourced from US Senate LDA filings). Pass ticker and optionally a from/to window (YYYY-MM-DD; defaults to ~3 years); returns each filing with the registrant name, the period (year + quarter), reported lobbying income/expenses in USD, and a link to the official Senate filing. Use it to track a company’s lobbying spend over time. Data by Finnhub.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "minLength": 1,
            "maxLength": 12,
            "pattern": "^[A-Za-z][A-Za-z0-9.\\-]{0,11}$",
            "description": "US-listed ticker symbol."
          },
          "from": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Earliest filing date YYYY-MM-DD (default: ~3 years ago)."
          },
          "to": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Latest filing date YYYY-MM-DD (default: today)."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500,
            "description": "Max filings to return (default 100)."
          }
        },
        "required": [
          "ticker"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ticker": "AAPL"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "symbol": {
                  "type": "string",
                  "nullable": true
                },
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "description": {
                  "type": "string",
                  "nullable": true
                },
                "year": {
                  "type": "number",
                  "nullable": true
                },
                "period": {
                  "type": "string",
                  "nullable": true
                },
                "income": {
                  "type": "number",
                  "nullable": true,
                  "description": "Reported lobbying income (USD)."
                },
                "expenses": {
                  "type": "number",
                  "nullable": true,
                  "description": "Reported lobbying expenses (USD)."
                },
                "documentUrl": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "symbol",
                "name",
                "description",
                "year",
                "period",
                "income",
                "expenses",
                "documentUrl"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "symbol": {
                "type": "string"
              },
              "from": {
                "type": "string"
              },
              "to": {
                "type": "string"
              }
            },
            "required": [
              "symbol",
              "from",
              "to"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "stocks.metrics",
      "group": "stocks",
      "name": "metrics",
      "method": "GET",
      "path": "/api/stocks/metrics",
      "url": "https://2s.io/api/stocks/metrics",
      "description": "Key fundamental metrics and 52-week price statistics for a US-listed company. Pass ticker; returns headline valuation, margin, and per-share figures — P/E, P/B, P/S, PEG, EV/EBITDA, gross/operating/net margins, ROE, ROA, current ratio, debt/equity, dividend yield, beta, 52-week high/low, and YTD/52-week price returns — plus the full Finnhub metric map under `metric`. Computed ratios you would otherwise derive yourself from raw filings. Market & fundamental data by Finnhub.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "minLength": 1,
            "maxLength": 12,
            "pattern": "^[A-Za-z][A-Za-z0-9.\\-]{0,11}$",
            "description": "US-listed ticker symbol."
          }
        },
        "required": [
          "ticker"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ticker": "AAPL"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ticker": {
                  "type": "string"
                },
                "peTTM": {
                  "type": "number",
                  "nullable": true
                },
                "psTTM": {
                  "type": "number",
                  "nullable": true
                },
                "pbAnnual": {
                  "type": "number",
                  "nullable": true
                },
                "pegTTM": {
                  "type": "number",
                  "nullable": true
                },
                "evEbitdaTTM": {
                  "type": "number",
                  "nullable": true
                },
                "grossMarginTTM": {
                  "type": "number",
                  "nullable": true
                },
                "operatingMarginTTM": {
                  "type": "number",
                  "nullable": true
                },
                "netMarginTTM": {
                  "type": "number",
                  "nullable": true
                },
                "roeTTM": {
                  "type": "number",
                  "nullable": true
                },
                "roaTTM": {
                  "type": "number",
                  "nullable": true
                },
                "currentRatioAnnual": {
                  "type": "number",
                  "nullable": true
                },
                "debtToEquityAnnual": {
                  "type": "number",
                  "nullable": true
                },
                "dividendYield": {
                  "type": "number",
                  "nullable": true
                },
                "beta": {
                  "type": "number",
                  "nullable": true
                },
                "week52High": {
                  "type": "number",
                  "nullable": true
                },
                "week52Low": {
                  "type": "number",
                  "nullable": true
                },
                "priceReturnYTD": {
                  "type": "number",
                  "nullable": true
                },
                "priceReturn52Week": {
                  "type": "number",
                  "nullable": true
                },
                "metric": {
                  "type": "object",
                  "additionalProperties": {},
                  "description": "Full Finnhub metric map (all computed ratios)."
                }
              },
              "required": [
                "ticker",
                "peTTM",
                "psTTM",
                "pbAnnual",
                "pegTTM",
                "evEbitdaTTM",
                "grossMarginTTM",
                "operatingMarginTTM",
                "netMarginTTM",
                "roeTTM",
                "roaTTM",
                "currentRatioAnnual",
                "debtToEquityAnnual",
                "dividendYield",
                "beta",
                "week52High",
                "week52Low",
                "priceReturnYTD",
                "priceReturn52Week",
                "metric"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "stocks.patents",
      "group": "stocks",
      "name": "patents",
      "method": "GET",
      "path": "/api/stocks/patents",
      "url": "https://2s.io/api/stocks/patents",
      "description": "USPTO patent activity associated with a public company. Pass ticker and optionally a from/to window (YYYY-MM-DD; defaults to ~2 years); returns each record with the application number, patent number (when granted), the filing company name(s), description/title, patent type, filing status, filing and publication dates, and a document URL. A company-level innovation/R&D signal (distinct from our keyword patent search). Data by Finnhub.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "minLength": 1,
            "maxLength": 12,
            "pattern": "^[A-Za-z][A-Za-z0-9.\\-]{0,11}$",
            "description": "US-listed ticker symbol."
          },
          "from": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Earliest filing date YYYY-MM-DD (default: ~2 years ago)."
          },
          "to": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Latest filing date YYYY-MM-DD (default: today)."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500,
            "description": "Max records to return (default 100)."
          }
        },
        "required": [
          "ticker"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ticker": "AAPL"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "symbol": {
                  "type": "string",
                  "nullable": true
                },
                "applicationNumber": {
                  "type": "string",
                  "nullable": true
                },
                "patentNumber": {
                  "type": "string",
                  "nullable": true
                },
                "companyFilingName": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Filing company name(s)."
                },
                "description": {
                  "type": "string",
                  "nullable": true
                },
                "patentType": {
                  "type": "string",
                  "nullable": true
                },
                "filingStatus": {
                  "type": "string",
                  "nullable": true
                },
                "filingDate": {
                  "type": "string",
                  "nullable": true
                },
                "publicationDate": {
                  "type": "string",
                  "nullable": true
                },
                "url": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "symbol",
                "applicationNumber",
                "patentNumber",
                "companyFilingName",
                "description",
                "patentType",
                "filingStatus",
                "filingDate",
                "publicationDate",
                "url"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "symbol": {
                "type": "string"
              },
              "from": {
                "type": "string"
              },
              "to": {
                "type": "string"
              }
            },
            "required": [
              "symbol",
              "from",
              "to"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "stocks.peers",
      "group": "stocks",
      "name": "peers",
      "method": "GET",
      "path": "/api/stocks/peers",
      "url": "https://2s.io/api/stocks/peers",
      "description": "Peer companies for a US-listed ticker — other companies in the same sector and sub-industry, useful for comparables, relative valuation, and screening. Pass ticker (optionally grouping to control how peers are grouped); returns a ranked list of peer ticker symbols (the input symbol is usually first). Data by Finnhub.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "minLength": 1,
            "maxLength": 12,
            "pattern": "^[A-Za-z][A-Za-z0-9.\\-]{0,11}$",
            "description": "US-listed ticker symbol."
          },
          "grouping": {
            "type": "string",
            "enum": [
              "sector",
              "industry",
              "subIndustry"
            ],
            "description": "How to group peers. Default: sub-industry."
          }
        },
        "required": [
          "ticker"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ticker": "AAPL"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ticker": {
                  "type": "string"
                }
              },
              "required": [
                "ticker"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "symbol": {
                "type": "string"
              }
            },
            "required": [
              "symbol"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "stocks.quote",
      "group": "stocks",
      "name": "quote",
      "method": "GET",
      "path": "/api/stocks/quote",
      "url": "https://2s.io/api/stocks/quote",
      "description": "Latest daily stock quote for a US-listed ticker. Returns the most recent completed trading session: open, high, low, close, volume, VWAP, and trade count, plus the change and percent change versus the prior session, and company reference data (name, primary exchange, security type, currency, market cap). NOTE: this plan tier serves end-of-day / delayed data (the response flags delayed=true), suitable for daily snapshots, fundamentals context, and post-close analysis rather than real-time trading. Pass ticker as a US symbol (e.g. AAPL, MSFT, BRK.B). Market data by Massive (formerly Polygon.io).",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "minLength": 1,
            "maxLength": 12,
            "pattern": "^[A-Za-z][A-Za-z0-9.\\-]{0,11}$",
            "description": "US-listed ticker symbol."
          }
        },
        "required": [
          "ticker"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ticker": "AAPL"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ticker": {
                  "type": "string"
                },
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "exchange": {
                  "type": "string",
                  "nullable": true,
                  "description": "Primary listing exchange MIC, e.g. XNAS, XNYS."
                },
                "type": {
                  "type": "string",
                  "nullable": true,
                  "description": "Security type, e.g. CS (common stock), ETF."
                },
                "currency": {
                  "type": "string",
                  "nullable": true
                },
                "marketCapUSD": {
                  "type": "number",
                  "nullable": true
                },
                "date": {
                  "type": "string",
                  "description": "Date of the latest completed daily bar (yyyy-mm-dd)."
                },
                "open": {
                  "type": "number",
                  "nullable": true
                },
                "high": {
                  "type": "number",
                  "nullable": true
                },
                "low": {
                  "type": "number",
                  "nullable": true
                },
                "close": {
                  "type": "number",
                  "nullable": true
                },
                "volume": {
                  "type": "number",
                  "nullable": true
                },
                "vwap": {
                  "type": "number",
                  "nullable": true,
                  "description": "Volume-weighted average price for the bar."
                },
                "transactions": {
                  "type": "number",
                  "nullable": true
                },
                "previousClose": {
                  "type": "number",
                  "nullable": true
                },
                "change": {
                  "type": "number",
                  "nullable": true,
                  "description": "close − previousClose."
                },
                "changePercent": {
                  "type": "number",
                  "nullable": true
                },
                "delayed": {
                  "type": "boolean",
                  "description": "True — this tier serves end-of-day / delayed data, not real-time."
                }
              },
              "required": [
                "ticker",
                "name",
                "exchange",
                "type",
                "currency",
                "marketCapUSD",
                "date",
                "open",
                "high",
                "low",
                "close",
                "volume",
                "vwap",
                "transactions",
                "previousClose",
                "change",
                "changePercent",
                "delayed"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "stocks.recommendations",
      "group": "stocks",
      "name": "recommendations",
      "method": "GET",
      "path": "/api/stocks/recommendations",
      "url": "https://2s.io/api/stocks/recommendations",
      "description": "Analyst recommendation trend for a US-listed company — the number of analysts rating it strong buy, buy, hold, sell, and strong sell, snapshotted per month (newest first). Pass ticker. Use it to see the consensus and how sentiment is shifting over time. Data by Finnhub.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "minLength": 1,
            "maxLength": 12,
            "pattern": "^[A-Za-z][A-Za-z0-9.\\-]{0,11}$",
            "description": "US-listed ticker symbol."
          }
        },
        "required": [
          "ticker"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ticker": "AAPL"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "period": {
                  "type": "string",
                  "description": "Month of the snapshot (yyyy-mm-dd)."
                },
                "strongBuy": {
                  "type": "number",
                  "nullable": true
                },
                "buy": {
                  "type": "number",
                  "nullable": true
                },
                "hold": {
                  "type": "number",
                  "nullable": true
                },
                "sell": {
                  "type": "number",
                  "nullable": true
                },
                "strongSell": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "period",
                "strongBuy",
                "buy",
                "hold",
                "sell",
                "strongSell"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "symbol": {
                "type": "string"
              }
            },
            "required": [
              "symbol"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "stocks.screener",
      "group": "stocks",
      "name": "screener",
      "method": "GET",
      "path": "/api/stocks/screener",
      "url": "https://2s.io/api/stocks/screener",
      "description": "Fundamental stock screener built on SEC EDGAR XBRL Frames — screen every public filer on a reported financial concept for one period, in a single call. Absolute mode: give a concept (e.g. Revenues, NetIncomeLoss, Assets), a period (CY2023 annual, CY2024Q1 quarter, CY2024Q1I instant), and an optional op/value to filter (e.g. Revenues gte 10000000000 → companies with >= $10B FY2023 revenue). Ratio mode: add ratioConcept to compute concept / ratioConcept per company joined by CIK, then op/value filter the ratio (e.g. concept=GrossProfit, ratioConcept=Revenues, op=gte, value=0.7 → gross margin >= 70%). Returns matching companies with CIK, entity name, value (and ratio), sorted, plus meta with the total matched and the screenable universe size. Free, public-domain (SEC EDGAR).",
      "priceUsd": 0.0048,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "concept": {
            "type": "string",
            "pattern": "^[A-Za-z0-9]+$",
            "minLength": 2,
            "maxLength": 80,
            "description": "XBRL us-gaap concept, e.g. Revenues, GrossProfit, NetIncomeLoss, Assets."
          },
          "period": {
            "type": "string",
            "pattern": "^CY\\d{4}(Q[1-4]I?)?$",
            "description": "CY2023 (annual), CY2024Q1 (quarter), CY2024Q1I (instant, for balance-sheet items)."
          },
          "unit": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20,
            "description": "Unit (default USD)."
          },
          "op": {
            "type": "string",
            "enum": [
              "gt",
              "gte",
              "lt",
              "lte"
            ],
            "description": "Comparison operator (with value). Filters the concept value, or the ratio when ratioConcept is set."
          },
          "value": {
            "type": "number",
            "description": "Comparison threshold (with op). For ratios use a fraction, e.g. 0.7 for 70%."
          },
          "ratioConcept": {
            "type": "string",
            "pattern": "^[A-Za-z0-9]+$",
            "minLength": 2,
            "maxLength": 80,
            "description": "Optional second XBRL concept; computes ratio = concept / ratioConcept per company (joined by CIK), and op/value then filter the ratio."
          },
          "sort": {
            "type": "string",
            "enum": [
              "asc",
              "desc"
            ],
            "description": "Sort by value/ratio (default desc)."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Max companies (1-100, default 25)."
          }
        },
        "required": [
          "concept",
          "period"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "concept": "GrossProfit",
        "ratioConcept": "Revenues",
        "period": "CY2023",
        "op": "gte",
        "value": "0.7"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "cik": {
                  "type": "number"
                },
                "entityName": {
                  "type": "string",
                  "nullable": true
                },
                "value": {
                  "type": "number"
                },
                "ratio": {
                  "type": "number"
                }
              },
              "required": [
                "cik",
                "entityName",
                "value"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "stocks.symbols",
      "group": "stocks",
      "name": "symbols",
      "method": "GET",
      "path": "/api/stocks/symbols",
      "url": "https://2s.io/api/stocks/symbols",
      "description": "Search or list the tradable equity symbol universe for an exchange. Pass q to substring-match on symbol or company name (case-insensitive), and/or exchange (default US) and limit. Returns matching listings with symbol, display symbol, description (company name), security type (e.g. Common Stock, ETF), currency, MIC, and FIGI. Use it to resolve a name to a ticker or enumerate a market. Data by Finnhub.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "q": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "description": "Substring match on symbol or company name (case-insensitive)."
          },
          "exchange": {
            "type": "string",
            "minLength": 1,
            "maxLength": 8,
            "pattern": "^[A-Za-z]+$",
            "description": "Exchange code (default US)."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500,
            "description": "Max rows to return (default 50)."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "q": "apple"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "symbol": {
                  "type": "string",
                  "nullable": true
                },
                "displaySymbol": {
                  "type": "string",
                  "nullable": true
                },
                "description": {
                  "type": "string",
                  "nullable": true
                },
                "type": {
                  "type": "string",
                  "nullable": true
                },
                "currency": {
                  "type": "string",
                  "nullable": true
                },
                "mic": {
                  "type": "string",
                  "nullable": true
                },
                "figi": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "symbol",
                "displaySymbol",
                "description",
                "type",
                "currency",
                "mic",
                "figi"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "exchange": {
                "type": "string"
              },
              "q": {
                "type": "string",
                "nullable": true
              },
              "matched": {
                "type": "integer"
              }
            },
            "required": [
              "exchange",
              "q",
              "matched"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "store.blob-delete",
      "group": "store",
      "name": "blob-delete",
      "method": "POST",
      "path": "/api/store/blob-delete",
      "url": "https://2s.io/api/store/blob-delete",
      "description": "STORE: delete a file you uploaded, scoped to YOUR wallet — removes the bytes from storage and the metadata. Idempotent: deleting a missing key succeeds with deleted:false. Private to your wallet (the x402 payer).",
      "priceUsd": 0.002,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ns": {
            "type": "string",
            "description": "Namespace the blob lives in."
          },
          "key": {
            "type": "string",
            "description": "Key to delete."
          }
        },
        "required": [
          "ns",
          "key"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ns": "example",
        "key": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "key": {
                  "type": "string"
                },
                "deleted": {
                  "type": "boolean"
                }
              },
              "required": [
                "key",
                "deleted"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "store.blob-get",
      "group": "store",
      "name": "blob-get",
      "method": "POST",
      "path": "/api/store/blob-get",
      "url": "https://2s.io/api/store/blob-get",
      "description": "STORE: download a file you uploaded with store.blob-put, in a single paid call, scoped to YOUR wallet. The response body IS the raw bytes (with the stored Content-Type) — no extra fetch, no public URL. Every read is an x402-tolled call streamed through us, so your data can never be fetched without payment. Reading resets the 90-day TTL. 404 if the key doesn't exist or has expired. Private to your wallet (the x402 payer).",
      "priceUsd": 0.01,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ns": {
            "type": "string",
            "description": "Namespace the blob lives in."
          },
          "key": {
            "type": "string",
            "description": "Key to download."
          }
        },
        "required": [
          "ns",
          "key"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ns": "example",
        "key": "example"
      }
    },
    {
      "id": "store.blob-list",
      "group": "store",
      "name": "blob-list",
      "method": "POST",
      "path": "/api/store/blob-list",
      "url": "https://2s.io/api/store/blob-list",
      "description": "STORE: list the files you've uploaded in a namespace, scoped to YOUR wallet — keys, sizes, content types, expiry (metadata only, not the bytes). Optional prefix filter + cursor pagination (pass nextCursor as `after`). Listing does NOT extend TTLs or move bytes. Private to your wallet (the x402 payer).",
      "priceUsd": 0.002,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ns": {
            "type": "string",
            "description": "Namespace to list."
          },
          "prefix": {
            "type": "string",
            "description": "Only return keys starting with this prefix."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Max keys to return. Default 50, max 1000."
          },
          "after": {
            "type": "string",
            "description": "Cursor — pass the previous response's nextCursor to page forward."
          }
        },
        "required": [
          "ns"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ns": "example",
        "prefix": "example",
        "limit": 1,
        "after": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "key": {
                  "type": "string"
                },
                "bytes": {
                  "type": "number"
                },
                "contentType": {
                  "type": "string",
                  "nullable": true
                },
                "expiresAt": {
                  "type": "string"
                }
              },
              "required": [
                "key",
                "bytes",
                "contentType",
                "expiresAt"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "nextCursor": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "nextCursor"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "store.blob-put",
      "group": "store",
      "name": "blob-put",
      "method": "POST",
      "path": "/api/store/blob-put",
      "url": "https://2s.io/api/store/blob-put",
      "description": "STORE: upload a file (any bytes) in a single paid call, scoped to YOUR wallet. Send the file base64-encoded in `data` with an optional contentType; we store it privately and key it to your payer address. Read it back with store.blob-get. Up to 3 MB per file (one-call limit); 50 MB total per wallet across kv/documents/vectors/files. Kept on a rolling 90-day window that resets on every touch. There is NO public URL — only paid store.blob-get can read it, so your bytes are never fetchable without payment. No account or API key.",
      "priceUsd": 0.01,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ns": {
            "type": "string",
            "description": "Namespace to group blobs, 1-64 chars of [A-Za-z0-9._:-]. e.g. \"uploads\"."
          },
          "key": {
            "type": "string",
            "description": "Key within the namespace, up to 256 chars. e.g. \"snapshot-42.json\"."
          },
          "data": {
            "type": "string",
            "minLength": 1,
            "description": "The file bytes, base64-encoded. Decoded size up to 3 MB."
          },
          "contentType": {
            "type": "string",
            "maxLength": 128,
            "description": "MIME type to return on read. e.g. \"application/json\", \"image/png\". Default application/octet-stream."
          }
        },
        "required": [
          "ns",
          "key",
          "data"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ns": "example",
        "key": "example",
        "data": "example",
        "contentType": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "key": {
                  "type": "string"
                },
                "bytes": {
                  "type": "number"
                },
                "contentType": {
                  "type": "string",
                  "nullable": true
                },
                "expiresAt": {
                  "type": "string"
                }
              },
              "required": [
                "key",
                "bytes",
                "contentType",
                "expiresAt"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "store.doc-delete",
      "group": "store",
      "name": "doc-delete",
      "method": "POST",
      "path": "/api/store/doc-delete",
      "url": "https://2s.io/api/store/doc-delete",
      "description": "STORE: delete a stored document by id, scoped to YOUR wallet. Idempotent — deleting a missing id succeeds with deleted:false. Private to your wallet (the x402 payer).",
      "priceUsd": 0.002,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ns": {
            "type": "string",
            "description": "Namespace the document lives in."
          },
          "id": {
            "type": "string",
            "description": "Document id to delete."
          }
        },
        "required": [
          "ns",
          "id"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ns": "example",
        "id": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "deleted": {
                  "type": "boolean"
                }
              },
              "required": [
                "id",
                "deleted"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "store.doc-get",
      "group": "store",
      "name": "doc-get",
      "method": "POST",
      "path": "/api/store/doc-get",
      "url": "https://2s.io/api/store/doc-get",
      "description": "STORE: fetch a stored document by id, scoped to YOUR wallet. Returns its body + meta. Reading resets the 90-day TTL (extend-on-touch). 404 if missing or expired. Private to your wallet (the x402 payer).",
      "priceUsd": 0.002,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ns": {
            "type": "string",
            "description": "Namespace the document lives in."
          },
          "id": {
            "type": "string",
            "description": "Document id to fetch."
          }
        },
        "required": [
          "ns",
          "id"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ns": "example",
        "id": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "body": {
                  "type": "string"
                },
                "meta": {},
                "expiresAt": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "body",
                "expiresAt"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "store.doc-put",
      "group": "store",
      "name": "doc-put",
      "method": "POST",
      "path": "/api/store/doc-put",
      "url": "https://2s.io/api/store/doc-put",
      "description": "STORE: index a text document for full-text keyword search, scoped to YOUR wallet. Store body text (up to 1 MB) under an id with optional JSON meta; later find it with store.doc-search (SQLite FTS5 keyword ranking). Re-putting the same id replaces it. Kept on a rolling 90-day window. Private to your wallet (the x402 payer) — no account or API key.",
      "priceUsd": 0.002,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ns": {
            "type": "string",
            "description": "Namespace to group documents."
          },
          "id": {
            "type": "string",
            "description": "Document id within the namespace, up to 256 chars."
          },
          "body": {
            "type": "string",
            "minLength": 1,
            "description": "The text to index, up to 1 MB."
          },
          "meta": {
            "description": "Optional JSON metadata returned with search hits (not indexed). e.g. {\"title\":\"notes\",\"tags\":[\"x\"]}."
          }
        },
        "required": [
          "ns",
          "id",
          "body"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ns": "example",
        "id": "example",
        "body": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "bytes": {
                  "type": "number"
                },
                "expiresAt": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "bytes",
                "expiresAt"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "store.doc-search",
      "group": "store",
      "name": "doc-search",
      "method": "POST",
      "path": "/api/store/doc-search",
      "url": "https://2s.io/api/store/doc-search",
      "description": "STORE: full-text keyword search over documents you stored in a namespace, scoped to YOUR wallet. Uses SQLite FTS5 — supports terms, phrases (\"...\"), AND/OR/NOT, and prefix* matching. Returns ranked hits with body + meta + a relevance score (higher = better). Searching does NOT extend TTLs. Private to your wallet (the x402 payer).",
      "priceUsd": 0.002,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ns": {
            "type": "string",
            "description": "Namespace to search."
          },
          "query": {
            "type": "string",
            "minLength": 1,
            "description": "FTS5 query. e.g. `invoice AND 2026`, `\"exact phrase\"`, `lim*`."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Max hits. Default 50, max 1000."
          }
        },
        "required": [
          "ns",
          "query"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ns": "example",
        "query": "example",
        "limit": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "body": {
                  "type": "string"
                },
                "meta": {},
                "score": {
                  "type": "number"
                }
              },
              "required": [
                "id",
                "body",
                "score"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "store.kv-delete",
      "group": "store",
      "name": "kv-delete",
      "method": "POST",
      "path": "/api/store/kv-delete",
      "url": "https://2s.io/api/store/kv-delete",
      "description": "STORE: delete a key/value you stored, scoped to YOUR wallet. Returns whether a value was removed. Idempotent — deleting a missing key succeeds with deleted:false. Private to your wallet (the x402 payer).",
      "priceUsd": 0.002,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ns": {
            "type": "string",
            "description": "Namespace the key lives in."
          },
          "key": {
            "type": "string",
            "description": "Key to delete."
          }
        },
        "required": [
          "ns",
          "key"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ns": "example",
        "key": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "key": {
                  "type": "string"
                },
                "deleted": {
                  "type": "boolean"
                }
              },
              "required": [
                "key",
                "deleted"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "store.kv-get",
      "group": "store",
      "name": "kv-get",
      "method": "POST",
      "path": "/api/store/kv-get",
      "url": "https://2s.io/api/store/kv-get",
      "description": "STORE: read back a JSON value you stored with store.kv-put, scoped to YOUR wallet. Returns the value and its expiry. Reading the object resets its 90-day TTL (extend-on-touch). Returns 404 if the key doesn't exist or has expired. Data is private to your wallet (the x402 payer) — no account or API key.",
      "priceUsd": 0.002,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ns": {
            "type": "string",
            "description": "Namespace the key lives in."
          },
          "key": {
            "type": "string",
            "description": "Key to read."
          }
        },
        "required": [
          "ns",
          "key"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ns": "example",
        "key": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "key": {
                  "type": "string"
                },
                "value": {},
                "expiresAt": {
                  "type": "string"
                }
              },
              "required": [
                "key",
                "expiresAt"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "store.kv-put",
      "group": "store",
      "name": "kv-put",
      "method": "POST",
      "path": "/api/store/kv-put",
      "url": "https://2s.io/api/store/kv-put",
      "description": "STORE: persist a JSON value under a key, scoped to YOUR wallet (the x402 payer). Key/value store with retrieval — set a value once, read it back later with store.kv-get or list with store.kv-scan. Data is private to your wallet and kept on a rolling 90-day window that resets every time you touch the object. Use a namespace (ns) to group related keys. Value up to 1 MB; 50 MB total per wallet across kv/documents/vectors/files. No account or API key — pay per call with x402 and your data is keyed to your payer address.",
      "priceUsd": 0.002,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ns": {
            "type": "string",
            "description": "Namespace to group keys, 1-64 chars of [A-Za-z0-9._:-]. e.g. \"memory\" or \"session:42\"."
          },
          "key": {
            "type": "string",
            "description": "Key within the namespace, up to 256 chars of [A-Za-z0-9._:/-]."
          },
          "value": {
            "description": "Any JSON value (object, array, string, number, boolean, null). Up to 1 MB serialized."
          }
        },
        "required": [
          "ns",
          "key"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ns": "example",
        "key": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "key": {
                  "type": "string"
                },
                "bytes": {
                  "type": "number"
                },
                "expiresAt": {
                  "type": "string"
                }
              },
              "required": [
                "key",
                "bytes",
                "expiresAt"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "store.kv-scan",
      "group": "store",
      "name": "kv-scan",
      "method": "POST",
      "path": "/api/store/kv-scan",
      "url": "https://2s.io/api/store/kv-scan",
      "description": "STORE: list keys in a namespace, scoped to YOUR wallet, optionally filtered by key prefix and paginated with a cursor. Set values:true to include each value inline. Ordered by key; returns nextCursor when more remain (pass it as `after`). Scanning does NOT extend TTLs. Private to your wallet (the x402 payer).",
      "priceUsd": 0.002,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ns": {
            "type": "string",
            "description": "Namespace to list."
          },
          "prefix": {
            "type": "string",
            "description": "Only return keys starting with this prefix. e.g. \"session:\"."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Max keys to return. Default 50, max 1000."
          },
          "after": {
            "type": "string",
            "description": "Cursor — pass the previous response's nextCursor to page forward."
          },
          "values": {
            "type": "boolean",
            "description": "Include each value inline (default false — keys only)."
          }
        },
        "required": [
          "ns"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ns": "example",
        "prefix": "example",
        "limit": 1,
        "after": "example",
        "values": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "key": {
                  "type": "string"
                },
                "value": {},
                "bytes": {
                  "type": "number"
                },
                "expiresAt": {
                  "type": "string"
                }
              },
              "required": [
                "key",
                "bytes",
                "expiresAt"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "nextCursor": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "nextCursor"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "store.usage",
      "group": "store",
      "name": "usage",
      "method": "POST",
      "path": "/api/store/usage",
      "url": "https://2s.io/api/store/usage",
      "description": "STORE: report how much storage YOUR wallet is using — structured bytes (kv + documents + vectors) and blob bytes. Use it to track headroom against the 50 MB per-wallet total (across kv/documents/vectors/files). Scoped to your wallet (the x402 payer); reports only your own usage.",
      "priceUsd": 0.002,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "inputExample": {},
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "tursoBytes": {
                  "type": "number"
                },
                "blobBytes": {
                  "type": "number"
                },
                "totalBytes": {
                  "type": "number"
                },
                "capBytes": {
                  "type": "number"
                }
              },
              "required": [
                "tursoBytes",
                "blobBytes",
                "totalBytes",
                "capBytes"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "store.vector-delete",
      "group": "store",
      "name": "vector-delete",
      "method": "POST",
      "path": "/api/store/vector-delete",
      "url": "https://2s.io/api/store/vector-delete",
      "description": "STORE: delete a vector by id from a namespace, scoped to YOUR wallet. Idempotent — deleting a missing id succeeds with deleted:false. Private to your wallet (the x402 payer).",
      "priceUsd": 0.002,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ns": {
            "type": "string",
            "description": "Namespace the vector lives in."
          },
          "id": {
            "type": "string",
            "description": "Vector id to delete."
          }
        },
        "required": [
          "ns",
          "id"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ns": "example",
        "id": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "deleted": {
                  "type": "boolean"
                }
              },
              "required": [
                "id",
                "deleted"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "store.vector-query",
      "group": "store",
      "name": "vector-query",
      "method": "POST",
      "path": "/api/store/vector-query",
      "url": "https://2s.io/api/store/vector-query",
      "description": "STORE: nearest-neighbor search over vectors you upserted in a namespace, scoped to YOUR wallet. Pass a query embedding (same dimensionality as the stored vectors) and get the top-K most similar by cosine similarity, each with its body + meta + score (1.0 = identical). The retrieval half of agent memory / RAG — bring your own query embedding. Querying does NOT extend TTLs. Private to your wallet (the x402 payer).",
      "priceUsd": 0.01,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ns": {
            "type": "string",
            "description": "Namespace (index) to search."
          },
          "embedding": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "minItems": 1,
            "maxItems": 4096,
            "description": "Query embedding (float array), same dimensionality as the stored vectors."
          },
          "topK": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "How many neighbors to return. Default 10, max 100."
          }
        },
        "required": [
          "ns",
          "embedding"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ns": "example",
        "embedding": [
          1
        ],
        "topK": 1
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "score": {
                  "type": "number"
                },
                "body": {
                  "type": "string",
                  "nullable": true
                },
                "meta": {}
              },
              "required": [
                "id",
                "score",
                "body"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "store.vector-upsert",
      "group": "store",
      "name": "vector-upsert",
      "method": "POST",
      "path": "/api/store/vector-upsert",
      "url": "https://2s.io/api/store/vector-upsert",
      "description": "STORE: upsert a vector for semantic retrieval, scoped to YOUR wallet. Bring your own embedding (any model, any dimension up to 4096) — store it under an id with optional body text + JSON meta, then find nearest neighbors with store.vector-query. Re-upserting the same id replaces it. This is the memory/RAG primitive for agents: no embedding key required on our side, no account, pay per call with x402. Kept on a rolling 90-day window.",
      "priceUsd": 0.005,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ns": {
            "type": "string",
            "description": "Namespace (an index) to group vectors. Vectors in a namespace should share dimensionality."
          },
          "id": {
            "type": "string",
            "description": "Vector id within the namespace, up to 256 chars."
          },
          "embedding": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "minItems": 1,
            "maxItems": 4096,
            "description": "The embedding as a float array (your model's output). 1-4096 dims."
          },
          "body": {
            "type": "string",
            "description": "Optional source text returned with query hits (e.g. the chunk this vector embeds)."
          },
          "meta": {
            "description": "Optional JSON metadata returned with query hits. e.g. {\"docId\":\"d1\",\"page\":3}."
          }
        },
        "required": [
          "ns",
          "id",
          "embedding"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ns": "example",
        "id": "example",
        "embedding": [
          1
        ],
        "body": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "dim": {
                  "type": "number"
                },
                "bytes": {
                  "type": "number"
                },
                "expiresAt": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "dim",
                "bytes",
                "expiresAt"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "sunrise.compute",
      "group": "sunrise",
      "name": "compute",
      "method": "GET",
      "path": "/api/sunrise/compute",
      "url": "https://2s.io/api/sunrise/compute",
      "description": "Compute sunrise, sunset, solar noon, and civil/nautical/astronomical twilight times for a coordinate + date. Query: lat (-90..90), lon (-180..180), date (YYYY-MM-DD). All times returned as ISO 8601 UTC. At high latitudes near solstices an event may not occur (polar day/night) — those fields return null and a note is included. dayLengthMinutes is the sunrise→sunset interval.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          },
          "date": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          }
        },
        "required": [
          "lat",
          "lon",
          "date"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "lat": -90,
        "lon": -180,
        "date": "2024-01-01"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "latitude": {
                    "type": "number"
                  },
                  "longitude": {
                    "type": "number"
                  },
                  "date": {
                    "type": "string"
                  }
                },
                "required": [
                  "latitude",
                  "longitude",
                  "date"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "query"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "tax.vat",
      "group": "tax",
      "name": "vat",
      "method": "GET",
      "path": "/api/tax/vat",
      "url": "https://2s.io/api/tax/vat",
      "description": "Validate a European Union VAT number against the official VIES (VAT Information Exchange System) register in real time. Confirms whether the VAT identifier is currently registered for intra-EU trade and, when the member state discloses them, returns the registered business name and address. Covers the 27 EU member states (Greece as EL) plus Northern Ireland (XI); Great Britain (GB) is not in VIES. Pass either a full identifier (vat=DE811569869) or country + number. Returns {valid, countryCode, vatNumber, name, address, requestDate, reason}. When a member-state register is temporarily down, returns a retryable 503 rather than a false negative. Data from the European Commission VIES service.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "vat": {
            "type": "string",
            "minLength": 3,
            "maxLength": 20,
            "description": "Full VAT identifier: 2-letter country prefix + number, e.g. \"DE811569869\" or \"NL810433941B01\" (spaces/dots/hyphens allowed)."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "2-letter VAT country prefix, e.g. \"DE\". Greece is EL (GR also accepted); Northern Ireland is XI. Use with number."
          },
          "number": {
            "type": "string",
            "minLength": 2,
            "maxLength": 18,
            "description": "The VAT number without the country prefix, e.g. \"811569869\". Use with country."
          }
        },
        "additionalProperties": false,
        "description": "Provide either vat (a full identifier) or both country and number."
      },
      "inputExample": {
        "vat": "xxx",
        "country": "xx",
        "number": "xx"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "input": {
                  "type": "string"
                },
                "valid": {
                  "type": "boolean",
                  "description": "True only when VIES confirms the number is currently registered."
                },
                "countryCode": {
                  "type": "string"
                },
                "vatNumber": {
                  "type": "string"
                },
                "name": {
                  "type": "string",
                  "nullable": true,
                  "description": "Registered legal name, when the member state discloses it."
                },
                "address": {
                  "type": "string",
                  "nullable": true,
                  "description": "Registered address (single line), when disclosed."
                },
                "requestDate": {
                  "type": "string",
                  "nullable": true,
                  "description": "VIES request timestamp (ISO 8601)."
                },
                "reason": {
                  "type": "string",
                  "nullable": true,
                  "description": "Why valid is false, when applicable."
                }
              },
              "required": [
                "input",
                "valid",
                "countryCode",
                "vatNumber",
                "name",
                "address",
                "requestDate",
                "reason"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "tax.vat-rates",
      "group": "tax",
      "name": "vat-rates",
      "method": "GET",
      "path": "/api/tax/vat-rates",
      "url": "https://2s.io/api/tax/vat-rates",
      "description": "Current EU VAT rates by member state — standard rate plus reduced/super-reduced/parking/zero rates. Pass `country` (ISO 2-letter; Greece is EL) for one state, or omit it for all 27. Each result returns the standard rate, the list of reduced rates in force, every rate category with its percentage, and the date the rates are in force. Source: European Commission TEDB (Taxes in Europe Database), refreshed regularly. Pairs with tax.vat (which validates a specific VAT number against the live VIES register).",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "country": {
            "type": "string",
            "pattern": "^[A-Za-z]{2}$"
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "country": "DE"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "memberState": {
                  "type": "string",
                  "description": "ISO 2-letter member-state code (Greece = EL)."
                },
                "standardRate": {
                  "type": "number",
                  "nullable": true,
                  "description": "Standard VAT rate (%)."
                },
                "reducedRates": {
                  "type": "array",
                  "items": {
                    "type": "number"
                  },
                  "description": "Reduced rates in force (%), ascending."
                },
                "categories": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "category": {
                        "type": "string"
                      },
                      "rate": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "category",
                      "rate"
                    ],
                    "additionalProperties": false
                  },
                  "description": "Every rate category (STANDARD/REDUCED/…) with its percentage."
                },
                "situationOn": {
                  "type": "string",
                  "nullable": true,
                  "description": "Date the rates are in force (YYYY-MM-DD)."
                }
              },
              "required": [
                "memberState",
                "standardRate",
                "reducedRates",
                "categories",
                "situationOn"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "tcg.card",
      "group": "tcg",
      "name": "card",
      "method": "GET",
      "path": "/api/tcg/card",
      "url": "https://2s.io/api/tcg/card",
      "description": "Price a single trading card. Pass game (categoryId or name), set (the groupId), and productId (the TCGplayer product id, from tcg.set-prices). Returns the matching card { productId, name, number, rarity, prices:[{ subType, market, low, mid, high }], url } with every printing/subtype. 404 if the productId is not in that set. Source: TCGplayer-derived pricing via tcgcsv.com.",
      "priceUsd": 0.0048,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "game": {
            "type": "string",
            "minLength": 1,
            "maxLength": 60,
            "description": "TCGplayer game: categoryId (e.g. 3) or name (e.g. \"pokemon\")."
          },
          "set": {
            "type": "integer",
            "exclusiveMinimum": true,
            "minimum": 0,
            "description": "groupId of the set (from tcg.sets)."
          },
          "productId": {
            "type": "integer",
            "exclusiveMinimum": true,
            "minimum": 0,
            "description": "TCGplayer productId of the card (from tcg.set-prices)."
          }
        },
        "required": [
          "game",
          "set",
          "productId"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "game": "pokemon",
        "set": "604",
        "productId": "42346"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "productId": {
                  "type": "number"
                },
                "name": {
                  "type": "string"
                },
                "number": {
                  "type": "string",
                  "nullable": true
                },
                "rarity": {
                  "type": "string",
                  "nullable": true
                },
                "prices": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "subType": {
                        "type": "string",
                        "nullable": true
                      },
                      "market": {
                        "type": "number",
                        "nullable": true
                      },
                      "low": {
                        "type": "number",
                        "nullable": true
                      },
                      "mid": {
                        "type": "number",
                        "nullable": true
                      },
                      "high": {
                        "type": "number",
                        "nullable": true
                      }
                    },
                    "required": [
                      "subType",
                      "market",
                      "low",
                      "mid",
                      "high"
                    ],
                    "additionalProperties": false
                  }
                },
                "url": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "productId",
                "name",
                "number",
                "rarity",
                "prices",
                "url"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "categoryId": {
                "type": "number"
              },
              "groupId": {
                "type": "number"
              }
            },
            "required": [
              "categoryId",
              "groupId"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "tcg.games",
      "group": "tcg",
      "name": "games",
      "method": "GET",
      "path": "/api/tcg/games",
      "url": "https://2s.io/api/tcg/games",
      "description": "List every trading-card game / category covered by TCGplayer pricing (Magic: The Gathering, Pokemon, Yu-Gi-Oh!, Disney Lorcana, One Piece, and ~85 more). Each row is { categoryId, name, displayName }. Use the categoryId (or the name) as the `game` parameter on tcg.sets, tcg.set-prices, and tcg.card. No parameters. Source: TCGplayer-derived pricing via tcgcsv.com.",
      "priceUsd": 0.0048,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "inputExample": {},
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "categoryId": {
                  "type": "number"
                },
                "name": {
                  "type": "string"
                },
                "displayName": {
                  "type": "string"
                }
              },
              "required": [
                "categoryId",
                "name",
                "displayName"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "tcg.set-prices",
      "group": "tcg",
      "name": "set-prices",
      "method": "GET",
      "path": "/api/tcg/set-prices",
      "url": "https://2s.io/api/tcg/set-prices",
      "description": "Price an entire trading-card set in one call. Pass game (categoryId or name, e.g. \"pokemon\") and set (the groupId from tcg.sets). Returns each card joined to its prices: { productId, name, number, rarity, prices:[{ subType, market, low, mid, high }], url }. subType separates printings (Normal, Foil, Reverse Holofoil, 1st Edition, etc.). Capped to limit cards (default 100, max 500); total is the full set size (pre-limit), meta.returned is how many rows came back. This is the core \"value a whole set / list card prices\" call. Source: TCGplayer-derived pricing via tcgcsv.com.",
      "priceUsd": 0.0048,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "game": {
            "type": "string",
            "minLength": 1,
            "maxLength": 60,
            "description": "TCGplayer game: categoryId (e.g. 3) or name (e.g. \"pokemon\")."
          },
          "set": {
            "type": "integer",
            "exclusiveMinimum": true,
            "minimum": 0,
            "description": "groupId of the set (from tcg.sets)."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500,
            "description": "Max cards to return (default 100, max 500)."
          }
        },
        "required": [
          "game",
          "set"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "game": "pokemon",
        "set": "604",
        "limit": "100"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "productId": {
                  "type": "number"
                },
                "name": {
                  "type": "string"
                },
                "number": {
                  "type": "string",
                  "nullable": true
                },
                "rarity": {
                  "type": "string",
                  "nullable": true
                },
                "prices": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "subType": {
                        "type": "string",
                        "nullable": true
                      },
                      "market": {
                        "type": "number",
                        "nullable": true
                      },
                      "low": {
                        "type": "number",
                        "nullable": true
                      },
                      "mid": {
                        "type": "number",
                        "nullable": true
                      },
                      "high": {
                        "type": "number",
                        "nullable": true
                      }
                    },
                    "required": [
                      "subType",
                      "market",
                      "low",
                      "mid",
                      "high"
                    ],
                    "additionalProperties": false
                  }
                },
                "url": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "productId",
                "name",
                "number",
                "rarity",
                "prices",
                "url"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "categoryId": {
                "type": "number"
              },
              "groupId": {
                "type": "number"
              },
              "returned": {
                "type": "number"
              }
            },
            "required": [
              "categoryId",
              "groupId",
              "returned"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "tcg.sets",
      "group": "tcg",
      "name": "sets",
      "method": "GET",
      "path": "/api/tcg/sets",
      "url": "https://2s.io/api/tcg/sets",
      "description": "List the sets (groups) for a trading-card game — e.g. every Pokemon or Magic: The Gathering set. Pass game (a categoryId like 3, or a name like \"pokemon\"/\"magic\" — resolved against tcg.games), optional q (case-insensitive substring filter on set name), and optional limit (default 100, max 500). Each row is { groupId, name, abbreviation, publishedOn, isSupplemental }. Use the groupId as the `set` parameter on tcg.set-prices / tcg.card. total is the full match count (pre-limit). Source: TCGplayer-derived pricing via tcgcsv.com.",
      "priceUsd": 0.0048,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "game": {
            "type": "string",
            "minLength": 1,
            "maxLength": 60,
            "description": "TCGplayer game: categoryId (e.g. 3) or name (e.g. \"pokemon\", \"magic\")."
          },
          "q": {
            "type": "string",
            "maxLength": 80,
            "description": "Case-insensitive substring filter on set name."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500,
            "description": "Max sets to return (default 100, max 500)."
          }
        },
        "required": [
          "game"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "game": "pokemon",
        "q": "base",
        "limit": "50"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "groupId": {
                  "type": "number"
                },
                "name": {
                  "type": "string"
                },
                "abbreviation": {
                  "type": "string",
                  "nullable": true
                },
                "publishedOn": {
                  "type": "string",
                  "nullable": true
                },
                "isSupplemental": {
                  "type": "boolean"
                }
              },
              "required": [
                "groupId",
                "name",
                "abbreviation",
                "publishedOn",
                "isSupplemental"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "categoryId": {
                "type": "number"
              },
              "returned": {
                "type": "number"
              }
            },
            "required": [
              "categoryId",
              "returned"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "telecom.fcc-filings",
      "group": "telecom",
      "name": "fcc-filings",
      "method": "GET",
      "path": "/api/telecom/fcc-filings",
      "url": "https://2s.io/api/telecom/fcc-filings",
      "description": "Search FCC Electronic Comment Filing System (ECFS) filings for a proceeding/docket (e.g. 17-108 net neutrality, 11-42 Lifeline). Optionally filter by filer name. Returns the newest filings with the submission id, filer, type, lead bureau, received/disseminated dates, and document count. Public-domain federal data. Track FCC regulatory dockets, comments, and ex-parte filings an LLM can't recite fresh.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "proceeding": {
            "type": "string",
            "pattern": "^\\d{1,3}-\\d{1,4}$"
          },
          "filer": {
            "type": "string",
            "maxLength": 120
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          }
        },
        "required": [
          "proceeding"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "proceeding": "17-108",
        "limit": 5
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "nullable": true
                },
                "proceeding": {
                  "type": "string",
                  "nullable": true
                },
                "filer": {
                  "type": "string",
                  "nullable": true
                },
                "type": {
                  "type": "string",
                  "nullable": true
                },
                "bureau": {
                  "type": "string",
                  "nullable": true
                },
                "dateReceived": {
                  "type": "string",
                  "nullable": true
                },
                "dateDisseminated": {
                  "type": "string",
                  "nullable": true
                },
                "documentCount": {
                  "type": "number"
                }
              },
              "required": [
                "id",
                "proceeding",
                "filer",
                "type",
                "bureau",
                "dateReceived",
                "dateDisseminated",
                "documentCount"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "proceeding": {
                "type": "string"
              },
              "total": {
                "type": "number",
                "nullable": true
              }
            },
            "required": [
              "proceeding",
              "total"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "telecom.market-area",
      "group": "telecom",
      "name": "market-area",
      "method": "GET",
      "path": "/api/telecom/market-area",
      "url": "https://2s.io/api/telecom/market-area",
      "description": "Map a US latitude/longitude to its FCC spectrum-licensing geographies — Cellular Market Area (CMA), Basic Trading Area (BTA), Major Trading Area (MTA), Partial Economic Area (PEA), and the BEA/EAG/MEA/REAG economic areas — plus the 2020 Census block FIPS, county, and block population. Keyless, public-domain (FCC). These market areas define spectrum-license boundaries (which CMA/BTA/PEA a point falls in) — distinct from ordinary geocoding, and not derivable by an LLM.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          }
        },
        "required": [
          "lat",
          "lon"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "lat": 40.7128,
        "lon": -74.006
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "lat": {
                  "type": "number"
                },
                "lon": {
                  "type": "number"
                },
                "blockFips": {
                  "type": "string",
                  "nullable": true
                },
                "countyFips": {
                  "type": "string",
                  "nullable": true
                },
                "county": {
                  "type": "string",
                  "nullable": true
                },
                "state": {
                  "type": "string",
                  "nullable": true
                },
                "stateFips": {
                  "type": "string",
                  "nullable": true
                },
                "blockPopulation2020": {
                  "type": "number",
                  "nullable": true
                },
                "spectrumMarkets": {
                  "type": "object",
                  "properties": {
                    "cellularCMA": {
                      "type": "string",
                      "nullable": true
                    },
                    "basicTradingBTA": {
                      "type": "string",
                      "nullable": true
                    },
                    "majorTradingMTA": {
                      "type": "string",
                      "nullable": true
                    },
                    "partialEconomicPEA": {
                      "type": "string",
                      "nullable": true
                    },
                    "economicAreaBEA": {
                      "type": "string",
                      "nullable": true
                    },
                    "economicAreaGroupingEAG": {
                      "type": "string",
                      "nullable": true
                    },
                    "majorEconomicMEA": {
                      "type": "string",
                      "nullable": true
                    },
                    "regionalEconomicREAG": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "cellularCMA",
                    "basicTradingBTA",
                    "majorTradingMTA",
                    "partialEconomicPEA",
                    "economicAreaBEA",
                    "economicAreaGroupingEAG",
                    "majorEconomicMEA",
                    "regionalEconomicREAG"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "lat",
                "lon",
                "blockFips",
                "countyFips",
                "county",
                "state",
                "stateFips",
                "blockPopulation2020",
                "spectrumMarkets"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "tides.now",
      "group": "tides",
      "name": "now",
      "method": "GET",
      "path": "/api/tides/now",
      "url": "https://2s.io/api/tides/now",
      "description": "Next high/low tide predictions near a coordinate. Query: lat (-90..90), lon (-180..180), radius_km (1-500, default 100), hours (1-72, default 24). Returns { query, station:{ id, name, latitude, longitude, state, distanceKm }, predictions[{ time (station local), type: \"high\"|\"low\", heightMeters }], source }. Returns 404 NO_STATION if no NOAA tide station is within radius. Heights are referenced to MLLW (Mean Lower-Low Water).",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          },
          "radius_km": {
            "type": "number",
            "minimum": 1,
            "maximum": 500,
            "default": 100
          },
          "hours": {
            "type": "number",
            "minimum": 1,
            "maximum": 72,
            "default": 24
          }
        },
        "required": [
          "lat",
          "lon"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "lat": -90,
        "lon": -180,
        "radius_km": 100,
        "hours": 24
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "station": {
                  "type": "object",
                  "additionalProperties": {},
                  "description": "Nearest NOAA tide station: id, name, latitude, longitude, state, distanceKm."
                },
                "predictions": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": {}
                  },
                  "description": "Next high/low tide predictions: time (station local), type (high|low), heightMeters."
                }
              },
              "required": [
                "station",
                "predictions"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "latitude": {
                    "type": "number"
                  },
                  "longitude": {
                    "type": "number"
                  },
                  "radiusKm": {
                    "type": "number"
                  },
                  "hours": {
                    "type": "number"
                  }
                },
                "required": [
                  "latitude",
                  "longitude",
                  "radiusKm",
                  "hours"
                ],
                "additionalProperties": false
              },
              "datum": {
                "type": "string"
              }
            },
            "required": [
              "query",
              "datum"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "time.parse",
      "group": "time",
      "name": "parse",
      "method": "GET",
      "path": "/api/time/parse",
      "url": "https://2s.io/api/time/parse",
      "description": "Parse a timestamp or date string into canonical forms — zero-dependency. Accepts unix seconds/millis or any standard date string (ISO-8601, RFC-2822, etc.). Returns UTC ISO, unix seconds + millis, RFC-2822, calendar components (year/month/day/hour/minute/second/weekday), ISO weekday, ISO year+week, and day-of-year. Pass an IANA timezone (tz) to also get the DST-correct local wall-clock time and UTC offset. The reliable time primitive for agents normalizing or converting timestamps.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "input": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100,
            "description": "Timestamp or date string, e.g. \"2026-06-21T15:30:00Z\" or 1750000000."
          },
          "tz": {
            "type": "string",
            "minLength": 2,
            "maxLength": 64,
            "description": "Optional IANA timezone for local conversion, e.g. America/New_York."
          }
        },
        "required": [
          "input"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "input": "example",
        "tz": "xx"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "input": {
                  "type": "string"
                },
                "utc": {
                  "type": "object",
                  "properties": {
                    "iso": {
                      "type": "string"
                    },
                    "year": {
                      "type": "number"
                    },
                    "month": {
                      "type": "number"
                    },
                    "day": {
                      "type": "number"
                    },
                    "hour": {
                      "type": "number"
                    },
                    "minute": {
                      "type": "number"
                    },
                    "second": {
                      "type": "number"
                    },
                    "weekday": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "iso",
                    "year",
                    "month",
                    "day",
                    "hour",
                    "minute",
                    "second",
                    "weekday"
                  ],
                  "additionalProperties": false
                },
                "unixSeconds": {
                  "type": "number"
                },
                "unixMillis": {
                  "type": "number"
                },
                "isoWeekday": {
                  "type": "number"
                },
                "dayOfYear": {
                  "type": "number"
                },
                "isoYear": {
                  "type": "number"
                },
                "isoWeek": {
                  "type": "number"
                },
                "rfc2822": {
                  "type": "string"
                },
                "local": {
                  "type": "object",
                  "properties": {
                    "timezone": {
                      "type": "string"
                    },
                    "offset": {
                      "type": "string"
                    },
                    "offsetMinutes": {
                      "type": "number"
                    },
                    "iso": {
                      "type": "string"
                    },
                    "year": {
                      "type": "number"
                    },
                    "month": {
                      "type": "number"
                    },
                    "day": {
                      "type": "number"
                    },
                    "hour": {
                      "type": "number"
                    },
                    "minute": {
                      "type": "number"
                    },
                    "second": {
                      "type": "number"
                    },
                    "weekday": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "timezone",
                    "offset",
                    "offsetMinutes",
                    "iso",
                    "year",
                    "month",
                    "day",
                    "hour",
                    "minute",
                    "second",
                    "weekday"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                }
              },
              "required": [
                "input",
                "utc",
                "unixSeconds",
                "unixMillis",
                "isoWeekday",
                "dayOfYear",
                "isoYear",
                "isoWeek",
                "rfc2822",
                "local"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "timezone.lookup",
      "group": "timezone",
      "name": "lookup",
      "method": "GET",
      "path": "/api/timezone/lookup",
      "url": "https://2s.io/api/timezone/lookup",
      "description": "Resolve a coordinate to its IANA timezone and return the current UTC offset, local wall time, DST status, and short abbreviation. Query: lat (-90..90), lon (-180..180), at (optional ISO 8601 instant; defaults to now). Returns { tz, abbreviation, offsetMinutes, offsetHours, localTime, observesDst, isDst, januaryOffsetMinutes, julyOffsetMinutes, instant, source }. Polygon lookup against a CC0 timezone boundary index; offsets and DST come from the runtime tzdata so transition rules stay current. Use when scheduling for a coordinate, converting timestamps to local wall time, or checking whether a location is currently observing daylight saving.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90,
            "description": "Latitude in degrees, -90..90."
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180,
            "description": "Longitude in degrees, -180..180."
          },
          "at": {
            "type": "string",
            "format": "date-time",
            "description": "Optional ISO 8601 instant. Defaults to the current server time."
          }
        },
        "required": [
          "lat",
          "lon"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "lat": -90,
        "lon": -180,
        "at": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "tz": {
                  "type": "string",
                  "description": "IANA timezone identifier — e.g. \"America/Los_Angeles\"."
                },
                "abbreviation": {
                  "type": "string",
                  "description": "Short timezone abbreviation at `instant` — e.g. \"PDT\", \"JST\"."
                },
                "offsetMinutes": {
                  "type": "integer",
                  "description": "UTC offset at `instant`, in signed minutes."
                },
                "offsetHours": {
                  "type": "number",
                  "description": "UTC offset at `instant`, in signed hours (may be fractional for 30/45-minute zones)."
                },
                "localTime": {
                  "type": "string",
                  "description": "ISO 8601 local wall time with offset suffix — e.g. \"2026-06-03T08:43:15-07:00\"."
                },
                "observesDst": {
                  "type": "boolean",
                  "description": "True if this zone has different offsets across the year."
                },
                "isDst": {
                  "type": "boolean",
                  "description": "True if `instant` falls inside a DST/summer-shift period for this zone."
                },
                "januaryOffsetMinutes": {
                  "type": "integer",
                  "description": "Offset on Jan 15 of `instant`'s year — representative northern-hemisphere winter."
                },
                "julyOffsetMinutes": {
                  "type": "integer",
                  "description": "Offset on Jul 15 of `instant`'s year — representative northern-hemisphere summer."
                },
                "instant": {
                  "type": "string",
                  "description": "UTC instant the lookup was computed at (echoed `at`, or current server time)."
                }
              },
              "required": [
                "tz",
                "abbreviation",
                "offsetMinutes",
                "offsetHours",
                "localTime",
                "observesDst",
                "isDst",
                "januaryOffsetMinutes",
                "julyOffsetMinutes",
                "instant"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "tld.info",
      "group": "tld",
      "name": "info",
      "method": "GET",
      "path": "/api/tld/info",
      "url": "https://2s.io/api/tld/info",
      "description": "TLD registry intelligence and public-suffix analysis. Mode 1 (tld=io): IANA root-zone metadata — type (generic / country-code / sponsored), managing organization, unicode form for IDN TLDs. Mode 2 (domain=shop.example.co.uk): full Public Suffix List algorithm — the effective public suffix (co.uk), the registrable domain (example.co.uk), the subdomain part, the matched PSL rule, and whether the suffix is ICANN (registry) or private (corporate, e.g. github.io / s3.amazonaws.com) — plus the root-zone metadata for its TLD. Correctly handles wildcard and exception rules and IDN/punycode input. Use for cookie scoping, per-registrant rate limiting, URL dedup, and abuse/phishing analysis. Data: IANA root zone + Mozilla PSL, refreshed weekly.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "tld": {
            "type": "string",
            "minLength": 2,
            "maxLength": 64,
            "description": "TLD label, e.g. \"io\" or \".рф\". Provide tld or domain, not both."
          },
          "domain": {
            "type": "string",
            "minLength": 3,
            "maxLength": 253,
            "description": "Domain name to analyze, e.g. \"shop.example.co.uk\"."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "domain": "shop.example.co.uk"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "query": {
                  "type": "string",
                  "description": "Normalized (punycode) query value."
                },
                "tld": {
                  "type": "object",
                  "properties": {
                    "tld": {
                      "type": "string",
                      "description": "ASCII/punycode TLD label."
                    },
                    "unicodeTld": {
                      "type": "string",
                      "description": "Unicode display form (differs for IDN TLDs)."
                    },
                    "type": {
                      "type": "string",
                      "description": "IANA delegation type: generic, country-code, sponsored, generic-restricted, infrastructure, or test."
                    },
                    "manager": {
                      "type": "string",
                      "nullable": true,
                      "description": "Sponsoring organization; null when unassigned/retired."
                    }
                  },
                  "required": [
                    "tld",
                    "unicodeTld",
                    "type",
                    "manager"
                  ],
                  "additionalProperties": false,
                  "nullable": true,
                  "description": "IANA root-zone metadata; null when the TLD is not in the root zone."
                },
                "suffix": {
                  "type": "object",
                  "properties": {
                    "publicSuffix": {
                      "type": "string"
                    },
                    "registrableDomain": {
                      "type": "string",
                      "nullable": true
                    },
                    "subdomain": {
                      "type": "string",
                      "nullable": true
                    },
                    "matchedRule": {
                      "type": "string"
                    },
                    "section": {
                      "type": "string",
                      "enum": [
                        "icann",
                        "private",
                        "implicit"
                      ]
                    },
                    "isWildcard": {
                      "type": "boolean"
                    },
                    "isException": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "publicSuffix",
                    "registrableDomain",
                    "subdomain",
                    "matchedRule",
                    "section",
                    "isWildcard",
                    "isException"
                  ],
                  "additionalProperties": false,
                  "nullable": true,
                  "description": "PSL analysis (domain mode only)."
                }
              },
              "required": [
                "query",
                "tld",
                "suffix"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "sources": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "provider": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string"
                    },
                    "license": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "provider",
                    "url",
                    "license"
                  ],
                  "additionalProperties": false
                },
                "description": "All attributions: IANA root zone + Mozilla PSL."
              }
            },
            "required": [
              "sources"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "tls.cert-info",
      "group": "tls",
      "name": "cert-info",
      "method": "GET",
      "path": "/api/tls/cert-info",
      "url": "https://2s.io/api/tls/cert-info",
      "description": "Open a live TLS connection to a host and return its certificate. Give a host (and optional port, default 443). Returns the negotiated TLS protocol + cipher, whether the chain validates against system roots, and the leaf certificate's subject + issuer (CN/O/C), validity window (valid-from / valid-to), days until expiry + expired flag, serial number, SHA-256 fingerprint, Subject Alternative Names, and the chain length. A genuine network probe agents can't do from their sandbox — for cert-expiry monitoring, TLS audits, and verifying who issued a site's certificate. SSRF-guarded: the host must resolve to a public address. Self-signed and expired certs are reported (not rejected).",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "host": {
            "type": "string",
            "minLength": 1,
            "maxLength": 253
          },
          "port": {
            "type": "integer",
            "minimum": 1,
            "maximum": 65535,
            "default": 443
          }
        },
        "required": [
          "host"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "host": "example.com"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "host": {
                  "type": "string"
                },
                "port": {
                  "type": "number"
                },
                "resolvedIp": {
                  "type": "string"
                },
                "protocol": {
                  "type": "string",
                  "nullable": true
                },
                "cipher": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "nullable": true
                    },
                    "version": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "name",
                    "version"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                },
                "authorized": {
                  "type": "boolean"
                },
                "authorizationError": {
                  "type": "string",
                  "nullable": true
                },
                "certificate": {
                  "type": "object",
                  "properties": {
                    "subject": {
                      "type": "object",
                      "additionalProperties": {}
                    },
                    "issuer": {
                      "type": "object",
                      "additionalProperties": {}
                    },
                    "validFrom": {
                      "type": "string",
                      "nullable": true
                    },
                    "validTo": {
                      "type": "string",
                      "nullable": true
                    },
                    "daysUntilExpiry": {
                      "type": "number",
                      "nullable": true
                    },
                    "expired": {
                      "type": "boolean"
                    },
                    "serialNumber": {
                      "type": "string",
                      "nullable": true
                    },
                    "fingerprintSha256": {
                      "type": "string",
                      "nullable": true
                    },
                    "subjectAltNames": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "isCa": {
                      "type": "boolean",
                      "nullable": true
                    }
                  },
                  "required": [
                    "subject",
                    "issuer",
                    "validFrom",
                    "validTo",
                    "daysUntilExpiry",
                    "expired",
                    "serialNumber",
                    "fingerprintSha256",
                    "subjectAltNames",
                    "isCa"
                  ],
                  "additionalProperties": false
                },
                "chainLength": {
                  "type": "number"
                }
              },
              "required": [
                "host",
                "port",
                "resolvedIp",
                "protocol",
                "cipher",
                "authorized",
                "authorizationError",
                "certificate",
                "chainLength"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "trade.commodity-resolve",
      "group": "trade",
      "name": "commodity-resolve",
      "method": "GET",
      "path": "/api/trade/commodity-resolve",
      "url": "https://2s.io/api/trade/commodity-resolve",
      "description": "Cross-walk a traded-good code across HS (6-digit international Harmonized System) <-> HTS (US 10-digit import) <-> Schedule B (US 10-digit export) <-> NAICS industry. Pass the system + code and get the shared HS6, the official description, the matching Schedule B and HTS national lines, the NAICS industry(ies), and the SITC code. The join an import/export, customs, or supply-chain agent needs to move between the export schedule, the import tariff schedule, the international HS level, and the industry that makes the good -- all keyed on the globally-harmonized HS6 bridge. Backed by bundled public-domain US Census Foreign Trade concordances (Schedule B + HTS, latest annual). For a 10-digit input the NAICS is narrowed to that exact national line; cross-schedule lines are surfaced via the shared HS6 and flagged in notes. Companion to trade.tariff (duty rates) and business.naics (industry detail).",
      "priceUsd": 0.0036,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "system": {
            "type": "string",
            "enum": [
              "hs",
              "hts",
              "scheduleb"
            ],
            "description": "Which system the input code is in: hs (6-digit intl), hts (US import), scheduleb (US export)."
          },
          "code": {
            "type": "string",
            "minLength": 4,
            "maxLength": 14,
            "description": "The commodity code, dots optional, e.g. 090121, 0901210000, or 8703.23.00."
          }
        },
        "required": [
          "system",
          "code"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "system": "hts",
        "code": "8703230000"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "resolvedFrom": {
                  "type": "string",
                  "enum": [
                    "hs",
                    "hts",
                    "scheduleb"
                  ]
                },
                "input": {
                  "type": "string"
                },
                "hs6": {
                  "type": "string",
                  "nullable": true
                },
                "description": {
                  "type": "string",
                  "nullable": true
                },
                "naics": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "sitc": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "scheduleB": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "US export (Schedule B) 10-digit lines under this HS6."
                },
                "hts": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "US import (HTS) 10-digit lines under this HS6."
                },
                "notes": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "resolvedFrom",
                "input",
                "hs6",
                "description",
                "naics",
                "sitc",
                "scheduleB",
                "hts",
                "notes"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "trade.flows",
      "group": "trade",
      "name": "flows",
      "method": "GET",
      "path": "/api/trade/flows",
      "url": "https://2s.io/api/trade/flows",
      "description": "Annual international merchandise-trade flows from UN Comtrade (HS classification). Pass reporter (the country whose trade you want; ISO-2/ISO-3 like 'US'/'USA', a UN M49 number, or 'World'), optional partner (counterparty; default World), year (YYYY), flow (export|import), and commodity: 'TOTAL' (all goods, default), a specific HS code ('27', '8703'), or 'AG2'/'AG4'/'AG6' for a top-commodity breakdown at the 2/4/6-digit level. Returns trade value (USD), net weight, quantity, and the HS commodity, sorted by value. Country names are resolved from Comtrade's own reference data.",
      "priceUsd": 0.0036,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "reporter": {
            "type": "string",
            "minLength": 2,
            "maxLength": 40,
            "description": "Reporting country: ISO-2/ISO-3 (\"US\"/\"USA\"), UN M49 number, or \"World\"."
          },
          "partner": {
            "type": "string",
            "minLength": 2,
            "maxLength": 40,
            "default": "World",
            "description": "Partner/counterparty country (same formats). Default \"World\" (all partners aggregated)."
          },
          "year": {
            "type": "string",
            "pattern": "^\\d{4}$",
            "description": "Calendar year (YYYY). Comtrade annual data typically lags ~6-12 months."
          },
          "flow": {
            "type": "string",
            "enum": [
              "export",
              "import"
            ],
            "default": "export",
            "description": "Trade direction from the reporter's perspective. Default export."
          },
          "commodity": {
            "type": "string",
            "minLength": 2,
            "maxLength": 8,
            "default": "TOTAL",
            "description": "\"TOTAL\" (all goods, default), a specific HS code (\"27\", \"8703\"), or \"AG2\"/\"AG4\"/\"AG6\" for a top-commodity breakdown."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 25,
            "description": "Max rows to return (1-100), sorted by trade value desc. Default 25."
          }
        },
        "required": [
          "reporter",
          "year"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "reporter": "xx",
        "partner": "World",
        "year": "12345",
        "flow": "export",
        "commodity": "TOTAL",
        "limit": 25
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "reporter": {
                  "type": "string",
                  "nullable": true
                },
                "reporterIso": {
                  "type": "string",
                  "nullable": true
                },
                "partner": {
                  "type": "string",
                  "nullable": true
                },
                "partnerIso": {
                  "type": "string",
                  "nullable": true
                },
                "flow": {
                  "type": "string",
                  "nullable": true
                },
                "period": {
                  "type": "string",
                  "nullable": true
                },
                "commodityCode": {
                  "type": "string",
                  "nullable": true
                },
                "commodity": {
                  "type": "string",
                  "nullable": true
                },
                "valueUsd": {
                  "type": "number",
                  "nullable": true
                },
                "netWeightKg": {
                  "type": "number",
                  "nullable": true
                },
                "quantity": {
                  "type": "number",
                  "nullable": true
                },
                "quantityUnit": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "reporter",
                "reporterIso",
                "partner",
                "partnerIso",
                "flow",
                "period",
                "commodityCode",
                "commodity",
                "valueUsd",
                "netWeightKg",
                "quantity",
                "quantityUnit"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "reporter": {
                    "type": "string"
                  },
                  "reporterCode": {
                    "type": "integer"
                  },
                  "partner": {
                    "type": "string"
                  },
                  "partnerCode": {
                    "type": "integer"
                  },
                  "year": {
                    "type": "string"
                  },
                  "flow": {
                    "type": "string"
                  },
                  "commodity": {
                    "type": "string"
                  }
                },
                "required": [
                  "reporter",
                  "reporterCode",
                  "partner",
                  "partnerCode",
                  "year",
                  "flow",
                  "commodity"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "query"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "trade.locode",
      "group": "trade",
      "name": "locode",
      "method": "GET",
      "path": "/api/trade/locode",
      "url": "https://2s.io/api/trade/locode",
      "description": "Look up or search UN/LOCODE — the United Nations Code for Trade and Transport Locations (~116k locations, all countries). Pass `locode` for an exact code (e.g. USNYC or 'US NYC'). Or pass `query` to search location names, optionally filtered by `country` (ISO 3166 alpha-2) and `function` (port, rail, road, airport, postal, multimodal, fixed, border). Each result: locode, name, country, subdivision, transport functions, entry status, IATA code where it differs, and coordinates. UN/LOCODE is the standard location identifier in shipping schedules, EDI messages, and customs documents.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "locode": {
            "type": "string",
            "pattern": "^[A-Za-z]{2}[\\s-]?[A-Za-z0-9]{3}$",
            "description": "Exact UN/LOCODE to look up (e.g. USNYC or 'US NYC'). Pass this OR query."
          },
          "query": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120,
            "description": "Location name to search (e.g. Rotterdam). Pass this OR locode."
          },
          "country": {
            "type": "string",
            "pattern": "^[A-Za-z]{2}$",
            "description": "Restrict query-mode results to one country (ISO 3166 alpha-2, e.g. NL)."
          },
          "function": {
            "type": "string",
            "enum": [
              "port",
              "rail",
              "road",
              "airport",
              "postal",
              "multimodal",
              "fixed",
              "border"
            ],
            "description": "Restrict query-mode results to locations with this transport function."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Max query-mode results, 1–50 (default 10)."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "locode": "USNYC"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "locode": {
                  "type": "string",
                  "description": "5-character UN/LOCODE (country + location)."
                },
                "country": {
                  "type": "string",
                  "description": "ISO 3166 alpha-2 country code."
                },
                "location": {
                  "type": "string",
                  "description": "3-character location part of the code."
                },
                "name": {
                  "type": "string",
                  "description": "Place name (with diacritics)."
                },
                "nameAscii": {
                  "type": "string",
                  "description": "Place name without diacritics."
                },
                "subdivision": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "code",
                    "name"
                  ],
                  "additionalProperties": false,
                  "nullable": true,
                  "description": "ISO 3166-2 subdivision (state/province), when assigned."
                },
                "functions": {
                  "type": "object",
                  "properties": {
                    "raw": {
                      "type": "string",
                      "description": "Raw 8-position UN/LOCODE function classifier."
                    },
                    "list": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Decoded transport functions (port, rail terminal, airport, …)."
                    }
                  },
                  "required": [
                    "raw",
                    "list"
                  ],
                  "additionalProperties": false
                },
                "status": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "meaning": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "code",
                    "meaning"
                  ],
                  "additionalProperties": false,
                  "nullable": true,
                  "description": "Entry status code + meaning (e.g. AA = approved by national agency)."
                },
                "iata": {
                  "type": "string",
                  "nullable": true,
                  "description": "IATA code, only when it differs from the location part."
                },
                "coordinates": {
                  "type": "object",
                  "properties": {
                    "lat": {
                      "type": "number"
                    },
                    "lon": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "lat",
                    "lon"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                },
                "updated": {
                  "type": "string",
                  "nullable": true,
                  "description": "Last-change marker from the source list (YYMM)."
                }
              },
              "required": [
                "locode",
                "country",
                "location",
                "name",
                "nameAscii",
                "subdivision",
                "functions",
                "status",
                "iata",
                "coordinates",
                "updated"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "page": {
            "type": "object",
            "properties": {
              "number": {
                "type": "integer"
              },
              "size": {
                "type": "integer"
              },
              "pages": {
                "type": "integer",
                "nullable": true
              }
            },
            "required": [
              "number",
              "size",
              "pages"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "trade.tariff",
      "group": "trade",
      "name": "tariff",
      "method": "GET",
      "path": "/api/trade/tariff",
      "url": "https://2s.io/api/trade/tariff",
      "description": "Look up or search the US Harmonized Tariff Schedule (HTS / HS codes). Pass `code` for an exact HTS number (dots optional) — returns that line plus its 10-digit statistical suffixes with duty rates. Or pass `query` for free-text search (e.g. 'electric toothbrush', 'roasted coffee') → ranked candidate HS codes by hierarchical heading. Each result: htsno, chapter, description, full heading path, units, and duty rates (general/MFN, special/FTA, column-2). ~29.6k lines, public-domain USITC data. The deterministic backbone for tariff classification in import/export and ERP item setup.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "pattern": "^[0-9.\\s]{4,14}$"
          },
          "query": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "query": "roasted coffee",
        "limit": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "htsno": {
                  "type": "string"
                },
                "chapter": {
                  "type": "string",
                  "nullable": true
                },
                "description": {
                  "type": "string",
                  "nullable": true
                },
                "heading": {
                  "type": "string",
                  "nullable": true,
                  "description": "Full hierarchical heading path (ancestors > leaf)."
                },
                "units": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "nullable": true
                },
                "duty": {
                  "type": "object",
                  "properties": {
                    "general": {
                      "type": "string",
                      "nullable": true,
                      "description": "General (MFN) duty rate."
                    },
                    "special": {
                      "type": "string",
                      "nullable": true,
                      "description": "Special (FTA / preference) rate."
                    },
                    "other": {
                      "type": "string",
                      "nullable": true,
                      "description": "Column 2 rate."
                    }
                  },
                  "required": [
                    "general",
                    "special",
                    "other"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "htsno",
                "chapter",
                "description",
                "heading",
                "units",
                "duty"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "page": {
            "type": "object",
            "properties": {
              "number": {
                "type": "integer"
              },
              "size": {
                "type": "integer"
              },
              "pages": {
                "type": "integer",
                "nullable": true
              }
            },
            "required": [
              "number",
              "size",
              "pages"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "transcribe.audio",
      "group": "transcribe",
      "name": "audio",
      "method": "POST",
      "path": "/api/transcribe/audio",
      "url": "https://2s.io/api/transcribe/audio",
      "description": "Transcribe an audio file to text. POST { url, language?, diarize? } — the audio is fetched from your URL (wav, mp3, m4a/aac, ogg/opus, flac, webm; up to 15 MB and 15 minutes per call — split longer recordings and call once per segment). Returns the full punctuated transcript, overall confidence, audio duration, detected or specified language (BCP-47, e.g. \"en\", \"es\"), word-level timestamps with confidences, and — with diarize=true — speaker-segmented utterances (who said what, when). High-accuracy speech recognition for meeting notes, podcast processing, voicemail handling, and media monitoring.",
      "priceUsd": 0.1305,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "Public audio URL. Caps: 15 MB, 15 minutes."
          },
          "language": {
            "type": "string",
            "pattern": "^[a-z]{2,3}(-[A-Za-z0-9]{2,8})?$"
          },
          "diarize": {
            "type": "boolean",
            "default": false
          }
        },
        "required": [
          "url"
        ],
        "additionalProperties": false
      },
      "billing": "actual-usage-upto-max",
      "inputExample": {
        "url": "https://dpgr.am/spacewalk.wav"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "transcript": {
                  "type": "string",
                  "description": "Full punctuated transcript."
                },
                "confidence": {
                  "type": "number"
                },
                "durationSeconds": {
                  "type": "number"
                },
                "language": {
                  "type": "string",
                  "nullable": true
                },
                "words": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "word": {
                        "type": "string"
                      },
                      "start": {
                        "type": "number"
                      },
                      "end": {
                        "type": "number"
                      },
                      "confidence": {
                        "type": "number"
                      },
                      "speaker": {
                        "type": "number",
                        "nullable": true
                      }
                    },
                    "required": [
                      "word",
                      "start",
                      "end",
                      "confidence",
                      "speaker"
                    ],
                    "additionalProperties": false
                  },
                  "description": "Word-level timestamps (seconds)."
                },
                "utterances": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "speaker": {
                        "type": "number",
                        "nullable": true
                      },
                      "start": {
                        "type": "number"
                      },
                      "end": {
                        "type": "number"
                      },
                      "text": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "speaker",
                      "start",
                      "end",
                      "text"
                    ],
                    "additionalProperties": false
                  },
                  "description": "Speaker turns; populated when diarize=true."
                }
              },
              "required": [
                "transcript",
                "confidence",
                "durationSeconds",
                "language",
                "words",
                "utterances"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "wordCount": {
                "type": "integer",
                "description": "Number of words in the transcript."
              }
            },
            "required": [
              "wordCount"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "travel.advisory",
      "group": "travel",
      "name": "advisory",
      "method": "GET",
      "path": "/api/travel/advisory",
      "url": "https://2s.io/api/travel/advisory",
      "description": "Current US State Department travel advisories. Omit country for the full list (every country with an active advisory), or pass country (name, case-insensitive substring) for one. Each entry returns the country, the advisory level (1 Exercise Normal Precautions, 2 Exercise Increased Caution, 3 Reconsider Travel, 4 Do Not Travel) with its label, a plain-text summary of the reasons (crime, terrorism, unrest, kidnapping, health, etc.), the official advisory link, and the published date. Sourced live from the official travel.state.gov RSS feed (US government, public domain). For trip planning, duty-of-care, and travel-risk screening.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "country": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "country": "Nigeria"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "country": {
                  "type": "string"
                },
                "level": {
                  "type": "integer",
                  "nullable": true
                },
                "levelLabel": {
                  "type": "string",
                  "nullable": true
                },
                "headline": {
                  "type": "string"
                },
                "summary": {
                  "type": "string",
                  "nullable": true
                },
                "link": {
                  "type": "string",
                  "nullable": true
                },
                "published": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "country",
                "level",
                "levelLabel",
                "headline",
                "summary",
                "link",
                "published"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "total": {
                "type": "integer"
              }
            },
            "required": [
              "total"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "travel.visa",
      "group": "travel",
      "name": "visa",
      "method": "GET",
      "path": "/api/travel/visa",
      "url": "https://2s.io/api/travel/visa",
      "description": "Look up the visa requirement for a traveler with a given passport visiting a destination country. Pass passport and destination as ISO-3166 alpha-3, alpha-2, or country name (e.g. passport=USA destination=Japan). Returns the requirement category — 'visa free' (with visaFreeDays, the allowed days), 'visa on arrival', 'e-visa', 'eta' (electronic travel authorization), 'visa required' (must arrange in advance), or 'no admission' — plus a plain-language description and the resolved passport/destination names. Data from the community-maintained Passport Index dataset (MIT). Informational only — not official immigration advice; verify with the destination's embassy before travel.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "passport": {
            "type": "string",
            "minLength": 2,
            "maxLength": 60
          },
          "destination": {
            "type": "string",
            "minLength": 2,
            "maxLength": 60
          }
        },
        "required": [
          "passport",
          "destination"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "passport": "USA",
        "destination": "JPN"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "passport": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "code",
                    "name"
                  ],
                  "additionalProperties": false
                },
                "destination": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "code",
                    "name"
                  ],
                  "additionalProperties": false
                },
                "requirement": {
                  "type": "string"
                },
                "category": {
                  "type": "string",
                  "description": "visa required | visa free | visa on arrival | e-visa | eta | no admission | home country"
                },
                "visaFreeDays": {
                  "type": "integer",
                  "nullable": true
                },
                "description": {
                  "type": "string"
                },
                "note": {
                  "type": "string"
                }
              },
              "required": [
                "passport",
                "destination",
                "requirement",
                "category",
                "visaFreeDays",
                "description",
                "note"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "treasury.cash",
      "group": "treasury",
      "name": "cash",
      "method": "GET",
      "path": "/api/treasury/cash",
      "url": "https://2s.io/api/treasury/cash",
      "description": "Daily Treasury Statement (DTS) operating cash balance via US Treasury Fiscal Data. Returns daily snapshots of the Treasury General Account (TGA) at the Federal Reserve plus tax-and-loan accounts and Federal Reserve deposit accounts. Each row carries record_date, account_type, close_today_bal, open_today_bal, open_month_bal, open_fiscal_year_bal. Useful for liquidity-tracking agents and macro researchers watching the Treasury Cash Balance heading into Treasury auctions, debt-ceiling pinch-points, etc. Fiscal Data filter syntax.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fields": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9_]*(,[a-z][a-z0-9_]*)*$",
            "maxLength": 400
          },
          "filter": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9_]*:(eq|ne|lt|lte|gt|gte|in):[A-Za-z0-9._:\\-+/, ]+(,[a-z][a-z0-9_]*:(eq|ne|lt|lte|gt|gte|in):[A-Za-z0-9._:\\-+/, ]+)*$",
            "maxLength": 800
          },
          "sort": {
            "type": "string",
            "pattern": "^-?[a-z][a-z0-9_]*(,-?[a-z][a-z0-9_]*)*$",
            "maxLength": 200
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10000,
            "default": 100
          },
          "pageNumber": {
            "type": "integer",
            "minimum": 1
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "pageSize": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "page": {
            "type": "object",
            "properties": {
              "number": {
                "type": "integer"
              },
              "size": {
                "type": "integer"
              },
              "pages": {
                "type": "integer",
                "nullable": true
              }
            },
            "required": [
              "number",
              "size",
              "pages"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "additionalProperties": {}
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "treasury.debt",
      "group": "treasury",
      "name": "debt",
      "method": "GET",
      "path": "/api/treasury/debt",
      "url": "https://2s.io/api/treasury/debt",
      "description": "US National Debt — daily \"Debt to the Penny\" via US Treasury Fiscal Data. Each row carries record_date, debt held by public, intragovernmental holdings, and total public debt outstanding (all USD, signed integers as strings to preserve precision). Optional `filter` uses Fiscal Data syntax: `col:op:val` joined by commas (ops: eq, lt, lte, gt, gte, in). Default sort is `-record_date` (newest first). Authoritative source for \"how much does the US owe?\" — every weekday since 1993.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fields": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9_]*(,[a-z][a-z0-9_]*)*$",
            "maxLength": 400
          },
          "filter": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9_]*:(eq|ne|lt|lte|gt|gte|in):[A-Za-z0-9._:\\-+/, ]+(,[a-z][a-z0-9_]*:(eq|ne|lt|lte|gt|gte|in):[A-Za-z0-9._:\\-+/, ]+)*$",
            "maxLength": 800
          },
          "sort": {
            "type": "string",
            "pattern": "^-?[a-z][a-z0-9_]*(,-?[a-z][a-z0-9_]*)*$",
            "maxLength": 200
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10000,
            "default": 100
          },
          "pageNumber": {
            "type": "integer",
            "minimum": 1
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "pageSize": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "page": {
            "type": "object",
            "properties": {
              "number": {
                "type": "integer"
              },
              "size": {
                "type": "integer"
              },
              "pages": {
                "type": "integer",
                "nullable": true
              }
            },
            "required": [
              "number",
              "size",
              "pages"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "additionalProperties": {}
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "treasury.exchange-rates",
      "group": "treasury",
      "name": "exchange-rates",
      "method": "GET",
      "path": "/api/treasury/exchange-rates",
      "url": "https://2s.io/api/treasury/exchange-rates",
      "description": "Official US Treasury exchange rates via US Treasury Fiscal Data. Used by federal agencies to report foreign-currency transactions in USD. Quarterly + ad-hoc updates per country/currency pair. Each row carries record_date, country, currency, country_currency_desc, exchange_rate, effective_date. Pair with `/api/fx/rates` (ECB Frankfurter, daily market rates) for cross-validation. Use Fiscal Data filter syntax — e.g. `filter=country:eq:Brazil` to scope to a single country.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fields": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9_]*(,[a-z][a-z0-9_]*)*$",
            "maxLength": 400
          },
          "filter": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9_]*:(eq|ne|lt|lte|gt|gte|in):[A-Za-z0-9._:\\-+/, ]+(,[a-z][a-z0-9_]*:(eq|ne|lt|lte|gt|gte|in):[A-Za-z0-9._:\\-+/, ]+)*$",
            "maxLength": 800
          },
          "sort": {
            "type": "string",
            "pattern": "^-?[a-z][a-z0-9_]*(,-?[a-z][a-z0-9_]*)*$",
            "maxLength": 200
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10000,
            "default": 100
          },
          "pageNumber": {
            "type": "integer",
            "minimum": 1
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "filter": "country:eq:Brazil",
        "pageSize": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "page": {
            "type": "object",
            "properties": {
              "number": {
                "type": "integer"
              },
              "size": {
                "type": "integer"
              },
              "pages": {
                "type": "integer",
                "nullable": true
              }
            },
            "required": [
              "number",
              "size",
              "pages"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "additionalProperties": {}
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "treasury.monthly-statement",
      "group": "treasury",
      "name": "monthly-statement",
      "method": "GET",
      "path": "/api/treasury/monthly-statement",
      "url": "https://2s.io/api/treasury/monthly-statement",
      "description": "Monthly Treasury Statement (MTS) — Table 4: receipts by source via US Treasury Fiscal Data. Returns monthly totals of federal government receipts grouped by classification (individual income tax, corporate income tax, social-insurance receipts, excise, customs, estate-and-gift, miscellaneous). Each row carries record_date, classification_id, classification_desc, current_month + current_fytd (fiscal year-to-date) gross_rcpt / refund / net_rcpt amounts, plus prior_fytd comparisons. Backbone of any \"how much money is the federal government bringing in\" question. Use Fiscal Data filter syntax.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fields": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9_]*(,[a-z][a-z0-9_]*)*$",
            "maxLength": 400
          },
          "filter": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9_]*:(eq|ne|lt|lte|gt|gte|in):[A-Za-z0-9._:\\-+/, ]+(,[a-z][a-z0-9_]*:(eq|ne|lt|lte|gt|gte|in):[A-Za-z0-9._:\\-+/, ]+)*$",
            "maxLength": 800
          },
          "sort": {
            "type": "string",
            "pattern": "^-?[a-z][a-z0-9_]*(,-?[a-z][a-z0-9_]*)*$",
            "maxLength": 200
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10000,
            "default": 100
          },
          "pageNumber": {
            "type": "integer",
            "minimum": 1
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "pageSize": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "page": {
            "type": "object",
            "properties": {
              "number": {
                "type": "integer"
              },
              "size": {
                "type": "integer"
              },
              "pages": {
                "type": "integer",
                "nullable": true
              }
            },
            "required": [
              "number",
              "size",
              "pages"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "additionalProperties": {}
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "url.clean",
      "group": "url",
      "name": "clean",
      "method": "GET",
      "path": "/api/url/clean",
      "url": "https://2s.io/api/url/clean",
      "description": "Fetch any URL and return its article content with the clutter stripped — nav, ads, sidebars, footers, scripts, styles, comments removed via heuristic extraction (<article> / <main> / role=main / densest block). Choose the output with `format`: markdown (default), text, both (JSON envelope), html (a self-contained readable reader-view page, raw text/html), or pdf (a clean typeset reading document, raw application/pdf). html/pdf are built from the same cleaned content, so they carry no live page, no third-party assets, no trackers. SSRF-guarded, 512KB body cap, 8s timeout, 5 redirects max. JSON formats return { url, finalUrl, title, markdown?, text?, wordCount, sourceBytes }. This uses a raw HTTP fetch (no JavaScript) — for client-rendered / SPA pages whose content only appears after JS runs, use /api/url/render (same formats, headless-rendered). For a pixel-perfect image of the live page use /api/ai/screenshot; to enumerate a page or sitemap into its links use /api/url/map.",
      "priceUsd": 0.00108,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048
          },
          "format": {
            "type": "string",
            "enum": [
              "markdown",
              "text",
              "both",
              "html",
              "pdf"
            ],
            "default": "markdown"
          }
        },
        "required": [
          "url"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "url": "https://example.com",
        "format": "markdown"
      }
    },
    {
      "id": "url.map",
      "group": "url",
      "name": "map",
      "method": "GET",
      "path": "/api/url/map",
      "url": "https://2s.io/api/url/map",
      "description": "Discover the URLs a page or sitemap points at in a single fetch. Point it at an XML sitemap or sitemap-index and it returns the <loc> URLs; point it at an HTML page and it returns the <a href> links — auto-detected. URLs are resolved to absolute, de-duplicated, fragment-stripped, and http(s)-only. `limit` (1-2000, default 200) caps the count; `sameHostOnly` keeps only links on the same host. Single SSRF-guarded fetch, no JavaScript, stateless — NOT a recursive crawler: to go deeper, call map again on a child sitemap or a discovered page. Returns { url, finalUrl, source: \"sitemap\"|\"links\", count, capped, urls }.",
      "priceUsd": 0.00108,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 2000,
            "default": 200
          },
          "sameHostOnly": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "string"
              }
            ]
          }
        },
        "required": [
          "url"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "url": "https://www.anthropic.com/sitemap.xml",
        "limit": 50
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          },
          "finalUrl": {
            "type": "string"
          },
          "source": {
            "type": "string",
            "enum": [
              "sitemap",
              "links"
            ]
          },
          "count": {
            "type": "number"
          },
          "capped": {
            "type": "boolean"
          },
          "urls": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "url",
          "finalUrl",
          "source",
          "count",
          "capped",
          "urls"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "url.render",
      "group": "url",
      "name": "render",
      "method": "GET",
      "path": "/api/url/render",
      "url": "https://2s.io/api/url/render",
      "description": "Render a URL in a real headless browser (JavaScript executed) and return its article content with the clutter stripped — same cleaning + output formats as /api/url/clean, but for client-rendered / SPA pages whose content only appears after JS runs (where a raw HTTP fetch returns an empty shell). `format`: markdown (default), text, both (JSON envelope), html (self-contained reader page, raw text/html), or pdf (typeset reading doc, raw application/pdf). Optional `waitUntil` (load|domcontentloaded|networkidle0|networkidle2, default networkidle2) and `timeoutMs` (1000-15000, default 12000) control how long to let JS settle. Use /api/url/clean instead for server-rendered pages — it is faster and cheaper; only reach for render when JS rendering is required.",
      "priceUsd": 0.006,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048
          },
          "format": {
            "type": "string",
            "enum": [
              "markdown",
              "text",
              "both",
              "html",
              "pdf"
            ],
            "default": "markdown"
          },
          "waitUntil": {
            "type": "string",
            "enum": [
              "load",
              "domcontentloaded",
              "networkidle0",
              "networkidle2"
            ]
          },
          "timeoutMs": {
            "type": "integer",
            "minimum": 1000,
            "maximum": 15000
          }
        },
        "required": [
          "url"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "url": "https://react.dev",
        "format": "markdown"
      }
    },
    {
      "id": "url.unfurl",
      "group": "url",
      "name": "unfurl",
      "method": "GET",
      "path": "/api/url/unfurl",
      "url": "https://2s.io/api/url/unfurl",
      "description": "Fetch any URL and extract structured page metadata: title, description, og:image, canonical, favicon, site name, author, published time, language, and the first ~500 chars of body text. SSRF-guarded against private networks. 8s timeout, 512 KB max body. Returns the parsed metadata plus the raw og:/twitter:/itemprop meta dictionary for inspection.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048
          }
        },
        "required": [
          "url"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "url": "https://example.com"
      }
    },
    {
      "id": "validate.aba",
      "group": "validate",
      "name": "aba",
      "method": "GET",
      "path": "/api/validate/aba",
      "url": "https://2s.io/api/validate/aba",
      "description": "Validate a US bank ABA routing number with the Federal Reserve weighted mod-10 checksum (3-7-1) — not just a 9-digit regex. Returns {valid, routingNumber, district (routing-symbol class), reason}. Catches transposed digits in ACH/wire setup that a length check misses. Structure + checksum only; not a bank-directory existence lookup.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "routingNumber": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20
          }
        },
        "required": [
          "routingNumber"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "routingNumber": "021000021"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "input": {
                  "type": "string"
                },
                "valid": {
                  "type": "boolean"
                },
                "routingNumber": {
                  "type": "string",
                  "nullable": true
                },
                "district": {
                  "type": "string",
                  "nullable": true,
                  "description": "Routing-symbol class (Federal Reserve, thrift, electronic, traveler check)."
                },
                "reason": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "input",
                "valid",
                "routingNumber",
                "district",
                "reason"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "validate.batch",
      "group": "validate",
      "name": "batch",
      "method": "POST",
      "path": "/api/validate/batch",
      "url": "https://2s.io/api/validate/batch",
      "description": "Validate up to 100 identifiers of mixed kinds in a single deterministic call. Pass items=[{type,value}] where type is one of: iban, gtin, aba, lei, bic, gln, sscc, isin, cusip. Each result (returned in input order, with its index and type) carries {valid, reason} plus the same type-specific fields the single-identifier endpoints return (e.g. gtin14, countryCode, district). One unsupported type or one bad value degrades to that item's valid:false — it never fails the batch. meta carries validCount/invalidCount. This collapses a record's worth of per-field checksum checks (IBAN + BIC + GTIN + LEI + …) into one round-trip instead of one LLM/HTTP hop per field.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 32
                },
                "value": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 64
                }
              },
              "required": [
                "type",
                "value"
              ],
              "additionalProperties": false
            },
            "minItems": 1,
            "maxItems": 100
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "items": [
          {
            "type": "gtin",
            "value": "0036000291452"
          },
          {
            "type": "iban",
            "value": "DE89 3704 0044 0532 0130 00"
          },
          {
            "type": "lei",
            "value": "7LTWFZYICNSX8D621K86"
          }
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "validCount": {
                "type": "integer"
              },
              "invalidCount": {
                "type": "integer"
              }
            },
            "required": [
              "validCount",
              "invalidCount"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "validate.bic",
      "group": "validate",
      "name": "bic",
      "method": "GET",
      "path": "/api/validate/bic",
      "url": "https://2s.io/api/validate/bic",
      "description": "Validate a SWIFT/BIC code (ISO 9362): 8 or 11 characters = 4-letter institution + 2-letter ISO country + 2-char location + optional 3-char branch, with the country position checked against ISO 3166. Returns {valid, bic, institution, country, location, branch, reason}. Structure validation only — not a SWIFT-directory existence lookup.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "bic": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20
          }
        },
        "required": [
          "bic"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "bic": "DEUTDEFF"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "input": {
                  "type": "string"
                },
                "valid": {
                  "type": "boolean"
                },
                "bic": {
                  "type": "string",
                  "nullable": true
                },
                "institution": {
                  "type": "string",
                  "nullable": true
                },
                "country": {
                  "type": "string",
                  "nullable": true
                },
                "location": {
                  "type": "string",
                  "nullable": true
                },
                "branch": {
                  "type": "string",
                  "nullable": true
                },
                "reason": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "input",
                "valid",
                "bic",
                "institution",
                "country",
                "location",
                "branch",
                "reason"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "validate.cusip",
      "group": "validate",
      "name": "cusip",
      "method": "GET",
      "path": "/api/validate/cusip",
      "url": "https://2s.io/api/validate/cusip",
      "description": "Validate a CUSIP (9-character US/Canada securities identifier) with its mod-10 weighted check digit. Returns {valid, cusip, checkDigit, reason}. Catches transposed characters in security master / holdings data that a length check misses. Structure + checksum only.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "cusip": {
            "type": "string",
            "minLength": 1,
            "maxLength": 12
          }
        },
        "required": [
          "cusip"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "cusip": "037833100"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "input": {
                  "type": "string"
                },
                "valid": {
                  "type": "boolean"
                },
                "cusip": {
                  "type": "string",
                  "nullable": true
                },
                "checkDigit": {
                  "type": "string",
                  "nullable": true
                },
                "reason": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "input",
                "valid",
                "cusip",
                "checkDigit",
                "reason"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "validate.gln",
      "group": "validate",
      "name": "gln",
      "method": "GET",
      "path": "/api/validate/gln",
      "url": "https://2s.io/api/validate/gln",
      "description": "Validate a GS1 GLN (Global Location Number) — 13 digits with the GS1 mod-10 check digit. GLNs identify trading parties and physical locations (ship-to, bill-to, warehouse) across CPG supply chains and EDI. Returns {valid, gln, checkDigit, reason}. Catches transposed digits a length check misses.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "gln": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20
          }
        },
        "required": [
          "gln"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "gln": "0614141000005"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "input": {
                  "type": "string"
                },
                "valid": {
                  "type": "boolean"
                },
                "gln": {
                  "type": "string",
                  "nullable": true
                },
                "checkDigit": {
                  "type": "string",
                  "nullable": true
                },
                "reason": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "input",
                "valid",
                "gln",
                "checkDigit",
                "reason"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "validate.gtin",
      "group": "validate",
      "name": "gtin",
      "method": "GET",
      "path": "/api/validate/gtin",
      "url": "https://2s.io/api/validate/gtin",
      "description": "Validate a product barcode — GTIN-8/12/13/14, UPC-A, EAN-13, or ISBN-10/13 — with the GS1 mod-10 check digit (ISBN-10 uses mod-11). Returns {valid, type, gtin14 (canonical 14-digit form, left-padded), checkDigit, reason}. Normalizes every product identifier to one GTIN-14 key so a product-master/ETL pipeline can dedupe and validate SKUs in one deterministic call instead of doing checksum math in an LLM.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "gtin": {
            "type": "string",
            "minLength": 1,
            "maxLength": 32
          }
        },
        "required": [
          "gtin"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "gtin": "0036000291452"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "input": {
                  "type": "string"
                },
                "valid": {
                  "type": "boolean"
                },
                "type": {
                  "type": "string",
                  "nullable": true,
                  "description": "GTIN-8 | GTIN-12 | GTIN-13 | GTIN-14 | ISBN-10"
                },
                "gtin14": {
                  "type": "string",
                  "nullable": true,
                  "description": "Canonical 14-digit GTIN (left-padded) when valid."
                },
                "checkDigit": {
                  "type": "string",
                  "nullable": true
                },
                "reason": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "input",
                "valid",
                "type",
                "gtin14",
                "checkDigit",
                "reason"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "validate.iban",
      "group": "validate",
      "name": "iban",
      "method": "GET",
      "path": "/api/validate/iban",
      "url": "https://2s.io/api/validate/iban",
      "description": "Validate an International Bank Account Number (IBAN) with full ISO 13616 checks: country-specific length and the ISO 7064 mod-97 checksum (not just a regex). Returns {valid, iban (normalized), formatted (4-char groups), countryCode, checkDigits, bban, reason}. Catches transposed digits and wrong-length accounts that a format check misses, and returns the canonical form so a glue/ETL pipeline can validate AND normalize bank details in one deterministic call. ~85 countries. No bank directory lookup — structure + checksum only.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "iban": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          }
        },
        "required": [
          "iban"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "iban": "DE89370400440532013000"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "input": {
                  "type": "string"
                },
                "valid": {
                  "type": "boolean"
                },
                "iban": {
                  "type": "string",
                  "nullable": true,
                  "description": "Normalized (spaces removed, uppercased) when valid."
                },
                "formatted": {
                  "type": "string",
                  "nullable": true,
                  "description": "IBAN grouped in 4-character blocks."
                },
                "countryCode": {
                  "type": "string",
                  "nullable": true
                },
                "checkDigits": {
                  "type": "string",
                  "nullable": true
                },
                "bban": {
                  "type": "string",
                  "nullable": true,
                  "description": "Basic Bank Account Number (everything after the check digits)."
                },
                "reason": {
                  "type": "string",
                  "nullable": true,
                  "description": "Why it failed, when valid is false."
                }
              },
              "required": [
                "input",
                "valid",
                "iban",
                "formatted",
                "countryCode",
                "checkDigits",
                "bban",
                "reason"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "validate.isin",
      "group": "validate",
      "name": "isin",
      "method": "GET",
      "path": "/api/validate/isin",
      "url": "https://2s.io/api/validate/isin",
      "description": "Validate an ISIN (International Securities Identification Number, ISO 6166): 2-letter country prefix + 9-char NSIN + Luhn check digit. Returns {valid, isin, country, nsin, embeddedCusip (for US/CA), checkDigit, reason}. Catches transposed characters in security master data that a regex misses. Structure + checksum only.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "isin": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20
          }
        },
        "required": [
          "isin"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "isin": "US0378331005"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "input": {
                  "type": "string"
                },
                "valid": {
                  "type": "boolean"
                },
                "isin": {
                  "type": "string",
                  "nullable": true
                },
                "country": {
                  "type": "string",
                  "nullable": true
                },
                "nsin": {
                  "type": "string",
                  "nullable": true
                },
                "embeddedCusip": {
                  "type": "string",
                  "nullable": true,
                  "description": "The CUSIP for US/CA ISINs."
                },
                "checkDigit": {
                  "type": "string",
                  "nullable": true
                },
                "reason": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "input",
                "valid",
                "isin",
                "country",
                "nsin",
                "embeddedCusip",
                "checkDigit",
                "reason"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "validate.lei",
      "group": "validate",
      "name": "lei",
      "method": "GET",
      "path": "/api/validate/lei",
      "url": "https://2s.io/api/validate/lei",
      "description": "Validate a Legal Entity Identifier (LEI, ISO 17442) with the ISO 7064 mod-97-10 check digits — not just a 20-character regex. Returns {valid, lei (normalized), louPrefix (issuing LOU), checkDigits, reason}. Confirms a counterparty/vendor LEI is well-formed before lookup; pairs with GLEIF data for name + ownership resolution. Structure + checksum only.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lei": {
            "type": "string",
            "minLength": 1,
            "maxLength": 32
          }
        },
        "required": [
          "lei"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "lei": "7LTWFZYICNSX8D621K86"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "input": {
                  "type": "string"
                },
                "valid": {
                  "type": "boolean"
                },
                "lei": {
                  "type": "string",
                  "nullable": true
                },
                "louPrefix": {
                  "type": "string",
                  "nullable": true,
                  "description": "First 4 chars — the issuing Local Operating Unit."
                },
                "checkDigits": {
                  "type": "string",
                  "nullable": true
                },
                "reason": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "input",
                "valid",
                "lei",
                "louPrefix",
                "checkDigits",
                "reason"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "validate.sscc",
      "group": "validate",
      "name": "sscc",
      "method": "GET",
      "path": "/api/validate/sscc",
      "url": "https://2s.io/api/validate/sscc",
      "description": "Validate a GS1 SSCC (Serial Shipping Container Code) — 18 digits with the GS1 mod-10 check digit. SSCCs identify individual logistic units (pallets, cases) and are the key field in shipping/ASN (EDI 856) flows. Returns {valid, sscc, extensionDigit, checkDigit, reason}.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "sscc": {
            "type": "string",
            "minLength": 1,
            "maxLength": 24
          }
        },
        "required": [
          "sscc"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "sscc": "106141411234567897"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "input": {
                  "type": "string"
                },
                "valid": {
                  "type": "boolean"
                },
                "sscc": {
                  "type": "string",
                  "nullable": true
                },
                "extensionDigit": {
                  "type": "string",
                  "nullable": true
                },
                "checkDigit": {
                  "type": "string",
                  "nullable": true
                },
                "reason": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "input",
                "valid",
                "sscc",
                "extensionDigit",
                "checkDigit",
                "reason"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "vehicle.canadian-specs",
      "group": "vehicle",
      "name": "canadian-specs",
      "method": "GET",
      "path": "/api/vehicle/canadian-specs",
      "url": "https://2s.io/api/vehicle/canadian-specs",
      "description": "Canadian-market vehicle dimensions and weights from NHTSA vPIC's Canadian Vehicle Specifications dataset. Pass year + make (required) and optional model to narrow. Returns one entry per matching trim with labeled dimensions — overall length/width/height (cm), wheelbase (cm), curb weight (kg), front/rear track width, interior head/leg/shoulder/hip room, and weight distribution — plus the full raw spec map. Authoritative measured specs (the SAE dimension codes), not estimates. Keyless, public-domain; covers model years 1971+.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "year": {
            "type": "integer",
            "minimum": 1971,
            "maximum": 2100
          },
          "make": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40
          },
          "model": {
            "type": "string",
            "minLength": 1,
            "maxLength": 60
          }
        },
        "required": [
          "year",
          "make"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "year": 2022,
        "make": "Honda",
        "model": "Accord"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "make": {
                  "type": "string",
                  "nullable": true
                },
                "model": {
                  "type": "string",
                  "nullable": true
                },
                "specs": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "labeled": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "type": "string"
                      },
                      "label": {
                        "type": "string"
                      },
                      "value": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "code",
                      "label",
                      "value"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "make",
                "model",
                "specs",
                "labeled"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "year": {
                    "type": "integer"
                  },
                  "make": {
                    "type": "string"
                  },
                  "model": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "year",
                  "make",
                  "model"
                ],
                "additionalProperties": false
              },
              "total": {
                "type": "integer"
              }
            },
            "required": [
              "query",
              "total"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "vehicle.complaints",
      "group": "vehicle",
      "name": "complaints",
      "method": "GET",
      "path": "/api/vehicle/complaints",
      "url": "https://2s.io/api/vehicle/complaints",
      "description": "NHTSA consumer complaints for a US vehicle by (make, model, modelYear). Returns the top N records (newest-filed first) with ODI number, affected component, plain-English summary, crash/fire flags, injury and death counts, partial VIN, and incident + filing dates. Backed by NHTSA's public complaints database; data is public-domain US government records.",
      "priceUsd": 0.0024,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "make": {
            "type": "string",
            "minLength": 2,
            "maxLength": 40,
            "description": "Vehicle make. Examples: \"Honda\", \"Tesla\", \"Ford\"."
          },
          "model": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40,
            "description": "Vehicle model. Examples: \"Accord\", \"Model 3\", \"F-150\"."
          },
          "modelYear": {
            "type": "integer",
            "minimum": 1949,
            "maximum": 2099,
            "description": "4-digit model year."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 25,
            "description": "Max records to return, newest-filed first (1-100). Default 25."
          }
        },
        "required": [
          "make",
          "model",
          "modelYear"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "make": "xx",
        "model": "example",
        "modelYear": 1949,
        "limit": 25
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "odiNumber": {
                  "type": "integer"
                },
                "manufacturer": {
                  "type": "string",
                  "nullable": true
                },
                "components": {
                  "type": "string",
                  "nullable": true
                },
                "summary": {
                  "type": "string",
                  "nullable": true
                },
                "crash": {
                  "type": "boolean"
                },
                "fire": {
                  "type": "boolean"
                },
                "numberOfInjuries": {
                  "type": "integer"
                },
                "numberOfDeaths": {
                  "type": "integer"
                },
                "vin": {
                  "type": "string",
                  "nullable": true
                },
                "dateOfIncident": {
                  "type": "string",
                  "nullable": true
                },
                "dateComplaintFiled": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "odiNumber",
                "manufacturer",
                "components",
                "summary",
                "crash",
                "fire",
                "numberOfInjuries",
                "numberOfDeaths",
                "vin",
                "dateOfIncident",
                "dateComplaintFiled"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "make": {
                    "type": "string"
                  },
                  "model": {
                    "type": "string"
                  },
                  "modelYear": {
                    "type": "integer"
                  },
                  "limit": {
                    "type": "integer"
                  }
                },
                "required": [
                  "make",
                  "model",
                  "modelYear",
                  "limit"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "query"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "vehicle.decode-wmi",
      "group": "vehicle",
      "name": "decode-wmi",
      "method": "GET",
      "path": "/api/vehicle/decode-wmi",
      "url": "https://2s.io/api/vehicle/decode-wmi",
      "description": "Decode a 3-character World Manufacturer Identifier (the first three characters of a VIN) to the assigning manufacturer. Returns full manufacturer legal name, common short name, make, vehicle type, and the date NHTSA published the assignment. Useful for partial-VIN analysis — crash reports, damaged-vehicle photos, fleet records — where only the WMI is recoverable. Backed by NHTSA.gov vPIC; data is public-domain US government records.",
      "priceUsd": 0.0024,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "wmi": {
            "type": "string",
            "minLength": 3,
            "maxLength": 3,
            "pattern": "^[A-HJ-NPR-Z0-9]{3}$",
            "description": "3-character WMI (the first 3 chars of a VIN). Case-insensitive. Examples: 1HG (American Honda), 5YJ (Tesla US), WBA (BMW)."
          }
        },
        "required": [
          "wmi"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "wmi": "xxx"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "wmi": {
                  "type": "string"
                },
                "manufacturerName": {
                  "type": "string",
                  "nullable": true
                },
                "commonName": {
                  "type": "string",
                  "nullable": true
                },
                "make": {
                  "type": "string",
                  "nullable": true
                },
                "vehicleType": {
                  "type": "string",
                  "nullable": true
                },
                "dateAvailableToPublic": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "wmi",
                "manufacturerName",
                "commonName",
                "make",
                "vehicleType",
                "dateAvailableToPublic"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "vehicle.fuel-economy",
      "group": "vehicle",
      "name": "fuel-economy",
      "method": "GET",
      "path": "/api/vehicle/fuel-economy",
      "url": "https://2s.io/api/vehicle/fuel-economy",
      "description": "Official US EPA/DOE fuel-economy, fuel-cost, and emissions data for a vehicle by year + make + model. Because a model-year often has several powertrain configurations (engine/transmission), this returns one entry per configuration, each with: MPG city/highway/combined (or MPGe for EVs), CO2 tailpipe grams/mile, estimated annual fuel cost (USD), annual petroleum use (barrels), EPA greenhouse-gas score (1-10), 5-year savings vs the average new vehicle, plus transmission, drivetrain, cylinders, displacement, fuel type, EPA size class, and electric range for EV/PHEV. Authoritative EPA test figures — the real ratings an agent should not estimate. Keyless, public-domain (FuelEconomy.gov), covers model years 1984+.",
      "priceUsd": 0.0018,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "year": {
            "type": "integer",
            "minimum": 1984,
            "maximum": 2100
          },
          "make": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40
          },
          "model": {
            "type": "string",
            "minLength": 1,
            "maxLength": 60
          }
        },
        "required": [
          "year",
          "make",
          "model"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "year": 2022,
        "make": "Honda",
        "model": "Accord"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "year": {
                  "type": "integer",
                  "nullable": true
                },
                "make": {
                  "type": "string",
                  "nullable": true
                },
                "model": {
                  "type": "string",
                  "nullable": true
                },
                "vehicleClass": {
                  "type": "string",
                  "nullable": true
                },
                "transmission": {
                  "type": "string",
                  "nullable": true
                },
                "drive": {
                  "type": "string",
                  "nullable": true
                },
                "cylinders": {
                  "type": "number",
                  "nullable": true
                },
                "displacementL": {
                  "type": "number",
                  "nullable": true
                },
                "fuelType": {
                  "type": "string",
                  "nullable": true
                },
                "mpgCity": {
                  "type": "number",
                  "nullable": true
                },
                "mpgHighway": {
                  "type": "number",
                  "nullable": true
                },
                "mpgCombined": {
                  "type": "number",
                  "nullable": true
                },
                "co2GramsPerMile": {
                  "type": "number",
                  "nullable": true
                },
                "annualFuelCostUSD": {
                  "type": "number",
                  "nullable": true
                },
                "annualPetroleumBarrels": {
                  "type": "number",
                  "nullable": true
                },
                "ghgScore": {
                  "type": "number",
                  "nullable": true
                },
                "fiveYearSavingsVsAvgUSD": {
                  "type": "number",
                  "nullable": true
                },
                "electricRangeMi": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "description",
                "year",
                "make",
                "model",
                "vehicleClass",
                "transmission",
                "drive",
                "cylinders",
                "displacementL",
                "fuelType",
                "mpgCity",
                "mpgHighway",
                "mpgCombined",
                "co2GramsPerMile",
                "annualFuelCostUSD",
                "annualPetroleumBarrels",
                "ghgScore",
                "fiveYearSavingsVsAvgUSD",
                "electricRangeMi"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "year": {
                    "type": "integer"
                  },
                  "make": {
                    "type": "string"
                  },
                  "model": {
                    "type": "string"
                  }
                },
                "required": [
                  "year",
                  "make",
                  "model"
                ],
                "additionalProperties": false
              },
              "total": {
                "type": "integer"
              }
            },
            "required": [
              "query",
              "total"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "vehicle.investigations",
      "group": "vehicle",
      "name": "investigations",
      "method": "GET",
      "path": "/api/vehicle/investigations",
      "url": "https://2s.io/api/vehicle/investigations",
      "description": "Chronological feed of NHTSA ODI (Office of Defects Investigation) investigations, newest first. Returns preliminary evaluations (PE), engineering analyses (EA), defect petitions (DP), and recall queries (RQ) — each with NHTSA ID, type code, open/close dates, status, subject, and full description (HTML stripped + raw). Useful for tracking what NHTSA is currently investigating (Tesla FSD, autonomous-vehicle crashes, Rivian suspension, etc.). NOTE: NHTSA's endpoint does NOT support make/model/year filtering — use vehicle.recalls or vehicle.complaints for vehicle-scoped lookups. Public-domain US government records.",
      "priceUsd": 0.0024,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 25,
            "description": "Max records to return (1-100). Default 25."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 10000,
            "default": 0,
            "description": "Offset into the chronological feed for pagination. Default 0."
          },
          "status": {
            "type": "string",
            "enum": [
              "O",
              "C"
            ],
            "description": "Filter by status: \"O\" (open), \"C\" (closed). Omit for all."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "limit": 25,
        "offset": 0,
        "status": "O"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer"
                },
                "nhtsaId": {
                  "type": "string"
                },
                "investigationNumber": {
                  "type": "string"
                },
                "investigationType": {
                  "type": "string"
                },
                "issueYear": {
                  "type": "string"
                },
                "openDate": {
                  "type": "string",
                  "nullable": true
                },
                "latestActivityDate": {
                  "type": "string",
                  "nullable": true
                },
                "status": {
                  "type": "string",
                  "nullable": true
                },
                "subject": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "descriptionHtml": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "nhtsaId",
                "investigationNumber",
                "investigationType",
                "issueYear",
                "openDate",
                "latestActivityDate",
                "status",
                "subject",
                "description",
                "descriptionHtml"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "limit": {
                    "type": "integer"
                  },
                  "offset": {
                    "type": "integer"
                  },
                  "status": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "limit",
                  "offset",
                  "status"
                ],
                "additionalProperties": false
              },
              "nextOffset": {
                "type": "integer",
                "nullable": true
              },
              "previousOffset": {
                "type": "integer",
                "nullable": true
              }
            },
            "required": [
              "query",
              "nextOffset",
              "previousOffset"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "vehicle.manufacturers",
      "group": "vehicle",
      "name": "manufacturers",
      "method": "GET",
      "path": "/api/vehicle/manufacturers",
      "url": "https://2s.io/api/vehicle/manufacturers",
      "description": "Paginated list of every motor vehicle manufacturer NHTSA tracks via vPIC. Each record includes the canonical Mfr_ID, full legal name, common short name (e.g., \"Honda\"), country, and the list of vehicle types the manufacturer produces (Passenger Car, Truck, Motorcycle, Bus, MPV, etc.). Pass the optional `manufacturer` param to substring-search Mfr_Name. 100 records per page. Backed by NHTSA.gov; data is public-domain US government records.",
      "priceUsd": 0.0024,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 1,
            "description": "1-indexed page (100 manufacturers per page). Default 1."
          },
          "manufacturer": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80,
            "description": "Optional substring filter on the full Mfr_Name (case-insensitive on NHTSA side). Examples: \"honda\", \"tesla\", \"general motors\"."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "page": 1,
        "manufacturer": "xx"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "mfrId": {
                  "type": "integer"
                },
                "mfrName": {
                  "type": "string"
                },
                "commonName": {
                  "type": "string",
                  "nullable": true
                },
                "country": {
                  "type": "string",
                  "nullable": true
                },
                "vehicleTypes": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "isPrimary": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "name",
                      "isPrimary"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "mfrId",
                "mfrName",
                "commonName",
                "country",
                "vehicleTypes"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "page": {
                    "type": "integer"
                  },
                  "manufacturer": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "page",
                  "manufacturer"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "query"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "vehicle.models",
      "group": "vehicle",
      "name": "models",
      "method": "GET",
      "path": "/api/vehicle/models",
      "url": "https://2s.io/api/vehicle/models",
      "description": "Enumerate every model a manufacturer sold in a given model year via NHTSA's vPIC taxonomy database. Returns canonical NHTSA Model IDs + names plus the Make ID + name for reference. Useful as a discovery step before VIN decode (when the agent only knows make + year) or as input validation for vehicle.recalls / vehicle.complaints. Backed by NHTSA.gov; data is public-domain US government records.",
      "priceUsd": 0.0024,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "make": {
            "type": "string",
            "minLength": 2,
            "maxLength": 40,
            "description": "Vehicle make. Case-insensitive on NHTSA side. Examples: \"Honda\", \"Tesla\", \"Ford\"."
          },
          "modelYear": {
            "type": "integer",
            "minimum": 1949,
            "maximum": 2099,
            "description": "4-digit model year."
          }
        },
        "required": [
          "make",
          "modelYear"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "make": "xx",
        "modelYear": 1949
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "modelId": {
                  "type": "integer"
                },
                "modelName": {
                  "type": "string"
                },
                "makeId": {
                  "type": "integer"
                },
                "makeName": {
                  "type": "string"
                }
              },
              "required": [
                "modelId",
                "modelName",
                "makeId",
                "makeName"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "make": {
                    "type": "string"
                  },
                  "modelYear": {
                    "type": "integer"
                  }
                },
                "required": [
                  "make",
                  "modelYear"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "query"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "vehicle.profile",
      "group": "vehicle",
      "name": "profile",
      "method": "GET",
      "path": "/api/vehicle/profile",
      "url": "https://2s.io/api/vehicle/profile",
      "description": "Vehicle 360 — decode a VIN and get its full safety picture in one call. Returns the decoded vehicle (make, model, year, trim, engine, plant, body class, drivetrain — NHTSA vPIC) plus that exact make/model/year's open safety recalls (with park-it / park-outside / over-the-air-update flags) and NHTSA owner complaints (crash/fire/injury/death flags). recalls and complaints are keyed to the decoded make+model+year, so they describe THIS vehicle, not a generic feed. Each section reports found/error independently. Pass vin (17 chars); optional modelYear disambiguates pre-1980 VINs. Used for used-car due diligence, fleet safety, insurance. Individual sources: /api/vehicle/vin-decode, /api/vehicle/recalls, /api/vehicle/complaints.",
      "priceUsd": 0.00576,
      "priceMode": "fixed",
      "responseShape": "legacy",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "vin": {
            "type": "string",
            "minLength": 17,
            "maxLength": 17
          },
          "modelYear": {
            "type": "integer",
            "minimum": 1949,
            "maximum": 2099
          }
        },
        "required": [
          "vin"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "vin": "1HGCM82633A004352"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "vin": {
            "type": "string"
          },
          "vehicle": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "found",
              "error"
            ],
            "additionalProperties": {}
          },
          "recalls": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "count": {
                "type": "number",
                "nullable": true
              },
              "recalls": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": {}
                }
              }
            },
            "required": [
              "found",
              "error",
              "count",
              "recalls"
            ],
            "additionalProperties": false
          },
          "complaints": {
            "type": "object",
            "properties": {
              "found": {
                "type": "boolean"
              },
              "error": {
                "type": "string",
                "nullable": true
              },
              "count": {
                "type": "number",
                "nullable": true
              }
            },
            "required": [
              "found",
              "error",
              "count"
            ],
            "additionalProperties": false
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          }
        },
        "required": [
          "vin",
          "vehicle",
          "recalls",
          "complaints",
          "sources"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "vehicle.recalls",
      "group": "vehicle",
      "name": "recalls",
      "method": "GET",
      "path": "/api/vehicle/recalls",
      "url": "https://2s.io/api/vehicle/recalls",
      "description": "NHTSA recall campaigns for a US vehicle by (make, model, modelYear). Returns every open + historical campaign with the NHTSA campaign number, manufacturer, affected component, plain-English summary/consequence/remedy text, and the parkIt / parkOutside fire-risk advisories. Backed by NHTSA's public recalls database; data is public-domain US government records.",
      "priceUsd": 0.0024,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "make": {
            "type": "string",
            "minLength": 2,
            "maxLength": 40,
            "description": "Vehicle make. Examples: \"Honda\", \"Toyota\", \"Tesla\". Case-insensitive on NHTSA side."
          },
          "model": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40,
            "description": "Vehicle model. Examples: \"Accord\", \"Model 3\", \"F-150\"."
          },
          "modelYear": {
            "type": "integer",
            "minimum": 1949,
            "maximum": 2099,
            "description": "4-digit model year."
          }
        },
        "required": [
          "make",
          "model",
          "modelYear"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "make": "xx",
        "model": "example",
        "modelYear": 1949
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "campaignNumber": {
                  "type": "string"
                },
                "reportReceivedDate": {
                  "type": "string",
                  "nullable": true
                },
                "manufacturer": {
                  "type": "string",
                  "nullable": true
                },
                "component": {
                  "type": "string",
                  "nullable": true
                },
                "summary": {
                  "type": "string",
                  "nullable": true
                },
                "consequence": {
                  "type": "string",
                  "nullable": true
                },
                "remedy": {
                  "type": "string",
                  "nullable": true
                },
                "notes": {
                  "type": "string",
                  "nullable": true
                },
                "parkIt": {
                  "type": "boolean"
                },
                "parkOutside": {
                  "type": "boolean"
                },
                "overTheAirUpdate": {
                  "type": "boolean"
                }
              },
              "required": [
                "campaignNumber",
                "reportReceivedDate",
                "manufacturer",
                "component",
                "summary",
                "consequence",
                "remedy",
                "notes",
                "parkIt",
                "parkOutside",
                "overTheAirUpdate"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "make": {
                    "type": "string"
                  },
                  "model": {
                    "type": "string"
                  },
                  "modelYear": {
                    "type": "integer"
                  }
                },
                "required": [
                  "make",
                  "model",
                  "modelYear"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "query"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "vehicle.safety-ratings",
      "group": "vehicle",
      "name": "safety-ratings",
      "method": "GET",
      "path": "/api/vehicle/safety-ratings",
      "url": "https://2s.io/api/vehicle/safety-ratings",
      "description": "NHTSA NCAP 5-Star crash-test ratings for a US vehicle by (make, model, modelYear). Returns one item per crash-tested body style with the overall star rating, front/side/rollover sub-ratings, modeled rollover probability, crash-avoidance tech flags (electronic stability control, forward-collision warning, lane-departure warning), and complaint/recall/investigation counts. A vehicle with no crash testing returns an empty list (a valid result, not an error). Backed by NHTSA's public 5-Star Safety Ratings program; data is public-domain US government records.",
      "priceUsd": 0.003,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "make": {
            "type": "string",
            "minLength": 2,
            "maxLength": 40,
            "description": "Vehicle make. Examples: \"Honda\", \"Toyota\", \"Tesla\". Case-insensitive on NHTSA side."
          },
          "model": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40,
            "description": "Vehicle model. Examples: \"Accord\", \"Model 3\", \"F-150\"."
          },
          "modelYear": {
            "type": "integer",
            "minimum": 1949,
            "maximum": 2099,
            "description": "4-digit model year. NCAP coverage is strongest from ~2011 onward."
          }
        },
        "required": [
          "make",
          "model",
          "modelYear"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "make": "xx",
        "model": "example",
        "modelYear": 1949
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "vehicleId": {
                  "type": "integer"
                },
                "vehicleDescription": {
                  "type": "string"
                },
                "overallRating": {
                  "type": "number",
                  "nullable": true
                },
                "frontCrash": {
                  "type": "object",
                  "properties": {
                    "overall": {
                      "type": "number",
                      "nullable": true
                    },
                    "driverSide": {
                      "type": "number",
                      "nullable": true
                    },
                    "passengerSide": {
                      "type": "number",
                      "nullable": true
                    }
                  },
                  "required": [
                    "overall",
                    "driverSide",
                    "passengerSide"
                  ],
                  "additionalProperties": false
                },
                "sideCrash": {
                  "type": "object",
                  "properties": {
                    "overall": {
                      "type": "number",
                      "nullable": true
                    },
                    "driverSide": {
                      "type": "number",
                      "nullable": true
                    },
                    "passengerSide": {
                      "type": "number",
                      "nullable": true
                    },
                    "barrierOverall": {
                      "type": "number",
                      "nullable": true
                    },
                    "poleRating": {
                      "type": "number",
                      "nullable": true
                    }
                  },
                  "required": [
                    "overall",
                    "driverSide",
                    "passengerSide",
                    "barrierOverall",
                    "poleRating"
                  ],
                  "additionalProperties": false
                },
                "rollover": {
                  "type": "object",
                  "properties": {
                    "rating": {
                      "type": "number",
                      "nullable": true
                    },
                    "possibility": {
                      "type": "number",
                      "nullable": true
                    },
                    "dynamicTipResult": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "rating",
                    "possibility",
                    "dynamicTipResult"
                  ],
                  "additionalProperties": false
                },
                "driverAssist": {
                  "type": "object",
                  "properties": {
                    "electronicStabilityControl": {
                      "type": "string",
                      "nullable": true
                    },
                    "forwardCollisionWarning": {
                      "type": "string",
                      "nullable": true
                    },
                    "laneDepartureWarning": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "electronicStabilityControl",
                    "forwardCollisionWarning",
                    "laneDepartureWarning"
                  ],
                  "additionalProperties": false
                },
                "complaintsCount": {
                  "type": "integer"
                },
                "recallsCount": {
                  "type": "integer"
                },
                "investigationCount": {
                  "type": "integer"
                }
              },
              "required": [
                "vehicleId",
                "vehicleDescription",
                "overallRating",
                "frontCrash",
                "sideCrash",
                "rollover",
                "driverAssist",
                "complaintsCount",
                "recallsCount",
                "investigationCount"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "make": {
                    "type": "string"
                  },
                  "model": {
                    "type": "string"
                  },
                  "modelYear": {
                    "type": "integer"
                  }
                },
                "required": [
                  "make",
                  "model",
                  "modelYear"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "query"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "vehicle.vin-decode",
      "group": "vehicle",
      "name": "vin-decode",
      "method": "GET",
      "path": "/api/vehicle/vin-decode",
      "url": "https://2s.io/api/vehicle/vin-decode",
      "description": "Decode a 17-character VIN to manufacturer-supplied vehicle metadata via NHTSA's vPIC database. Returns identity (year, make, model, trim, series, body class, manufacturer), assembly plant (city, state, country), engine (cylinders, displacement, HP, fuel type, configuration, engine model), transmission (style, speeds), and body/weight specs. Curated to the ~30 fields agents actually use from vPIC's ~140-field response. Backed by NHTSA.gov; data is public-domain US government records.",
      "priceUsd": 0.0024,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "vin": {
            "type": "string",
            "minLength": 17,
            "maxLength": 17,
            "pattern": "^[A-HJ-NPR-Z0-9]{17}$",
            "description": "17-character VIN. Case-insensitive. Excludes letters I, O, and Q per VIN standard."
          },
          "modelYear": {
            "type": "integer",
            "minimum": 1949,
            "maximum": 2099,
            "description": "Optional model-year hint — disambiguates VINs where the year-digit wraps (A=1980/2010, etc.)."
          }
        },
        "required": [
          "vin"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "vin": "xxxxxxxxxxxxxxxxx",
        "modelYear": 1949
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "vin": {
                  "type": "string"
                },
                "modelYear": {
                  "type": "string",
                  "nullable": true
                },
                "make": {
                  "type": "string",
                  "nullable": true
                },
                "model": {
                  "type": "string",
                  "nullable": true
                },
                "trim": {
                  "type": "string",
                  "nullable": true
                },
                "series": {
                  "type": "string",
                  "nullable": true
                },
                "bodyClass": {
                  "type": "string",
                  "nullable": true
                },
                "manufacturer": {
                  "type": "string",
                  "nullable": true
                },
                "plant": {
                  "type": "object",
                  "properties": {
                    "city": {
                      "type": "string",
                      "nullable": true
                    },
                    "state": {
                      "type": "string",
                      "nullable": true
                    },
                    "country": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "city",
                    "state",
                    "country"
                  ],
                  "additionalProperties": false
                },
                "engine": {
                  "type": "object",
                  "properties": {
                    "cylinders": {
                      "type": "string",
                      "nullable": true
                    },
                    "displacementL": {
                      "type": "string",
                      "nullable": true
                    },
                    "hp": {
                      "type": "string",
                      "nullable": true
                    },
                    "fuelTypePrimary": {
                      "type": "string",
                      "nullable": true
                    },
                    "configuration": {
                      "type": "string",
                      "nullable": true
                    },
                    "model": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "cylinders",
                    "displacementL",
                    "hp",
                    "fuelTypePrimary",
                    "configuration",
                    "model"
                  ],
                  "additionalProperties": false
                },
                "transmission": {
                  "type": "object",
                  "properties": {
                    "style": {
                      "type": "string",
                      "nullable": true
                    },
                    "speeds": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "style",
                    "speeds"
                  ],
                  "additionalProperties": false
                },
                "doors": {
                  "type": "string",
                  "nullable": true
                },
                "driveType": {
                  "type": "string",
                  "nullable": true
                },
                "vehicleType": {
                  "type": "string",
                  "nullable": true
                },
                "gvwrClass": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "vin",
                "modelYear",
                "make",
                "model",
                "trim",
                "series",
                "bodyClass",
                "manufacturer",
                "plant",
                "engine",
                "transmission",
                "doors",
                "driveType",
                "vehicleType",
                "gvwrClass"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "watchers.business-earnings",
      "group": "watchers",
      "name": "business-earnings",
      "method": "POST",
      "path": "/api/watchers/business-earnings",
      "url": "https://2s.io/api/watchers/business-earnings",
      "description": "WATCHER: get a signed callback around a US company's earnings. Arm once, pay once (no account, no API key). trigger 'reported' (default) fires when results post — with reported EPS vs estimate, the surprise, and revenue; trigger 'upcoming' fires daysBefore the scheduled report date as a heads-up. Pass ticker (+ optional daysBefore for upcoming). Fires once per report period; bounded by a maxFires / expiry budget. Calendar via Finnhub. Deliveries are EIP-191-signed (verify offline) and retried with exponential backoff; missed pushes are recoverable via watchers.status. Returns a watcherId.",
      "priceUsd": 0.05,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "minLength": 1,
            "maxLength": 12,
            "pattern": "^[A-Za-z][A-Za-z0-9.\\-]{0,11}$",
            "description": "US-listed ticker to watch, e.g. AAPL."
          },
          "trigger": {
            "type": "string",
            "enum": [
              "reported",
              "upcoming"
            ],
            "description": "'reported' (default) fires when results post; 'upcoming' fires ahead of the scheduled date."
          },
          "daysBefore": {
            "type": "integer",
            "minimum": 0,
            "maximum": 30,
            "description": "For trigger='upcoming': how many days before the report date to fire (default 1)."
          },
          "callbackUrl": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "Where we POST the event. Any http(s) URL; the JSON body is signed (verify with X-2s-Signature). e.g. https://your-agent.app/hooks/earnings"
          },
          "payload": {
            "type": "object",
            "additionalProperties": {},
            "description": "Arbitrary JSON echoed back verbatim in every callback so you can route/identify the event. e.g. {\"agentId\":\"a1\"}"
          },
          "expiresInSeconds": {
            "type": "integer",
            "minimum": 60,
            "maximum": 7776000,
            "description": "How long the watch stays active, in seconds. Default 2592000 (30 days), max 7776000 (90 days)."
          },
          "maxFires": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Stop after this many report events (default 1 — the next report). Each fire is a distinct fiscal period."
          },
          "label": {
            "type": "string",
            "maxLength": 64,
            "description": "Optional free-text tag to recognize this watcher later."
          }
        },
        "required": [
          "ticker",
          "callbackUrl"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ticker": "example",
        "trigger": "reported",
        "daysBefore": 0,
        "callbackUrl": "https://example.com",
        "payload": {},
        "expiresInSeconds": 60,
        "maxFires": 1,
        "label": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "watcherId": {
                  "type": "string"
                },
                "status": {
                  "type": "string"
                },
                "ticker": {
                  "type": "string"
                },
                "trigger": {
                  "type": "string"
                },
                "daysBefore": {
                  "type": "number",
                  "nullable": true
                },
                "maxFires": {
                  "type": "number"
                },
                "firesRemaining": {
                  "type": "number"
                },
                "expiresAt": {
                  "type": "string"
                },
                "statusUrl": {
                  "type": "string"
                },
                "callbackSigner": {
                  "type": "string"
                }
              },
              "required": [
                "watcherId",
                "status",
                "ticker",
                "trigger",
                "daysBefore",
                "maxFires",
                "firesRemaining",
                "expiresAt",
                "statusUrl",
                "callbackSigner"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "watchers.cancel",
      "group": "watchers",
      "name": "cancel",
      "method": "POST",
      "path": "/api/watchers/cancel",
      "url": "https://2s.io/api/watchers/cancel",
      "description": "Cancel an active watcher by watcherId — it stops watching immediately. Flat-fee model: no refund of the unused window (nothing is held or owed). Idempotent. Pairs with watchers.crypto-address-activity and watchers.status.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "watcherId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 80
          }
        },
        "required": [
          "watcherId"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "watcherId": "xxxxxxxx"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "watcherId": {
                  "type": "string"
                },
                "status": {
                  "type": "string"
                }
              },
              "required": [
                "watcherId",
                "status"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "watchers.company-news",
      "group": "watchers",
      "name": "company-news",
      "method": "POST",
      "path": "/api/watchers/company-news",
      "url": "https://2s.io/api/watchers/company-news",
      "description": "WATCHER: get a signed callback when a new news article is published about a US company. Arm once, pay once. Pass ticker; optionally keyword to only fire on headlines containing it. Fires once per new article (deduped by id); bounded by maxFires/expiry. Existing articles at arm time are baselined. News via Finnhub. Signed (verify offline) + retried; recoverable via watchers.status. Returns a watcherId.",
      "priceUsd": 0.05,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "minLength": 1,
            "maxLength": 12,
            "pattern": "^[A-Za-z][A-Za-z0-9.\\-]{0,11}$",
            "description": "US-listed ticker, e.g. AAPL."
          },
          "keyword": {
            "type": "string",
            "maxLength": 64,
            "description": "Optional: only fire on headlines containing this text (case-insensitive)."
          },
          "callbackUrl": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "Signed event POSTed here (verify X-2s-Signature). Any http(s) URL."
          },
          "payload": {
            "type": "object",
            "additionalProperties": {},
            "description": "Arbitrary JSON echoed back in every callback."
          },
          "expiresInSeconds": {
            "type": "integer",
            "minimum": 60,
            "maximum": 7776000,
            "description": "Active window in seconds (default 30d, max 90d)."
          },
          "maxFires": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Stop after this many articles (default 25)."
          },
          "label": {
            "type": "string",
            "maxLength": 64,
            "description": "Optional free-text tag."
          }
        },
        "required": [
          "ticker",
          "callbackUrl"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ticker": "example",
        "keyword": "example",
        "callbackUrl": "https://example.com",
        "payload": {},
        "expiresInSeconds": 60,
        "maxFires": 1,
        "label": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "watchers.crypto-address-activity",
      "group": "watchers",
      "name": "crypto-address-activity",
      "method": "POST",
      "path": "/api/watchers/crypto-address-activity",
      "url": "https://2s.io/api/watchers/crypto-address-activity",
      "description": "WATCHER: get a signed callback the moment a crypto address transacts. Arm once, pay once (no account, no API key) — we watch Base, Ethereum, or Bitcoin and POST your custom payload to callbackUrl when the address sends/receives native coins, ERC-20s, or ERC-721s. Filter by direction (in/out/both), asset type, and a USD minimum (minValueUsd) to skip dust. Bounded by a 30-day / 25-fire window. Deliveries are EIP-191-signed by our published key (verify offline) and retried with exponential backoff; missed pushes are recoverable via watchers.status. Returns a watcherId.",
      "priceUsd": 0.05,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "chain": {
            "type": "string",
            "enum": [
              "base",
              "ethereum",
              "bitcoin"
            ],
            "description": "Which chain to watch: base, ethereum, or bitcoin."
          },
          "address": {
            "type": "string",
            "minLength": 20,
            "maxLength": 100,
            "description": "The address to watch — an EVM address (0x… 40 hex) for base/ethereum, or a Bitcoin address (bc1…/1…/3…)."
          },
          "callbackUrl": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "Where we POST the event. Any http(s) URL; the JSON body is signed (verify with X-2s-Signature). e.g. https://your-agent.app/hooks/wallet"
          },
          "direction": {
            "type": "string",
            "enum": [
              "in",
              "out",
              "both"
            ],
            "description": "Which flows to fire on: \"in\" = address received, \"out\" = address sent, \"both\" = either. Default: both."
          },
          "assetTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "native",
                "erc20",
                "erc721"
              ]
            },
            "maxItems": 3,
            "description": "Limit to asset kinds: any of \"native\" (ETH/BTC), \"erc20\" (tokens), \"erc721\" (NFTs). Omit to watch all. EVM only — Bitcoin is always native. e.g. [\"erc20\"] for token transfers only."
          },
          "minValueUsd": {
            "type": "number",
            "exclusiveMinimum": true,
            "minimum": 0,
            "maximum": 1000000000000,
            "description": "Only fire when the transfer is worth at least this many USD — filters out dust/spam. e.g. 100 ignores anything under $100. Omit to fire on any non-zero amount."
          },
          "payload": {
            "type": "object",
            "additionalProperties": {},
            "description": "Arbitrary JSON, echoed back verbatim in every callback so you can route/identify the event on your side. e.g. {\"agentId\":\"a1\",\"reason\":\"treasury-monitor\"}"
          },
          "expiresInSeconds": {
            "type": "integer",
            "minimum": 60,
            "maximum": 7776000,
            "description": "How long the watch stays active, in seconds. Default 2592000 (30 days), max 7776000 (90 days). e.g. 86400 = 1 day."
          },
          "maxFires": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Stop after this many callbacks. Default 25, max 1000. The watch ends at whichever comes first — maxFires or expiry."
          },
          "label": {
            "type": "string",
            "maxLength": 64,
            "description": "Optional free-text tag to recognize this watcher later. e.g. \"exchange-cold-wallet\"."
          }
        },
        "required": [
          "chain",
          "address",
          "callbackUrl"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "chain": "base",
        "address": "xxxxxxxxxxxxxxxxxxxx",
        "callbackUrl": "https://example.com",
        "direction": "in",
        "assetTypes": [
          "native"
        ],
        "minValueUsd": 0,
        "payload": {},
        "expiresInSeconds": 60,
        "maxFires": 1,
        "label": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "watcherId": {
                  "type": "string"
                },
                "status": {
                  "type": "string"
                },
                "chain": {
                  "type": "string"
                },
                "address": {
                  "type": "string"
                },
                "direction": {
                  "type": "string"
                },
                "assetTypes": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "minValueUsd": {
                  "type": "number",
                  "nullable": true
                },
                "maxFires": {
                  "type": "number"
                },
                "firesRemaining": {
                  "type": "number"
                },
                "expiresAt": {
                  "type": "string"
                },
                "statusUrl": {
                  "type": "string"
                },
                "callbackSigner": {
                  "type": "string"
                }
              },
              "required": [
                "watcherId",
                "status",
                "chain",
                "address",
                "direction",
                "assetTypes",
                "minValueUsd",
                "maxFires",
                "firesRemaining",
                "expiresAt",
                "statusUrl",
                "callbackSigner"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "watchers.dns",
      "group": "watchers",
      "name": "dns",
      "method": "POST",
      "path": "/api/watchers/dns",
      "url": "https://2s.io/api/watchers/dns",
      "description": "WATCHER: get a signed callback when a host's DNS records change. Arm once, pay once. Pass host (e.g. example.com). Fires when the resolved answers change (e.g. an A/AAAA/CNAME/MX update); bounded by maxFires/expiry. The records at arm time are baselined. Useful for detecting domain takeover, migrations, or unexpected changes. Signed (verify offline) + retried; recoverable via watchers.status. Returns a watcherId.",
      "priceUsd": 0.05,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "host": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "Hostname to monitor, e.g. example.com."
          },
          "callbackUrl": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "Signed event POSTed here (verify X-2s-Signature). Any http(s) URL."
          },
          "payload": {
            "type": "object",
            "additionalProperties": {},
            "description": "Arbitrary JSON echoed back in every callback."
          },
          "expiresInSeconds": {
            "type": "integer",
            "minimum": 60,
            "maximum": 7776000,
            "description": "Active window in seconds (default 30d, max 90d)."
          },
          "maxFires": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Stop after this many changes (default 10)."
          },
          "label": {
            "type": "string",
            "maxLength": 64,
            "description": "Optional free-text tag."
          }
        },
        "required": [
          "host",
          "callbackUrl"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "host": "example",
        "callbackUrl": "https://example.com",
        "payload": {},
        "expiresInSeconds": 60,
        "maxFires": 1,
        "label": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "watchers.earthquake",
      "group": "watchers",
      "name": "earthquake",
      "method": "POST",
      "path": "/api/watchers/earthquake",
      "url": "https://2s.io/api/watchers/earthquake",
      "description": "WATCHER: get a signed callback when USGS reports a new earthquake near a location above a magnitude. Arm once, pay once. Pass lat, lon, optional radiusKm (default 500) and minMagnitude (default 4). Fires once per new quake (deduped by id); bounded by maxFires/expiry. Quakes already in the window at arm time are baselined. Free public-domain (USGS). Signed + retried; recoverable via watchers.status. Returns a watcherId.",
      "priceUsd": 0.05,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90,
            "description": "Latitude of the center point."
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180,
            "description": "Longitude of the center point."
          },
          "radiusKm": {
            "type": "number",
            "minimum": 1,
            "maximum": 1000,
            "description": "Search radius in km (default 500)."
          },
          "minMagnitude": {
            "type": "number",
            "minimum": 0,
            "maximum": 10,
            "description": "Minimum magnitude to fire on (default 4)."
          },
          "callbackUrl": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "Signed event POSTed here (verify X-2s-Signature). Any http(s) URL."
          },
          "payload": {
            "type": "object",
            "additionalProperties": {},
            "description": "Arbitrary JSON echoed back in every callback."
          },
          "expiresInSeconds": {
            "type": "integer",
            "minimum": 60,
            "maximum": 7776000,
            "description": "Active window in seconds (default 30d, max 90d)."
          },
          "maxFires": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Stop after this many quakes (default 25)."
          },
          "label": {
            "type": "string",
            "maxLength": 64,
            "description": "Optional free-text tag."
          }
        },
        "required": [
          "lat",
          "lon",
          "callbackUrl"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "lat": -90,
        "lon": -180,
        "radiusKm": 1,
        "minMagnitude": 0,
        "callbackUrl": "https://example.com",
        "payload": {},
        "expiresInSeconds": 60,
        "maxFires": 1,
        "label": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "watchers.fear-greed",
      "group": "watchers",
      "name": "fear-greed",
      "method": "POST",
      "path": "/api/watchers/fear-greed",
      "url": "https://2s.io/api/watchers/fear-greed",
      "description": "WATCHER: get a signed callback when the Crypto Fear & Greed index crosses a level (e.g. drops into Extreme Fear). Arm once, pay once. conditionType 'above'/'below'; threshold is the index value 0–100. Fires once per crossing; bounded by maxFires/expiry. Signed (verify offline) + retried; recoverable via watchers.status. Returns a watcherId.",
      "priceUsd": 0.05,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "conditionType": {
            "type": "string",
            "enum": [
              "above",
              "below"
            ],
            "description": "Fire when the index goes above or below the threshold."
          },
          "threshold": {
            "type": "number",
            "minimum": 0,
            "maximum": 100,
            "description": "Index value 0–100 to cross (e.g. 20 = extreme fear, 80 = extreme greed)."
          },
          "callbackUrl": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "Signed event POSTed here (verify X-2s-Signature). Any http(s) URL."
          },
          "payload": {
            "type": "object",
            "additionalProperties": {},
            "description": "Arbitrary JSON echoed back in every callback."
          },
          "expiresInSeconds": {
            "type": "integer",
            "minimum": 60,
            "maximum": 7776000,
            "description": "Active window in seconds (default 30d, max 90d)."
          },
          "maxFires": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Stop after this many callbacks (default 1)."
          },
          "label": {
            "type": "string",
            "maxLength": 64,
            "description": "Optional free-text tag."
          }
        },
        "required": [
          "conditionType",
          "threshold",
          "callbackUrl"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "conditionType": "above",
        "threshold": 0,
        "callbackUrl": "https://example.com",
        "payload": {},
        "expiresInSeconds": 60,
        "maxFires": 1,
        "label": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "watchers.federal-register",
      "group": "watchers",
      "name": "federal-register",
      "method": "POST",
      "path": "/api/watchers/federal-register",
      "url": "https://2s.io/api/watchers/federal-register",
      "description": "WATCHER: get a signed callback when a new US Federal Register document is published. Arm once, pay once. Optionally filter by type (RULE / PRORULE / NOTICE / PRESDOCU), agency (slug, e.g. environmental-protection-agency), and/or keyword in the title. Fires once per new document (deduped by document number); bounded by maxFires/expiry. Existing docs at arm time are baselined. Free public-domain data. Signed + retried; recoverable via watchers.status. Returns a watcherId.",
      "priceUsd": 0.05,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "RULE",
              "PRORULE",
              "NOTICE",
              "PRESDOCU"
            ],
            "description": "Document type filter. Omit for all."
          },
          "agency": {
            "type": "string",
            "maxLength": 80,
            "pattern": "^[A-Za-z0-9-]+$",
            "description": "Agency slug, e.g. federal-trade-commission."
          },
          "keyword": {
            "type": "string",
            "maxLength": 64,
            "description": "Optional: only fire on titles containing this text (case-insensitive)."
          },
          "callbackUrl": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "Signed event POSTed here (verify X-2s-Signature). Any http(s) URL."
          },
          "payload": {
            "type": "object",
            "additionalProperties": {},
            "description": "Arbitrary JSON echoed back in every callback."
          },
          "expiresInSeconds": {
            "type": "integer",
            "minimum": 60,
            "maximum": 7776000,
            "description": "Active window in seconds (default 30d, max 90d)."
          },
          "maxFires": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Stop after this many documents (default 25)."
          },
          "label": {
            "type": "string",
            "maxLength": 64,
            "description": "Optional free-text tag."
          }
        },
        "required": [
          "callbackUrl"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "type": "RULE",
        "agency": "example",
        "keyword": "example",
        "callbackUrl": "https://example.com",
        "payload": {},
        "expiresInSeconds": 60,
        "maxFires": 1,
        "label": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "watchers.flight-status",
      "group": "watchers",
      "name": "flight-status",
      "method": "POST",
      "path": "/api/watchers/flight-status",
      "url": "https://2s.io/api/watchers/flight-status",
      "description": "WATCHER: get a signed callback when a flight's status changes (e.g. Scheduled → Delayed → Departed → Landed). Arm once, pay once. Pass ident (airline flight designator like UAL1 / UA1, or a tail number). Fires on each status transition for the nearest instance; bounded by maxFires/expiry. The status at arm time is baselined (only changes fire). Data via FlightAware. Signed + retried; recoverable via watchers.status. Returns a watcherId.",
      "priceUsd": 0.05,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ident": {
            "type": "string",
            "minLength": 2,
            "maxLength": 20,
            "pattern": "^[A-Za-z0-9-]+$",
            "description": "Flight designator (UAL1 / UA1) or tail number."
          },
          "callbackUrl": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "Signed event POSTed here (verify X-2s-Signature). Any http(s) URL."
          },
          "payload": {
            "type": "object",
            "additionalProperties": {},
            "description": "Arbitrary JSON echoed back in every callback."
          },
          "expiresInSeconds": {
            "type": "integer",
            "minimum": 60,
            "maximum": 7776000,
            "description": "Active window in seconds (default 7 days; flights are short-lived)."
          },
          "maxFires": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Stop after this many status changes (default 10)."
          },
          "label": {
            "type": "string",
            "maxLength": 64,
            "description": "Optional free-text tag."
          }
        },
        "required": [
          "ident",
          "callbackUrl"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ident": "xx",
        "callbackUrl": "https://example.com",
        "payload": {},
        "expiresInSeconds": 60,
        "maxFires": 1,
        "label": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "watchers.fred-series",
      "group": "watchers",
      "name": "fred-series",
      "method": "POST",
      "path": "/api/watchers/fred-series",
      "url": "https://2s.io/api/watchers/fred-series",
      "description": "WATCHER: get a signed callback when a FRED economic series' latest value crosses a level. Arm once, pay once. Pass seriesId (e.g. DGS10 = 10yr Treasury, UNRATE = unemployment, CPIAUCSL = CPI, FEDFUNDS = fed funds). conditionType 'above'/'below'; threshold is the series value. Fires once per crossing as new data posts; bounded by maxFires/expiry. Free public-domain (FRED). Signed (verify offline) + retried; recoverable via watchers.status. Returns a watcherId.",
      "priceUsd": 0.05,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "seriesId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "pattern": "^[A-Za-z0-9.\\-_]+$",
            "description": "FRED series id, e.g. DGS10, UNRATE, CPIAUCSL, FEDFUNDS."
          },
          "conditionType": {
            "type": "string",
            "enum": [
              "above",
              "below"
            ],
            "description": "Fire when the latest value goes above or below the threshold."
          },
          "threshold": {
            "type": "number",
            "description": "The series value to cross, e.g. 5 (for DGS10 = 5% 10yr yield)."
          },
          "callbackUrl": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "Signed event POSTed here (verify X-2s-Signature). Any http(s) URL."
          },
          "payload": {
            "type": "object",
            "additionalProperties": {},
            "description": "Arbitrary JSON echoed back in every callback."
          },
          "expiresInSeconds": {
            "type": "integer",
            "minimum": 60,
            "maximum": 7776000,
            "description": "Active window in seconds (default 30d, max 90d)."
          },
          "maxFires": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Stop after this many callbacks (default 1)."
          },
          "label": {
            "type": "string",
            "maxLength": 64,
            "description": "Optional free-text tag."
          }
        },
        "required": [
          "seriesId",
          "conditionType",
          "threshold",
          "callbackUrl"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "seriesId": "example",
        "conditionType": "above",
        "threshold": 1,
        "callbackUrl": "https://example.com",
        "payload": {},
        "expiresInSeconds": 60,
        "maxFires": 1,
        "label": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "watchers.funding-rate",
      "group": "watchers",
      "name": "funding-rate",
      "method": "POST",
      "path": "/api/watchers/funding-rate",
      "url": "https://2s.io/api/watchers/funding-rate",
      "description": "WATCHER: get a signed callback when a Hyperliquid perpetual's hourly funding rate crosses a level (e.g. flips negative). Arm once, pay once. Pass coin (e.g. BTC, ETH). conditionType 'above'/'below'; threshold is the hourly funding rate (can be negative, e.g. -0.0001). Fires once per crossing; bounded by maxFires/expiry. Data via Hyperliquid. Signed (verify offline) + retried; recoverable via watchers.status. Returns a watcherId.",
      "priceUsd": 0.05,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "coin": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20,
            "pattern": "^[A-Za-z0-9]+$",
            "description": "Perp coin symbol, e.g. BTC, ETH, SOL."
          },
          "conditionType": {
            "type": "string",
            "enum": [
              "above",
              "below"
            ],
            "description": "Fire when hourly funding goes above or below the threshold."
          },
          "threshold": {
            "type": "number",
            "description": "Hourly funding rate to cross (can be negative, e.g. -0.0001)."
          },
          "callbackUrl": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "Signed event POSTed here (verify X-2s-Signature). Any http(s) URL."
          },
          "payload": {
            "type": "object",
            "additionalProperties": {},
            "description": "Arbitrary JSON echoed back in every callback."
          },
          "expiresInSeconds": {
            "type": "integer",
            "minimum": 60,
            "maximum": 7776000,
            "description": "Active window in seconds (default 30d, max 90d)."
          },
          "maxFires": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Stop after this many callbacks (default 1)."
          },
          "label": {
            "type": "string",
            "maxLength": 64,
            "description": "Optional free-text tag."
          }
        },
        "required": [
          "coin",
          "conditionType",
          "threshold",
          "callbackUrl"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "coin": "example",
        "conditionType": "above",
        "threshold": 1,
        "callbackUrl": "https://example.com",
        "payload": {},
        "expiresInSeconds": 60,
        "maxFires": 1,
        "label": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "watchers.fx-rate",
      "group": "watchers",
      "name": "fx-rate",
      "method": "POST",
      "path": "/api/watchers/fx-rate",
      "url": "https://2s.io/api/watchers/fx-rate",
      "description": "WATCHER: get a signed callback when an FX pair crosses a rate you set. Arm once, pay once. base + quote are 3-letter ISO currency codes (e.g. base USD, quote EUR). conditionType 'above'/'below'; threshold is the quote-per-base rate. Fires once per crossing; bounded by maxFires/expiry. Rates via Frankfurter (ECB). Signed (verify offline) + retried; recoverable via watchers.status. Returns a watcherId.",
      "priceUsd": 0.05,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "base": {
            "type": "string",
            "pattern": "^[A-Za-z]{3}$",
            "description": "Base currency, e.g. USD."
          },
          "quote": {
            "type": "string",
            "pattern": "^[A-Za-z]{3}$",
            "description": "Quote currency, e.g. EUR."
          },
          "conditionType": {
            "type": "string",
            "enum": [
              "above",
              "below"
            ],
            "description": "Fire when the rate goes above or below the threshold."
          },
          "threshold": {
            "type": "number",
            "exclusiveMinimum": true,
            "minimum": 0,
            "description": "Quote-per-base rate to cross, e.g. 0.95."
          },
          "callbackUrl": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "Signed event POSTed here (verify X-2s-Signature). Any http(s) URL."
          },
          "payload": {
            "type": "object",
            "additionalProperties": {},
            "description": "Arbitrary JSON echoed back in every callback."
          },
          "expiresInSeconds": {
            "type": "integer",
            "minimum": 60,
            "maximum": 7776000,
            "description": "Active window in seconds (default 30d, max 90d)."
          },
          "maxFires": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Stop after this many callbacks (default 1)."
          },
          "label": {
            "type": "string",
            "maxLength": 64,
            "description": "Optional free-text tag."
          }
        },
        "required": [
          "base",
          "quote",
          "conditionType",
          "threshold",
          "callbackUrl"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "base": "example",
        "quote": "example",
        "conditionType": "above",
        "threshold": 0,
        "callbackUrl": "https://example.com",
        "payload": {},
        "expiresInSeconds": 60,
        "maxFires": 1,
        "label": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "watchers.gas-price",
      "group": "watchers",
      "name": "gas-price",
      "method": "POST",
      "path": "/api/watchers/gas-price",
      "url": "https://2s.io/api/watchers/gas-price",
      "description": "WATCHER: get a signed callback when EVM gas crosses a level you set — e.g. \"wake me when Ethereum gas drops below 10 gwei.\" Arm once, pay once (no account, no API key). chain: base | ethereum | polygon | arbitrum | optimism. conditionType: 'below' or 'above'; threshold is in gwei (compared to the chosen fee tier's max fee per gas). tier: slow | standard | fast (default standard). Fires once per crossing; bounded by a maxFires / expiry budget. Deliveries are EIP-191-signed (verify offline) and retried with exponential backoff; missed pushes are recoverable via watchers.status. Returns a watcherId.",
      "priceUsd": 0.05,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "chain": {
            "type": "string",
            "enum": [
              "base",
              "ethereum",
              "polygon",
              "arbitrum",
              "optimism"
            ],
            "description": "EVM chain whose gas to watch."
          },
          "conditionType": {
            "type": "string",
            "enum": [
              "below",
              "above"
            ],
            "description": "'below' (cheap gas alert) or 'above' (congestion alert)."
          },
          "threshold": {
            "type": "number",
            "exclusiveMinimum": true,
            "minimum": 0,
            "maximum": 1000000,
            "description": "Gas price threshold in gwei (e.g. 10), compared to the chosen tier’s max fee per gas."
          },
          "tier": {
            "type": "string",
            "enum": [
              "slow",
              "standard",
              "fast"
            ],
            "description": "Fee tier to compare against. Default: standard."
          },
          "callbackUrl": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "Where we POST the event. Any http(s) URL; the JSON body is signed (verify with X-2s-Signature). e.g. https://your-agent.app/hooks/gas"
          },
          "payload": {
            "type": "object",
            "additionalProperties": {},
            "description": "Arbitrary JSON echoed back verbatim in every callback. e.g. {\"agentId\":\"a1\"}"
          },
          "expiresInSeconds": {
            "type": "integer",
            "minimum": 60,
            "maximum": 7776000,
            "description": "How long the watch stays active, in seconds. Default 2592000 (30 days), max 7776000 (90 days)."
          },
          "maxFires": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Stop after this many callbacks (default 1). Each fire is a fresh crossing into the condition."
          },
          "label": {
            "type": "string",
            "maxLength": 64,
            "description": "Optional free-text tag to recognize this watcher later."
          }
        },
        "required": [
          "chain",
          "conditionType",
          "threshold",
          "callbackUrl"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "chain": "base",
        "conditionType": "below",
        "threshold": 0,
        "tier": "slow",
        "callbackUrl": "https://example.com",
        "payload": {},
        "expiresInSeconds": 60,
        "maxFires": 1,
        "label": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "watcherId": {
                  "type": "string"
                },
                "status": {
                  "type": "string"
                },
                "chain": {
                  "type": "string"
                },
                "conditionType": {
                  "type": "string"
                },
                "threshold": {
                  "type": "number"
                },
                "tier": {
                  "type": "string"
                },
                "maxFires": {
                  "type": "number"
                },
                "firesRemaining": {
                  "type": "number"
                },
                "expiresAt": {
                  "type": "string"
                },
                "statusUrl": {
                  "type": "string"
                },
                "callbackSigner": {
                  "type": "string"
                }
              },
              "required": [
                "watcherId",
                "status",
                "chain",
                "conditionType",
                "threshold",
                "tier",
                "maxFires",
                "firesRemaining",
                "expiresAt",
                "statusUrl",
                "callbackSigner"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "watchers.http-headers",
      "group": "watchers",
      "name": "http-headers",
      "method": "POST",
      "path": "/api/watchers/http-headers",
      "url": "https://2s.io/api/watchers/http-headers",
      "description": "WATCHER: get a signed callback when a website's HTTP security-headers grade changes (e.g. a regression from A to C). Arm once, pay once. Pass url. Fires when the grade changes; bounded by maxFires/expiry. The grade at arm time is baselined. Useful for catching config regressions. Signed (verify offline) + retried; recoverable via watchers.status. Returns a watcherId.",
      "priceUsd": 0.05,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "The URL to monitor, e.g. https://example.com."
          },
          "callbackUrl": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "Signed event POSTed here (verify X-2s-Signature). Any http(s) URL."
          },
          "payload": {
            "type": "object",
            "additionalProperties": {},
            "description": "Arbitrary JSON echoed back in every callback."
          },
          "expiresInSeconds": {
            "type": "integer",
            "minimum": 60,
            "maximum": 7776000,
            "description": "Active window in seconds (default 30d, max 90d)."
          },
          "maxFires": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Stop after this many changes (default 10)."
          },
          "label": {
            "type": "string",
            "maxLength": 64,
            "description": "Optional free-text tag."
          }
        },
        "required": [
          "url",
          "callbackUrl"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "url": "https://example.com",
        "callbackUrl": "https://example.com",
        "payload": {},
        "expiresInSeconds": 60,
        "maxFires": 1,
        "label": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "watchers.ioc-reputation",
      "group": "watchers",
      "name": "ioc-reputation",
      "method": "POST",
      "path": "/api/watchers/ioc-reputation",
      "url": "https://2s.io/api/watchers/ioc-reputation",
      "description": "WATCHER: get a signed callback when an indicator of compromise (IP or domain) changes malicious status across threat feeds. Arm once, pay once. Pass ioc (an IP address or domain). Fires when the malicious verdict flips; bounded by maxFires/expiry. The status at arm time is baselined. Signed (verify offline) + retried; recoverable via watchers.status. Returns a watcherId.",
      "priceUsd": 0.05,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ioc": {
            "type": "string",
            "minLength": 3,
            "maxLength": 255,
            "description": "Indicator to watch: an IP address or domain."
          },
          "callbackUrl": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "Signed event POSTed here (verify X-2s-Signature). Any http(s) URL."
          },
          "payload": {
            "type": "object",
            "additionalProperties": {},
            "description": "Arbitrary JSON echoed back in every callback."
          },
          "expiresInSeconds": {
            "type": "integer",
            "minimum": 60,
            "maximum": 7776000,
            "description": "Active window in seconds (default 30d, max 90d)."
          },
          "maxFires": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Stop after this many changes (default 10)."
          },
          "label": {
            "type": "string",
            "maxLength": 64,
            "description": "Optional free-text tag."
          }
        },
        "required": [
          "ioc",
          "callbackUrl"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ioc": "xxx",
        "callbackUrl": "https://example.com",
        "payload": {},
        "expiresInSeconds": 60,
        "maxFires": 1,
        "label": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "watchers.ipo",
      "group": "watchers",
      "name": "ipo",
      "method": "POST",
      "path": "/api/watchers/ipo",
      "url": "https://2s.io/api/watchers/ipo",
      "description": "WATCHER: get a signed callback when a new US IPO appears on the calendar. Arm once, pay once. Optionally pass keyword to only fire when the company name/symbol matches. Fires once per new IPO (deduped by symbol); bounded by maxFires/expiry. Existing entries at arm time are baselined. Calendar via Finnhub. Signed (verify offline) + retried; recoverable via watchers.status. Returns a watcherId.",
      "priceUsd": 0.05,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "keyword": {
            "type": "string",
            "maxLength": 64,
            "description": "Optional: only fire when the IPO name contains this text (case-insensitive)."
          },
          "callbackUrl": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "Signed event POSTed here (verify X-2s-Signature). Any http(s) URL."
          },
          "payload": {
            "type": "object",
            "additionalProperties": {},
            "description": "Arbitrary JSON echoed back in every callback."
          },
          "expiresInSeconds": {
            "type": "integer",
            "minimum": 60,
            "maximum": 7776000,
            "description": "Active window in seconds (default 30d, max 90d)."
          },
          "maxFires": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Stop after this many IPOs (default 25)."
          },
          "label": {
            "type": "string",
            "maxLength": 64,
            "description": "Optional free-text tag."
          }
        },
        "required": [
          "callbackUrl"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "keyword": "example",
        "callbackUrl": "https://example.com",
        "payload": {},
        "expiresInSeconds": 60,
        "maxFires": 1,
        "label": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "watchers.package-release",
      "group": "watchers",
      "name": "package-release",
      "method": "POST",
      "path": "/api/watchers/package-release",
      "url": "https://2s.io/api/watchers/package-release",
      "description": "WATCHER: get a signed callback when a package publishes a new version — track your dependencies. Arm once, pay once. registry is 'npm' or 'pypi'; name is the package name (e.g. react, requests). Fires when the latest version changes; bounded by maxFires/expiry. The version at arm time is baselined. Signed (verify offline) + retried; recoverable via watchers.status. Returns a watcherId.",
      "priceUsd": 0.05,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "registry": {
            "type": "string",
            "enum": [
              "npm",
              "pypi"
            ],
            "description": "Package registry: npm or pypi."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120,
            "description": "Package name, e.g. react (npm) or requests (pypi)."
          },
          "callbackUrl": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "Signed event POSTed here (verify X-2s-Signature). Any http(s) URL."
          },
          "payload": {
            "type": "object",
            "additionalProperties": {},
            "description": "Arbitrary JSON echoed back in every callback."
          },
          "expiresInSeconds": {
            "type": "integer",
            "minimum": 60,
            "maximum": 7776000,
            "description": "Active window in seconds (default 30d, max 90d)."
          },
          "maxFires": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Stop after this many releases (default 10)."
          },
          "label": {
            "type": "string",
            "maxLength": 64,
            "description": "Optional free-text tag."
          }
        },
        "required": [
          "registry",
          "name",
          "callbackUrl"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "registry": "npm",
        "name": "example",
        "callbackUrl": "https://example.com",
        "payload": {},
        "expiresInSeconds": 60,
        "maxFires": 1,
        "label": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "watchers.paper",
      "group": "watchers",
      "name": "paper",
      "method": "POST",
      "path": "/api/watchers/paper",
      "url": "https://2s.io/api/watchers/paper",
      "description": "WATCHER: get a signed callback when a new academic paper matching your query is published (arXiv / PubMed / Semantic Scholar). Arm once, pay once. Pass query (keywords, author, topic). Fires once per new paper (deduped by source id); bounded by maxFires/expiry. Existing results at arm time are baselined. Signed (verify offline) + retried; recoverable via watchers.status. Returns a watcherId.",
      "priceUsd": 0.05,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200,
            "description": "Search query — keywords, author, or topic."
          },
          "callbackUrl": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "Signed event POSTed here (verify X-2s-Signature). Any http(s) URL."
          },
          "payload": {
            "type": "object",
            "additionalProperties": {},
            "description": "Arbitrary JSON echoed back in every callback."
          },
          "expiresInSeconds": {
            "type": "integer",
            "minimum": 60,
            "maximum": 7776000,
            "description": "Active window in seconds (default 30d, max 90d)."
          },
          "maxFires": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Stop after this many papers (default 25)."
          },
          "label": {
            "type": "string",
            "maxLength": 64,
            "description": "Optional free-text tag."
          }
        },
        "required": [
          "query",
          "callbackUrl"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "query": "xx",
        "callbackUrl": "https://example.com",
        "payload": {},
        "expiresInSeconds": 60,
        "maxFires": 1,
        "label": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "watchers.patent",
      "group": "watchers",
      "name": "patent",
      "method": "POST",
      "path": "/api/watchers/patent",
      "url": "https://2s.io/api/watchers/patent",
      "description": "WATCHER: get a signed callback when a new USPTO patent matching your query appears. Arm once, pay once. Pass query (keywords, assignee, etc.). Fires once per new patent (deduped by application number); bounded by maxFires/expiry. Existing results at arm time are baselined. Signed (verify offline) + retried; recoverable via watchers.status. Returns a watcherId.",
      "priceUsd": 0.05,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200,
            "description": "Search query — keywords, assignee, inventor, etc."
          },
          "callbackUrl": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "Signed event POSTed here (verify X-2s-Signature). Any http(s) URL."
          },
          "payload": {
            "type": "object",
            "additionalProperties": {},
            "description": "Arbitrary JSON echoed back in every callback."
          },
          "expiresInSeconds": {
            "type": "integer",
            "minimum": 60,
            "maximum": 7776000,
            "description": "Active window in seconds (default 30d, max 90d)."
          },
          "maxFires": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Stop after this many patents (default 25)."
          },
          "label": {
            "type": "string",
            "maxLength": 64,
            "description": "Optional free-text tag."
          }
        },
        "required": [
          "query",
          "callbackUrl"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "query": "xx",
        "callbackUrl": "https://example.com",
        "payload": {},
        "expiresInSeconds": 60,
        "maxFires": 1,
        "label": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "watchers.prediction-market",
      "group": "watchers",
      "name": "prediction-market",
      "method": "POST",
      "path": "/api/watchers/prediction-market",
      "url": "https://2s.io/api/watchers/prediction-market",
      "description": "WATCHER: get a signed callback when a Polymarket outcome's implied probability crosses a level. Arm once, pay once. Pass conditionId (the market's condition id) and outcomeIndex (0 = first outcome, usually Yes). conditionType 'above'/'below'; threshold is a probability 0–1 (e.g. 0.8). Fires once per crossing; bounded by maxFires/expiry. Prices via Polymarket. Signed (verify offline) + retried; recoverable via watchers.status. Returns a watcherId.",
      "priceUsd": 0.05,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "conditionId": {
            "type": "string",
            "minLength": 3,
            "maxLength": 80,
            "description": "Polymarket market conditionId (from predict.market / predict.markets)."
          },
          "outcomeIndex": {
            "type": "integer",
            "minimum": 0,
            "maximum": 50,
            "description": "Which outcome to watch (0 = first, usually Yes). Default 0."
          },
          "conditionType": {
            "type": "string",
            "enum": [
              "above",
              "below"
            ],
            "description": "Fire when the probability goes above or below the threshold."
          },
          "threshold": {
            "type": "number",
            "minimum": 0,
            "maximum": 1,
            "description": "Probability 0–1 to cross, e.g. 0.8."
          },
          "callbackUrl": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "Signed event POSTed here (verify X-2s-Signature). Any http(s) URL."
          },
          "payload": {
            "type": "object",
            "additionalProperties": {},
            "description": "Arbitrary JSON echoed back in every callback."
          },
          "expiresInSeconds": {
            "type": "integer",
            "minimum": 60,
            "maximum": 7776000,
            "description": "Active window in seconds (default 30d, max 90d)."
          },
          "maxFires": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Stop after this many callbacks (default 1)."
          },
          "label": {
            "type": "string",
            "maxLength": 64,
            "description": "Optional free-text tag."
          }
        },
        "required": [
          "conditionId",
          "conditionType",
          "threshold",
          "callbackUrl"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "conditionId": "xxx",
        "outcomeIndex": 0,
        "conditionType": "above",
        "threshold": 0,
        "callbackUrl": "https://example.com",
        "payload": {},
        "expiresInSeconds": 60,
        "maxFires": 1,
        "label": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "watchers.product-recall",
      "group": "watchers",
      "name": "product-recall",
      "method": "POST",
      "path": "/api/watchers/product-recall",
      "url": "https://2s.io/api/watchers/product-recall",
      "description": "WATCHER: get a signed callback when a new US product recall is published (CPSC). Arm once, pay once. Optionally pass keyword to only fire on recalls whose title contains it (e.g. a brand or product). Fires once per new recall (deduped by recall id); bounded by maxFires/expiry. Existing recalls at arm time are baselined. Free public-domain data. Signed (verify offline) + retried; recoverable via watchers.status. Returns a watcherId.",
      "priceUsd": 0.05,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "keyword": {
            "type": "string",
            "maxLength": 64,
            "description": "Optional: only fire on recalls whose title contains this text (case-insensitive)."
          },
          "callbackUrl": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "Signed event POSTed here (verify X-2s-Signature). Any http(s) URL."
          },
          "payload": {
            "type": "object",
            "additionalProperties": {},
            "description": "Arbitrary JSON echoed back in every callback."
          },
          "expiresInSeconds": {
            "type": "integer",
            "minimum": 60,
            "maximum": 7776000,
            "description": "Active window in seconds (default 30d, max 90d)."
          },
          "maxFires": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Stop after this many recalls (default 25)."
          },
          "label": {
            "type": "string",
            "maxLength": 64,
            "description": "Optional free-text tag."
          }
        },
        "required": [
          "callbackUrl"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "keyword": "example",
        "callbackUrl": "https://example.com",
        "payload": {},
        "expiresInSeconds": 60,
        "maxFires": 1,
        "label": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "watchers.sec-filing",
      "group": "watchers",
      "name": "sec-filing",
      "method": "POST",
      "path": "/api/watchers/sec-filing",
      "url": "https://2s.io/api/watchers/sec-filing",
      "description": "WATCHER: get a signed callback when a US company files with the SEC (EDGAR). Arm once, pay once. Pass ticker; optionally form to only fire on a specific filing type (e.g. 8-K, 10-K, 13F, 4). Fires once per new filing (deduped by accession number); bounded by maxFires/expiry. Existing filings at arm time are baselined (no backlog blast). Signed (verify offline) + retried; recoverable via watchers.status. Returns a watcherId.",
      "priceUsd": 0.05,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "minLength": 1,
            "maxLength": 12,
            "pattern": "^[A-Za-z][A-Za-z0-9.\\-]{0,11}$",
            "description": "US-listed ticker, e.g. AAPL."
          },
          "form": {
            "type": "string",
            "maxLength": 20,
            "description": "Optional filing type to filter on (e.g. 8-K, 10-K, 13F, 4). Omit for all forms."
          },
          "callbackUrl": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "Signed event POSTed here (verify X-2s-Signature). Any http(s) URL."
          },
          "payload": {
            "type": "object",
            "additionalProperties": {},
            "description": "Arbitrary JSON echoed back in every callback."
          },
          "expiresInSeconds": {
            "type": "integer",
            "minimum": 60,
            "maximum": 7776000,
            "description": "Active window in seconds (default 30d, max 90d)."
          },
          "maxFires": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Stop after this many filings (default 25)."
          },
          "label": {
            "type": "string",
            "maxLength": 64,
            "description": "Optional free-text tag."
          }
        },
        "required": [
          "ticker",
          "callbackUrl"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ticker": "example",
        "form": "example",
        "callbackUrl": "https://example.com",
        "payload": {},
        "expiresInSeconds": 60,
        "maxFires": 1,
        "label": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "watchers.status",
      "group": "watchers",
      "name": "status",
      "method": "GET",
      "path": "/api/watchers/status",
      "url": "https://2s.io/api/watchers/status",
      "description": "Status of a watcher by watcherId: state (armed/completed/expired/cancelled), fires used/remaining, expiry, recent deliveries (with HTTP result + attempt count), and any UNDELIVERED events with their full callback bodies — the pull backstop, so a missed push is always recoverable here. Pairs with watchers.crypto-address-activity.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "watcherId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 80
          }
        },
        "required": [
          "watcherId"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "watcherId": "xxxxxxxx"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "watcherId": {
                  "type": "string"
                },
                "status": {
                  "type": "string"
                },
                "chain": {
                  "type": "string"
                },
                "address": {
                  "type": "string"
                },
                "firesUsed": {
                  "type": "number"
                },
                "firesRemaining": {
                  "type": "number"
                },
                "maxFires": {
                  "type": "number"
                },
                "expiresAt": {
                  "type": "string"
                },
                "recentDeliveries": {
                  "type": "array",
                  "items": {}
                },
                "undelivered": {
                  "type": "array",
                  "items": {}
                }
              },
              "required": [
                "watcherId",
                "status",
                "chain",
                "address",
                "firesUsed",
                "firesRemaining",
                "maxFires",
                "expiresAt",
                "recentDeliveries",
                "undelivered"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "watchers.stock-price",
      "group": "watchers",
      "name": "stock-price",
      "method": "POST",
      "path": "/api/watchers/stock-price",
      "url": "https://2s.io/api/watchers/stock-price",
      "description": "WATCHER: get a signed callback when a US stock crosses a price you set. Arm once, pay once (no account, no API key) — we poll the quote during US market hours and POST your custom payload to callbackUrl the moment the condition is met. conditionType: 'above' / 'below' (threshold = a USD price) or 'pct_up' / 'pct_down' (threshold = a percent move vs the prior close). Fires once per crossing into the condition; bounded by a maxFires / expiry budget. Real-time IEX-tier quote via Finnhub. Deliveries are EIP-191-signed (verify offline) and retried with exponential backoff; missed pushes are recoverable via watchers.status. Returns a watcherId.",
      "priceUsd": 0.05,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ticker": {
            "type": "string",
            "minLength": 1,
            "maxLength": 12,
            "pattern": "^[A-Za-z][A-Za-z0-9.\\-]{0,11}$",
            "description": "US-listed ticker to watch, e.g. AAPL."
          },
          "conditionType": {
            "type": "string",
            "enum": [
              "above",
              "below",
              "pct_up",
              "pct_down"
            ],
            "description": "above/below = threshold is a USD price; pct_up/pct_down = threshold is a percent move vs the prior close."
          },
          "threshold": {
            "type": "number",
            "description": "The trigger level. A USD price for above/below (e.g. 200), or a percent for pct_up/pct_down (e.g. 5 = ±5%)."
          },
          "callbackUrl": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "Where we POST the event. Any http(s) URL; the JSON body is signed (verify with X-2s-Signature). e.g. https://your-agent.app/hooks/price"
          },
          "payload": {
            "type": "object",
            "additionalProperties": {},
            "description": "Arbitrary JSON echoed back verbatim in every callback so you can route/identify the event. e.g. {\"agentId\":\"a1\"}"
          },
          "expiresInSeconds": {
            "type": "integer",
            "minimum": 60,
            "maximum": 7776000,
            "description": "How long the watch stays active, in seconds. Default 2592000 (30 days), max 7776000 (90 days)."
          },
          "maxFires": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Stop after this many callbacks (default 1 — a one-shot alert). Each fire is a fresh crossing into the condition."
          },
          "label": {
            "type": "string",
            "maxLength": 64,
            "description": "Optional free-text tag to recognize this watcher later."
          }
        },
        "required": [
          "ticker",
          "conditionType",
          "threshold",
          "callbackUrl"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "ticker": "example",
        "conditionType": "above",
        "threshold": 1,
        "callbackUrl": "https://example.com",
        "payload": {},
        "expiresInSeconds": 60,
        "maxFires": 1,
        "label": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "watcherId": {
                  "type": "string"
                },
                "status": {
                  "type": "string"
                },
                "ticker": {
                  "type": "string"
                },
                "conditionType": {
                  "type": "string"
                },
                "threshold": {
                  "type": "number"
                },
                "maxFires": {
                  "type": "number"
                },
                "firesRemaining": {
                  "type": "number"
                },
                "expiresAt": {
                  "type": "string"
                },
                "statusUrl": {
                  "type": "string"
                },
                "callbackSigner": {
                  "type": "string"
                }
              },
              "required": [
                "watcherId",
                "status",
                "ticker",
                "conditionType",
                "threshold",
                "maxFires",
                "firesRemaining",
                "expiresAt",
                "statusUrl",
                "callbackSigner"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "watchers.token-price",
      "group": "watchers",
      "name": "token-price",
      "method": "POST",
      "path": "/api/watchers/token-price",
      "url": "https://2s.io/api/watchers/token-price",
      "description": "WATCHER: get a signed callback when a crypto asset crosses a price you set. Arm once, pay once (no account, no API key) — we poll the spot price and POST your custom payload to callbackUrl the moment the condition is met. tokenId is a CoinGecko asset id (lowercase, e.g. bitcoin, ethereum, solana — not the ticker). conditionType: 'above' / 'below' (threshold = a USD price) or 'pct_up' / 'pct_down' (threshold = a percent move over 24h). Fires once per crossing; bounded by a maxFires / expiry budget. Price via CoinGecko. Deliveries are EIP-191-signed (verify offline) and retried with exponential backoff; missed pushes are recoverable via watchers.status. Returns a watcherId.",
      "priceUsd": 0.05,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "tokenId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "pattern": "^[a-z0-9-]{1,64}$",
            "description": "CoinGecko asset id (lowercase, not ticker), e.g. bitcoin, ethereum, solana."
          },
          "conditionType": {
            "type": "string",
            "enum": [
              "above",
              "below",
              "pct_up",
              "pct_down"
            ],
            "description": "above/below = threshold is a USD price; pct_up/pct_down = threshold is a percent move over 24h."
          },
          "threshold": {
            "type": "number",
            "description": "Trigger level: a USD price for above/below (e.g. 100000), or a percent for pct_up/pct_down (e.g. 10 = ±10% over 24h)."
          },
          "callbackUrl": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "Where we POST the event. Any http(s) URL; the JSON body is signed (verify with X-2s-Signature). e.g. https://your-agent.app/hooks/btc"
          },
          "payload": {
            "type": "object",
            "additionalProperties": {},
            "description": "Arbitrary JSON echoed back verbatim in every callback. e.g. {\"agentId\":\"a1\"}"
          },
          "expiresInSeconds": {
            "type": "integer",
            "minimum": 60,
            "maximum": 7776000,
            "description": "How long the watch stays active, in seconds. Default 2592000 (30 days), max 7776000 (90 days)."
          },
          "maxFires": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Stop after this many callbacks (default 1 — a one-shot alert). Each fire is a fresh crossing into the condition."
          },
          "label": {
            "type": "string",
            "maxLength": 64,
            "description": "Optional free-text tag to recognize this watcher later."
          }
        },
        "required": [
          "tokenId",
          "conditionType",
          "threshold",
          "callbackUrl"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "tokenId": "example",
        "conditionType": "above",
        "threshold": 1,
        "callbackUrl": "https://example.com",
        "payload": {},
        "expiresInSeconds": 60,
        "maxFires": 1,
        "label": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "watcherId": {
                  "type": "string"
                },
                "status": {
                  "type": "string"
                },
                "tokenId": {
                  "type": "string"
                },
                "conditionType": {
                  "type": "string"
                },
                "threshold": {
                  "type": "number"
                },
                "maxFires": {
                  "type": "number"
                },
                "firesRemaining": {
                  "type": "number"
                },
                "expiresAt": {
                  "type": "string"
                },
                "statusUrl": {
                  "type": "string"
                },
                "callbackSigner": {
                  "type": "string"
                }
              },
              "required": [
                "watcherId",
                "status",
                "tokenId",
                "conditionType",
                "threshold",
                "maxFires",
                "firesRemaining",
                "expiresAt",
                "statusUrl",
                "callbackSigner"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "watchers.weather-alert",
      "group": "watchers",
      "name": "weather-alert",
      "method": "POST",
      "path": "/api/watchers/weather-alert",
      "url": "https://2s.io/api/watchers/weather-alert",
      "description": "WATCHER: get a signed callback when the US National Weather Service issues a new alert for an area. Arm once, pay once. Pass area (2-letter state/territory code, e.g. CA, TX); optionally severity to only fire at/above a level (Minor/Moderate/Severe/Extreme). Fires once per new alert (deduped by id); bounded by maxFires/expiry. Active alerts at arm time are baselined. Free public-domain (NWS). Signed + retried; recoverable via watchers.status. Returns a watcherId.",
      "priceUsd": 0.05,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "area": {
            "type": "string",
            "pattern": "^[A-Za-z]{2}$",
            "description": "US state/territory code, e.g. CA, TX, FL."
          },
          "severity": {
            "type": "string",
            "enum": [
              "Minor",
              "Moderate",
              "Severe",
              "Extreme"
            ],
            "description": "Optional: only fire on alerts of this severity."
          },
          "callbackUrl": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "Signed event POSTed here (verify X-2s-Signature). Any http(s) URL."
          },
          "payload": {
            "type": "object",
            "additionalProperties": {},
            "description": "Arbitrary JSON echoed back in every callback."
          },
          "expiresInSeconds": {
            "type": "integer",
            "minimum": 60,
            "maximum": 7776000,
            "description": "Active window in seconds (default 30d, max 90d)."
          },
          "maxFires": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Stop after this many alerts (default 25)."
          },
          "label": {
            "type": "string",
            "maxLength": 64,
            "description": "Optional free-text tag."
          }
        },
        "required": [
          "area",
          "callbackUrl"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "area": "example",
        "severity": "Minor",
        "callbackUrl": "https://example.com",
        "payload": {},
        "expiresInSeconds": 60,
        "maxFires": 1,
        "label": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "watchers.whois",
      "group": "watchers",
      "name": "whois",
      "method": "POST",
      "path": "/api/watchers/whois",
      "url": "https://2s.io/api/watchers/whois",
      "description": "WATCHER: get a signed callback when a domain's WHOIS registration changes — registrar, expiry, or status. Arm once, pay once. Pass domain. Fires on any WHOIS change (e.g. transfer, renewal, expiry shift); bounded by maxFires/expiry. The record at arm time is baselined. Useful for catching domain transfers/expiries or monitoring a brand. Signed (verify offline) + retried; recoverable via watchers.status. Returns a watcherId.",
      "priceUsd": 0.05,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string",
            "minLength": 3,
            "maxLength": 255,
            "description": "Domain to monitor, e.g. example.com."
          },
          "callbackUrl": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "Signed event POSTed here (verify X-2s-Signature). Any http(s) URL."
          },
          "payload": {
            "type": "object",
            "additionalProperties": {},
            "description": "Arbitrary JSON echoed back in every callback."
          },
          "expiresInSeconds": {
            "type": "integer",
            "minimum": 60,
            "maximum": 7776000,
            "description": "Active window in seconds (default 30d, max 90d)."
          },
          "maxFires": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Stop after this many changes (default 10)."
          },
          "label": {
            "type": "string",
            "maxLength": 64,
            "description": "Optional free-text tag."
          }
        },
        "required": [
          "domain",
          "callbackUrl"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "domain": "xxx",
        "callbackUrl": "https://example.com",
        "payload": {},
        "expiresInSeconds": 60,
        "maxFires": 1,
        "label": "example"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "water.gauge",
      "group": "water",
      "name": "gauge",
      "method": "GET",
      "path": "/api/water/gauge",
      "url": "https://2s.io/api/water/gauge",
      "description": "Real-time US river/stream conditions from a USGS monitoring site. Pass site = the USGS site number (e.g. 01646500 = Potomac River near Washington DC). Returns the latest readings — streamflow (cubic feet/sec), gage height (ft), and water/air temperature where available — with the site name + coordinates and observation time. Useful for flood monitoring, recreation, and hydrology. Source: USGS National Water Information System (keyless, public domain).",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "site": {
            "type": "string",
            "pattern": "^\\d{8,15}$"
          }
        },
        "required": [
          "site"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "site": "01646500"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "parameterCode": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "value": {
                  "type": "number",
                  "nullable": true
                },
                "unit": {
                  "type": "string",
                  "nullable": true
                },
                "observedAt": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "parameterCode",
                "name",
                "value",
                "unit",
                "observedAt"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "site": {
                "type": "string"
              },
              "siteName": {
                "type": "string",
                "nullable": true
              },
              "latitude": {
                "type": "number",
                "nullable": true
              },
              "longitude": {
                "type": "number",
                "nullable": true
              }
            },
            "required": [
              "site",
              "siteName",
              "latitude",
              "longitude"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "weather.air-quality",
      "group": "weather",
      "name": "air-quality",
      "method": "GET",
      "path": "/api/weather/air-quality",
      "url": "https://2s.io/api/weather/air-quality",
      "description": "Current air quality for any coordinate worldwide. Pass lat + lon. Returns the US AQI (+ category Good/Moderate/Unhealthy…), the European AQI, and pollutant concentrations: PM2.5, PM10, ozone, nitrogen dioxide, sulphur dioxide, carbon monoxide. Source: Open-Meteo / CAMS (keyless).",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          }
        },
        "required": [
          "lat",
          "lon"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "lat": 34.05,
        "lon": -118.24
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "lat": {
                  "type": "number"
                },
                "lon": {
                  "type": "number"
                },
                "time": {
                  "type": "string",
                  "nullable": true
                },
                "usAqi": {
                  "type": "number",
                  "nullable": true
                },
                "usAqiCategory": {
                  "type": "string",
                  "nullable": true
                },
                "europeanAqi": {
                  "type": "number",
                  "nullable": true
                },
                "pm2_5": {
                  "type": "number",
                  "nullable": true
                },
                "pm10": {
                  "type": "number",
                  "nullable": true
                },
                "ozone": {
                  "type": "number",
                  "nullable": true
                },
                "nitrogenDioxide": {
                  "type": "number",
                  "nullable": true
                },
                "sulphurDioxide": {
                  "type": "number",
                  "nullable": true
                },
                "carbonMonoxide": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "lat",
                "lon",
                "time",
                "usAqi",
                "usAqiCategory",
                "europeanAqi",
                "pm2_5",
                "pm10",
                "ozone",
                "nitrogenDioxide",
                "sulphurDioxide",
                "carbonMonoxide"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "weather.alerts",
      "group": "weather",
      "name": "alerts",
      "method": "GET",
      "path": "/api/weather/alerts",
      "url": "https://2s.io/api/weather/alerts",
      "description": "Live US severe-weather alerts from the National Weather Service. Pass a point (\"lat,lon\") to get every active watch, warning, and advisory for that exact location, or an area (2-letter US state or marine zone code) for area-wide alerts. Optionally filter by severity or urgency. Each alert returns the event type, severity, urgency, certainty, headline, affected-area description, issuing office, recommended public response, onset / expiry / end times, and the full hazard description plus protective-action instructions. Results are sorted most-severe first and capped by limit, with the true total reported. Public-domain NOAA / National Weather Service data, refreshed in real time.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "point": {
            "type": "string",
            "description": "Exact location as \"lat,lon\" in decimal degrees, e.g. \"25.7617,-80.1918\". Returns alerts covering that point. Provide point OR area, not both."
          },
          "area": {
            "type": "string",
            "description": "2-letter US state / territory or NWS marine area code, e.g. \"FL\", \"TX\", \"PK\". Returns all active alerts for that area. Provide point OR area, not both."
          },
          "severity": {
            "type": "string",
            "enum": [
              "Extreme",
              "Severe",
              "Moderate",
              "Minor",
              "Unknown"
            ],
            "description": "Filter to a single severity level."
          },
          "urgency": {
            "type": "string",
            "enum": [
              "Immediate",
              "Expected",
              "Future",
              "Past",
              "Unknown"
            ],
            "description": "Filter to a single urgency level."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 20,
            "description": "Max alerts to return (1-100, default 20). Most-severe first."
          }
        },
        "additionalProperties": false
      },
      "inputExample": {
        "point": "example",
        "area": "example",
        "severity": "Extreme",
        "urgency": "Immediate",
        "limit": 20
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "nullable": true
                },
                "event": {
                  "type": "string",
                  "nullable": true
                },
                "severity": {
                  "type": "string",
                  "nullable": true
                },
                "urgency": {
                  "type": "string",
                  "nullable": true
                },
                "certainty": {
                  "type": "string",
                  "nullable": true
                },
                "category": {
                  "type": "string",
                  "nullable": true
                },
                "headline": {
                  "type": "string",
                  "nullable": true
                },
                "areaDescription": {
                  "type": "string",
                  "nullable": true
                },
                "senderName": {
                  "type": "string",
                  "nullable": true
                },
                "response": {
                  "type": "string",
                  "nullable": true
                },
                "status": {
                  "type": "string",
                  "nullable": true
                },
                "messageType": {
                  "type": "string",
                  "nullable": true
                },
                "effective": {
                  "type": "string",
                  "nullable": true
                },
                "onset": {
                  "type": "string",
                  "nullable": true
                },
                "expires": {
                  "type": "string",
                  "nullable": true
                },
                "ends": {
                  "type": "string",
                  "nullable": true
                },
                "description": {
                  "type": "string",
                  "nullable": true
                },
                "instruction": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "id",
                "event",
                "severity",
                "urgency",
                "certainty",
                "category",
                "headline",
                "areaDescription",
                "senderName",
                "response",
                "status",
                "messageType",
                "effective",
                "onset",
                "expires",
                "ends",
                "description",
                "instruction"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "scope": {
                "type": "object",
                "properties": {
                  "point": {
                    "type": "object",
                    "properties": {
                      "lat": {
                        "type": "number"
                      },
                      "lon": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "lat",
                      "lon"
                    ],
                    "additionalProperties": false,
                    "nullable": true
                  },
                  "area": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "point",
                  "area"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "scope"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "weather.current",
      "group": "weather",
      "name": "current",
      "method": "GET",
      "path": "/api/weather/current",
      "url": "https://2s.io/api/weather/current",
      "description": "Current weather conditions for any coordinate worldwide. Pass lat + lon (and optional units=metric|imperial, default metric). Returns temperature, feels-like, humidity, precipitation (rain/snow), cloud cover, sea-level pressure, wind speed/direction/gusts, day/night flag, and a human-readable conditions label from the WMO weather code — with local time + timezone. Global coverage (not just US — for US-only NWS data see weather.zip / weather.forecast). Source: Open-Meteo (CC BY 4.0).",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          },
          "units": {
            "type": "string",
            "enum": [
              "metric",
              "imperial"
            ],
            "default": "metric"
          }
        },
        "required": [
          "lat",
          "lon"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "lat": 51.5072,
        "lon": -0.1276
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "lat": {
                  "type": "number"
                },
                "lon": {
                  "type": "number"
                },
                "time": {
                  "type": "string",
                  "nullable": true,
                  "description": "Local time at the location (ISO 8601, no offset)."
                },
                "isDay": {
                  "type": "boolean",
                  "nullable": true
                },
                "weatherCode": {
                  "type": "number",
                  "nullable": true,
                  "description": "WMO weather interpretation code."
                },
                "conditions": {
                  "type": "string",
                  "nullable": true,
                  "description": "Human-readable conditions (from the WMO code)."
                },
                "temperature": {
                  "type": "number",
                  "nullable": true
                },
                "apparentTemperature": {
                  "type": "number",
                  "nullable": true
                },
                "humidityPct": {
                  "type": "number",
                  "nullable": true
                },
                "precipitation": {
                  "type": "number",
                  "nullable": true
                },
                "rain": {
                  "type": "number",
                  "nullable": true
                },
                "snowfallCm": {
                  "type": "number",
                  "nullable": true
                },
                "cloudCoverPct": {
                  "type": "number",
                  "nullable": true
                },
                "pressureMslHpa": {
                  "type": "number",
                  "nullable": true
                },
                "windSpeed": {
                  "type": "number",
                  "nullable": true
                },
                "windDirectionDeg": {
                  "type": "number",
                  "nullable": true
                },
                "windGusts": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "lat",
                "lon",
                "time",
                "isDay",
                "weatherCode",
                "conditions",
                "temperature",
                "apparentTemperature",
                "humidityPct",
                "precipitation",
                "rain",
                "snowfallCm",
                "cloudCoverPct",
                "pressureMslHpa",
                "windSpeed",
                "windDirectionDeg",
                "windGusts"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "timezone": {
                "type": "string",
                "nullable": true
              },
              "elevationM": {
                "type": "number",
                "nullable": true
              },
              "units": {
                "type": "object",
                "properties": {
                  "temperature": {
                    "type": "string"
                  },
                  "windSpeed": {
                    "type": "string"
                  },
                  "precipitation": {
                    "type": "string"
                  }
                },
                "required": [
                  "temperature",
                  "windSpeed",
                  "precipitation"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "timezone",
              "elevationM",
              "units"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "weather.forecast",
      "group": "weather",
      "name": "forecast",
      "method": "GET",
      "path": "/api/weather/forecast",
      "url": "https://2s.io/api/weather/forecast",
      "description": "Official US weather forecast for a coordinate (US land + territories). Pass lat + lon. Returns the National Weather Service forecast as a list of periods — by default ~7 days of day/night periods; pass hourly=true for an hour-by-hour forecast. Each period gives the temperature + unit, wind speed/direction, chance of precipitation, and a short + detailed forecast, plus the resolved city/state and issuing office. Source: US National Weather Service (api.weather.gov), public domain. For active warnings use weather.alerts.",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          },
          "hourly": {
            "type": "boolean"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 156
          }
        },
        "required": [
          "lat",
          "lon"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "lat": 38.8977,
        "lon": -77.0365
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "nullable": true
                },
                "startTime": {
                  "type": "string"
                },
                "endTime": {
                  "type": "string"
                },
                "isDaytime": {
                  "type": "boolean"
                },
                "temperature": {
                  "type": "number",
                  "nullable": true
                },
                "temperatureUnit": {
                  "type": "string",
                  "nullable": true
                },
                "windSpeed": {
                  "type": "string",
                  "nullable": true
                },
                "windDirection": {
                  "type": "string",
                  "nullable": true
                },
                "precipProbabilityPct": {
                  "type": "number",
                  "nullable": true
                },
                "shortForecast": {
                  "type": "string",
                  "nullable": true
                },
                "detailedForecast": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "name",
                "startTime",
                "endTime",
                "isDaytime",
                "temperature",
                "temperatureUnit",
                "windSpeed",
                "windDirection",
                "precipProbabilityPct",
                "shortForecast",
                "detailedForecast"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "location": {
                "type": "string",
                "nullable": true
              },
              "forecastOffice": {
                "type": "string",
                "nullable": true
              },
              "updated": {
                "type": "string",
                "nullable": true
              },
              "periods": {
                "type": "integer"
              }
            },
            "required": [
              "location",
              "forecastOffice",
              "updated",
              "periods"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "weather.forecast-global",
      "group": "weather",
      "name": "forecast-global",
      "method": "GET",
      "path": "/api/weather/forecast-global",
      "url": "https://2s.io/api/weather/forecast-global",
      "description": "Weather forecast for any coordinate worldwide, up to 16 days out. Pass lat + lon; optional days (1–16, default 7), hourly=true for hour-by-hour instead of daily, and units=metric|imperial (default metric). Daily items give max/min temperature, feels-like max, precipitation total + max probability, max wind + gusts, sunrise/sunset, and human-readable conditions from the WMO weather code; hourly items give temperature, feels-like, humidity, precipitation amount + probability, wind, and conditions — all in local time. Global coverage (for the official US-only NWS forecast see weather.forecast). Source: Open-Meteo (CC BY 4.0).",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          },
          "days": {
            "type": "integer",
            "minimum": 1,
            "maximum": 16,
            "default": 7
          },
          "hourly": {
            "type": "boolean"
          },
          "units": {
            "type": "string",
            "enum": [
              "metric",
              "imperial"
            ],
            "default": "metric"
          }
        },
        "required": [
          "lat",
          "lon"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "lat": 48.8566,
        "lon": 2.3522,
        "days": 3
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "timezone": {
                "type": "string",
                "nullable": true
              },
              "mode": {
                "type": "string",
                "description": "'daily' or 'hourly'."
              },
              "units": {
                "type": "object",
                "properties": {
                  "temperature": {
                    "type": "string"
                  },
                  "windSpeed": {
                    "type": "string"
                  },
                  "precipitation": {
                    "type": "string"
                  }
                },
                "required": [
                  "temperature",
                  "windSpeed",
                  "precipitation"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "timezone",
              "mode",
              "units"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "weather.history",
      "group": "weather",
      "name": "history",
      "method": "GET",
      "path": "/api/weather/history",
      "url": "https://2s.io/api/weather/history",
      "description": "Historical daily weather for any coordinate (ERA5 reanalysis, 1940→~5 days ago). Pass lat + lon + start + end (YYYY-MM-DD, range ≤366 days). Returns per-day max/min/mean temperature (°C), precipitation total (mm) + hours, and max wind (km/h). Source: Open-Meteo archive / ECMWF ERA5 (keyless).",
      "priceUsd": 0.00144,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          },
          "start": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "end": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          }
        },
        "required": [
          "lat",
          "lon",
          "start",
          "end"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "lat": 40.71,
        "lon": -74.01,
        "start": "2025-01-01",
        "end": "2025-01-07"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "date": {
                  "type": "string"
                },
                "tempMaxC": {
                  "type": "number",
                  "nullable": true
                },
                "tempMinC": {
                  "type": "number",
                  "nullable": true
                },
                "tempMeanC": {
                  "type": "number",
                  "nullable": true
                },
                "precipMm": {
                  "type": "number",
                  "nullable": true
                },
                "windMaxKmh": {
                  "type": "number",
                  "nullable": true
                },
                "precipHours": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "date",
                "tempMaxC",
                "tempMinC",
                "tempMeanC",
                "precipMm",
                "windMaxKmh",
                "precipHours"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "weather.marine",
      "group": "weather",
      "name": "marine",
      "method": "GET",
      "path": "/api/weather/marine",
      "url": "https://2s.io/api/weather/marine",
      "description": "Current marine/sea-state conditions for an ocean or coastal coordinate. Pass lat + lon. Returns significant wave height (m), wave direction + period, and the wind-wave and swell-wave components. Useful for surf, sailing, and coastal ops. Source: Open-Meteo marine (keyless). Returns 404 for inland points.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "lat": {
            "type": "number",
            "minimum": -90,
            "maximum": 90
          },
          "lon": {
            "type": "number",
            "minimum": -180,
            "maximum": 180
          }
        },
        "required": [
          "lat",
          "lon"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "lat": 36.96,
        "lon": -122.02
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "lat": {
                  "type": "number"
                },
                "lon": {
                  "type": "number"
                },
                "time": {
                  "type": "string",
                  "nullable": true
                },
                "waveHeightM": {
                  "type": "number",
                  "nullable": true
                },
                "waveDirectionDeg": {
                  "type": "number",
                  "nullable": true
                },
                "wavePeriodS": {
                  "type": "number",
                  "nullable": true
                },
                "windWaveHeightM": {
                  "type": "number",
                  "nullable": true
                },
                "swellWaveHeightM": {
                  "type": "number",
                  "nullable": true
                },
                "swellWavePeriodS": {
                  "type": "number",
                  "nullable": true
                }
              },
              "required": [
                "lat",
                "lon",
                "time",
                "waveHeightM",
                "waveDirectionDeg",
                "wavePeriodS",
                "windWaveHeightM",
                "swellWaveHeightM",
                "swellWavePeriodS"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "weather.zip",
      "group": "weather",
      "name": "zip",
      "method": "GET",
      "path": "/api/weather/zip",
      "url": "https://2s.io/api/weather/zip",
      "description": "Current weather conditions for a US ZIP code (temperature, wind, humidity, conditions). Backed by the US National Weather Service (api.weather.gov) — public domain, no rate-limit pressure on commercial use.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "zip": {
            "type": "string",
            "pattern": "^\\d{5}$"
          }
        },
        "required": [
          "zip"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "zip": "12345"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "location": {
                  "type": "object",
                  "properties": {
                    "zip": {
                      "type": "string"
                    },
                    "city": {
                      "type": "string"
                    },
                    "state": {
                      "type": "string"
                    },
                    "coords": {
                      "type": "object",
                      "properties": {
                        "lat": {
                          "type": "number"
                        },
                        "lon": {
                          "type": "number"
                        }
                      },
                      "required": [
                        "lat",
                        "lon"
                      ],
                      "additionalProperties": false
                    },
                    "timezone": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "zip",
                    "city",
                    "state",
                    "coords",
                    "timezone"
                  ],
                  "additionalProperties": false
                },
                "current": {
                  "type": "object",
                  "properties": {
                    "temperatureF": {
                      "type": "number",
                      "nullable": true
                    },
                    "apparentTemperatureF": {
                      "type": "number",
                      "nullable": true
                    },
                    "humidityPct": {
                      "type": "number",
                      "nullable": true
                    },
                    "windMph": {
                      "type": "number",
                      "nullable": true
                    },
                    "windDirection": {
                      "type": "string",
                      "nullable": true
                    },
                    "windDirectionDeg": {
                      "type": "number",
                      "nullable": true
                    },
                    "precipProbabilityPct": {
                      "type": "number",
                      "nullable": true
                    },
                    "conditions": {
                      "type": "string"
                    },
                    "isDay": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "observedAt": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "temperatureF",
                    "apparentTemperatureF",
                    "humidityPct",
                    "windMph",
                    "windDirection",
                    "windDirectionDeg",
                    "precipProbabilityPct",
                    "conditions",
                    "isDay",
                    "observedAt"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "location",
                "current"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "wikidata.entity",
      "group": "wikidata",
      "name": "entity",
      "method": "GET",
      "path": "/api/wikidata/entity",
      "url": "https://2s.io/api/wikidata/entity",
      "description": "Fetch a Wikidata entity (Q42, P31, etc.) — structured knowledge-graph record with labels + descriptions + aliases in selectable languages, claims (property → value statements grouped by property ID), sitelinks (Wikipedia article title per language). 110M+ entities. CC0 public domain. Pass languages= as comma-separated codes (default \"en\") to control which language strings are included; pass maxClaimsPerProperty to cap how many statements come back per property (default 10).",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[QPLMSqplms]\\d+$"
          },
          "languages": {
            "type": "string",
            "minLength": 2,
            "maxLength": 100,
            "default": "en"
          },
          "includeClaims": {
            "type": "boolean",
            "default": true
          },
          "maxClaimsPerProperty": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "default": 10
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "id": "Q42",
        "languages": "en,es",
        "maxClaimsPerProperty": 5
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "type": {
                  "type": "string"
                },
                "pageId": {
                  "type": "integer",
                  "nullable": true
                },
                "lastModified": {
                  "type": "string",
                  "nullable": true
                },
                "labels": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "language": {
                        "type": "string"
                      },
                      "value": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "language",
                      "value"
                    ],
                    "additionalProperties": false
                  }
                },
                "descriptions": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "language": {
                        "type": "string"
                      },
                      "value": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "language",
                      "value"
                    ],
                    "additionalProperties": false
                  }
                },
                "aliases": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "language": {
                          "type": "string"
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "language",
                        "value"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "claimsCount": {
                  "type": "integer"
                },
                "claims": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "rank": {
                          "type": "string"
                        },
                        "type": {
                          "type": "string"
                        },
                        "valueType": {
                          "type": "string",
                          "nullable": true
                        },
                        "value": {}
                      },
                      "required": [
                        "rank",
                        "type",
                        "valueType"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "sitelinksCount": {
                  "type": "integer"
                },
                "sitelinks": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "site": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string"
                      },
                      "url": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "site",
                      "title",
                      "url"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "id",
                "type",
                "pageId",
                "lastModified",
                "labels",
                "descriptions",
                "aliases",
                "claimsCount",
                "claims",
                "sitelinksCount",
                "sitelinks"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "wikipedia.summary",
      "group": "wikipedia",
      "name": "summary",
      "method": "GET",
      "path": "/api/wikipedia/summary",
      "url": "https://2s.io/api/wikipedia/summary",
      "description": "Fetch a Wikipedia article summary in any of 30 supported languages. Returns title, displayTitle, lang, pageId, description, extract (plain text), extractHtml, lead image, canonical URLs, last-modified timestamp, word count, license, and an attribution string. Backed by https://<lang>.wikipedia.org/api/rest_v1/page/summary. Content is CC BY-SA 4.0 with attribution provided.",
      "priceUsd": 0.001,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "minLength": 1,
            "maxLength": 300
          },
          "lang": {
            "type": "string",
            "enum": [
              "en",
              "es",
              "fr",
              "de",
              "it",
              "pt",
              "ru",
              "ja",
              "zh",
              "ko",
              "ar",
              "nl",
              "pl",
              "tr",
              "sv",
              "cs",
              "fi",
              "da",
              "no",
              "el",
              "he",
              "hi",
              "th",
              "vi",
              "uk",
              "id",
              "ms",
              "ro",
              "hu",
              "simple"
            ],
            "default": "en"
          }
        },
        "required": [
          "title"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "title": "example",
        "lang": "en"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "word.define",
      "group": "word",
      "name": "define",
      "method": "GET",
      "path": "/api/word/define",
      "url": "https://2s.io/api/word/define",
      "description": "English dictionary lookup via dictionaryapi.dev (Wiktionary-sourced). Returns full entries with IPA phonetic transcription(s), audio pronunciation URLs, and meanings grouped by part of speech. Each meaning carries definitions with usage examples and per-definition synonyms + antonyms. CC BY-SA 3.0/4.0 — attribute when redistributing. Useful for vocabulary agents, writing assistants, language-learning tools.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "word": {
            "type": "string",
            "pattern": "^[a-zA-Z][a-zA-Z'.-]{0,49}$"
          }
        },
        "required": [
          "word"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "word": "serendipity"
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "word": {
                  "type": "string"
                },
                "phonetic": {
                  "type": "string",
                  "nullable": true
                },
                "phonetics": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "text": {
                        "type": "string",
                        "nullable": true
                      },
                      "audio": {
                        "type": "string",
                        "nullable": true
                      },
                      "sourceUrl": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "text",
                      "audio",
                      "sourceUrl"
                    ],
                    "additionalProperties": false
                  }
                },
                "meanings": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "partOfSpeech": {
                        "type": "string"
                      },
                      "definitions": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "definition": {
                              "type": "string"
                            },
                            "example": {
                              "type": "string",
                              "nullable": true
                            },
                            "synonyms": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "antonyms": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          },
                          "required": [
                            "definition",
                            "example",
                            "synonyms",
                            "antonyms"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "synonyms": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "antonyms": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    },
                    "required": [
                      "partOfSpeech",
                      "definitions",
                      "synonyms",
                      "antonyms"
                    ],
                    "additionalProperties": false
                  }
                },
                "sourceUrls": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "license": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "name",
                    "url"
                  ],
                  "additionalProperties": false,
                  "nullable": true
                }
              },
              "required": [
                "word",
                "phonetic",
                "phonetics",
                "meanings",
                "sourceUrls",
                "license"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "word.related",
      "group": "word",
      "name": "related",
      "method": "GET",
      "path": "/api/word/related",
      "url": "https://2s.io/api/word/related",
      "description": "Related-word lookup via Datamuse. Supply a seed word and a relation kind: rhymes, near-rhymes, synonyms, antonyms, means (semantic match), triggers (associated by usage), homophones, sounds-like (phonetic neighbour), spelled-like (typo / wildcard), follows-from (words that come after), preceded-by (words that come before). Returns ranked candidates with relevance score, syllable count, and grammatical tags. Useful for content generation, rhyme/poetry, vocabulary expansion, and naming agents.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "word": {
            "type": "string",
            "pattern": "^[a-zA-Z][a-zA-Z'.-]{0,49}$"
          },
          "relation": {
            "type": "string",
            "enum": [
              "rhymes",
              "near-rhymes",
              "synonyms",
              "antonyms",
              "means",
              "triggers",
              "homophones",
              "sounds-like",
              "spelled-like",
              "follows-from",
              "preceded-by"
            ]
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 25
          }
        },
        "required": [
          "word",
          "relation"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "word": "jingle",
        "relation": "rhymes",
        "limit": 5
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "word": {
                  "type": "string"
                },
                "score": {
                  "type": "number"
                },
                "numSyllables": {
                  "type": "integer",
                  "nullable": true
                },
                "tags": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "word",
                "score",
                "numSyllables",
                "tags"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "word": {
                "type": "string"
              },
              "relation": {
                "type": "string"
              },
              "fetched": {
                "type": "integer"
              }
            },
            "required": [
              "word",
              "relation",
              "fetched"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    },
    {
      "id": "worldbank.indicator",
      "group": "worldbank",
      "name": "indicator",
      "method": "GET",
      "path": "/api/worldbank/indicator",
      "url": "https://2s.io/api/worldbank/indicator",
      "description": "World Bank Open Data — fetch a time series of a specific indicator for a country (or 'all'). 1000+ indicators across 200+ countries, many series going back to 1960. Indicator codes are dotted-token strings, e.g., NY.GDP.MKTP.CD (GDP current US$), SP.POP.TOTL (population total), FP.CPI.TOTL.ZG (inflation CPI annual %), SL.UEM.TOTL.ZS (unemployment %), SE.ADT.LITR.ZS (adult literacy %), SP.DYN.LE00.IN (life expectancy). Country = ISO 2-letter (e.g., US, CN), ISO 3-letter (USA, CHN), or 'all'. Optional yearFrom/yearTo bracket. Each observation: country id+name, year, numeric value (may be null for missing), obsStatus. Returns indicator name + total count + pagination metadata.",
      "priceUsd": 0.0012,
      "priceMode": "fixed",
      "responseShape": "normalized",
      "accepts": [
        "x402"
      ],
      "networks": [
        {
          "network": "base",
          "caip2": "eip155:8453",
          "asset": "USDC"
        },
        {
          "network": "solana",
          "caip2": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "asset": "USDC"
        }
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "country": {
            "type": "string",
            "pattern": "^([A-Za-z]{2,3}|all)$"
          },
          "indicator": {
            "type": "string",
            "pattern": "^[A-Za-z0-9.]{3,40}$"
          },
          "yearFrom": {
            "type": "integer",
            "minimum": 1960,
            "maximum": 2100
          },
          "yearTo": {
            "type": "integer",
            "minimum": 1960,
            "maximum": 2100
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 50
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 1
          }
        },
        "required": [
          "country",
          "indicator"
        ],
        "additionalProperties": false
      },
      "inputExample": {
        "country": "US",
        "indicator": "NY.GDP.MKTP.CD",
        "yearFrom": 2020,
        "yearTo": 2023
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "countryId": {
                  "type": "string"
                },
                "countryName": {
                  "type": "string"
                },
                "year": {
                  "type": "integer"
                },
                "value": {
                  "type": "number",
                  "nullable": true
                },
                "obsStatus": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "countryId",
                "countryName",
                "year",
                "value",
                "obsStatus"
              ],
              "additionalProperties": false
            }
          },
          "total": {
            "type": "integer",
            "nullable": true,
            "description": "Total matching rows upstream; null when unknown."
          },
          "source": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "license": {
                "type": "string"
              }
            },
            "required": [
              "provider",
              "url",
              "license"
            ],
            "additionalProperties": false
          },
          "page": {
            "type": "object",
            "properties": {
              "number": {
                "type": "integer"
              },
              "size": {
                "type": "integer"
              },
              "pages": {
                "type": "integer",
                "nullable": true
              }
            },
            "required": [
              "number",
              "size",
              "pages"
            ],
            "additionalProperties": false
          },
          "meta": {
            "type": "object",
            "properties": {
              "query": {
                "type": "object",
                "properties": {
                  "country": {
                    "type": "string"
                  },
                  "indicator": {
                    "type": "string"
                  },
                  "yearFrom": {
                    "type": "integer",
                    "nullable": true
                  },
                  "yearTo": {
                    "type": "integer",
                    "nullable": true
                  },
                  "limit": {
                    "type": "integer"
                  },
                  "page": {
                    "type": "integer"
                  }
                },
                "required": [
                  "country",
                  "indicator",
                  "yearFrom",
                  "yearTo",
                  "limit",
                  "page"
                ],
                "additionalProperties": false
              },
              "indicatorId": {
                "type": "string"
              },
              "indicatorName": {
                "type": "string",
                "nullable": true
              },
              "lastUpdated": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "query",
              "indicatorId",
              "indicatorName",
              "lastUpdated"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ok",
          "items",
          "total",
          "source"
        ],
        "additionalProperties": false
      }
    }
  ],
  "seeAlso": [
    {
      "name": "Exa",
      "url": "https://api.exa.ai",
      "description": "Web search and crawling API for agents."
    },
    {
      "name": "Browserbase",
      "url": "https://x402.browserbase.com",
      "description": "Hosted headless browser sessions for agents."
    },
    {
      "name": "OATP",
      "url": "https://api.oatp.cc",
      "description": "Solana transaction explainer and SPL token risk scanner."
    },
    {
      "name": "OneSource",
      "url": "https://skills.onesource.io",
      "description": "Pay-per-call Ethereum mainnet RPC endpoints."
    }
  ]
}