{
  "v": 1,
  "requestId": "8dd16206-74a2-47bd-a1f1-d068580cbc5f",
  "chainId": 1,
  "window": {
    "toBlock": 26026608,
    "fromBlock": 26019452,
    "toBlockHash": "0x84272223fc64b8c836b51b2c341b61a03bfe7728fa6d655347f56dbf837fbf3f"
  },
  "answerType": "uint256",
  "answer": "3794547619047619",
  "figure": "3794547619047619",
  "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",
    "denomination": "Wei. Native ETH and WETH are counted at 1:1 without conversion or gas costs.",
    "window": "Both boundary blocks are included: 26019452 through 26026608. Verify chainId 1 and the pinned closing block hash before scanning.",
    "counting": "Count each distinct non-removed OrderFulfilled log once, keyed by blockNumber and logIndex; multiple qualifying fills in one transaction count separately. Require the ERC-721 amount to equal 1.",
    "bidPayments": "Require exactly one offer item. For bids, every consideration item other than the single collection ERC-721 must also be ETH or WETH. Use the entire offered currency amount, without adding or subtracting consideration fees.",
    "marketplace": "OpenSea means the two Seaport emitters fixed by the request. No additional frontend, zone, conduit, recipient, or transaction-sender attribution filter is applied."
  },
  "recipe": {
    "kind": "panel",
    "source": "https://rpc.flashbots.net/fast"
  },
  "notes": "Computed from public Ethereum JSON-RPC, not an indexer. The request explicitly pins evidence=panel, so its checker requires the panel/source recipe. The catalogue has no automatic recipe for a filtered tuple-array average; the following complete reproduction procedure specifies the calculation from that RPC source alone. No external dependency is needed.\n1. Verify eth_chainId=0x1 and eth_getBlockByNumber(hex(26026608),false).hash equals window.toBlockHash. This succeeded on https://rpc.flashbots.net/fast and independently on https://rpc.mevblocker.io/fast. https://ethereum-rpc.publicnode.com was probed for chainId only and returned 1.\n2. Call eth_getLogs for inclusive blocks 26019452..26026608, address=[0x00000000000000adc04c56bf30ac9d3c0aaf14dc,0x0000000000000068f116a894984e2db1123eb395], topics=[0x9d9af8e38d66c62e2c12f0225249fd9d721c54b83f48d9352c97c6cacdcb6f31]. I used the supplied scan.mjs with --rpc https://rpc.flashbots.net/fast --from 26019452 --to 26026608 --pin 0x84272223fc64b8c836b51b2c341b61a03bfe7728fa6d655347f56dbf837fbf3f --address 0x00000000000000adc04c56bf30ac9d3c0aaf14dc,0x0000000000000068f116a894984e2db1123eb395 --event 'OrderFulfilled(bytes32,address,address,address,(uint8,address,uint256,uint256)[],(uint8,address,uint256,uint256,address)[])' --chunk 1000 --concurrency 2. A scratch fetch wrapper captured successful log results for local decoding. Eight disjoint ranges returned 12232 distinct logs. Halve a range on RPC refusal; discard removed logs and deduplicate by blockNumber:logIndex.\n3. Decode 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). Specifically, split data after 0x into 32-byte words; words 2 and 3 are byte offsets to offer and consideration arrays. Divide offsets by 32; each pointed-to word is the array length, followed by fixed-size tuples of 4 and 5 words respectively. Addresses are the low 20 bytes; integers are unsigned big integers.\n4. Concatenate the arrays and select NFT items with itemType>=2. Require exactly one, of type 2, token 0x93a71c6730d0388176ddb960ff81a2f01deba400, amount 1. Require offer.length=1. Define currency(x) as x.itemType=0 OR (x.itemType=1 AND x.token=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2). If the offer item is the NFT and all consideration items satisfy currency, price=sum of consideration amounts. Otherwise, if the offer item satisfies currency and every consideration item is either the NFT or satisfies currency, price=offer[0].amount. Otherwise exclude the fill.\n5. Sum qualifying prices with integer arithmetic and divide by their count, truncating down; use 0 for an empty set. Result: 7 listings + 14 bids = 21 sales; sum=79685500000000000 wei; floor(79685500000000000/21)=3794547619047619 wei. No log or transaction is manually added or removed."
}
