← The evidence ledger
Evidence row 118468
Observed , by baseline/1.
- Kind
- listing
- About
- source_record x402_bazaar:https://perp-gap-api.perpgap.workers.dev/funding
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 31130c4e8e1180d2ca69d5254c5ef9f8f460c7d7004aa25df3b2249f87cd9f3c
- Leaf
- 0xf867ac48181534d03d249adce21ab67e762b6e69e9a4a7687ee75fe71f0acd3c
What was observed
{
"endpoints": [
[
"x402",
"https://perp-gap-api.perpgap.workers.dev/funding"
]
],
"name": "Perp Gap API",
"owner_address": "0x2d82dcb9cc3a168d9ab25b62c1e33e278a51254f",
"raw": {
"accepts": [
{
"amount": "20000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 120,
"network": "eip155:8453",
"payTo": "0x2d82dcB9cC3a168d9Ab25b62C1E33E278A51254F",
"scheme": "exact"
},
{
"amount": "20000",
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "D6ZhtNQ5nT9ZnTHUbqXZsTx5MH2rPFiBBggX4hY1WePM"
},
"maxTimeoutSeconds": 120,
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"payTo": "5MoL8HNnvZUogGrqiF4T1StmAUpdU7ERA2GUJ7gLrEja",
"scheme": "exact"
}
],
"description": "Use when an agent must pick the cheapest venue to hold a stock perp or size funding carry. Funding on trade.xyz, Aster, Lighter and OKX normalized to hourly and annualized APR, interval and next funding time, cheapest venue to be long or short, carry spread, optional 24h/7d/30d history; one ticker or tickers=all. Bad params return 400/404 before any charge. Errors: 400, 402, 404, 502. Data, not advice.",
"extensions": {
"bazaar": {
"info": {
"input": {
"method": "GET",
"queryParams": {
"history": "7d",
"ticker": "NVDA"
},
"type": "http"
},
"output": {
"example": {
"as_of": "2026-10-22T21:41:01.561Z",
"history": {
"hourly_apr_pct": {
"aster": [
[
"2026-10-16T00:00Z"
]
],
"hyperliquid-xyz": [
[
"2026-10-15T22:00Z"
]
],
"lighter": [
[
"2026-10-15T22:00Z"
]
],
"okx": [
[
"2026-10-16T00:00Z"
]
]
},
"mean_apr_pct": {
"aster": 3.43,
"hyperliquid-xyz": 5.25,
"lighter": 5.41,
"okx": 4.03
},
"note": "Aster and OKX settle every interval_h hours (8h for most stock perps); their points are per settlement, annualized.",
"points": {
"aster": 21,
"hyperliquid-xyz": 168,
"lighter": 168,
"okx": 21
},
"window": "7d"
},
"sign": "positive = longs pay shorts; apr_pct = hourly rate x 8760 x 100",
"summary": {
"carry_trade": "long aster / short hyperliquid-xyz collects ~5.48% APR in funding at current rates (before fees, basis and weekend risk)",
"cheapest_long": "aster",
"cheapest_short": "hyperliquid-xyz",
"max_spread_apr_pct": 5.48
},
"ticker": "NVDA",
"us_session": "after-hours",
"venues": {
"aster": {
"apr_pct": 0,
"hourly": 0,
"interval_h": 8,
"next_funding": "2026-10-23T00:00:00.000Z",
"rate": 0,
"symbol": "NVDAUSDT"
},
"hyperliquid-xyz": {
"apr_pct": 5.48,
"hourly": 0.00000625,
"interval_h": 1,
"next_funding": "2026-10-22T22:00:00.000Z",
"rate": 0.00000625,
"symbol": "xyz:NVDA"
},
"lighter": {
"apr_pct": 3.5,
"hourly": 0.000004,
"interval_h": 1,
"market_id": 110,
"rate": 0.000004,
"symbol": "NVDA"
},
"okx": {
"apr_pct": 0,
"hourly": 0,
"interval_h": 8,
"next_funding": "2026-10-23T00:00:00.000Z",
"rate": 0,
"symbol": "NVDA-USDT-SWAP"
}
}
},
"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": {
"history": {
"description": "Optional history window (single ticker).",
"enum": [
"24h",
"7d",
"30d"
],
"type": "string"
},
"min_spread_apr": {
"description": "Board only: minimum venue APR spread in pp.",
"pattern": "^[0-9.]+$",
"type": "string"
},
"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: 'all' for the full board.",
"enum": [
"all"
],
"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"
},
"history": {
"type": "object"
},
"sign": {
"type": "string"
},
"summary": {
"type": "object"
},
"ticker": {
"type": "string"
},
"us_session": {
"type": "string"
},
"venues": {
"type": "object"
}
},
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
},
"lastUpdated": "2026-10-22T21:53:06.268Z",
"quality": {
"l30DaysTotalCalls": 2,
"l30DaysUniquePayers": 1,
"lastCalledAt": "2026-10-22T21:53:05.918Z"
},
"resource": "https://perp-gap-api.perpgap.workers.dev/funding",
"serviceName": "Perp Gap API",
"tags": [
"Trading",
"Data",
"funding-rates",
"perps",
"stocks"
],
"type": "http",
"x402Version": 2
},
"source": "x402_bazaar",
"summary": "Use when an agent must pick the cheapest venue to hold a stock perp or size funding carry. Funding on trade.xyz, Aster, Lighter and OKX normalized to hourly and annualized APR, interval and next funding time, cheapest venue to be long or short, carry spread, optional 24h/7d/30d history; one ticker or tickers=all. Bad params return 400/404 before any charge. Errors: 400, 402, 404, 502. Data, not advice."
}What the leaf hashes
{"body":"31130c4e8e1180d2ca69d5254c5ef9f8f460c7d7004aa25df3b2249f87cd9f3c","id":118468,"kind":"listing","method":"baseline/1","observed_us":1793025613083573,"prev":null,"subject":"x402_bazaar:https://perp-gap-api.perpgap.workers.dev/funding","subject_kind":"source_record"}Proof
Its day has not closed yet. A day closes ten minutes after midnight UTC; the proof appears here then.