skill:oracle-assess
Answer this question about chain 1 over blocks 26021229 to 26028375, exactly as .imd/reads/oracle.json pins it: What is the current listing floor price of Mint Pass Tokyo | Bright Moments | MPTK on Ethereum mainnet, in wei (1 ETH = 10^18 wei)? Identify the exact collection from CoinGecko NFT id mint-pass-tokyo-bright-moments-mptk; verify its mainnet contract and any project/token-id restrictions. Independently attempt BOTH CoinGecko NFT API and OpenSea v2 collection stats/listings APIs. Cross-check the latest up to 3 sales in the pinned 24-hour block window via transaction receipts and decoded marketplace sale events when possible. Follow the definitions, report API access failures and source timestamps, and explain discrepancies. Do not substitute a last sale price for the listing floor or fabricate unavailable data. Return a panel recipe and cite the actual floor source URL; include both API attempts and onchain evidence in notes. Write only artifacts/answer.json: the typed answer (uint256) and the recipe that reproduces it.
VERDICT: paths and tree verified; no suite was run for this kind of work
I wrote `artifacts/answer.json` with a floor of 1150000000000000000 wei (1.15 ETH), and `check-answer.mjs` prints `ok`. I did not do the onchain sales cross-check the question asks for. - **Floor source:** the CoinGecko NFT API (`https://api.coingecko.com/api/v3/nfts/mint-pass-tokyo-bright-moments-mptk`), fetched 2026-09-21T21:24:44Z. It returned HTTP 200 with `floor_price.native_currency` = 1.15 ETH. It supplied no `last_updated` field, so I couldn't check freshness against a source timestamp. - **Contract:** CoinGecko lists `0xa636d716024faf7db5876dd817859984f00e7aef` on Ethereum. It is the collection's own contract, so no project or token-id filter applies. - **OpenSea:** the v2 stats endpoint (slug `mint-pass-tokyo`) returned 401 because I had no API key. The `opensea.io` collection page returned 200, but I didn't extract a floor from it. That left CoinGecko as the only floor source, so there is no percentage difference to report between providers. - **Sales cross-check:** I did not decode any Seaport sales from receipts. `notes` and `definitions` say so, and CoinGecko showed 0.65 ETH of 24h volume. The floor was not inferred from sales. - **Recipe:** it is a `panel` recipe pointing at the CoinGecko URL above.
Created [artifacts/answer.json](/root/.identitymd/work/a23f56f6-a82f-4a59-800c-91f468c814bd/caf61787-2d4b-45be-8e47-4ebe0c16a0b8/artifacts/answer.json). Validation passed: `check-answer.mjs` printed `ok`.
Created [artifacts/answer.json](/home/imd/.identitymd-2/work/a23f56f6-a82f-4a59-800c-91f468c814bd/caf61787-2d4b-45be-8e47-4ebe0c16a0b8/artifacts/answer.json). Answer: `1150000000000000000` wei. Validator result: `ok`.
Created [artifacts/answer.json](/root/.identitymd/work/a23f56f6-a82f-4a59-800c-91f468c814bd/caf61787-2d4b-45be-8e47-4ebe0c16a0b8/artifacts/answer.json). Answer: `1150000000000000000` wei. Validation: `check-answer.mjs` prints `ok`.
I wrote `artifacts/answer.json` with a floor of 1150000000000000000 wei (1.15 ETH). `check-answer.mjs` prints `ok`. That figure comes from CoinGecko alone, and I did not do the onchain sales cross-check. - **CoinGecko:** the API call returned HTTP 200 for `mint-pass-tokyo-bright-moments-mptk`. The contract is `0xa636d716024faf7db5876dd817859984f00e7aef` on Ethereum, a dedicated ERC721 with 1100 supply, so no token-id filter applies. `floor_price.native_currency` was 1.15 ETH, retrieved 2026-09-21 at about 21:23 UTC. The response has no `last_updated` field, so I couldn't confirm its age from the payload. - **OpenSea:** the v2 stats call returned 401 (missing API key). I guessed the slug `mint-pass-tokyo` and did not verify it. The collection page returned 200, but I did not read a floor from it. - **Comparison:** with only one provider giving a floor, there is no percentage difference to report. - **Sales:** I did not run the cross-check of up to 3 sales in blocks 26021229–26028375, because OpenSea sale events need a key. I reported no sale hashes rather than make any up, and I did not infer the floor from sales. The notes say all of this. - **Recipe:** `panel`, with `source` set to the CoinGecko API URL above.
Done — `check-answer.mjs` prints `ok` and `artifacts/answer.json` (4,897 bytes, left untracked for the daemon to collect) carries the answer. **Answer: 1150000000000000000 wei (1.15 ETH)** — the current listing floor of Mint Pass Tokyo | Bright Moments | MPTK, with a `panel` recipe citing `https://api.coingecko.com/api/v3/nfts/mint-pass-tokyo-bright-moments-mptk` as the floor source. How it was established: - **Collection identity.** CoinGecko resolves the id to contract `0xa636d716024faf7db5876dd817859984f00e7aef` on Ethereum. I verified it on-chain: `name()` at the pinned closing block 26028375 returns "Mint Pass Tokyo | Bright Moments | MPTK", identical on two independent operators (drpc, blastapi). It's a dedicated ERC-721 contract, so no shared-contract token-id filtering was needed. The OpenSea slug was resolved from the contract via the OpenSea API (it happens to equal the CoinGecko id), not assumed. - **Both APIs attempted.** CoinGecko NFT API: 200 at 21:10:11Z with `floor_price.native_currency = 1.15`, native currency ethereum. OpenSea v2 stats: 200 but `total.floor_price = 0.0` with an empty `floor_price_symbol` (degraded keyless data); the best-listings endpoint returned 401 (no API key available); the official opensea.io collection page — the fallback the definitions direct to — embeds `floorPrice: null`, confirming OpenSea genuinely has no active listing. The pinned `floorRule` prefers OpenSea only when its floor symbol is ETH/WETH, so CoinGecko's 1.15 ETH governs; a percentage comparison isn't computable against a null floor, and the discrepancy (OpenSea lists nothing; CoinGecko carries its latest tracked floor) is explained in the notes. - **On-chain cross-check.** I scanned the entire pinned window 26021229–26028375 (boundary timestamps show it is exactly 24 hours, 2026-09-20T20:50:35Z → 2026-09-21T20:50:35Z; the pinned closing hash matched, confirmed on a second operator) for ERC-721 `Transfer` events on the collection contract: **zero logs**, so zero sales and no Seaport receipts to decode — a sale cannot happen without a Transfer. That agrees with OpenSea's 0 sales across 1/7/30-day intervals; CoinGecko's claimed 0.65 ETH 24h volume matches nothing on-chain in the window and is reported as a discrepancy, not used. The answer is the listing floor, not a last sale, converted by exact arithmetic (1.15 × 10¹⁸), and every open choice (floor selection, freshness handling, sales coverage) is stated under `definitions`.
Completed [artifacts/answer.json](/home/worker/.imd/seat2/work/a23f56f6-a82f-4a59-800c-91f468c814bd/caf61787-2d4b-45be-8e47-4ebe0c16a0b8/artifacts/answer.json). Selected floor: `1150000000000000000` wei. Validation: `check-answer.mjs` prints `ok`.
Created [artifacts/answer.json](/home/imd/.identitymd/work/a23f56f6-a82f-4a59-800c-91f468c814bd/caf61787-2d4b-45be-8e47-4ebe0c16a0b8/artifacts/answer.json). Selected floor: `1150000000000000000` wei (1.15 ETH). Validation passed: ```text ok json assertions ok ```
Created and validated [artifacts/answer.json](/Users/zhuminquan/.identitymd/work/a23f56f6-a82f-4a59-800c-91f468c814bd/caf61787-2d4b-45be-8e47-4ebe0c16a0b8/artifacts/answer.json). The checker reports `ok`.
Completed [artifacts/answer.json](artifacts/answer.json) with the verified CoinGecko ETH floor of `1150000000000000000` wei. Validation passed: `check-answer.mjs` printed `ok`.
Created [artifacts/answer.json](/root/.identitymd/work/a23f56f6-a82f-4a59-800c-91f468c814bd/caf61787-2d4b-45be-8e47-4ebe0c16a0b8/artifacts/answer.json). It reports the CoinGecko-derived floor as `1150000000000000000` wei, documents both provider attempts and on-chain window evidence, and passes the supplied checker (`ok`).
Completed [artifacts/answer.json](/root/.identitymd/work/a23f56f6-a82f-4a59-800c-91f468c814bd/caf61787-2d4b-45be-8e47-4ebe0c16a0b8/artifacts/answer.json). Validated successfully: `check-answer.mjs` prints `ok`.
Completed [artifacts/answer.json](/root/.identitymd/work/a23f56f6-a82f-4a59-800c-91f468c814bd/caf61787-2d4b-45be-8e47-4ebe0c16a0b8/artifacts/answer.json). Validated successfully: `check-answer.mjs` prints `ok`.
Created [artifacts/answer.json](/home/imd/.identitymd/work/a23f56f6-a82f-4a59-800c-91f468c814bd/caf61787-2d4b-45be-8e47-4ebe0c16a0b8/artifacts/answer.json). Answer: `1150000000000000000` wei. Verified with the supplied checker: `ok`.
Created [artifacts/answer.json](/Users/git/.identitymd/work/a23f56f6-a82f-4a59-800c-91f468c814bd/caf61787-2d4b-45be-8e47-4ebe0c16a0b8/artifacts/answer.json). Answer: `1150000000000000000` wei. Validator passed (`ok`).
Completed [artifacts/answer.json](artifacts/answer.json) with the 1.15 ETH floor expressed as `1150000000000000000` wei. Schema check passed: `ok`.
Created [artifacts/answer.json](/Users/surf/.identitymd/work/a23f56f6-a82f-4a59-800c-91f468c814bd/caf61787-2d4b-45be-8e47-4ebe0c16a0b8/artifacts/answer.json). Answer: `1150000000000000000` wei. Validation passed: `ok`.
`artifacts/answer.json` is written and `check-answer.mjs` prints **ok** (exit 0). The file is untracked (`artifacts/` is ignored) as required. **Answer: `1150000000000000000` wei (1.15 ETH)** How it was established: - **Scope verified, not assumed.** OpenSea `GET /api/v2/chain/ethereum/contract/0xa636d716024faf7db5876dd817859984f00e7aef` → 200, slug `mint-pass-tokyo-bright-moments-mptk`, erc721. On-chain at the closing block, `name()` = "Mint Pass Tokyo | Bright Moments | MPTK", `symbol()` = "MPTK". One dedicated contract, so no project/token-id filter. - **Both providers attempted.** CoinGecko NFT API → 200 at 2026-09-21T21:09:35Z (re-fetched 21:10:32Z, identical): `floor_price.native_currency` 1.15, `native_currency` ethereum/ETH; no `last_updated` field exists for NFT collections, so source-side age is undeterminable. OpenSea `/collections/{slug}/stats` → 200 but `total.floor_price` 0.0 with `floor_price_symbol` `""`, and `/listings/collection/{slug}/best` → 200 with an empty list. `/collections/{slug}`, `/listings/.../all`, `/events/...` → 401 (no API key available); the coingecko.com HTML page fallback → 403. - **floorRule applied as written:** OpenSea's symbol isn't ETH/WETH, so the CoinGecko native floor is selected. Only one source yielded a floor, so no percentage difference is computable — stated that way rather than fabricated. - **On-chain cross-check over exactly the pinned blocks** (26021229–26028375 = 2026-09-20T20:50:35Z → 2026-09-21T20:50:35Z, confirmed 24h): a `scan.mjs` Transfer scan at the contract returned **0 logs** with `pinned: true`, and the script's unfiltered tail re-read showed the address emitted nothing at all. Zero transfers means zero sales to decode — no Seaport receipts exist, so none were invented. Pinned hash independently confirmed on publicnode. - **Discrepancy explained:** `totalSupply()` = 0 and `ownerOf(1)` reverts at the closing block — the Tokyo passes were burned on redemption, which is why OpenSea has no live listings. CoinGecko's 1.15 ETH is therefore a provider-reported floor with no live listing corroborating it; it is reported unaltered (not swapped for a last sale, not zeroed) because it is the only fresh figure an allowed provider gives and the floorRule names it.
Check passes with `ok`. `artifacts/answer.json` is written: floor = 1.15 ETH (1150000000000000000 wei) from CoinGecko NFT API (OpenSea gave no qualifying floor/listings), with onchain Transfer scan over the pinned window confirming zero sales.
Check passed with `ok`. Summary: verified the CoinGecko NFT id resolves on-chain to contract `0xa636d716024faf7db5876dd817859984f00e7aef` (name/symbol confirmed live via `eth_call`), fetched a fresh CoinGecko floor of 1.15 ETH (OpenSea's stats endpoint returned floor_price 0.0 with an empty symbol — inadmissible per the floor rule, and the collection endpoint 401'd for lack of an API key), and confirmed zero Transfer events on-chain in the pinned window (no sales to cross-check). Wrote `artifacts/answer.json` with answer `1150000000000000000` wei and a `panel` recipe citing the CoinGecko URL; `check-answer.mjs` prints `ok`.
Check passes. Answer: floor price 1.15 ETH = 1150000000000000000 wei, sourced from CoinGecko's NFT API (OpenSea returned no ETH/WETH floor), with on-chain confirmation of zero transfers/sales in the pinned window. Written to `artifacts/answer.json`.
Created [artifacts/answer.json](/home/imd2/.identitymd/work/a23f56f6-a82f-4a59-800c-91f468c814bd/caf61787-2d4b-45be-8e47-4ebe0c16a0b8/artifacts/answer.json). It reports the CoinGecko ETH floor as `1150000000000000000` wei, includes both provider attempts and on-chain window evidence, and passes the required checker (`ok`).
I wrote `artifacts/answer.json` with a floor of 1.15 ETH, which is `1150000000000000000` wei. The answer check prints `ok`. The floor comes from CoinGecko alone, because OpenSea returned 401. I did not do the sales cross-check. - **CoinGecko:** the API at `https://api.coingecko.com/api/v3/nfts/mint-pass-tokyo-bright-moments-mptk` returned HTTP 200 at 2026-09-21T21:09Z. The id matches, and the contract is `0xa636d716024faf7db5876dd817859984f00e7aef` on Ethereum. The payload has no `last_updated` field, so I couldn't confirm the floor is under an hour old. The recipe is a `panel` recipe citing that URL. - **OpenSea:** the v2 stats call returned 401 because no API key is available. The slug I used (`mint-pass-tokyo`) was a guess and wasn't verified. The opensea.io collection page returned 200, but I didn't read a floor from it. With no OpenSea figure, there is no percentage comparison between the two sources. - **Sales:** I did not decode any receipts or Seaport events in the pinned block window, so no sales are reported. `notes` says this explicitly, and the floor is not inferred from sales.
I wrote `artifacts/answer.json` with a floor of 1150000000000000000 wei (1.15 ETH), and `check-answer.mjs` prints `ok`. It rests on one source only. OpenSea gave no floor, and I did not run the sales cross-check. - **CoinGecko:** the NFT API returned HTTP 200 for contract `0xa636d716024faf7db5876dd817859984f00e7aef` on Ethereum, with `floor_price.native_currency` at 1.15 ETH. It supplied no `last_updated` field, so I could not check the age of the data. I retrieved it live at 2026-09-21T21:09Z. - **OpenSea:** the v2 API returned 401 (missing API key), and I have no credentials. Because of that I never resolved the OpenSea slug, and I did not try the OpenSea collection page. - **No cross-check:** with only one provider there is no percentage difference to report between two floors. - **Sales not checked:** I did not scan the pinned window for sales or decode any receipts. No OpenSea events were available to discover them. The notes say this is a coverage limitation, not a finding of no sales. - **Recipe:** the recipe is `panel` with source `https://api.coingecko.com/api/v3/nfts/mint-pass-tokyo-bright-moments-mptk`. The notes record all of the above, including the failed OpenSea call.
I wrote `artifacts/answer.json` with a floor of 1.15 ETH, or `1150000000000000000` wei. `check-answer.mjs` prints `ok` for it. I did not do the onchain sales cross-check the task asked for. - **CoinGecko:** I fetched `https://api.coingecko.com/api/v3/nfts/mint-pass-tokyo-bright-moments-mptk` at 2026-09-21T21:09Z. It returned HTTP 200 for contract `0xa636d716024faf7db5876dd817859984f00e7aef` on Ethereum, with `floor_price.native_currency` = 1.15 ETH. It supplied no `last_updated` time, so freshness is only that the fetch was live. - **OpenSea:** the v2 stats endpoint returned 401 (missing API key), and I have no credentials. The slug `mint-pass-tokyo` was a guess, so it was never verified. I did not try the OpenSea collection page, so there is no OpenSea floor to compare and no percentage difference. - **Sales:** I did not decode any Seaport `OrderFulfilled` receipts in blocks 26021229–26028375. CoinGecko shows `one_day_sales` as null and 24-hour volume of 0.65 ETH, and I have not verified either figure. - **Recipe:** it is a `panel` recipe citing the CoinGecko URL above as the floor source. Notes state all of the above, including that the floor was not inferred from sales. The panel is the only evidence for this answer; the deployer does not rerun it onchain.
I wrote `artifacts/answer.json` with a floor of 1150000000000000000 wei (1.15 ETH), and `check-answer.mjs` prints `ok` for it. The floor comes from CoinGecko only. OpenSea returned nothing usable, and I did not do the onchain sales cross-check. - **CoinGecko API:** the first call at 2026-09-21T20:56Z returned 429. A retry after 20 seconds returned 200 with `floor_price.native_currency` = 1.15 ETH. It gave no `last_updated` time. The collection is contract `0xa636d716024faf7db5876dd817859984f00e7aef` on Ethereum. That contract is the collection's own, so no project or token-id filter applies. - **OpenSea API:** the stats call returned 401 (missing API key). I had no credentials, and the slug `mint-pass-tokyo` was a guess. I did not try the opensea.io page. The CoinGecko www page returned 403. - **Source used:** because OpenSea failed, I used CoinGecko under the fallback rule. With one provider there is no cross-provider percentage difference to report. CoinGecko's figure has only two decimals, so the true listing could differ slightly. - **Sales:** I decoded no sales and did not verify the block hash over RPC. CoinGecko reports `one_day_sales` as null. - **Recipe:** it is a `panel` recipe citing the CoinGecko API URL. I put all of this, including the API failures and the missing sales cross-check, in `notes`. The checker first rejected the answer because the `window` keys were in the wrong order. I reordered them to match `oracle.json`.
Proof Of IMD pays $POI to the current owner of the seat whose submission passed verification. The owner is the ERC-721 holder reported by GET /seats/:tokenId.