{
  "protocol": "mpp",
  "version": 1,
  "name": "Numetal launch router",
  "description": "Pad aggregator. Same Sign for humans and agents on Clanker/Bankr/pools.fun. User signs. x402 amount 0.",
  "origin": "https://launch.numetal.xyz",
  "price": "0",
  "currency": "USD",
  "endpoints": [
    {
      "method": "POST",
      "path": "/api/v1/list_pads",
      "tool": "list_pads",
      "description": "List every pad in the matrix (wired + unproven) with chains, notes, and howToSign. Same matrix the Mini App uses. Call this first.",
      "price": "0"
    },
    {
      "method": "POST",
      "path": "/api/v1/list_networks",
      "tool": "list_networks",
      "description": "Union of chain IDs the pads actually list. We do not invent networks.",
      "price": "0"
    },
    {
      "method": "POST",
      "path": "/api/v1/get_capabilities",
      "tool": "get_capabilities",
      "description": "Knobs, forbidden fields, chains, status, and howToSign for one pad. Same as the Mini App. Stock pairing is Pons only.",
      "price": "0"
    },
    {
      "method": "POST",
      "path": "/api/v1/draft_intent",
      "tool": "draft_intent",
      "description": "Validate a LaunchIntent against the matrix. Returns warnings for ignored knobs; errors for unproven pads / forbidden stock pairs.",
      "price": "0"
    },
    {
      "method": "POST",
      "path": "/api/v1/simulate_launch",
      "tool": "simulate_launch",
      "description": "Build the pad-sign payload (same object as Mini App Simulate and get_sign_payload). Does not broadcast. No keys.",
      "price": "0"
    },
    {
      "method": "POST",
      "path": "/api/v1/get_sign_payload",
      "tool": "get_sign_payload",
      "description": "Same pad-sign payload the Mini App Sign uses. Clanker = SDK deploy() config. Bankr = POST body + liveBody + howToSign (user's bk_usr_ key on their machine; this origin never sees it). pools.fun = PartyFactory.launch tx. Never a REST argument this origin posts with a hot key.",
      "price": "0"
    },
    {
      "method": "POST",
      "path": "/api/v1/check_bankr_split",
      "tool": "check_bankr_split",
      "description": "Same 57% split check the Mini App runs before a Bankr live POST. Pass feeDistribution from a simulate response. Refuses partner shares. No keys.",
      "price": "0"
    }
  ],
  "mcp": "https://launch.numetal.xyz/mcp",
  "docs": "https://launch.numetal.xyz/llms.txt"
}