addrbookFor publishers
← The evidence ledger

Evidence row 118472

Observed , by baseline/1.

Kind
listing
About
source_record x402_bazaar:https://perp-gap-api.perpgap.workers.dev/pm/scan
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
24bbbd55adc2e02f0ae8031d1b212d80ccfe74fcf9c81182276e0dcf9ae8a457
Leaf
0xcd93ced5f963ad4952d372925517c9fc7bc99dee41f669bd8f960c923c0ed697

What was observed

{
  "endpoints": [
    [
      "x402",
      "https://perp-gap-api.perpgap.workers.dev/pm/scan"
    ]
  ],
  "name": "Perp Gap API",
  "owner_address": "0x2d82dcb9cc3a168d9ab25b62c1e33e278a51254f",
  "raw": {
    "accepts": [
      {
        "amount": "50000",
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "maxTimeoutSeconds": 120,
        "network": "eip155:8453",
        "payTo": "0x2d82dcB9cC3a168d9Ab25b62C1E33E278A51254F",
        "scheme": "exact"
      },
      {
        "amount": "50000",
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "feePayer": "D6ZhtNQ5nT9ZnTHUbqXZsTx5MH2rPFiBBggX4hY1WePM"
        },
        "maxTimeoutSeconds": 120,
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "payTo": "5MoL8HNnvZUogGrqiF4T1StmAUpdU7ERA2GUJ7gLrEja",
        "scheme": "exact"
      }
    ],
    "description": "Use when an agent wants a ranked list of the most mispriced liquid prediction markets on Hyperliquid right now, across all crypto and tokenized-stock binary price markets, in one call. Each row has model probability vs bid/ask, edge in pp, spread, depth and book age; empty and illiquid books are filtered out. For scanners, trading agents and daily briefings. Errors: 400 bad params, 404 no books (free, never charged), 402, 502. Data, not advice.",
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "method": "GET",
            "queryParams": {
              "max_spread_pp": "10",
              "min_edge_pp": "2"
            },
            "type": "http"
          },
          "output": {
            "example": {
              "cache_updated_iso": "2026-10-17T13:10:56Z",
              "count": 1,
              "disclaimer": "Data, not financial advice. Not an offer or solicitation; Hyperliquid outcome markets are not available to US or other excluded persons.",
              "filtered_out_empty_books": 73,
              "filtered_out_illiquid": 27,
              "filters": {
                "kind": "all",
                "limit": 20,
                "max_spread_pp": 12,
                "min_depth_usd": 50,
                "min_edge_pp": 2
              },
              "generated_at_iso": "2026-10-17T13:11:39Z",
              "label": "data, not advice",
              "matched": 1,
              "median_book_age_s": 77,
              "method": "P(S_T > K) under a lognormal model with zero drift, S = live Hyperliquid perp mid, sigma = 7-day realized vol from Hyperliquid 1h candles (annualized x sqrt(8760)). No options data. Edges use executable bid/ask, never mid.",
              "rows": [
                {
                  "ask": 0.3658,
                  "ask_size": 186,
                  "asset": "SP500",
                  "best_edge_pp": 4.3,
                  "bid": 0.2534,
                  "bid_size": 180,
                  "book_age_s": 55,
                  "book_ts": "2026-10-17T13:10:43Z",
                  "depth_usd": {
                    "ask": 175.07,
                    "bid": 107.23,
                    "levels": 5,
                    "window_pp": 5
                  },
                  "edge_vs_ask_pp": -15.6,
                  "edge_vs_bid_pp": 4.3,
                  "expiry": "2026-10-23T20:00:00Z",
                  "hours_to_expiry": 150.81,
                  "kind": "stocks",
                  "liquid": true,
                  "mid": 0.3096,
                  "model_prob": 0.2102,
                  "outcome": 13371,
                  "perp": "xyz:SP500",
                  "question": "SP500 above 7740 at 2026-10-23 20:00:00 UTC",
                  "realized_vol_7d": 0.1073,
                  "settlement": {
                    "side": "Yes pays 1 USDC if the price is above the strike at expiry",
                    "source": "the Pyth US500 index price",
                    "window_seconds": 90
                  },
                  "signal": "yes_overpriced",
                  "spot_mid": 7653.45,
                  "spread_pp": 11.2,
                  "strike": 7740
                }
              ],
              "scanned": 110,
              "source": "Hyperliquid info API (outcomeMeta, l2Book, allMids, candleSnapshot)",
              "spot_live": true
            },
            "type": "json"
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "additionalProperties": false,
              "properties": {
                "method": {
                  "enum": [
                    "GET"
                  ],
                  "type": "string"
                },
                "queryParams": {
                  "additionalProperties": false,
                  "properties": {
                    "kind": {
                      "default": "all",
                      "description": "Optional: crypto (BTC, ETH, HYPE, ZEC), stocks (trade.xyz stock, index and commodity perps) or all.",
                      "enum": [
                        "crypto",
                        "stocks",
                        "all"
                      ],
                      "examples": [
                        "all"
                      ],
                      "type": "string"
                    },
                    "limit": {
                      "default": "20",
                      "description": "Optional max rows, 1-50. Default 20.",
                      "examples": [
                        "10"
                      ],
                      "pattern": "^\\d{1,2}$",
                      "type": "string"
                    },
                    "max_spread_pp": {
                      "default": "10",
                      "description": "Optional maximum bid-ask spread in percentage points. Default 10.",
                      "examples": [
                        "10"
                      ],
                      "pattern": "^\\d+(\\.\\d+)?$",
                      "type": "string"
                    },
                    "min_depth_usd": {
                      "default": "50",
                      "description": "Optional minimum USDC depth within 5 pp of the touch on BOTH sides. Default 50.",
                      "examples": [
                        "100"
                      ],
                      "pattern": "^\\d+(\\.\\d+)?$",
                      "type": "string"
                    },
                    "min_edge_pp": {
                      "default": "2",
                      "description": "Optional minimum edge in percentage points (model vs executable bid/ask). Default 2.",
                      "examples": [
                        "3"
                      ],
                      "pattern": "^-?\\d+(\\.\\d+)?$",
                      "type": "string"
                    }
                  },
                  "required": [],
                  "type": "object"
                },
                "type": {
                  "const": "http",
                  "type": "string"
                }
              },
              "required": [
                "type",
                "method"
              ],
              "type": "object"
            },
            "output": {
              "properties": {
                "example": {
                  "description": "Error responses are JSON {error: string}: 400 bad min_edge_pp / max_spread_pp / min_depth_usd / limit / kind (free); 404 order-book cache empty (free, never charged); 402 payment required; 502 upstream error.",
                  "properties": {
                    "cache_updated_iso": {
                      "type": "string"
                    },
                    "closest": {
                      "description": "Only when rows is empty: the 3 liquid markets closest to min_edge_pp",
                      "items": {
                        "properties": {
                          "ask": {
                            "description": "Best Yes ask (probability, 0-1)",
                            "type": "number"
                          },
                          "ask_size": {
                            "type": "number"
                          },
                          "asset": {
                            "type": "string"
                          },
                          "best_edge_pp": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "bid": {
                            "description": "Best Yes bid (probability, 0-1)",
                            "type": "number"
                          },
                          "bid_size": {
                            "type": "number"
                          },
                          "book_age_s": {
                            "type": "integer"
                          },
                          "book_ts": {
                            "format": "date-time",
                            "type": "string"
                          },
                          "depth_usd": {
                            "description": "USDC notional resting within window_pp of the touch, top 5 levels",
                            "properties": {
                              "ask": {
                                "type": "number"
                              },
                              "bid": {
                                "type": "number"
                              },
                              "levels": {
                                "type": "integer"
                              },
                              "window_pp": {
                                "type": "number"
                              }
                            },
                            "type": "object"
                          },
                          "edge_vs_ask_pp": {
                            "description": "(model_prob - ask) x 100: > 0 means you could buy Yes below model value",
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "edge_vs_bid_pp": {
                            "description": "(bid - model_prob) x 100: > 0 means you could sell Yes above model value",
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "expiry": {
                            "format": "date-time",
                            "type": "string"
                          },
                          "hours_to_expiry": {
                            "type": "number"
                          },
                          "kind": {
                            "enum": [
                              "crypto",
                              "stocks"
                            ],
                            "type": "string"
                          },
                          "liquid": {
                            "description": "spread <= 10 pp (scan: max_spread_pp) and >= $50 depth on both sides (scan: min_depth_usd)",
                            "type": "boolean"
                          },
                          "mid": {
                            "type": "number"
                          },
                          "model_prob": {
                            "description": "Model P(price > strike at expiry), 0-1",
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "outcome": {
                            "description": "Hyperliquid outcome id (Yes token = coin #<id>0)",
                            "type": "integer"
                          },
                          "perp": {
                            "description": "Underlying Hyperliquid perp, e.g. BTC or xyz:META",
                            "type": "string"
                          },
                          "question": {
                            "type": "string"
                          },
                          "realized_vol_7d": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "settlement": {
                            "properties": {
                              "side": {
                                "type": "string"
                              },
                              "source": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "window_seconds": {
                                "type": [
                                  "number",
                                  "null"
                                ]
                              }
                            },
                            "type": "object"
                          },
                          "signal": {
                            "enum": [
                              "yes_underpriced",
                              "yes_overpriced",
                              "fair",
                              "illiquid",
                              "no_model"
                            ],
                            "type": "string"
                          },
                          "spot_mid": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "spread_pp": {
                            "type": "number"
                          },
                          "strike": {
                            "type": "number"
                          }
                        },
                        "required": [
                          "outcome",
                          "asset",
                          "strike",
                          "expiry",
                          "bid",
                          "ask",
                          "depth_usd",
                          "liquid"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "disclaimer": {
                      "type": "string"
                    },
                    "filtered_out_empty_books": {
                      "type": "integer"
                    },
                    "filtered_out_illiquid": {
                      "type": "integer"
                    },
                    "filters": {
                      "type": "object"
                    },
                    "generated_at_iso": {
                      "format": "date-time",
                      "type": "string"
                    },
                    "label": {
                      "const": "data, not advice",
                      "type": "string"
                    },
                    "matched": {
                      "type": "integer"
                    },
                    "median_book_age_s": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "method": {
                      "type": "string"
                    },
                    "note": {
                      "type": "string"
                    },
                    "rows": {
                      "items": {
                        "properties": {
                          "ask": {
                            "description": "Best Yes ask (probability, 0-1)",
                            "type": "number"
                          },
                          "ask_size": {
                            "type": "number"
                          },
                          "asset": {
                            "type": "string"
                          },
                          "best_edge_pp": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "bid": {
                            "description": "Best Yes bid (probability, 0-1)",
                            "type": "number"
                          },
                          "bid_size": {
                            "type": "number"
                          },
                          "book_age_s": {
                            "type": "integer"
                          },
                          "book_ts": {
                            "format": "date-time",
                            "type": "string"
                          },
                          "depth_usd": {
                            "description": "USDC notional resting within window_pp of the touch, top 5 levels",
                            "properties": {
                              "ask": {
                                "type": "number"
                              },
                              "bid": {
                                "type": "number"
                              },
                              "levels": {
                                "type": "integer"
                              },
                              "window_pp": {
                                "type": "number"
                              }
                            },
                            "type": "object"
                          },
                          "edge_vs_ask_pp": {
                            "description": "(model_prob - ask) x 100: > 0 means you could buy Yes below model value",
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "edge_vs_bid_pp": {
                            "description": "(bid - model_prob) x 100: > 0 means you could sell Yes above model value",
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "expiry": {
                            "format": "date-time",
                            "type": "string"
                          },
                          "hours_to_expiry": {
                            "type": "number"
                          },
                          "kind": {
                            "enum": [
                              "crypto",
                              "stocks"
                            ],
                            "type": "string"
                          },
                          "liquid": {
                            "description": "spread <= 10 pp (scan: max_spread_pp) and >= $50 depth on both sides (scan: min_depth_usd)",
                            "type": "boolean"
                          },
                          "mid": {
                            "type": "number"
                          },
                          "model_prob": {
                            "description": "Model P(price > strike at expiry), 0-1",
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "outcome": {
                            "description": "Hyperliquid outcome id (Yes token = coin #<id>0)",
                            "type": "integer"
                          },
                          "perp": {
                            "description": "Underlying Hyperliquid perp, e.g. BTC or xyz:META",
                            "type": "string"
                          },
                          "question": {
                            "type": "string"
                          },
                          "realized_vol_7d": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "settlement": {
                            "properties": {
                              "side": {
                                "type": "string"
                              },
                              "source": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "window_seconds": {
                                "type": [
                                  "number",
                                  "null"
                                ]
                              }
                            },
                            "type": "object"
                          },
                          "signal": {
                            "enum": [
                              "yes_underpriced",
                              "yes_overpriced",
                              "fair",
                              "illiquid",
                              "no_model"
                            ],
                            "type": "string"
                          },
                          "spot_mid": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "spread_pp": {
                            "type": "number"
                          },
                          "strike": {
                            "type": "number"
                          }
                        },
                        "required": [
                          "outcome",
                          "asset",
                          "strike",
                          "expiry",
                          "bid",
                          "ask",
                          "depth_usd",
                          "liquid"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "scanned": {
                      "type": "integer"
                    },
                    "source": {
                      "type": "string"
                    },
                    "spot_live": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "rows",
                    "scanned",
                    "label",
                    "disclaimer"
                  ],
                  "type": "object"
                },
                "type": {
                  "type": "string"
                }
              },
              "required": [
                "type"
              ],
              "type": "object"
            }
          },
          "required": [
            "input"
          ],
          "type": "object"
        }
      }
    },
    "lastUpdated": "2026-10-17T13:17:59.802Z",
    "quality": {
      "l30DaysTotalCalls": 1,
      "l30DaysUniquePayers": 1,
      "lastCalledAt": "2026-10-17T13:17:59.417Z"
    },
    "resource": "https://perp-gap-api.perpgap.workers.dev/pm/scan",
    "serviceName": "Perp Gap API",
    "tags": [
      "Trading",
      "Data",
      "Prediction Markets",
      "Signals",
      "prediction-market-scanner"
    ],
    "type": "http",
    "x402Version": 2
  },
  "source": "x402_bazaar",
  "summary": "Use when an agent wants a ranked list of the most mispriced liquid prediction markets on Hyperliquid right now, across all crypto and tokenized-stock binary price markets, in one call. Each row has model probability vs bid/ask, edge in pp, spread, depth and book age; empty and illiquid books are filtered out. For scanners, trading agents and daily briefings. Errors: 400 bad params, 404 no books (free, never charged), 402, 502. Data, not advice."
}

What the leaf hashes

{"body":"24bbbd55adc2e02f0ae8031d1b212d80ccfe74fcf9c81182276e0dcf9ae8a457","id":118472,"kind":"listing","method":"baseline/1","observed_us":1793025613090317,"prev":null,"subject":"x402_bazaar:https://perp-gap-api.perpgap.workers.dev/pm/scan","subject_kind":"source_record"}

Proof

Its day has not closed yet. A day closes ten minutes after midnight UTC; the proof appears here then.

How to check it · This row as JSON