{
  "v": 1,
  "requestId": "9523d237-3248-4076-8dd0-e910ff897c10",
  "chainId": 1,
  "window": {
    "toBlock": 26026608,
    "fromBlock": 26019452,
    "toBlockHash": "0x84272223fc64b8c836b51b2c341b61a03bfe7728fa6d655347f56dbf837fbf3f"
  },
  "answerType": "uint256",
  "answer": "11996174999642857",
  "figure": "11996174999642857",
  "definitions": {
    "sale": "an OrderFulfilled event emitted by Seaport 1.5 (0x00000000000000adc04c56bf30ac9d3c0aaf14dc) or Seaport 1.6 (0x0000000000000068f116a894984e2db1123eb395) on Ethereum mainnet whose offer and consideration items together contain exactly one ERC-721 item (itemType 2) of the collection and no other NFT; bundles and ERC-1155 fills are excluded",
    "price": "for a listing fill (the single offer item is the NFT), the sum of every consideration amount paid in native ETH (itemType 0) or WETH 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 (itemType 1), fees included, and only if every consideration item is ETH or WETH; for a bid fill (the single offer item is ETH or WETH), the offer amount; fills paid in any other token are excluded",
    "source": "the chain itself: eth_getLogs for the OrderFulfilled topic on both Seaport contracts over exactly the pinned blocks, decoded with the Seaport ABI",
    "average": "the arithmetic mean, rounded down to an integer number of wei, of the price of every qualifying sale in the pinned block window; 0 only if there was no qualifying sale",
    "collection": "0x0b024b3d4ad38bff1acd303cd308d2c49c936e0a",
    "denomination": "Integer wei; native ETH and WETH amounts are combined at 1:1, without exchange-rate conversion or gas costs.",
    "window": "Both endpoints are inclusive: blocks 26019452 through 26026608. Use block numbers, not a separate timestamp filter.",
    "counting": "Count each qualifying OrderFulfilled log once, including repeat sales of the same token. Discard removed logs and deduplicate by blockNumber and logIndex. Require the ERC-721 amount to equal 1 and exactly one offer item.",
    "bidConsideration": "For bids, consideration must contain the sole qualifying collection NFT and otherwise only ETH or WETH. The gross offer amount includes fees; do not add consideration fees again.",
    "marketplace": "OpenSea means the two specified Seaport emitters, with no additional filtering by zone, recipient, order origin, or transaction sender.",
    "nftExclusion": "Any itemType >= 2 is treated as an NFT for exclusion; the only such item allowed is the single itemType 2 collection ERC-721."
  },
  "recipe": {
    "kind": "panel",
    "source": "https://rpc.flashbots.net/fast"
  },
  "notes": "Computed from https://rpc.flashbots.net/fast using eth_chainId, eth_getBlockByNumber and eth_getLogs. Chain 1 and the closing hash matched the request; independently confirmed chain and closing hash on https://rpc.mevblocker.io/fast. Four inclusive, disjoint log ranges: 26019452-26021451, 26021452-26023451, 26023452-26025451, 26025452-26026608. Retrieved 12232 unique nonremoved OrderFulfilled logs from both emitters. Qualifying sales: 28 (12 listings, 16 bids). Sum of gross prices: 335892899990000000 wei. Integer division by 28 gives 11996174999642857 wei, remainder 4. A separate Python decoder over the fetched logs independently matched count, sum and average.\nReproduction: verify eth_chainId=0x1 and eth_getBlockByNumber(window.toBlock,false).hash=window.toBlockHash. Fetch eth_getLogs across the entire inclusive window with address=[0x00000000000000adc04c56bf30ac9d3c0aaf14dc,0x0000000000000068f116a894984e2db1123eb395] and topics=[0x9d9af8e38d66c62e2c12f0225249fd9d721c54b83f48d9352c97c6cacdcb6f31]. Split into disjoint ranges and halve refused ranges; discard removed logs and deduplicate by blockNumber:logIndex.\nABI: event OrderFulfilled(bytes32 orderHash,address indexed offerer,address indexed zone,address recipient,(uint8 itemType,address token,uint256 identifier,uint256 amount)[] offer,(uint8 itemType,address token,uint256 identifier,uint256 amount,address recipient)[] consideration). Canonical signature: OrderFulfilled(bytes32,address,address,address,(uint8,address,uint256,uint256)[],(uint8,address,uint256,uint256,address)[]).\nDecode data as 32-byte ABI words. Words 0 and 1 are orderHash and recipient; words 2 and 3 are byte offsets from the start of data to offer and consideration. At each offset, the first word is array length, followed by static tuples of four words for offer and five for consideration. Each tuple begins itemType, token, identifier, amount; consideration adds recipient. Across both arrays require exactly one item with itemType>=2, and require it to be itemType=2, token=collection, amount=1. Require offer length=1. Currency predicate: itemType=0 OR (itemType=1 AND token=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2). For a listing require the offer item to be the NFT and every consideration item to satisfy the currency predicate; price=sum(consideration.amount). For a bid require the offer item to satisfy the currency predicate and every consideration item to be the NFT or satisfy that predicate; price=offer[0].amount. Exclude other fills. Add prices using arbitrary-precision integers and divide by qualifying log count, rounding down (zero if count is zero).\nUsed the supplied scan.mjs scanner in a scratch copy with this dynamic-array decoder added; its RPC chunking, hash verification and deduplication were retained. The brief specifies evidence=panel and the catalogue requires kind=panel; source names the public RPC. The catalogue has no executable Seaport-average kind, so the full reproducible RPC procedure is provided here and in definitions."
}
