{
  "openapi": "3.1.0",
  "info": {
    "title": "Escrow-Bounty Radar",
    "version": "1.8.0",
    "contact": {
      "name": "Escrow-Bounty Radar",
      "email": "10a11andralemisquitta@gmail.com"
    },
    "description": "Pay-per-call datasets for agents on Base (USDC, no key): bounty board, token prices, gas quotes, AI papers, Hacker News, crypto fear/greed, triage scoring, Solana verification. All endpoints accept GET and POST; filters may be sent as query parameters or as a JSON body. Unpaid requests return a 402 x402-v2 payment challenge (also in the payment-required response header); paid requests return the dataset.",
    "x-guidance": "Pay-per-call datasets on Base USDC (x402 v2). GET or POST /api/feed (optional limit), /api/prices (optional symbol like BTC), /api/gas (optional chain like base), /api/papers (optional id). Filters go in query string or JSON body. Unpaid calls return 402 with the payment challenge; pay 0.01 USDC (bulk) or 0.005 (single-filtered) to receive JSON."
  },
  "servers": [
    {
      "url": "https://escrow-radar.vercel.app"
    }
  ],
  "paths": {
    "/api/feed": {
      "get": {
        "operationId": "listBounties",
        "summary": "Live escrow-bounty radar feed",
        "security": [],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Max items to return, 1-50 (default all)",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "limit": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 50,
                    "description": "Max items to return, 1-50 (default all)"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Live escrow-bounty radar feed result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true,
                    "properties": {
                      "stream": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string"
                      },
                      "url": {
                        "type": "string"
                      },
                      "content": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "stream",
                      "title",
                      "url"
                    ]
                  }
                }
              }
            }
          },
          "402": {
            "description": "Payment required"
          }
        },
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.01"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        }
      },
      "post": {
        "operationId": "listBountiesPost",
        "summary": "Live escrow-bounty radar feed",
        "security": [],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Max items to return, 1-50 (default all)",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "limit": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 50,
                    "description": "Max items to return, 1-50 (default all)"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Live escrow-bounty radar feed result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true,
                    "properties": {
                      "stream": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string"
                      },
                      "url": {
                        "type": "string"
                      },
                      "content": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "stream",
                      "title",
                      "url"
                    ]
                  }
                }
              }
            }
          },
          "402": {
            "description": "Payment required"
          }
        },
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.01"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        }
      }
    },
    "/api/prices": {
      "get": {
        "operationId": "listPrices",
        "summary": "Bulk token spot quotes (dual-sourced)",
        "security": [],
        "parameters": [
          {
            "name": "symbol",
            "in": "query",
            "required": false,
            "description": "Filter to one symbol, e.g. BTC (default all symbols)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "symbol": {
                    "type": "string",
                    "description": "Filter to one symbol, e.g. BTC (default all symbols)"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Bulk token spot quotes (dual-sourced) result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true,
                    "properties": {
                      "symbol": {
                        "type": "string"
                      },
                      "priceUsd": {
                        "type": "string"
                      },
                      "kraken": {
                        "type": "string"
                      },
                      "coinbase": {
                        "type": "string"
                      },
                      "ts": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "symbol",
                      "priceUsd"
                    ]
                  }
                }
              }
            }
          },
          "402": {
            "description": "Payment required"
          },
          "404": {
            "description": "Unknown symbol"
          }
        },
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.01"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        }
      },
      "post": {
        "operationId": "listPricesPost",
        "summary": "Bulk token spot quotes (dual-sourced)",
        "security": [],
        "parameters": [
          {
            "name": "symbol",
            "in": "query",
            "required": false,
            "description": "Filter to one symbol, e.g. BTC (default all symbols)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "symbol": {
                    "type": "string",
                    "description": "Filter to one symbol, e.g. BTC (default all symbols)"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Bulk token spot quotes (dual-sourced) result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true,
                    "properties": {
                      "symbol": {
                        "type": "string"
                      },
                      "priceUsd": {
                        "type": "string"
                      },
                      "kraken": {
                        "type": "string"
                      },
                      "coinbase": {
                        "type": "string"
                      },
                      "ts": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "symbol",
                      "priceUsd"
                    ]
                  }
                }
              }
            }
          },
          "402": {
            "description": "Payment required"
          },
          "404": {
            "description": "Unknown symbol"
          }
        },
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.01"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        }
      }
    },
    "/api/gas": {
      "get": {
        "operationId": "listGas",
        "summary": "Multi-chain gas quotes",
        "security": [],
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "required": false,
            "description": "Filter to one chain, e.g. base (default all chains)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "chain": {
                    "type": "string",
                    "description": "Filter to one chain, e.g. base (default all chains)"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Multi-chain gas quotes result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true,
                    "properties": {
                      "chain": {
                        "type": "string"
                      },
                      "gasPriceWei": {
                        "type": "string"
                      },
                      "gasPriceGwei": {
                        "type": "string"
                      },
                      "rpc": {
                        "type": "string"
                      },
                      "ts": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "chain",
                      "gasPriceWei",
                      "gasPriceGwei"
                    ]
                  }
                }
              }
            }
          },
          "402": {
            "description": "Payment required"
          },
          "404": {
            "description": "Unknown chain"
          }
        },
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.01"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        }
      },
      "post": {
        "operationId": "listGasPost",
        "summary": "Multi-chain gas quotes",
        "security": [],
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "required": false,
            "description": "Filter to one chain, e.g. base (default all chains)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "chain": {
                    "type": "string",
                    "description": "Filter to one chain, e.g. base (default all chains)"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Multi-chain gas quotes result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true,
                    "properties": {
                      "chain": {
                        "type": "string"
                      },
                      "gasPriceWei": {
                        "type": "string"
                      },
                      "gasPriceGwei": {
                        "type": "string"
                      },
                      "rpc": {
                        "type": "string"
                      },
                      "ts": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "chain",
                      "gasPriceWei",
                      "gasPriceGwei"
                    ]
                  }
                }
              }
            }
          },
          "402": {
            "description": "Payment required"
          },
          "404": {
            "description": "Unknown chain"
          }
        },
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.01"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        }
      }
    },
    "/api/papers": {
      "get": {
        "operationId": "listPapers",
        "summary": "Normalized AI papers feed",
        "security": [],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "description": "Filter to one paper id, e.g. 2611.05377v1 (default all papers)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Filter to one paper id, e.g. 2611.05377v1 (default all papers)"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Normalized AI papers feed result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true,
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string"
                      },
                      "authors": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "summary": {
                        "type": "string"
                      },
                      "published": {
                        "type": "string"
                      },
                      "ts": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "id",
                      "title"
                    ]
                  }
                }
              }
            }
          },
          "402": {
            "description": "Payment required"
          },
          "404": {
            "description": "Unknown id"
          }
        },
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.01"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        }
      },
      "post": {
        "operationId": "listPapersPost",
        "summary": "Normalized AI papers feed",
        "security": [],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "description": "Filter to one paper id, e.g. 2611.05377v1 (default all papers)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Filter to one paper id, e.g. 2611.05377v1 (default all papers)"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Normalized AI papers feed result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true,
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string"
                      },
                      "authors": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "summary": {
                        "type": "string"
                      },
                      "published": {
                        "type": "string"
                      },
                      "ts": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "id",
                      "title"
                    ]
                  }
                }
              }
            }
          },
          "402": {
            "description": "Payment required"
          },
          "404": {
            "description": "Unknown id"
          }
        },
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.01"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        }
      }
    },
    "/api/hn": {
      "get": {
        "operationId": "listHN",
        "summary": "Hacker News top stories, normalized",
        "security": [],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "description": "Filter to one story id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Max items to return, 1-30",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Filter to one story id"
                  },
                  "limit": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 50,
                    "description": "Max items to return, 1-30"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Hacker News top stories, normalized result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true,
                    "properties": {
                      "id": {
                        "type": "integer"
                      },
                      "title": {
                        "type": "string"
                      },
                      "url": {
                        "type": "string"
                      },
                      "score": {
                        "type": "integer"
                      },
                      "by": {
                        "type": "string"
                      },
                      "time": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "id",
                      "title"
                    ]
                  }
                }
              }
            }
          },
          "402": {
            "description": "Payment required"
          },
          "404": {
            "description": "Unknown id"
          }
        },
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.01"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        }
      },
      "post": {
        "operationId": "listHNPost",
        "summary": "Hacker News top stories, normalized",
        "security": [],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "description": "Filter to one story id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Max items to return, 1-30",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Filter to one story id"
                  },
                  "limit": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 50,
                    "description": "Max items to return, 1-30"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Hacker News top stories, normalized result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true,
                    "properties": {
                      "id": {
                        "type": "integer"
                      },
                      "title": {
                        "type": "string"
                      },
                      "url": {
                        "type": "string"
                      },
                      "score": {
                        "type": "integer"
                      },
                      "by": {
                        "type": "string"
                      },
                      "time": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "id",
                      "title"
                    ]
                  }
                }
              }
            }
          },
          "402": {
            "description": "Payment required"
          },
          "404": {
            "description": "Unknown id"
          }
        },
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.01"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        }
      }
    },
    "/api/fng": {
      "get": {
        "operationId": "listFng",
        "summary": "Crypto Fear & Greed Index history",
        "security": [],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Max days to return, 1-30",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "limit": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 50,
                    "description": "Max days to return, 1-30"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Crypto Fear & Greed Index history result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true,
                    "properties": {
                      "value": {
                        "type": "string"
                      },
                      "classification": {
                        "type": "string"
                      },
                      "date": {
                        "type": "string"
                      },
                      "ts": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "value",
                      "classification"
                    ]
                  }
                }
              }
            }
          },
          "402": {
            "description": "Payment required"
          }
        },
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.01"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        }
      },
      "post": {
        "operationId": "listFngPost",
        "summary": "Crypto Fear & Greed Index history",
        "security": [],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Max days to return, 1-30",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "limit": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 50,
                    "description": "Max days to return, 1-30"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Crypto Fear & Greed Index history result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true,
                    "properties": {
                      "value": {
                        "type": "string"
                      },
                      "classification": {
                        "type": "string"
                      },
                      "date": {
                        "type": "string"
                      },
                      "ts": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "value",
                      "classification"
                    ]
                  }
                }
              }
            }
          },
          "402": {
            "description": "Payment required"
          }
        },
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.01"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        }
      }
    },
    "/api/bounties": {
      "get": {
        "operationId": "listBountiesVerified",
        "summary": "Verified GitHub bounty feed (competing PRs, CI, repro)",
        "security": [],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "description": "One record id, e.g. paraloom-core#1329",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "uncontested",
            "in": "query",
            "required": false,
            "description": "1 = only issues with zero competing PRs",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "min_reward",
            "in": "query",
            "required": false,
            "description": "Minimum reward_usdc, e.g. 100",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "severity",
            "in": "query",
            "required": false,
            "description": "Low, Medium, High or Critical",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Max items to return, 1-50",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "One record id"
                  },
                  "uncontested": {
                    "type": "string",
                    "description": "1 = zero competing PRs"
                  },
                  "min_reward": {
                    "type": "string",
                    "description": "Minimum reward_usdc"
                  },
                  "severity": {
                    "type": "string",
                    "description": "Low, Medium, High or Critical"
                  },
                  "limit": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 50,
                    "description": "Max items"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Verified bounty feed result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true,
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "venue": {
                        "type": "string"
                      },
                      "repo": {
                        "type": "string"
                      },
                      "number": {
                        "type": "integer"
                      },
                      "title": {
                        "type": "string"
                      },
                      "url": {
                        "type": "string"
                      },
                      "severity": {
                        "type": "string"
                      },
                      "reward_usdc": {
                        "type": "number"
                      },
                      "reward_source": {
                        "type": "string"
                      },
                      "age_seconds_since_open": {
                        "type": "integer"
                      },
                      "opened_at": {
                        "type": "string"
                      },
                      "competing_prs": {
                        "type": "integer"
                      },
                      "competing_pr_urls": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "ci_status": {
                        "type": "string"
                      },
                      "repro_command": {
                        "type": "string"
                      },
                      "repro_source": {
                        "type": "string"
                      },
                      "rail": {
                        "type": "string"
                      },
                      "escrow_verified": {
                        "type": "boolean"
                      },
                      "escrow_note": {
                        "type": "string"
                      },
                      "has_repro": {
                        "type": "boolean"
                      },
                      "has_stack_trace": {
                        "type": "boolean"
                      },
                      "has_fix_hint": {
                        "type": "boolean"
                      },
                      "excerpt": {
                        "type": "string"
                      },
                      "ts": {
                        "type": "string"
                      },
                      "failing_assertion": {
                        "type": "string"
                      },
                      "target_files": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "stack_excerpt": {
                        "type": "string"
                      },
                      "claimed_in_comments": {
                        "type": "boolean"
                      },
                      "claim_evidence": {
                        "type": "object"
                      },
                      "org": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "id",
                      "title",
                      "url"
                    ]
                  }
                }
              }
            }
          },
          "402": {
            "description": "Payment required"
          },
          "404": {
            "description": "Unknown id"
          }
        },
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.01"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        }
      },
      "post": {
        "operationId": "listBountiesVerifiedPost",
        "summary": "Verified GitHub bounty feed (competing PRs, CI, repro)",
        "security": [],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "description": "One record id, e.g. paraloom-core#1329",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "uncontested",
            "in": "query",
            "required": false,
            "description": "1 = only issues with zero competing PRs",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "min_reward",
            "in": "query",
            "required": false,
            "description": "Minimum reward_usdc, e.g. 100",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "severity",
            "in": "query",
            "required": false,
            "description": "Low, Medium, High or Critical",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Max items to return, 1-50",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "One record id"
                  },
                  "uncontested": {
                    "type": "string",
                    "description": "1 = zero competing PRs"
                  },
                  "min_reward": {
                    "type": "string",
                    "description": "Minimum reward_usdc"
                  },
                  "severity": {
                    "type": "string",
                    "description": "Low, Medium, High or Critical"
                  },
                  "limit": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 50,
                    "description": "Max items"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Verified bounty feed result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true,
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "venue": {
                        "type": "string"
                      },
                      "repo": {
                        "type": "string"
                      },
                      "number": {
                        "type": "integer"
                      },
                      "title": {
                        "type": "string"
                      },
                      "url": {
                        "type": "string"
                      },
                      "severity": {
                        "type": "string"
                      },
                      "reward_usdc": {
                        "type": "number"
                      },
                      "reward_source": {
                        "type": "string"
                      },
                      "age_seconds_since_open": {
                        "type": "integer"
                      },
                      "opened_at": {
                        "type": "string"
                      },
                      "competing_prs": {
                        "type": "integer"
                      },
                      "competing_pr_urls": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "ci_status": {
                        "type": "string"
                      },
                      "repro_command": {
                        "type": "string"
                      },
                      "repro_source": {
                        "type": "string"
                      },
                      "rail": {
                        "type": "string"
                      },
                      "escrow_verified": {
                        "type": "boolean"
                      },
                      "escrow_note": {
                        "type": "string"
                      },
                      "has_repro": {
                        "type": "boolean"
                      },
                      "has_stack_trace": {
                        "type": "boolean"
                      },
                      "has_fix_hint": {
                        "type": "boolean"
                      },
                      "excerpt": {
                        "type": "string"
                      },
                      "ts": {
                        "type": "string"
                      },
                      "failing_assertion": {
                        "type": "string"
                      },
                      "target_files": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "stack_excerpt": {
                        "type": "string"
                      },
                      "claimed_in_comments": {
                        "type": "boolean"
                      },
                      "claim_evidence": {
                        "type": "object"
                      },
                      "org": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "id",
                      "title",
                      "url"
                    ]
                  }
                }
              }
            }
          },
          "402": {
            "description": "Payment required"
          },
          "404": {
            "description": "Unknown id"
          }
        },
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.01"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        }
      }
    },
    "/api/triage": {
      "get": {
        "operationId": "listTriage",
        "summary": "Bounty triage scoring",
        "security": [],
        "parameters": [],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "alerts": {
                    "type": "array",
                    "description": "Raw fixer-board alerts"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Bounty triage scoring result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "402": {
            "description": "Payment required"
          }
        },
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.01"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        }
      },
      "post": {
        "operationId": "listTriagePost",
        "summary": "Bounty triage scoring",
        "security": [],
        "parameters": [],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "alerts": {
                    "type": "array",
                    "description": "Raw fixer-board alerts"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Bounty triage scoring result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "402": {
            "description": "Payment required"
          }
        },
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.01"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        }
      }
    },
    "/api/solana": {
      "get": {
        "operationId": "listSolana",
        "summary": "Solana transfer verification",
        "security": [],
        "parameters": [
          {
            "name": "signature",
            "in": "query",
            "required": false,
            "description": "Solana transaction signature",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "signature": {
                    "type": "string",
                    "description": "Solana transaction signature"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Solana transfer verification result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "402": {
            "description": "Payment required"
          }
        },
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.01"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        }
      },
      "post": {
        "operationId": "listSolanaPost",
        "summary": "Solana transfer verification",
        "security": [],
        "parameters": [
          {
            "name": "signature",
            "in": "query",
            "required": false,
            "description": "Solana transaction signature",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "signature": {
                    "type": "string",
                    "description": "Solana transaction signature"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Solana transfer verification result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "402": {
            "description": "Payment required"
          }
        },
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.01"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        }
      }
    },
    "/api/minis": {
      "get": {
        "operationId": "listMinis",
        "summary": "Aggregated mini-bounty board",
        "security": [],
        "parameters": [
          {
            "name": "venue",
            "in": "query",
            "required": false,
            "description": "opentask, frantic, or nonsynthetic",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "min_reward",
            "in": "query",
            "required": false,
            "description": "Minimum reward_usdc",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Max items",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Mini-bounty board result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array"
                }
              }
            }
          },
          "402": {
            "description": "Payment required"
          }
        },
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.01"
          },
          "protocols": [
            {
              "x402": {}
            }
          ]
        },
        "description": " First 10 rows free via ?limit=10 (no payment)."
      },
      "post": {
        "operationId": "listMinisPost",
        "summary": "Aggregated mini-bounty board",
        "security": [],
        "responses": {
          "200": {
            "description": "Mini-bounty board result"
          },
          "402": {
            "description": "Payment required"
          }
        }
      }
    },
    "/data/sample.json": {
      "get": {
        "summary": "Free sample outputs (static, no payment)",
        "description": "Redacted example outputs for triage/solana/minis. Static file, no x402 payment required.",
        "responses": {
          "200": {
            "description": "Example payloads"
          }
        }
      }
    }
  },
  "x-discovery": {
    "ownershipProofs": [
      "0x9592d926920D99758fD3394c88f35959af6aD888"
    ]
  }
}