← The evidence ledger
Evidence row 451928
Observed , by sync.x402_bazaar/1.
- Kind
- listing
- About
- source_record x402_bazaar:https://perp-gap-api.perpgap.workers.dev/quote
- Recorded
- Previous row
- #118473
- Body SHA-256
- 995266df51d3df22277659c0ad6e971d52cce8a9bee40fea33edfcc9a4ced6b4
- Leaf
- 0x497eefa05032f52b5fc025b3474926228b363ba680afc304142819b254cebf01
What was observed
{
"endpoints": [
[
"x402",
"https://perp-gap-api.perpgap.workers.dev/quote"
]
],
"name": "Perp Gap API",
"owner_address": "0x2d82dcb9cc3a168d9ab25b62c1e33e278a51254f",
"raw": {
"accepts": [
{
"amount": "10000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 120,
"network": "eip155:8453",
"payTo": "0x2d82dcB9cC3a168d9Ab25b62C1E33E278A51254F",
"scheme": "exact"
},
{
"amount": "10000",
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "D6ZhtNQ5nT9ZnTHUbqXZsTx5MH2rPFiBBggX4hY1WePM"
},
"maxTimeoutSeconds": 120,
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"payTo": "5MoL8HNnvZUogGrqiF4T1StmAUpdU7ERA2GUJ7gLrEja",
"scheme": "exact"
}
],
"description": "Use when an agent needs the best live price for a stock across venues before trading. For 1-10 tickers: perp mark and mid on trade.xyz (Hyperliquid), Aster, Lighter and OKX, xStocks and Ondo token prices per share, last US close, the session reference price, gap % vs it, cross-venue spread, best bid/ask and freshness. Unpaid calls get 402; bad or unknown tickers get 400/404 before any charge. Errors: 400, 402, 404, 502. Data, not advice.",
"extensions": {
"bazaar": {
"info": {
"input": {
"method": "GET",
"queryParams": {
"ticker": "NVDA"
},
"type": "http"
},
"output": {
"example": {
"as_of": "2026-10-22T21:41:01.558Z",
"last_close": {
"date": "2026-10-22",
"price": 212.21,
"ref_vs_close_pct": 0.316,
"source": "yahoo"
},
"perps": {
"aster": {
"ask": 213.19,
"bid": 213.17,
"index": 213.1046,
"mark": 213.1046,
"mid": 213.18,
"symbol": "NVDAUSDT"
},
"hyperliquid-xyz": {
"ask": 212.85,
"bid": 212.837,
"mark": 212.86,
"mid": 212.845,
"oracle": 212.89,
"symbol": "xyz:NVDA"
},
"lighter": {
"ask": 212.993,
"bid": 212.972,
"mark": 212.981,
"market_id": 110,
"mid": 212.9825,
"symbol": "NVDA"
},
"okx": {
"ask": 213.17,
"bid": 213.16,
"last": 213.17,
"mark": 213.16,
"mid": 213.165,
"symbol": "NVDA-USDT-SWAP"
}
},
"reference": {
"age_s": 14,
"kind": "after-hours_last",
"price": 212.88,
"source": "robinhood",
"ts": 1792705247
},
"sources": [
"hyperliquid"
],
"summary": {
"best_ask": {
"px": 212.85,
"venue": "hyperliquid-xyz"
},
"best_bid": {
"px": 213.17,
"venue": "aster"
},
"cheapest": "hyperliquid-xyz",
"consensus_mid": 212.9413,
"consensus_vs_ref_pct": 0.029,
"cross_venue_arb_bps": 15,
"perp_mark_spread_pct": 0.141,
"richest": "okx",
"venues_quoted": 6
},
"ticker": "NVDA",
"tokens": {
"ondo-gm": {
"multiplier": 1.0017152487959895,
"per_share": 212.9,
"price": 213.2652,
"status": "postmarket",
"symbol": "NVDAon",
"underlying_price": 212.837895
},
"xstocks-solana": {
"liquidity_usd": 2852537,
"mint": "Xsc9qvGR1efVDFGLrVsmkzv3qi45LTBjeUKSPmx9qEh",
"multiplier": 1.0009180758490996,
"per_share": 212.3166,
"price": 212.3166,
"symbol": "NVDAx"
}
},
"us_session": "after-hours"
},
"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": {
"ticker": {
"description": "Stock ticker, case-insensitive (free list: GET /catalog).",
"examples": [
"NVDA"
],
"pattern": "^[A-Za-z0-9.]{1,12}$",
"type": "string"
},
"tickers": {
"description": "Optional alternative to ticker: up to 10 comma-separated tickers.",
"examples": [
"NVDA,TSLA"
],
"pattern": "^[A-Za-z0-9.,]{1,130}$",
"type": "string"
}
},
"required": [
"ticker"
],
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"description": "Error responses are JSON {error: string, hint?: string}. 400 bad params (never charged); 402 payment required; 404 ticker/market not listed (checked before settlement, never charged); 502 upstream error. Full field docs: /openapi.json.",
"properties": {
"as_of": {
"type": "string"
},
"last_close": {
"type": "object"
},
"perps": {
"type": "object"
},
"reference": {
"type": "object"
},
"sources": {
"type": "array"
},
"summary": {
"type": "object"
},
"ticker": {
"type": "string"
},
"tokens": {
"type": "object"
},
"us_session": {
"type": "string"
}
},
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
},
"lastUpdated": "2026-10-27T10:11:11.77Z",
"quality": {
"l30DaysTotalCalls": 3,
"l30DaysUniquePayers": 2,
"lastCalledAt": "2026-10-23T07:13:39.683Z"
},
"resource": "https://perp-gap-api.perpgap.workers.dev/quote",
"serviceName": "Perp Gap API",
"tags": [
"Trading",
"Data",
"stocks",
"perps",
"tokenized-stocks"
],
"type": "http",
"x402Version": 2
},
"source": "x402_bazaar",
"summary": "Use when an agent needs the best live price for a stock across venues before trading. For 1-10 tickers: perp mark and mid on trade.xyz (Hyperliquid), Aster, Lighter and OKX, xStocks and Ondo token prices per share, last US close, the session reference price, gap % vs it, cross-venue spread, best bid/ask and freshness. Unpaid calls get 402; bad or unknown tickers get 400/404 before any charge. Errors: 400, 402, 404, 502. Data, not advice."
}What the leaf hashes
{"body":"995266df51d3df22277659c0ad6e971d52cce8a9bee40fea33edfcc9a4ced6b4","id":451928,"kind":"listing","method":"sync.x402_bazaar/1","observed_us":1793100515767152,"prev":118473,"subject":"x402_bazaar:https://perp-gap-api.perpgap.workers.dev/quote","subject_kind":"source_record"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (273461 rows).
- 0x497ee2cb2a9b657b14584ab9d1e38b8fbc3e6950557854dca15af1fd5fc65bfa
- 0xfd5a072b55db029a428f5b160d6949e51dc093fd1e724c1e425443c5069fe512
- 0x20f3670b6dbfec7e293486a393e1f2c62d741b8c2065f8b96abe47e701a17d75
- 0x2c1da93c8629e0612279591d5ecf8828742cef18d77d5d15e9ec50d1890fbecc
- 0x256c1aad48e2ab750af432e90b5a139c45751ded595222639c0ff731c306a40e
- 0xf6b42ab6fba74eac1c4c953ceb1a42a7772d69fc6cff5142fd43522dda5664ff
- 0xadfed9ec06a26e304055f8dbed2bfea99b36404387c6a948f3b9df19e49d33dd
- 0x9be1707995e4d3504262a5f7af28a3b33ef132fbc3b9c534feacf5c744753d0b
- 0xc35903fbd81144ca0e95f31bfd45af448a14a9f676edcf4efc228b2f08c35b72
- 0xa1f401b0c1aa499980430f67810c758c114bb9ec037661630bfa5ea89a4ed860
- 0xf38b609ad597fce93b27c195650b896689a01ed74ab6b03ca25db0fce3815293
- 0xa6ea35fd4950cdcd8e7e5b8dcbb37883deca6fa621672fcdbde7ee38017f71bb
- 0x150dc531eedad3837a4be47dd0bf1a84bf98feb63216c125982425fda525a3fd
- 0x80ede9e5d428e39db26928b1d08254ff1241f1d7e091fd2e57130fbb4423162b
- 0x2c117b27721eea45f6590fbccb471d21a7b0b079a53f089ecb300c63bdb3aebf
- 0x3ed50f053eca72dfd3a9d45a11935240bfe691e57835c367ddebe2cbc49efe9d
- 0x0e01aa9525097570a6edaf32bfc959de57bf5c24317cf10c0716affea85ca60d
- 0xa20d48798a34aba12eb9c7297722982d910f06c148f5e27ac59307422964a585
- 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
- Day root
- 0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
- Chained
- 0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
- Published
- On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4