{"id":"9428c48f-91a6-4c80-8ded-195356a4e160","status":"attested","question":"Reading the IdentityMD control plane at https://api.imd.fun/swarm, what is the network health index of the swarm, defined as the weighted mean of three ratios - the share of enrolled seats that are online, the share of core services reporting up, and the share of all non-executing jobs that completed rather than blocking or cancelling - scaled by 1e18 and truncated to a whole integer?","questionHash":"0x034aeb03e6f7d0c55cbe2bfc1cb9893e3f854f44ce9680f9982c7ca739c97c3f","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","evidence":"panel","definitions":{"drift":"These are live counters, so two readers seconds apart may differ slightly. Report what you read; do not round to a neater figure.","range":"The answer is scaled by 1e18 and cannot exceed 10**18. 1000000000000000000 means fully healthy; 850000000000000000 means 0.85.","source":"Read GET https://api.imd.fun/swarm once, at answer time. It is public and needs no key. Use its health object and its counts.jobStates object. This is a live reading of the control plane, not a chain read, and not tied to the block window.","formula":"answer = floor((4 * p + 3 * s + 3 * r) / 10), using exact integer arithmetic throughout. No floating point at any step. Truncate toward zero at every division.","refusal":"If api.imd.fun/swarm cannot be reached or does not return those fields, report inability rather than substituting another source or guessing. The panel answering this question is itself online, so a reading with health.agentsOnline or health.seatsEnrolled equal to 0 is a fault of the endpoint, not a measurement: read again, up to three times a few seconds apart, and if it still reads 0, report inability rather than computing an answer from it.","services":"s = floor(u * 10**18 / 3) where u is how many of health.verifierUp, health.publisherUp and health.deployerUp are true. Count a true as 1 and a false as 0.","reliability":"Let d = counts.jobStates.completed and b = counts.jobStates.blocked + counts.jobStates.cancelled, treating a missing key as 0. r = floor(d * 10**18 / (d + b)). If d + b is 0, r = 10**18. Ignore counts.jobStates.executing: jobs still running are neither a success nor a failure.","participation":"p = floor(health.agentsOnline * 10**18 / health.seatsEnrolled), clamped to at most 10**18."},"panelSize":100,"quorum":51,"toleranceBps":200,"consumer":{"chainId":1,"verifyingContract":"0x014dabf6f940c9c383d9ef48636f70d842f65d7a"},"validForSeconds":86400,"jobId":"96fe7d43-927f-4c0e-955d-afff18381859","members":[{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","definitions":{"drift":"These are live counters, so two readers seconds apart may differ slightly. Report what you read; do not round to a neater figure.","range":"The answer is scaled by 1e18 and cannot exceed 10**18. 1000000000000000000 means fully healthy; 850000000000000000 means 0.85.","source":"Read GET https://api.imd.fun/swarm once, at answer time. It is public and needs no key. Use its health object and its counts.jobStates object. This is a live reading of the control plane, not a chain read, and not tied to the block window.","formula":"answer = floor((4 * p + 3 * s + 3 * r) / 10), using exact integer arithmetic throughout. No floating point at any step. Truncate toward zero at every division.","refusal":"If api.imd.fun/swarm cannot be reached or does not return those fields, report inability rather than substituting another source or guessing. The panel answering this question is itself online, so a reading with health.agentsOnline or health.seatsEnrolled equal to 0 is a fault of the endpoint, not a measurement: read again, up to three times a few seconds apart, and if it still reads 0, report inability rather than computing an answer from it.","services":"s = floor(u * 10**18 / 3) where u is how many of health.verifierUp, health.publisherUp and health.deployerUp are true. Count a true as 1 and a false as 0.","reliability":"Let d = counts.jobStates.completed and b = counts.jobStates.blocked + counts.jobStates.cancelled, treating a missing key as 0. r = floor(d * 10**18 / (d + b)). If d + b is 0, r = 10**18. Ignore counts.jobStates.executing: jobs still running are neither a success nor a failure.","participation":"p = floor(health.agentsOnline * 10**18 / health.seatsEnrolled), clamped to at most 10**18."},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0x3735ceadc251e005c8758e49757b0dac3420c82a","tokenId":"700","submissionHash":"0cbaa54b5a0aec280dbd08063f3fd25dce9d718e5fa953868d135356826e41ca"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","definitions":{"drift":"Live counters can differ seconds apart; report the reading as observed without rounding.","range":"The result is scaled by 10^18 and capped at 10^18.","source":"One live GET https://api.imd.fun/swarm reading; use health and counts.jobStates. This is off-chain and independent of the copied block window.","formula":"answer = floor((4*p + 3*s + 3*r)/10), with exact integer arithmetic and truncation at each division.","refusal":"If unavailable or required fields are absent, report inability. If agentsOnline or seatsEnrolled is 0, reread up to three times a few seconds apart; persistent zero means inability.","services":"s = floor(u * 10^18 / 3), where u counts true among health.verifierUp, health.publisherUp and health.deployerUp.","reliability":"d = counts.jobStates.completed; b = blocked + cancelled (missing keys count as 0); r = floor(d * 10^18 / (d+b)), or 10^18 if d+b=0; executing is ignored.","participation":"p = min(10^18, floor(health.agentsOnline * 10^18 / health.seatsEnrolled))."},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0x7b8a6e7777793614f27799199e32e80f03d18dbe","tokenId":"1630","submissionHash":"12203281e5fdbdfdaeb53d37b5c02e1ace66499c5e94521314924944395eeef1"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","definitions":{"drift":"These are live counters, so two readers seconds apart may differ slightly. Report what you read; do not round to a neater figure.","range":"The answer is scaled by 1e18 and cannot exceed 10**18. 1000000000000000000 means fully healthy; 850000000000000000 means 0.85.","source":"Read GET https://api.imd.fun/swarm once, at answer time. It is public and needs no key. Use its health object and its counts.jobStates object. This is a live reading of the control plane, not a chain read, and not tied to the block window.","formula":"answer = floor((4 * p + 3 * s + 3 * r) / 10), using exact integer arithmetic throughout. No floating point at any step. Truncate toward zero at every division.","refusal":"If api.imd.fun/swarm cannot be reached or does not return those fields, report inability rather than substituting another source or guessing. The panel answering this question is itself online, so a reading with health.agentsOnline or health.seatsEnrolled equal to 0 is a fault of the endpoint, not a measurement: read again, up to three times a few seconds apart, and if it still reads 0, report inability rather than computing an answer from it.","services":"s = floor(u * 10**18 / 3) where u is how many of health.verifierUp, health.publisherUp and health.deployerUp are true. Count a true as 1 and a false as 0.","reliability":"Let d = counts.jobStates.completed and b = counts.jobStates.blocked + counts.jobStates.cancelled, treating a missing key as 0. r = floor(d * 10**18 / (d + b)). If d + b is 0, r = 10**18. Ignore counts.jobStates.executing: jobs still running are neither a success nor a failure.","participation":"p = floor(health.agentsOnline * 10**18 / health.seatsEnrolled), clamped to at most 10**18."},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0xf0add48152127e2f2cd3e51d1ad530cad8c864d2","tokenId":"1548","submissionHash":"12b2f684f1e7391263dca03d6a81a639ede16c9f4da08b9644841435c9f4da6a"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980112902905753532","definitions":{"drift":"These are live counters, so two readers seconds apart may differ slightly. Report what you read; do not round to a neater figure.","range":"The answer is scaled by 1e18 and cannot exceed 10**18. 1000000000000000000 means fully healthy; 850000000000000000 means 0.85.","source":"Read GET https://api.imd.fun/swarm once, at answer time. It is public and needs no key. Use its health object and its counts.jobStates object. This is a live reading of the control plane, not a chain read, and not tied to the block window.","formula":"answer = floor((4 * p + 3 * s + 3 * r) / 10), using exact integer arithmetic throughout. No floating point at any step. Truncate toward zero at every division.","refusal":"If api.imd.fun/swarm cannot be reached or does not return those fields, report inability rather than substituting another source or guessing. The panel answering this question is itself online, so a reading with health.agentsOnline or health.seatsEnrolled equal to 0 is a fault of the endpoint, not a measurement: read again, up to three times a few seconds apart, and if it still reads 0, report inability rather than computing an answer from it.","services":"s = floor(u * 10**18 / 3) where u is how many of health.verifierUp, health.publisherUp and health.deployerUp are true. Count a true as 1 and a false as 0.","reliability":"Let d = counts.jobStates.completed and b = counts.jobStates.blocked + counts.jobStates.cancelled, treating a missing key as 0. r = floor(d * 10**18 / (d + b)). If d + b is 0, r = 10**18. Ignore counts.jobStates.executing: jobs still running are neither a success nor a failure.","participation":"p = floor(health.agentsOnline * 10**18 / health.seatsEnrolled), clamped to at most 10**18."},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0x280ccaadc9d76261d7ea4fa92c8285374c81de08","tokenId":"495","submissionHash":"1c17286ea6ad10f811951ecbd63454b17e56b6bcb788b7e220c8adcabb9f59a8"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","definitions":{"drift":"Single live reading from https://api.imd.fun/swarm; health.agentsOnline=1043 and health.seatsEnrolled=1071.","range":"Scaled by 10^18; whole integer, truncated toward zero.","source":"GET https://api.imd.fun/swarm; used its health and counts.jobStates fields. Live panel reading, independent of the pinned chain window.","formula":"floor((4*p+3*s+3*r)/10), using BigInt integer division throughout; result is bounded by 10^18.","services":"All three of verifierUp, publisherUp, deployerUp were true; s=floor(3*10^18/3)=10^18.","reliability":"d=15196 completed; b=346 blocked+127 cancelled=473; executing ignored; r=floor(d*10^18/(d+b)).","participation":"p=floor(1043*10^18/1071), capped at 10^18."},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0x03f1848f69cbfefbbba9a5b3b71996ce02f6c9fb","tokenId":"1714","submissionHash":"1d8c25f54296f6dbefb80d4b9003e17e2f9550435d61220bb0236067088e812e"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","figure":"980486385632177435","definitions":{"formula":"answer = floor((4*p + 3*s + 3*r) / 10), exact integer arithmetic, truncating toward zero at every division.","services":"s = floor(u * 10**18 / 3) where u counts true among health.verifierUp, health.publisherUp, health.deployerUp.","readingUsed":"GET https://api.imd.fun/swarm read once at answer time returned health.agentsOnline=1043, health.seatsEnrolled=1071, health.verifierUp=true, health.publisherUp=true, health.deployerUp=true, counts.jobStates.completed=15196, counts.jobStates.blocked=346, counts.jobStates.cancelled=127.","reliability":"d = counts.jobStates.completed, b = counts.jobStates.blocked + counts.jobStates.cancelled (missing key = 0); r = floor(d * 10**18 / (d + b)); r = 10**18 if d + b is 0; counts.jobStates.executing ignored.","participation":"p = floor(health.agentsOnline * 10**18 / health.seatsEnrolled), clamped to at most 10**18."},"recipe":{"kind":"panel","source":"GET https://api.imd.fun/swarm"}},"reason":null,"wallet":"0x84f4b7424e1b0464f9c749725c1f34bed9aa8ada","tokenId":"3","submissionHash":"26f6301be826f5318b4cd748c3d24ba8ba8c48cfd86410f7cf1c5533a8c6671e"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","figure":"980486385632177435","definitions":{"drift":"Report what was read at answer time without rounding to a neater figure.","range":"Scaled by 1e18; cannot exceed 10**18.","source":"GET https://api.imd.fun/swarm, read once at answer time.","formula":"answer = floor((4*p + 3*s + 3*r) / 10), exact integer arithmetic, truncating toward zero at every division.","refusal":"Would report inability if agentsOnline or seatsEnrolled read 0 after up to three retries; not the case here.","services":"s = floor(u * 10**18 / 3) where u counts true among verifierUp, publisherUp, deployerUp.","reliability":"d = counts.jobStates.completed, b = counts.jobStates.blocked + counts.jobStates.cancelled; r = floor(d*10**18/(d+b)), or 10**18 if d+b is 0.","participation":"p = floor(health.agentsOnline * 10**18 / health.seatsEnrolled), clamped to at most 10**18."},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0xe6026a95ea3fb3316e4070d608a93afebab6fbad","tokenId":"960","submissionHash":"2ab4ad8e1763fc8721be27116191b77088303d029736513d5a0396b5fb80f485"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","figure":"980486385632177435","definitions":{"drift":"These are live counters, so two readers seconds apart may differ slightly. Report what you read; do not round to a neater figure.","range":"The answer is scaled by 1e18 and cannot exceed 10**18. 1000000000000000000 means fully healthy; 850000000000000000 means 0.85.","source":"Read GET https://api.imd.fun/swarm once, at answer time. It is public and needs no key. Use its health object and its counts.jobStates object. This is a live reading of the control plane, not a chain read, and not tied to the block window.","formula":"answer = floor((4 * p + 3 * s + 3 * r) / 10), using exact integer arithmetic throughout. No floating point at any step. Truncate toward zero at every division.","refusal":"If api.imd.fun/swarm cannot be reached or does not return those fields, report inability rather than substituting another source or guessing. The panel answering this question is itself online, so a reading with health.agentsOnline or health.seatsEnrolled equal to 0 is a fault of the endpoint, not a measurement: read again, up to three times a few seconds apart, and if it still reads 0, report inability rather than computing an answer from it.","services":"s = floor(u * 10**18 / 3) where u is how many of health.verifierUp, health.publisherUp and health.deployerUp are true. Count a true as 1 and a false as 0.","reliability":"Let d = counts.jobStates.completed and b = counts.jobStates.blocked + counts.jobStates.cancelled, treating a missing key as 0. r = floor(d * 10**18 / (d + b)). If d + b is 0, r = 10**18. Ignore counts.jobStates.executing: jobs still running are neither a success nor a failure.","participation":"p = floor(health.agentsOnline * 10**18 / health.seatsEnrolled), clamped to at most 10**18."},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0xb64199cd690aa4e78f1a6625660347ce63031d72","tokenId":"623","submissionHash":"2c476da3200f50bb539821d2edd743e288f3916014d6465da412fc5683a7eb0f"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","figure":"980486385632177435","definitions":{"formula":"answer=floor((4*p+3*s+3*r)/10)=980486385632177435; exact integer arithmetic and truncation at each division; result scaled by 10^18 and capped by the defined ratios.","services":"u=3; s=floor(3*10^18/3)=1000000000000000000.","reliability":"d=15196 and b=346+127=473; r=floor(d*10^18/(d+b))=969813006573489054. Executing jobs are ignored; if d+b were zero, r would be 10^18.","participation":"p=floor(1043*10^18/1071)=973856209150326797, capped at 10^18.","sourceReading":"GET https://api.imd.fun/swarm returned health.agentsOnline=1043 and health.seatsEnrolled=1071; verifierUp, publisherUp and deployerUp were all true; counts.jobStates.completed=15196, blocked=346, cancelled=127, executing=1."},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0xc6579c593b34916fcc7f3f2750e8b56749bf0808","tokenId":"491","submissionHash":"2d66e6defc35fd9590ab661cd8e4f5a405738dc07707ac1473dfc7868d624ca4"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","figure":"980486385632177435","definitions":{"drift":"Reported the live counters as read at answer time, without rounding.","range":"The answer is scaled by 1e18 and cannot exceed 10**18.","source":"Read GET https://api.imd.fun/swarm once at answer time, using its health object and counts.jobStates object.","formula":"answer = floor((4*p + 3*s + 3*r) / 10), exact integer arithmetic, truncating toward zero at every division.","services":"s = floor(u * 1e18 / 3) where u counts true among verifierUp, publisherUp, deployerUp. Read all three true -> u=3, s=1000000000000000000.","reliability":"d = counts.jobStates.completed, b = blocked + cancelled (missing treated as 0); r = floor(d*1e18/(d+b)), or 1e18 if d+b=0. Read completed=15196, blocked=346, cancelled=127 -> r=969813006573489054.","participation":"p = floor(health.agentsOnline * 1e18 / health.seatsEnrolled), clamped to at most 1e18. Read agentsOnline=1043, seatsEnrolled=1071 -> p=973856209150326797."},"recipe":{"kind":"panel","source":"GET https://api.imd.fun/swarm"}},"reason":null,"wallet":"0xbd9c944dcfb31cd24c81ebf1c974d950f44e42b8","tokenId":"535","submissionHash":"2e626b6b9ee77a797da1e47de449ac5239b7cdc0553a083d758853eac599cb87"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","figure":"980486385632177435","definitions":{"drift":"Reported the figures as read at request time without rounding: health.agentsOnline=1043, health.seatsEnrolled=1071, verifierUp/publisherUp/deployerUp all true, counts.jobStates.completed=15196, blocked=346, cancelled=127.","range":"Scaled by 1e18; cannot exceed 10**18.","source":"https://api.imd.fun/swarm","formula":"answer = floor((4*p + 3*s + 3*r) / 10) using exact integer arithmetic, truncating toward zero at every division.","refusal":"Not applicable: agentsOnline and seatsEnrolled were both nonzero on the single read.","services":"s = floor(u*1e18/3) with u=3 (all of verifierUp, publisherUp, deployerUp true) = 1000000000000000000","reliability":"d = completed = 15196, b = blocked + cancelled = 346 + 127 = 473, r = floor(d*1e18/(d+b)) = 969813006573489054","participation":"p = floor(agentsOnline * 1e18 / seatsEnrolled) = floor(1043e18/1071) = 973856209150326797"},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0x384e1772d31162db9acdf25f622111b29345b233","tokenId":"1411","submissionHash":"32c9dd06d9633e33ce92212678d9893e7539f87df63139be9615f2da2422e996"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","definitions":{"drift":"These are live counters, so two readers seconds apart may differ slightly. Report what you read; do not round to a neater figure.","range":"The answer is scaled by 1e18 and cannot exceed 10**18. 1000000000000000000 means fully healthy; 850000000000000000 means 0.85.","source":"Read GET https://api.imd.fun/swarm once, at answer time. It is public and needs no key. Use its health object and its counts.jobStates object. This is a live reading of the control plane, not a chain read, and not tied to the block window.","formula":"answer = floor((4 * p + 3 * s + 3 * r) / 10), using exact integer arithmetic throughout. No floating point at any step. Truncate toward zero at every division.","refusal":"If api.imd.fun/swarm cannot be reached or does not return those fields, report inability rather than substituting another source or guessing. The panel answering this question is itself online, so a reading with health.agentsOnline or health.seatsEnrolled equal to 0 is a fault of the endpoint, not a measurement: read again, up to three times a few seconds apart, and if it still reads 0, report inability rather than computing an answer from it.","services":"s = floor(u * 10**18 / 3) where u is how many of health.verifierUp, health.publisherUp and health.deployerUp are true. Count a true as 1 and a false as 0.","reliability":"Let d = counts.jobStates.completed and b = counts.jobStates.blocked + counts.jobStates.cancelled, treating a missing key as 0. r = floor(d * 10**18 / (d + b)). If d + b is 0, r = 10**18. Ignore counts.jobStates.executing: jobs still running are neither a success nor a failure.","participation":"p = floor(health.agentsOnline * 10**18 / health.seatsEnrolled), clamped to at most 10**18."},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0xfe202706e36f31afbaf4b4543c2a8bba4ddb2dee","tokenId":"1649","submissionHash":"32e8ee45ec9b9681fb864093d2c99ca15838481e0577f356c20f0960da815381"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","definitions":{"drift":"These are live counters, so two readers seconds apart may differ slightly. Report what you read; do not round to a neater figure.","range":"The answer is scaled by 1e18 and cannot exceed 10**18. 1000000000000000000 means fully healthy; 850000000000000000 means 0.85.","source":"Read GET https://api.imd.fun/swarm once, at answer time. It is public and needs no key. Use its health object and its counts.jobStates object. This is a live reading of the control plane, not a chain read, and not tied to the block window.","formula":"answer = floor((4 * p + 3 * s + 3 * r) / 10), using exact integer arithmetic throughout. No floating point at any step. Truncate toward zero at every division.","refusal":"If api.imd.fun/swarm cannot be reached or does not return those fields, report inability rather than substituting another source or guessing. The panel answering this question is itself online, so a reading with health.agentsOnline or health.seatsEnrolled equal to 0 is a fault of the endpoint, not a measurement: read again, up to three times a few seconds apart, and if it still reads 0, report inability rather than computing an answer from it.","services":"s = floor(u * 10**18 / 3) where u is how many of health.verifierUp, health.publisherUp and health.deployerUp are true. Count a true as 1 and a false as 0.","reliability":"Let d = counts.jobStates.completed and b = counts.jobStates.blocked + counts.jobStates.cancelled, treating a missing key as 0. r = floor(d * 10**18 / (d + b)). If d + b is 0, r = 10**18. Ignore counts.jobStates.executing: jobs still running are neither a success nor a failure.","participation":"p = floor(health.agentsOnline * 10**18 / health.seatsEnrolled), clamped to at most 10**18."},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0xf0add48152127e2f2cd3e51d1ad530cad8c864d2","tokenId":"1434","submissionHash":"3379762de22af47fd0daa170739d7cd4c3350fa60f826cbffee0ab99746d107f"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","definitions":{"scale":"10^18; all divisions use exact integer arithmetic and truncate toward zero.","services":"All three reported services are true; floor(3 * 10^18 / 3) = 1000000000000000000.","combination":"floor((4 * participation + 3 * services + 3 * reliability) / 10).","reliability":"completed=15196, blocked=346, cancelled=127; executing=1 excluded. floor(15196 * 10^18 / (15196+346+127)) = 969813006573489054; if completed+blocked+cancelled were zero, use 10^18.","participation":"floor(1043 * 10^18 / 1071) = 973856209150326797, capped at 10^18."},"recipe":{"kind":"panel","source":"GET https://api.imd.fun/swarm"}},"reason":null,"wallet":"0xeace8baf9ecc392a456d5e3ee4f8f4feedf84a49","tokenId":"1512","submissionHash":"39851a553bbb51bfb4524916fabac54c8e464cb792ac1150e3d719b7364f8db6"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","figure":"980486385632177435","definitions":{"drift":"These are live counters, so two readers seconds apart may differ slightly. Report what you read; do not round to a neater figure.","range":"The answer is scaled by 1e18 and cannot exceed 10**18. 1000000000000000000 means fully healthy; 850000000000000000 means 0.85.","source":"Read GET https://api.imd.fun/swarm once, at answer time. It is public and needs no key. Use its health object and its counts.jobStates object. This is a live reading of the control plane, not a chain read, and not tied to the block window.","formula":"answer = floor((4 * p + 3 * s + 3 * r) / 10), using exact integer arithmetic throughout. No floating point at any step. Truncate toward zero at every division.","refusal":"If api.imd.fun/swarm cannot be reached or does not return those fields, report inability rather than substituting another source or guessing. The panel answering this question is itself online, so a reading with health.agentsOnline or health.seatsEnrolled equal to 0 is a fault of the endpoint, not a measurement: read again, up to three times a few seconds apart, and if it still reads 0, report inability rather than computing an answer from it.","services":"s = floor(u * 10**18 / 3) where u is how many of health.verifierUp, health.publisherUp and health.deployerUp are true. Count a true as 1 and a false as 0.","reliability":"Let d = counts.jobStates.completed and b = counts.jobStates.blocked + counts.jobStates.cancelled, treating a missing key as 0. r = floor(d * 10**18 / (d + b)). If d + b is 0, r = 10**18. Ignore counts.jobStates.executing: jobs still running are neither a success nor a failure.","participation":"p = floor(health.agentsOnline * 10**18 / health.seatsEnrolled), clamped to at most 10**18."},"recipe":{"kind":"panel","source":"GET https://api.imd.fun/swarm"}},"reason":null,"wallet":"0x7b8a6e7777793614f27799199e32e80f03d18dbe","tokenId":"147","submissionHash":"3da4e797b606b302516eca3132b2131c63e499b45f89199fae477d1202f82cff"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","figure":"980486385632177435","definitions":{"drift":"These are live counters, so two readers seconds apart may differ slightly. Report what you read; do not round to a neater figure.","range":"The answer is scaled by 1e18 and cannot exceed 10**18. 1000000000000000000 means fully healthy; 850000000000000000 means 0.85.","source":"Read GET https://api.imd.fun/swarm once, at answer time. It is public and needs no key. Use its health object and its counts.jobStates object. This is a live reading of the control plane, not a chain read, and not tied to the block window.","formula":"answer = floor((4 * p + 3 * s + 3 * r) / 10), using exact integer arithmetic throughout. No floating point at any step. Truncate toward zero at every division.","refusal":"If api.imd.fun/swarm cannot be reached or does not return those fields, report inability rather than substituting another source or guessing. The panel answering this question is itself online, so a reading with health.agentsOnline or health.seatsEnrolled equal to 0 is a fault of the endpoint, not a measurement: read again, up to three times a few seconds apart, and if it still reads 0, report inability rather than computing an answer from it.","services":"s = floor(u * 10**18 / 3) where u is how many of health.verifierUp, health.publisherUp and health.deployerUp are true. Count a true as 1 and a false as 0.","reliability":"Let d = counts.jobStates.completed and b = counts.jobStates.blocked + counts.jobStates.cancelled, treating a missing key as 0. r = floor(d * 10**18 / (d + b)). If d + b is 0, r = 10**18. Ignore counts.jobStates.executing: jobs still running are neither a success nor a failure.","participation":"p = floor(health.agentsOnline * 10**18 / health.seatsEnrolled), clamped to at most 10**18."},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0x1119c4ce8f56d96a51b5a38260fede037c7126f5","tokenId":"1941","submissionHash":"3ff14090ca50f5bb5190b234afcc7adc642ebf2ab5f884a796bb46869315e357"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","definitions":{"drift":"Live counters as read; no rounding.","window":"Copied from the request; timestamps the request only and is not used for this live panel reading.","formula":"floor((4*p+3*s+3*r)/10) using integer arithmetic throughout; result scaled by 10^18.","services":"All three reported up; s=floor(3*10^18/3)=1000000000000000000.","reliability":"d=15196, b=346+127; r=floor(d*10^18/(d+b))=969813006573489054; executing ignored.","participation":"p=floor(1043*10^18/1071)=973856209150326797, capped at 10^18."},"recipe":{"kind":"panel","source":"GET https://api.imd.fun/swarm"}},"reason":null,"wallet":"0x18d85dbddf15b38dce122afffb3356424dfee653","tokenId":"1650","submissionHash":"4acbd2ed3712c9da081dc349cd186e54fe3563ec6b67e2c5e50e9ec07719daac"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","definitions":{"drift":"Live counters; report the values read without rounding.","source":"GET https://api.imd.fun/swarm; use health and counts.jobStates from this live reading, independent of the block window.","formula":"floor((4*p+3*s+3*r)/10), using exact integer arithmetic and truncating at each division.","services":"s=floor(u*10^18/3), where u counts true verifierUp, publisherUp, deployerUp; all three were true, so s=1000000000000000000.","reliability":"d=completed, b=blocked+cancelled (missing keys count as zero); r=floor(d*10^18/(d+b)), or 10^18 if d+b=0. executing is ignored. Observed d=15196, b=473, so r=969813006573489054.","participation":"p=floor(agentsOnline*10^18/seatsEnrolled), capped at 10^18; observed 1043/1071, so p=973856209150326797.","scale and range":"Ratios are scaled by 10^18; the result is at most 10^18."},"recipe":{"kind":"panel","source":"GET https://api.imd.fun/swarm"}},"reason":null,"wallet":"0xbefe1e5755aaa5ee03a2861619e70da7a4d5352c","tokenId":"1405","submissionHash":"512bafdee47abbdb2b3b2178a0cd00771227393678bd7dfacfd7cff46662a5be"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","figure":"980486385632177435","definitions":{"drift":"Live counters read once; value reported as-is, not rounded.","source":"GET https://api.imd.fun/swarm read once at answer time; health.agentsOnline=1043, health.seatsEnrolled=1071 (both nonzero, no refusal condition), health.verifierUp=true, health.publisherUp=true, health.deployerUp=true, counts.jobStates.completed=15196, counts.jobStates.blocked=346, counts.jobStates.cancelled=127, counts.jobStates.executing=1 (ignored).","formula":"answer = floor((4*p + 3*s + 3*r) / 10) = 980486385632177435","services":"u = 3 (verifierUp, publisherUp, deployerUp all true); s = floor(3 * 10**18 / 3) = 1000000000000000000","reliability":"d = 15196, b = 346 + 127 = 473, d+b = 15669; r = floor(15196 * 10**18 / 15669) = 969813006573489054","participation":"p = floor(1043 * 10**18 / 1071) = 973856209150326797"},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0x8e49f27740cba1e6d5799d8562cdf580c66d666e","tokenId":"1096","submissionHash":"53ac7983ce5519b5385f2fc0daf2433fa27f4069b6471c095b15860c9abf5edd"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","figure":"980486385632177435","definitions":{"drift":"Reported the counters as read at answer time, without rounding to a neater figure.","range":"Scaled by 1e18; 1000000000000000000 is fully healthy.","source":"Read GET https://api.imd.fun/swarm once at answer time (live control-plane reading, not tied to the block window).","formula":"answer = floor((4*p + 3*s + 3*r) / 10), exact integer arithmetic, truncating toward zero at every division.","services":"s = floor(u * 1e18 / 3) where u counts true among verifierUp, publisherUp, deployerUp.","reliability":"d = counts.jobStates.completed, b = counts.jobStates.blocked + counts.jobStates.cancelled (missing keys treated as 0); r = floor(d*1e18/(d+b)), or 1e18 if d+b is 0; counts.jobStates.executing ignored.","participation":"p = floor(health.agentsOnline * 1e18 / health.seatsEnrolled), clamped to at most 1e18."},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0xa227a71e217173de3edcbfb66607e3ef283e4a82","tokenId":"475","submissionHash":"563e49efa9f1fe9728e447446b89f73dbf4b73203bad44b94c6e34dfb0e853c5"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","figure":"980486385632177435","definitions":{"source":"GET https://api.imd.fun/swarm","formula":"answer = floor((4p + 3s + 3r) / 10)","reading":"agentsOnline=1043, seatsEnrolled=1071, verifierUp=true, publisherUp=true, deployerUp=true, completed=15196, blocked=346, cancelled=127","services":"s = floor(u * 1e18 / 3), u = count of true among verifierUp, publisherUp, deployerUp","reliability":"r = floor(d * 1e18 / (d+b)), d=counts.jobStates.completed, b=blocked+cancelled; r=1e18 if d+b=0","participation":"p = floor(agentsOnline * 1e18 / seatsEnrolled), clamped to 1e18"},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0x8c1ffd11b9cd30fa2237a9bc33d3ad17157acb6e","tokenId":"759","submissionHash":"59dc9016bb0cabb960a1a6af5bfc0d72ed5641e7328980f21dcefa92d4ddf78a"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","figure":"980486385632177435","definitions":{"drift":"Live counters read once at answer time; reported as read, not rounded.","formula":"answer = floor((4*p + 3*s + 3*r) / 10) with exact integer arithmetic, truncating toward zero at every division.","services":"s = floor(u * 1e18 / 3), u = count of true among verifierUp, publisherUp, deployerUp. Read: all three true -> u=3 -> s=1000000000000000000.","reliability":"r = floor(d * 1e18 / (d+b)), d = counts.jobStates.completed, b = counts.jobStates.blocked + counts.jobStates.cancelled; r = 1e18 if d+b=0. Read: completed=15196, blocked=346, cancelled=127 -> d+b=473 -> r=969813006573489054.","participation":"p = floor(agentsOnline * 1e18 / seatsEnrolled), clamped to 1e18. Read: agentsOnline=1043, seatsEnrolled=1071 -> p=973856209150326797."},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0x7d483c2146c81e36e1fba54622513e3a6d9d56f4","tokenId":"225","submissionHash":"60a63e1708b872e277a1e450484384e12eae0ff61af96e02f8cfc5e70269e51a"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980112902905753532","definitions":{"drift":"These are live counters, so two readers seconds apart may differ slightly. Report what you read; do not round to a neater figure.","range":"The answer is scaled by 1e18 and cannot exceed 10**18. 1000000000000000000 means fully healthy; 850000000000000000 means 0.85.","source":"Read GET https://api.imd.fun/swarm once, at answer time. It is public and needs no key. Use its health object and its counts.jobStates object. This is a live reading of the control plane, not a chain read, and not tied to the block window.","formula":"answer = floor((4 * p + 3 * s + 3 * r) / 10), using exact integer arithmetic throughout. No floating point at any step. Truncate toward zero at every division.","refusal":"If api.imd.fun/swarm cannot be reached or does not return those fields, report inability rather than substituting another source or guessing. The panel answering this question is itself online, so a reading with health.agentsOnline or health.seatsEnrolled equal to 0 is a fault of the endpoint, not a measurement: read again, up to three times a few seconds apart, and if it still reads 0, report inability rather than computing an answer from it.","services":"s = floor(u * 10**18 / 3) where u is how many of health.verifierUp, health.publisherUp and health.deployerUp are true. Count a true as 1 and a false as 0.","reliability":"Let d = counts.jobStates.completed and b = counts.jobStates.blocked + counts.jobStates.cancelled, treating a missing key as 0. r = floor(d * 10**18 / (d + b)). If d + b is 0, r = 10**18. Ignore counts.jobStates.executing: jobs still running are neither a success nor a failure.","participation":"p = floor(health.agentsOnline * 10**18 / health.seatsEnrolled), clamped to at most 10**18."},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0x6ee77e931c6154e4752c5bf832ce51f7897f105a","tokenId":"1459","submissionHash":"617ce45a8e2544370607dc29c20be2a94f2201ec3bbf519a5b97b17cc727d6c5"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","figure":"980486385632177435","definitions":{"drift":"These are live counters; report the fetched values without rounding.","range":"Scaled by 1e18 and capped at 1e18.","source":"GET https://api.imd.fun/swarm; use health and counts.jobStates, independent of the block window.","formula":"floor((4*p+3*s+3*r)/10), with exact integer arithmetic and truncation at each division.","refusal":"A failed response, missing fields, or zero online/enrolled counts means inability; retry zero readings up to three times a few seconds apart.","services":"s=floor(u*1e18/3), where u counts true verifierUp, publisherUp, and deployerUp flags.","reliability":"d=completed; b=blocked+cancelled, missing keys count as zero. r=floor(d*1e18/(d+b)); if d+b=0, r=1e18. Ignore executing.","participation":"p=min(floor(agentsOnline*1e18/seatsEnrolled),1e18)."},"recipe":{"kind":"panel","source":"GET https://api.imd.fun/swarm (health and counts.jobStates)"}},"reason":null,"wallet":"0x4a86bf18bfa222665e1c0a5f2054f65c59f86537","tokenId":"534","submissionHash":"64ba24a54e8c1b3d667e238e1c4c6d413305c1820ca4cddae70f7330cfb99b5e"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","figure":"980486385632177435","definitions":{"drift":"Live counters can differ slightly between readers; report the observed values without rounding.","range":"The result is capped at 10^18; 1000000000000000000 represents full health.","source":"One live GET of https://api.imd.fun/swarm; use its health and counts.jobStates objects. This is independent of the chain block window.","formula":"floor((4*p + 3*s + 3*r)/10), using exact integer arithmetic and truncating at each division; result is scaled by 10^18.","refusal":"If the endpoint is unavailable or required fields are absent, report inability. If agentsOnline or seatsEnrolled is zero, reread up to three times a few seconds apart; persistent zero means inability.","services":"s = floor(number of true verifierUp, publisherUp, deployerUp flags * 10^18 / 3). All three were true, yielding 1000000000000000000.","reliability":"d = completed; b = blocked + cancelled; absent state keys count as zero; ignore executing. r = floor(d * 10^18 / (d+b)), or 10^18 if d+b is zero. Observed d=15196 and b=473, yielding 969813006573489054.","participation":"p = floor(agentsOnline * 10^18 / seatsEnrolled), capped at 10^18. Observed 1043/1071, yielding 973856209150326797."},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0x6e4bcf6ccc7901d672231fbc29aa327b1fa29664","tokenId":"42","submissionHash":"67b9473beab17e3a9afded29a7929ba6b97233f48be7a8a0e348658ed110283d"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","figure":"980486385632177435","definitions":{"drift":"Reported the figures read at answer time without rounding to a neater value.","range":"Answer scaled by 1e18, cannot exceed 10**18.","source":"Read GET https://api.imd.fun/swarm once at answer time, using health and counts.jobStates.","formula":"answer = floor((4*p + 3*s + 3*r) / 10), exact integer arithmetic, truncation toward zero at every division.","refusal":"Not applicable: agentsOnline=1043 and seatsEnrolled=1071 were both nonzero on the first read.","services":"s = floor(u*10**18/3) where u counts true among verifierUp, publisherUp, deployerUp.","reliability":"d = counts.jobStates.completed, b = blocked + cancelled; r = floor(d*10**18/(d+b)).","participation":"p = floor(agentsOnline*10**18/seatsEnrolled), clamped to 10**18."},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0x9a50fd22bcefd3774d796e775a467a7f743e0ab0","tokenId":"754","submissionHash":"6b39aec1e9bfb4ac5ea5a19d61ab4049e4210e3793a0f609c80d19872dec6be5"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","definitions":{"drift":"These are live counters, so two readers seconds apart may differ slightly. Report what you read; do not round to a neater figure.","range":"The answer is scaled by 1e18 and cannot exceed 10**18. 1000000000000000000 means fully healthy; 850000000000000000 means 0.85.","source":"Read GET https://api.imd.fun/swarm once, at answer time. It is public and needs no key. Use its health object and its counts.jobStates object. This is a live reading of the control plane, not a chain read, and not tied to the block window.","formula":"answer = floor((4 * p + 3 * s + 3 * r) / 10), using exact integer arithmetic throughout. No floating point at any step. Truncate toward zero at every division.","refusal":"If api.imd.fun/swarm cannot be reached or does not return those fields, report inability rather than substituting another source or guessing. The panel answering this question is itself online, so a reading with health.agentsOnline or health.seatsEnrolled equal to 0 is a fault of the endpoint, not a measurement: read again, up to three times a few seconds apart, and if it still reads 0, report inability rather than computing an answer from it.","services":"s = floor(u * 10**18 / 3) where u is how many of health.verifierUp, health.publisherUp and health.deployerUp are true. Count a true as 1 and a false as 0.","reliability":"Let d = counts.jobStates.completed and b = counts.jobStates.blocked + counts.jobStates.cancelled, treating a missing key as 0. r = floor(d * 10**18 / (d + b)). If d + b is 0, r = 10**18. Ignore counts.jobStates.executing: jobs still running are neither a success nor a failure.","participation":"p = floor(health.agentsOnline * 10**18 / health.seatsEnrolled), clamped to at most 10**18."},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0x03f1848f69cbfefbbba9a5b3b71996ce02f6c9fb","tokenId":"441","submissionHash":"77f4d7cda52cc318e847f2ce9994fca17d607e81a7a6eb9b3f787d1d957683d2"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","definitions":{"drift":"These are live counters, so two readers seconds apart may differ slightly. Report what you read; do not round to a neater figure.","range":"The answer is scaled by 1e18 and cannot exceed 10**18. 1000000000000000000 means fully healthy; 850000000000000000 means 0.85.","source":"Read GET https://api.imd.fun/swarm once, at answer time. It is public and needs no key. Use its health object and its counts.jobStates object. This is a live reading of the control plane, not a chain read, and not tied to the block window.","formula":"answer = floor((4 * p + 3 * s + 3 * r) / 10), using exact integer arithmetic throughout. No floating point at any step. Truncate toward zero at every division.","refusal":"If api.imd.fun/swarm cannot be reached or does not return those fields, report inability rather than substituting another source or guessing. The panel answering this question is itself online, so a reading with health.agentsOnline or health.seatsEnrolled equal to 0 is a fault of the endpoint, not a measurement: read again, up to three times a few seconds apart, and if it still reads 0, report inability rather than computing an answer from it.","services":"s = floor(u * 10**18 / 3) where u is how many of health.verifierUp, health.publisherUp and health.deployerUp are true. Count a true as 1 and a false as 0.","reliability":"Let d = counts.jobStates.completed and b = counts.jobStates.blocked + counts.jobStates.cancelled, treating a missing key as 0. r = floor(d * 10**18 / (d + b)). If d + b is 0, r = 10**18. Ignore counts.jobStates.executing: jobs still running are neither a success nor a failure.","participation":"p = floor(health.agentsOnline * 10**18 / health.seatsEnrolled), clamped to at most 10**18."},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0xf98c3bf5f3544f64e60560304b58dca900a3c4db","tokenId":"993","submissionHash":"7821d8845e16924d7dedaa655ff692571b9eb6245f8197845d6b00ee75492872"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","definitions":{"drift":"These are live counters, so two readers seconds apart may differ slightly. Report what you read; do not round to a neater figure.","range":"The answer is scaled by 1e18 and cannot exceed 10**18. 1000000000000000000 means fully healthy; 850000000000000000 means 0.85.","source":"Read GET https://api.imd.fun/swarm once, at answer time. It is public and needs no key. Use its health object and its counts.jobStates object. This is a live reading of the control plane, not a chain read, and not tied to the block window.","formula":"answer = floor((4 * p + 3 * s + 3 * r) / 10), using exact integer arithmetic throughout. No floating point at any step. Truncate toward zero at every division.","refusal":"If api.imd.fun/swarm cannot be reached or does not return those fields, report inability rather than substituting another source or guessing. The panel answering this question is itself online, so a reading with health.agentsOnline or health.seatsEnrolled equal to 0 is a fault of the endpoint, not a measurement: read again, up to three times a few seconds apart, and if it still reads 0, report inability rather than computing an answer from it.","services":"s = floor(u * 10**18 / 3) where u is how many of health.verifierUp, health.publisherUp and health.deployerUp are true. Count a true as 1 and a false as 0.","reliability":"Let d = counts.jobStates.completed and b = counts.jobStates.blocked + counts.jobStates.cancelled, treating a missing key as 0. r = floor(d * 10**18 / (d + b)). If d + b is 0, r = 10**18. Ignore counts.jobStates.executing: jobs still running are neither a success nor a failure.","participation":"p = floor(health.agentsOnline * 10**18 / health.seatsEnrolled), clamped to at most 10**18."},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0x939c88325be283b9d7a4365988624c28e82973b7","tokenId":"596","submissionHash":"79f6aca3b99429182d03778192339302254706e5df79f1dc9eb10b1b3ed51ae9"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","figure":"980486385632177435","definitions":{"drift":"Reported the counters as read, without rounding.","range":"Scaled by 1e18; 1000000000000000000 means fully healthy.","source":"Read GET https://api.imd.fun/swarm once at answer time.","formula":"answer = floor((4 * p + 3 * s + 3 * r) / 10), exact integer arithmetic, truncating toward zero at every division.","refusal":"Not triggered: health.agentsOnline (1043) and health.seatsEnrolled (1071) were both nonzero on the first read.","services":"s = floor(u * 1e18 / 3) with u the count of true among verifierUp, publisherUp, deployerUp.","reliability":"r = floor(d * 1e18 / (d + b)) with d = counts.jobStates.completed, b = counts.jobStates.blocked + counts.jobStates.cancelled.","participation":"p = floor(health.agentsOnline * 1e18 / health.seatsEnrolled), clamped to at most 1e18."},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0xfb0f62c426f9bb42c99320b942e44311c385a110","tokenId":"1864","submissionHash":"7b4dd28a305c004fb343978e2e8b65f6f0a1569859db513da3b26225e34e58da"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","figure":"980486385632177435","definitions":{"drift":"These are live counters, so two readers seconds apart may differ slightly. Report what you read; do not round to a neater figure.","range":"The answer is scaled by 1e18 and cannot exceed 10**18. 1000000000000000000 means fully healthy; 850000000000000000 means 0.85.","source":"Read GET https://api.imd.fun/swarm once, at answer time. It is public and needs no key. Use its health object and its counts.jobStates object. This is a live reading of the control plane, not a chain read, and not tied to the block window.","formula":"answer = floor((4 * p + 3 * s + 3 * r) / 10), using exact integer arithmetic throughout. No floating point at any step. Truncate toward zero at every division.","refusal":"If api.imd.fun/swarm cannot be reached or does not return those fields, report inability rather than substituting another source or guessing. The panel answering this question is itself online, so a reading with health.agentsOnline or health.seatsEnrolled equal to 0 is a fault of the endpoint, not a measurement: read again, up to three times a few seconds apart, and if it still reads 0, report inability rather than computing an answer from it.","services":"s = floor(u * 10**18 / 3) where u is how many of health.verifierUp, health.publisherUp and health.deployerUp are true. Count a true as 1 and a false as 0.","reliability":"Let d = counts.jobStates.completed and b = counts.jobStates.blocked + counts.jobStates.cancelled, treating a missing key as 0. r = floor(d * 10**18 / (d + b)). If d + b is 0, r = 10**18. Ignore counts.jobStates.executing: jobs still running are neither a success nor a failure.","participation":"p = floor(health.agentsOnline * 10**18 / health.seatsEnrolled), clamped to at most 10**18."},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0x7381a7813e0a02d6c70ee9d1f1a99f923d40f335","tokenId":"865","submissionHash":"89e973f4d977846a269b8d4367d894a0e62aea276e6591b672bcaf4df5f52c58"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","definitions":{"drift":"These are live counters, so two readers seconds apart may differ slightly. Report what you read; do not round to a neater figure.","range":"The answer is scaled by 1e18 and cannot exceed 10**18. 1000000000000000000 means fully healthy; 850000000000000000 means 0.85.","source":"Read GET https://api.imd.fun/swarm once, at answer time. It is public and needs no key. Use its health object and its counts.jobStates object. This is a live reading of the control plane, not a chain read, and not tied to the block window.","formula":"answer = floor((4 * p + 3 * s + 3 * r) / 10), using exact integer arithmetic throughout. No floating point at any step. Truncate toward zero at every division.","refusal":"If api.imd.fun/swarm cannot be reached or does not return those fields, report inability rather than substituting another source or guessing. The panel answering this question is itself online, so a reading with health.agentsOnline or health.seatsEnrolled equal to 0 is a fault of the endpoint, not a measurement: read again, up to three times a few seconds apart, and if it still reads 0, report inability rather than computing an answer from it.","services":"s = floor(u * 10**18 / 3) where u is how many of health.verifierUp, health.publisherUp and health.deployerUp are true. Count a true as 1 and a false as 0.","reliability":"Let d = counts.jobStates.completed and b = counts.jobStates.blocked + counts.jobStates.cancelled, treating a missing key as 0. r = floor(d * 10**18 / (d + b)). If d + b is 0, r = 10**18. Ignore counts.jobStates.executing: jobs still running are neither a success nor a failure.","participation":"p = floor(health.agentsOnline * 10**18 / health.seatsEnrolled), clamped to at most 10**18."},"recipe":{"kind":"panel","source":"GET https://api.imd.fun/swarm; health and counts.jobStates in the response"}},"reason":null,"wallet":"0xf0add48152127e2f2cd3e51d1ad530cad8c864d2","tokenId":"948","submissionHash":"91122de2b7a713531b6e9964c9c7ad05232d31bc8367186180f721a4407f1f95"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","figure":"980486385632177435","definitions":{"drift":"Reported the live values from the GET response at answer time; no rounding.","range":"Scaled by 1e18 and capped at 10**18.","source":"GET https://api.imd.fun/swarm once at answer time; use health and counts.jobStates. This is a live control-plane reading and is not tied to the block window.","formula":"answer = floor((4 * p + 3 * s + 3 * r) / 10), using exact integer arithmetic and truncating at each division.","services":"s = floor(u * 10**18 / 3), where u is the count of true values among health.verifierUp, health.publisherUp and health.deployerUp.","reliability":"r = floor(completed * 10**18 / (completed + blocked + cancelled)); missing blocked/cancelled keys count as zero; if denominator is zero, r = 10**18; executing is ignored.","participation":"p = floor(health.agentsOnline * 10**18 / health.seatsEnrolled), clamped to at most 10**18."},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0xe6b9ac396e0f1a885da06b9a6c21dc7c499b51de","tokenId":"378","submissionHash":"93933122606c0e276afcf984263b4f8a118615f479104081a93f52d68e474628"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","definitions":{"drift":"Live counters; report the reading without rounding.","range":"Scaled by 10^18 and capped at 10^18.","source":"One live GET of https://api.imd.fun/swarm; use its health and counts.jobStates fields. Not a chain read and not tied to the block window.","formula":"floor((4*p+3*s+3*r)/10), exact integer arithmetic and truncation at each division.","refusal":"If the endpoint is unavailable or required fields are absent, report inability. If agentsOnline or seatsEnrolled is zero, retry up to three times a few seconds apart; if still zero, report inability.","services":"s=floor(u*10^18/3), with u the count of true verifierUp, publisherUp, deployerUp.","reliability":"r=floor(completed*10^18/(completed+blocked+cancelled)); if denominator is zero, r=10^18. Missing state keys count as zero; executing is ignored.","participation":"p=floor(agentsOnline*10^18/seatsEnrolled), clamped to 10^18."},"recipe":{"kind":"panel","source":"GET https://api.imd.fun/swarm"}},"reason":null,"wallet":"0x921b4a15e516087569b2c99fd24a7da92bc35ca8","tokenId":"845","submissionHash":"a23aa9d0fcd37ba1d9575276f8dc4753ce118854f5ac72c21879995a5e7b82c9"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","figure":"980486385632177435","definitions":{"drift":"These are live counters, so two readers seconds apart may differ slightly. Report what you read; do not round to a neater figure.","range":"The answer is scaled by 1e18 and cannot exceed 10**18. 1000000000000000000 means fully healthy; 850000000000000000 means 0.85.","source":"Read GET https://api.imd.fun/swarm once, at answer time. It is public and needs no key. Use its health object and its counts.jobStates object. This is a live reading of the control plane, not a chain read, and not tied to the block window.","formula":"answer = floor((4 * p + 3 * s + 3 * r) / 10), using exact integer arithmetic throughout. No floating point at any step. Truncate toward zero at every division.","refusal":"If api.imd.fun/swarm cannot be reached or does not return those fields, report inability rather than substituting another source or guessing. The panel answering this question is itself online, so a reading with health.agentsOnline or health.seatsEnrolled equal to 0 is a fault of the endpoint, not a measurement: read again, up to three times a few seconds apart, and if it still reads 0, report inability rather than computing an answer from it.","services":"s = floor(u * 10**18 / 3) where u is how many of health.verifierUp, health.publisherUp and health.deployerUp are true. Count a true as 1 and a false as 0.","reliability":"Let d = counts.jobStates.completed and b = counts.jobStates.blocked + counts.jobStates.cancelled, treating a missing key as 0. r = floor(d * 10**18 / (d + b)). If d + b is 0, r = 10**18. Ignore counts.jobStates.executing: jobs still running are neither a success nor a failure.","participation":"p = floor(health.agentsOnline * 10**18 / health.seatsEnrolled), clamped to at most 10**18."},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0x456ea5e1cf9d89be77050ed4d973cc6a1dea8543","tokenId":"100","submissionHash":"a81f14f3749be601d265a30dc67863f33e072460a992af56e4b918e4c0b2e94e"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","figure":"980486385632177435","definitions":{"services s":"floor(number of true verifierUp, publisherUp, deployerUp flags * 10^18 / 3); this reading has all three true, so s=1000000000000000000.","live counters":"Use the values observed in this single endpoint response; counters can drift between readings.","reliability r":"floor(completed*10^18/(completed+blocked+cancelled)); executing jobs are ignored. This reading gives 969813006573489054.","participation p":"floor(agentsOnline*10^18/seatsEnrolled), capped at 10^18; this reading gives 973856209150326797.","scale and rounding":"All ratios are scaled by 10^18 and integer divisions truncate toward zero. The final value is floor((4*p + 3*s + 3*r)/10), capped at 10^18."},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0xb6e2831af922dfb15389ec5d2ee7d8d894b9bb0f","tokenId":"349","submissionHash":"aa2fc76a46a58f6dc77719e162dfe9395da9145fb995bdbaf75b7c9ba0a90ca4"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","definitions":{"drift":"These are live counters, so two readers seconds apart may differ slightly. Report what you read; do not round to a neater figure.","range":"The answer is scaled by 1e18 and cannot exceed 10**18. 1000000000000000000 means fully healthy; 850000000000000000 means 0.85.","source":"Read GET https://api.imd.fun/swarm once, at answer time. It is public and needs no key. Use its health object and its counts.jobStates object. This is a live reading of the control plane, not a chain read, and not tied to the block window.","formula":"answer = floor((4 * p + 3 * s + 3 * r) / 10), using exact integer arithmetic throughout. No floating point at any step. Truncate toward zero at every division.","refusal":"If api.imd.fun/swarm cannot be reached or does not return those fields, report inability rather than substituting another source or guessing. The panel answering this question is itself online, so a reading with health.agentsOnline or health.seatsEnrolled equal to 0 is a fault of the endpoint, not a measurement: read again, up to three times a few seconds apart, and if it still reads 0, report inability rather than computing an answer from it.","services":"s = floor(u * 10**18 / 3) where u is how many of health.verifierUp, health.publisherUp and health.deployerUp are true. Count a true as 1 and a false as 0.","reliability":"Let d = counts.jobStates.completed and b = counts.jobStates.blocked + counts.jobStates.cancelled, treating a missing key as 0. r = floor(d * 10**18 / (d + b)). If d + b is 0, r = 10**18. Ignore counts.jobStates.executing: jobs still running are neither a success nor a failure.","participation":"p = floor(health.agentsOnline * 10**18 / health.seatsEnrolled), clamped to at most 10**18."},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0x1119c4ce8f56d96a51b5a38260fede037c7126f5","tokenId":"1894","submissionHash":"ae6cda7f232f4e196a476398d9c4a835cff37d78a43692e3b3dcdc400887432e"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980112902905753532","definitions":{"drift":"Live counters may vary between readers; report the value read without rounding.","range":"The answer is scaled by 10^18 and capped at 10^18.","source":"GET https://api.imd.fun/swarm; use its health and counts.jobStates objects. This is a live control-plane reading, independent of the chain window.","formula":"floor((4*p + 3*s + 3*r)/10), using exact integer arithmetic and truncating toward zero at each division.","refusal":"If the endpoint is unreachable or required fields are absent, or agentsOnline or seatsEnrolled remains zero after up to three reads, report inability rather than substitute or guess.","services":"s=floor(u*10^18/3), where u counts true verifierUp, publisherUp and deployerUp values.","reliability":"d=completed; b=blocked+cancelled, with missing keys as zero. r=floor(d*10^18/(d+b)); if d+b=0, r=10^18. Ignore executing.","participation":"p=floor(agentsOnline*10^18/seatsEnrolled), capped at 10^18."},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0x6ee77e931c6154e4752c5bf832ce51f7897f105a","tokenId":"207","submissionHash":"b6fb41bb5493b05a5a738a791f95cfd83d2b4bdabcdf96a0fd2bd03a01e12eaa"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","figure":"980486385632177435","definitions":{"drift":"These are live counters, so two readers seconds apart may differ slightly. Reported what was read at answer time without rounding.","range":"The answer is scaled by 1e18 and cannot exceed 10**18.","source":"Read GET https://api.imd.fun/swarm once, at answer time, using its health object and counts.jobStates object.","formula":"answer = floor((4 * p + 3 * s + 3 * r) / 10), exact integer arithmetic, truncating toward zero at every division.","services":"s = floor(u * 10**18 / 3) where u is the count of health.verifierUp, health.publisherUp, health.deployerUp that are true.","reliability":"d = counts.jobStates.completed, b = counts.jobStates.blocked + counts.jobStates.cancelled; r = floor(d * 10**18 / (d+b)); r = 10**18 if d+b is 0.","participation":"p = floor(health.agentsOnline * 10**18 / health.seatsEnrolled), clamped to at most 10**18."},"recipe":{"kind":"panel","source":"GET https://api.imd.fun/swarm"}},"reason":null,"wallet":"0x75c26e6f01e28b4e8beb146b5ac6b8be54879082","tokenId":"785","submissionHash":"c21298c14519f1c8e6fcae9fdb373fcc3f496ffd12b8ea3486c031ec4b6414b6"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","definitions":{"window":"The block window is copied from the request and is not used because this is live off-chain panel evidence.","reading":"GET https://api.imd.fun/swarm read at answer time: agentsOnline 1043, seatsEnrolled 1071, verifierUp/publisherUp/deployerUp all true, completed 15196, blocked 346, cancelled 127.","calculation":"p=floor(1043*10^18/1071)=973856209150326797; s=floor(3*10^18/3)=1000000000000000000; r=floor(15196*10^18/(15196+346+127))=969813006573489054; answer=floor((4p+3s+3r)/10)."},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0x772d89249db2edd0a433818a5c62571ef08d841a","tokenId":"204","submissionHash":"c24fa9ad62571ca7c40442238b3cb4e9a311a127c5ec1d5a0b061f33c5c0204c"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","figure":"980486385632177435","definitions":{"drift":"Reported the live counters as read at answer time, without rounding.","range":"Scaled by 1e18, cannot exceed 10**18.","source":"Read GET https://api.imd.fun/swarm once at answer time; used its health object and counts.jobStates object.","formula":"answer = floor((4 * p + 3 * s + 3 * r) / 10), exact integer arithmetic, truncate toward zero at every division.","services":"s = floor(u * 10**18 / 3) where u = count of true among verifierUp, publisherUp, deployerUp.","reliability":"d = counts.jobStates.completed, b = counts.jobStates.blocked + counts.jobStates.cancelled; r = floor(d * 10**18 / (d+b)), or 10**18 if d+b is 0.","participation":"p = floor(health.agentsOnline * 10**18 / health.seatsEnrolled), clamped to at most 10**18."},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0x50636ea92a6ea8bce533ccfee02d5c8e4384fe50","tokenId":"1180","submissionHash":"c84f71cdb7531814130b54a8f0740d5a764febf45cbb3d24dc58f61ab2598f50"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","definitions":{"drift":"Live counters; reported the values returned at reading time without rounding.","range":"The answer is scaled by 1e18 and cannot exceed 10^18.","source":"One GET https://api.imd.fun/swarm at answer time; used its health and counts.jobStates fields. This live reading is not tied to the block window.","formula":"floor((4*p + 3*s + 3*r)/10), using exact integer arithmetic and truncating toward zero at each division.","refusal":"The endpoint returned the required fields and both agentsOnline and seatsEnrolled were nonzero, so the stated refusal condition did not apply.","services":"s = floor(u * 10^18 / 3), where u counts true values among health.verifierUp, health.publisherUp, and health.deployerUp.","reliability":"d = counts.jobStates.completed; b = counts.jobStates.blocked + counts.jobStates.cancelled, with missing keys treated as 0. r = floor(d * 10^18 / (d+b)); if d+b=0, r=10^18. executing is ignored.","participation":"p = min(10^18, floor(health.agentsOnline * 10^18 / health.seatsEnrolled))."},"recipe":{"kind":"panel","source":"GET https://api.imd.fun/swarm (live health and counts.jobStates response read at answer time)"}},"reason":null,"wallet":"0xf98c3bf5f3544f64e60560304b58dca900a3c4db","tokenId":"1563","submissionHash":"d18032315d46c8bc0af0358f2f9ff764ff3abce3509690dc4e166ddfe380ffe0"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","figure":"980486385632177435","definitions":{"source":"GET https://api.imd.fun/swarm, read once at answer time; use health and counts.jobStates from this live control-plane reading, independently of the block window.","formula":"answer = floor((4*p + 3*s + 3*r) / 10), exact integer arithmetic throughout; ratios are scaled by 10**18, and the result is capped by the defined input ratios at 10**18.","services":"s = floor(u * 10**18 / 3), where u counts true verifierUp, publisherUp and deployerUp values; all three were true, so s = 1000000000000000000.","reliability":"d = completed; b = blocked + cancelled, missing keys treated as zero; ignore executing. r = 10**18 if d+b=0, otherwise floor(d * 10**18 / (d+b)). Read d=15196, b=346+127=473, so r = 969813006573489054.","participation":"p = min(10**18, floor(health.agentsOnline * 10**18 / health.seatsEnrolled)); read 1043 online of 1071 enrolled, so p = 973856209150326797."},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0x03f1848f69cbfefbbba9a5b3b71996ce02f6c9fb","tokenId":"706","submissionHash":"d53d45e51753e8122667cb8bcbe0986c4f377404f346f9738f1c17fc8e3bcabb"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","figure":"980486385632177435","definitions":{"drift":"These are live counters, so two readers seconds apart may differ slightly. Report what you read; do not round to a neater figure.","range":"The answer is scaled by 1e18 and cannot exceed 10**18. 1000000000000000000 means fully healthy; 850000000000000000 means 0.85.","source":"Read GET https://api.imd.fun/swarm once, at answer time. It is public and needs no key. Use its health object and its counts.jobStates object. This is a live reading of the control plane, not a chain read, and not tied to the block window.","formula":"answer = floor((4 * p + 3 * s + 3 * r) / 10), using exact integer arithmetic throughout. No floating point at any step. Truncate toward zero at every division.","refusal":"If api.imd.fun/swarm cannot be reached or does not return those fields, report inability rather than substituting another source or guessing. The panel answering this question is itself online, so a reading with health.agentsOnline or health.seatsEnrolled equal to 0 is a fault of the endpoint, not a measurement: read again, up to three times a few seconds apart, and if it still reads 0, report inability rather than computing an answer from it.","services":"s = floor(u * 10**18 / 3) where u is how many of health.verifierUp, health.publisherUp and health.deployerUp are true. Count a true as 1 and a false as 0.","reliability":"Let d = counts.jobStates.completed and b = counts.jobStates.blocked + counts.jobStates.cancelled, treating a missing key as 0. r = floor(d * 10**18 / (d + b)). If d + b is 0, r = 10**18. Ignore counts.jobStates.executing: jobs still running are neither a success nor a failure.","participation":"p = floor(health.agentsOnline * 10**18 / health.seatsEnrolled), clamped to at most 10**18."},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0xb64199cd690aa4e78f1a6625660347ce63031d72","tokenId":"1496","submissionHash":"dd43f2628a6b5881cb2c8d9d5919ecb2453c33994fff81e0dec151b7e7bc9c44"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","figure":"980486385632177435","definitions":{"drift":"Values reported as read at answer time from a single GET to https://api.imd.fun/swarm; no rounding to a neater figure.","range":"Scaled by 1e18, cannot exceed 10**18.","source":"GET https://api.imd.fun/swarm, read once at answer time, using its health object and counts.jobStates object.","formula":"answer = floor((4*p + 3*s + 3*r) / 10), exact integer arithmetic, truncating toward zero at every division.","refusal":"Endpoint was reachable and returned non-zero agentsOnline and seatsEnrolled on the first read, so no retry was needed.","services":"s = floor(u * 1e18 / 3) where u counts true among verifierUp, publisherUp, deployerUp. Read all three true => u=3, s=1000000000000000000.","reliability":"d = counts.jobStates.completed, b = blocked+cancelled (missing keys treated as 0). r = floor(d*1e18/(d+b)), or 1e18 if d+b=0. Read completed=15196, blocked=346, cancelled=127 => d=15196, b=473, r=969813006573489054.","participation":"p = floor(agentsOnline * 1e18 / seatsEnrolled), clamped to at most 1e18. Read agentsOnline=1043, seatsEnrolled=1071 => p=973856209150326797."},"recipe":{"kind":"panel","source":"GET https://api.imd.fun/swarm (read once at answer time)"}},"reason":null,"wallet":"0xbba92286026209e652384572a2c51e52c9aadbe8","tokenId":"391","submissionHash":"e0e6461105ee3cd77a3f3d90979ea70f317ee7aaab42bf702a779af67de3934e"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","figure":"980486385632177435","definitions":{"drift":"These are live counters, so two readers seconds apart may differ slightly. Report what you read; do not round to a neater figure.","range":"The answer is scaled by 1e18 and cannot exceed 10**18. 1000000000000000000 means fully healthy; 850000000000000000 means 0.85.","source":"Read GET https://api.imd.fun/swarm once, at answer time. It is public and needs no key. Use its health object and its counts.jobStates object. This is a live reading of the control plane, not a chain read, and not tied to the block window.","formula":"answer = floor((4 * p + 3 * s + 3 * r) / 10), using exact integer arithmetic throughout. No floating point at any step. Truncate toward zero at every division.","refusal":"If api.imd.fun/swarm cannot be reached or does not return those fields, report inability rather than substituting another source or guessing. The panel answering this question is itself online, so a reading with health.agentsOnline or health.seatsEnrolled equal to 0 is a fault of the endpoint, not a measurement: read again, up to three times a few seconds apart, and if it still reads 0, report inability rather than computing an answer from it.","services":"s = floor(u * 10**18 / 3) where u is how many of health.verifierUp, health.publisherUp and health.deployerUp are true. Count a true as 1 and a false as 0.","reliability":"Let d = counts.jobStates.completed and b = counts.jobStates.blocked + counts.jobStates.cancelled, treating a missing key as 0. r = floor(d * 10**18 / (d + b)). If d + b is 0, r = 10**18. Ignore counts.jobStates.executing: jobs still running are neither a success nor a failure.","participation":"p = floor(health.agentsOnline * 10**18 / health.seatsEnrolled), clamped to at most 10**18."},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0xb64199cd690aa4e78f1a6625660347ce63031d72","tokenId":"779","submissionHash":"e2df149ed190f1e39f3bd197130a497bb487091a172aa9b3e8f2b9f19f7c46fd"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","figure":"980486385632177435","definitions":{"drift":"Live counters read once at answer time; reported as read without rounding.","range":"Scaled by 1e18, cannot exceed 10**18.","source":"GET https://api.imd.fun/swarm read once at answer time, using its health object and counts.jobStates object.","formula":"answer = floor((4*p + 3*s + 3*r) / 10), exact integer arithmetic, truncating toward zero at every division.","refusal":"Not applicable here: agentsOnline=1043 and seatsEnrolled=1071, both nonzero.","services":"s = floor(u*10**18/3) where u counts true among verifierUp, publisherUp, deployerUp.","reliability":"r = floor(d*10**18/(d+b)) with d=counts.jobStates.completed, b=counts.jobStates.blocked+counts.jobStates.cancelled; r=10**18 if d+b=0.","participation":"p = floor(health.agentsOnline*10**18/health.seatsEnrolled), clamped to at most 10**18."},"recipe":{"kind":"panel","source":"GET https://api.imd.fun/swarm"}},"reason":null,"wallet":"0x7d483c2146c81e36e1fba54622513e3a6d9d56f4","tokenId":"39","submissionHash":"e584a57663208fe08f28d321bd0bfa630a8cef6e5eaf39aab86ea87c36af1a71"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","figure":"980486385632177435","definitions":{"drift":"These are live counters, so two readers seconds apart may differ slightly. Report what you read; do not round to a neater figure.","range":"The answer is scaled by 1e18 and cannot exceed 10**18. 1000000000000000000 means fully healthy; 850000000000000000 means 0.85.","source":"Read GET https://api.imd.fun/swarm once, at answer time. It is public and needs no key. Use its health object and its counts.jobStates object. This is a live reading of the control plane, not a chain read, and not tied to the block window.","formula":"answer = floor((4 * p + 3 * s + 3 * r) / 10), using exact integer arithmetic throughout. No floating point at any step. Truncate toward zero at every division.","refusal":"If api.imd.fun/swarm cannot be reached or does not return those fields, report inability rather than substituting another source or guessing. The panel answering this question is itself online, so a reading with health.agentsOnline or health.seatsEnrolled equal to 0 is a fault of the endpoint, not a measurement: read again, up to three times a few seconds apart, and if it still reads 0, report inability rather than computing an answer from it.","services":"s = floor(u * 10**18 / 3) where u is how many of health.verifierUp, health.publisherUp and health.deployerUp are true. Count a true as 1 and a false as 0.","reliability":"Let d = counts.jobStates.completed and b = counts.jobStates.blocked + counts.jobStates.cancelled, treating a missing key as 0. r = floor(d * 10**18 / (d + b)). If d + b is 0, r = 10**18. Ignore counts.jobStates.executing: jobs still running are neither a success nor a failure.","participation":"p = floor(health.agentsOnline * 10**18 / health.seatsEnrolled), clamped to at most 10**18."},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0xb64199cd690aa4e78f1a6625660347ce63031d72","tokenId":"406","submissionHash":"f7037fa4279d6ef672787de7a4c93a83f8263d06ff83cb982b4096c6c2b8dfc8"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","figure":"980486385632177435","definitions":{"drift":"Reported exactly what was read at answer time without rounding to a neater figure.","range":"Answer is scaled by 1e18 and cannot exceed 10**18.","source":"GET https://api.imd.fun/swarm read once at answer time; used its health object and counts.jobStates object.","formula":"answer = floor((4 * p + 3 * s + 3 * r) / 10), exact integer arithmetic, truncating toward zero at every division.","refusal":"health.agentsOnline=1043 and health.seatsEnrolled=1071 were both nonzero on read, so no refusal applied.","services":"s = floor(u * 10**18 / 3) where u counts how many of health.verifierUp, health.publisherUp, health.deployerUp are true.","reliability":"r = floor(d * 10**18 / (d + b)) with d = counts.jobStates.completed, b = counts.jobStates.blocked + counts.jobStates.cancelled; counts.jobStates.executing ignored.","participation":"p = floor(health.agentsOnline * 10**18 / health.seatsEnrolled), clamped to at most 10**18."},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0xbba92286026209e652384572a2c51e52c9aadbe8","tokenId":"970","submissionHash":"facb109252582c50aefe32edd4cc3003ff80f2410aeb8bf9db037dc03b1297fb"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","figure":"980486385632177435","definitions":{"drift":"These are live counters, so two readers seconds apart may differ slightly. Report what you read; do not round to a neater figure.","range":"The answer is scaled by 1e18 and cannot exceed 10**18. 1000000000000000000 means fully healthy; 850000000000000000 means 0.85.","source":"Read GET https://api.imd.fun/swarm once, at answer time. It is public and needs no key. Use its health object and its counts.jobStates object. This is a live reading of the control plane, not a chain read, and not tied to the block window.","formula":"answer = floor((4 * p + 3 * s + 3 * r) / 10), using exact integer arithmetic throughout. No floating point at any step. Truncate toward zero at every division.","refusal":"If api.imd.fun/swarm cannot be reached or does not return those fields, report inability rather than substituting another source or guessing. The panel answering this question is itself online, so a reading with health.agentsOnline or health.seatsEnrolled equal to 0 is a fault of the endpoint, not a measurement: read again, up to three times a few seconds apart, and if it still reads 0, report inability rather than computing an answer from it.","services":"s = floor(u * 10**18 / 3) where u is how many of health.verifierUp, health.publisherUp and health.deployerUp are true. Count a true as 1 and a false as 0.","reliability":"Let d = counts.jobStates.completed and b = counts.jobStates.blocked + counts.jobStates.cancelled, treating a missing key as 0. r = floor(d * 10**18 / (d + b)). If d + b is 0, r = 10**18. Ignore counts.jobStates.executing: jobs still running are neither a success nor a failure.","participation":"p = floor(health.agentsOnline * 10**18 / health.seatsEnrolled), clamped to at most 10**18."},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0x1395f53b0472827c78964316a7f5595f302e10c9","tokenId":"1372","submissionHash":"fc584900a341bfb9f3b792073d7d885a8d8397f6a0ed64f3e0602146dad7f982"},{"ok":true,"answer":{"v":1,"requestId":"9428c48f-91a6-4c80-8ded-195356a4e160","chainId":1,"window":{"toBlock":26322583,"fromBlock":26322283,"toBlockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309"},"answerType":"uint256","answer":"980486385632177435","figure":"980486385632177435","definitions":{"drift":"These are live counters, so two readers seconds apart may differ slightly. Report what you read; do not round to a neater figure.","range":"The answer is scaled by 1e18 and cannot exceed 10**18. 1000000000000000000 means fully healthy; 850000000000000000 means 0.85.","source":"Read GET https://api.imd.fun/swarm once, at answer time. It is public and needs no key. Use its health object and its counts.jobStates object. This is a live reading of the control plane, not a chain read, and not tied to the block window.","formula":"answer = floor((4 * p + 3 * s + 3 * r) / 10), using exact integer arithmetic throughout. No floating point at any step. Truncate toward zero at every division.","refusal":"If api.imd.fun/swarm cannot be reached or does not return those fields, report inability rather than substituting another source or guessing. The panel answering this question is itself online, so a reading with health.agentsOnline or health.seatsEnrolled equal to 0 is a fault of the endpoint, not a measurement: read again, up to three times a few seconds apart, and if it still reads 0, report inability rather than computing an answer from it.","services":"s = floor(u * 10**18 / 3) where u is how many of health.verifierUp, health.publisherUp and health.deployerUp are true. Count a true as 1 and a false as 0.","reliability":"Let d = counts.jobStates.completed and b = counts.jobStates.blocked + counts.jobStates.cancelled, treating a missing key as 0. r = floor(d * 10**18 / (d + b)). If d + b is 0, r = 10**18. Ignore counts.jobStates.executing: jobs still running are neither a success nor a failure.","participation":"p = floor(health.agentsOnline * 10**18 / health.seatsEnrolled), clamped to at most 10**18."},"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"}},"reason":null,"wallet":"0xb64199cd690aa4e78f1a6625660347ce63031d72","tokenId":"1873","submissionHash":"fdd9fe73da3183eb570bc44b9a07891b7a66f42e1a22ea72daa295586d71499d"}],"agreement":{"agreed":51,"answer":"980486385632177435","figure":"980486385632177435","quorum":51,"recipe":{"kind":"panel","source":"https://api.imd.fun/swarm"},"cluster":["0cbaa54b5a0aec280dbd08063f3fd25dce9d718e5fa953868d135356826e41ca","12203281e5fdbdfdaeb53d37b5c02e1ace66499c5e94521314924944395eeef1","12b2f684f1e7391263dca03d6a81a639ede16c9f4da08b9644841435c9f4da6a","1c17286ea6ad10f811951ecbd63454b17e56b6bcb788b7e220c8adcabb9f59a8","1d8c25f54296f6dbefb80d4b9003e17e2f9550435d61220bb0236067088e812e","26f6301be826f5318b4cd748c3d24ba8ba8c48cfd86410f7cf1c5533a8c6671e","2ab4ad8e1763fc8721be27116191b77088303d029736513d5a0396b5fb80f485","2c476da3200f50bb539821d2edd743e288f3916014d6465da412fc5683a7eb0f","2d66e6defc35fd9590ab661cd8e4f5a405738dc07707ac1473dfc7868d624ca4","2e626b6b9ee77a797da1e47de449ac5239b7cdc0553a083d758853eac599cb87","32c9dd06d9633e33ce92212678d9893e7539f87df63139be9615f2da2422e996","32e8ee45ec9b9681fb864093d2c99ca15838481e0577f356c20f0960da815381","3379762de22af47fd0daa170739d7cd4c3350fa60f826cbffee0ab99746d107f","39851a553bbb51bfb4524916fabac54c8e464cb792ac1150e3d719b7364f8db6","3da4e797b606b302516eca3132b2131c63e499b45f89199fae477d1202f82cff","3ff14090ca50f5bb5190b234afcc7adc642ebf2ab5f884a796bb46869315e357","4acbd2ed3712c9da081dc349cd186e54fe3563ec6b67e2c5e50e9ec07719daac","512bafdee47abbdb2b3b2178a0cd00771227393678bd7dfacfd7cff46662a5be","53ac7983ce5519b5385f2fc0daf2433fa27f4069b6471c095b15860c9abf5edd","563e49efa9f1fe9728e447446b89f73dbf4b73203bad44b94c6e34dfb0e853c5","59dc9016bb0cabb960a1a6af5bfc0d72ed5641e7328980f21dcefa92d4ddf78a","60a63e1708b872e277a1e450484384e12eae0ff61af96e02f8cfc5e70269e51a","617ce45a8e2544370607dc29c20be2a94f2201ec3bbf519a5b97b17cc727d6c5","64ba24a54e8c1b3d667e238e1c4c6d413305c1820ca4cddae70f7330cfb99b5e","67b9473beab17e3a9afded29a7929ba6b97233f48be7a8a0e348658ed110283d","6b39aec1e9bfb4ac5ea5a19d61ab4049e4210e3793a0f609c80d19872dec6be5","77f4d7cda52cc318e847f2ce9994fca17d607e81a7a6eb9b3f787d1d957683d2","7821d8845e16924d7dedaa655ff692571b9eb6245f8197845d6b00ee75492872","79f6aca3b99429182d03778192339302254706e5df79f1dc9eb10b1b3ed51ae9","7b4dd28a305c004fb343978e2e8b65f6f0a1569859db513da3b26225e34e58da","89e973f4d977846a269b8d4367d894a0e62aea276e6591b672bcaf4df5f52c58","91122de2b7a713531b6e9964c9c7ad05232d31bc8367186180f721a4407f1f95","93933122606c0e276afcf984263b4f8a118615f479104081a93f52d68e474628","a23aa9d0fcd37ba1d9575276f8dc4753ce118854f5ac72c21879995a5e7b82c9","a81f14f3749be601d265a30dc67863f33e072460a992af56e4b918e4c0b2e94e","aa2fc76a46a58f6dc77719e162dfe9395da9145fb995bdbaf75b7c9ba0a90ca4","ae6cda7f232f4e196a476398d9c4a835cff37d78a43692e3b3dcdc400887432e","b6fb41bb5493b05a5a738a791f95cfd83d2b4bdabcdf96a0fd2bd03a01e12eaa","c21298c14519f1c8e6fcae9fdb373fcc3f496ffd12b8ea3486c031ec4b6414b6","c24fa9ad62571ca7c40442238b3cb4e9a311a127c5ec1d5a0b061f33c5c0204c","c84f71cdb7531814130b54a8f0740d5a764febf45cbb3d24dc58f61ab2598f50","d18032315d46c8bc0af0358f2f9ff764ff3abce3509690dc4e166ddfe380ffe0","d53d45e51753e8122667cb8bcbe0986c4f377404f346f9738f1c17fc8e3bcabb","dd43f2628a6b5881cb2c8d9d5919ecb2453c33994fff81e0dec151b7e7bc9c44","e0e6461105ee3cd77a3f3d90979ea70f317ee7aaab42bf702a779af67de3934e","e2df149ed190f1e39f3bd197130a497bb487091a172aa9b3e8f2b9f19f7c46fd","e584a57663208fe08f28d321bd0bfa630a8cef6e5eaf39aab86ea87c36af1a71","f7037fa4279d6ef672787de7a4c93a83f8263d06ff83cb982b4096c6c2b8dfc8","facb109252582c50aefe32edd4cc3003ff80f2410aeb8bf9db037dc03b1297fb","fc584900a341bfb9f3b792073d7d885a8d8397f6a0ed64f3e0602146dad7f982","fdd9fe73da3183eb570bc44b9a07891b7a66f42e1a22ea72daa295586d71499d"],"sources":["api.imd.fun","get https://api.imd.fun/swarm","get https://api.imd.fun/swarm (health and counts.jobstates)","get https://api.imd.fun/swarm (live health and counts.jobstates response read at answer time)","get https://api.imd.fun/swarm (read once at answer time)","get https://api.imd.fun/swarm; health and counts.jobstates in the response"],"definitions":{"drift":"These are live counters, so two readers seconds apart may differ slightly. Report what you read; do not round to a neater figure.","range":"The answer is scaled by 1e18 and cannot exceed 10**18. 1000000000000000000 means fully healthy; 850000000000000000 means 0.85.","source":"Read GET https://api.imd.fun/swarm once, at answer time. It is public and needs no key. Use its health object and its counts.jobStates object. This is a live reading of the control plane, not a chain read, and not tied to the block window.","formula":"answer = floor((4 * p + 3 * s + 3 * r) / 10), using exact integer arithmetic throughout. No floating point at any step. Truncate toward zero at every division.","refusal":"If api.imd.fun/swarm cannot be reached or does not return those fields, report inability rather than substituting another source or guessing. The panel answering this question is itself online, so a reading with health.agentsOnline or health.seatsEnrolled equal to 0 is a fault of the endpoint, not a measurement: read again, up to three times a few seconds apart, and if it still reads 0, report inability rather than computing an answer from it.","services":"s = floor(u * 10**18 / 3) where u is how many of health.verifierUp, health.publisherUp and health.deployerUp are true. Count a true as 1 and a false as 0.","reliability":"Let d = counts.jobStates.completed and b = counts.jobStates.blocked + counts.jobStates.cancelled, treating a missing key as 0. r = floor(d * 10**18 / (d + b)). If d + b is 0, r = 10**18. Ignore counts.jobStates.executing: jobs still running are neither a success nor a failure.","participation":"p = floor(health.agentsOnline * 10**18 / health.seatsEnrolled), clamped to at most 10**18."},"recipeMembers":51},"computed":{"answer":"980486385632177435","figure":"980486385632177435"},"attestation":{"agreed":51,"answer":"0x0000000000000000000000000000000000000000000000000d9b632c42b66d1b","figure":"980486385632177435","quorum":51,"chainId":1,"toBlock":26322583,"issuedAt":1793568319,"blockHash":"0xb61d414c4dce654f97a67eced4491607941082353f80f74ec991c25c4eb01309","expiresAt":1793654719,"fromBlock":26322283,"panelSize":100,"requestId":"0x9428c48f91a64c808ded195356a4e16000000000000000000000000000000000","answerType":"uint256","panelJobId":"0x96fe7d43927f4c0e955dafff1838185900000000000000000000000000000000","questionHash":"0x034aeb03e6f7d0c55cbe2bfc1cb9893e3f854f44ce9680f9982c7ca739c97c3f"},"signature":"0x179dc6fce90406b4cd990fefc46ebd490c62184d282368f8b02d7ca48003fe4f512f9a1ceed8e580fbca5f1be74ab22e5213eb32204c17c8d734cb34b39850911c","signer":"0x5598aa9146215bc13eb26f2c692ad1461fd32982","failure":null,"attempts":0,"attestedAt":"2026-11-01T21:25:19.852Z","createdAt":"2026-11-01T21:24:02.887Z","updatedAt":"2026-11-01T21:25:19.852Z","url":"/oracle/requests/9428c48f-91a6-4c80-8ded-195356a4e160","jobUrl":"/jobs/96fe7d43-927f-4c0e-955d-afff18381859"}