{"ok":true,"schema_version":1,"data":{"contract_version":"2026-07-03.2","generated_at":"2026-09-20T12:26:49.169Z","name":"Perturb","netuid":26,"schema_version":1,"slug":"sn-26","surfaces":[{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-26-backprop-dashboard","key":"srf-f20f893d0329bd73","kind":"dashboard","last_verified_at":null,"name":"Perturb Backprop Finance dashboard","netuid":26,"notes":"Universal Backprop Finance dTAO subnet dashboard candidate. Third-party enrichment, not protocol authority.","probe":{"enabled":true,"expect":"any","method":"HEAD","timeout_ms":10000},"provider":"backprop-finance","public_safe":true,"quality_signals":{"content_type_matches_kind":true,"public_safe":true,"rate_limited":false,"redirected":true,"source_tier":"third-party-index","transient_failure":false},"rate_limit_notes":"Candidate only; no recurring probe is configured until maintainer review.","source_urls":["https://backprop.finance/dtao/subnets/26-perturb"],"stale":null,"subnet_name":"Perturb","subnet_slug":"sn-26","url":"https://backprop.finance/dtao/subnets/26-perturb"},{"auth_required":false,"authority":"community","curation_level":"machine-verified","id":"sn-26-perturb-data-artifact","key":"srf-93a99fb7593a4bf5","kind":"data-artifact","last_verified_at":"2026-09-20T04:31:09.312Z","name":"Perturb emission burn rate","netuid":26,"notes":"Public no-auth GET returning SN26 Perturb's current emission burn rate as JSON ({\"burnRate\":0.5} observed at submission time). The endpoint is declared as BURN_RATE_ENDPOINT in the subnet's validator source (perturbnet/constants.py in the official repo, pinned above) and is served from api.perturbai.io, the same host as the already-registered health surface.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"perturb","public_safe":true,"review":{"state":"community-submitted","submitted_by":"dalledajay-coder"},"source_urls":["https://github.com/0xsigurd/Perturb/blob/8da57e5c6a43e29392f52fe9f22883859e7a230d/perturbnet/constants.py","https://www.perturbai.io/"],"stale":false,"subnet_name":"Perturb","subnet_slug":"sn-26","url":"https://api.perturbai.io/api/v1/burn-rate"},{"auth_required":false,"authority":"official","curation_level":"maintainer-reviewed","id":"sn-26-perturb-source-repo","key":"srf-71c069936f06bc8b","kind":"source-repo","last_verified_at":"2026-07-15T23:40:00.000Z","name":"Perturb source repository","netuid":26,"notes":"Official Perturb subnet source repository (validator and baseline miner implementation).","probe":{"enabled":true,"expect":"any","method":"HEAD","timeout_ms":10000},"provider":"perturb","public_safe":true,"source_urls":["https://www.perturbai.io/"],"stale":false,"subnet_name":"Perturb","subnet_slug":"sn-26","url":"https://github.com/0xsigurd/Perturb"},{"auth_required":false,"authority":"community","curation_level":"machine-verified","id":"sn-26-perturb-subnet-api","key":"srf-43db9970eda54936","kind":"subnet-api","last_verified_at":"2026-09-20T04:31:09.312Z","name":"Perturb API health","netuid":26,"notes":"Public no-auth GET returning the Perturb (SN26) backend API health as JSON (status + server timestamp). Hosted on api.perturbai.io, the API subdomain of the subnet's registered website perturbai.io.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"perturb","public_safe":true,"review":{"state":"community-submitted","submitted_by":"nickmopen"},"source_urls":["https://www.perturbai.io/"],"stale":false,"subnet_name":"Perturb","subnet_slug":"sn-26","url":"https://api.perturbai.io/health"},{"auth_required":false,"authority":"official","curation_level":"maintainer-reviewed","id":"sn-26-perturb-website","key":"srf-336a3596b0d22839","kind":"website","last_verified_at":"2026-07-15T23:40:00.000Z","name":"Perturb website","netuid":26,"notes":"Official Perturb website.","probe":{"enabled":true,"expect":"html","method":"HEAD","timeout_ms":10000},"provider":"perturb","public_safe":true,"source_urls":["https://github.com/0xsigurd/Perturb"],"stale":false,"subnet_name":"Perturb","subnet_slug":"sn-26","url":"https://www.perturbai.io/"},{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-26-perturb-whitepaper-docs","key":"srf-c42100317929bc40","kind":"docs","last_verified_at":null,"name":"Perturb whitepaper","netuid":26,"notes":"Public no-auth whitepaper for SN26 Perturb (adversarial-perturbation ImageNet subnet), served at www.perturbai.io/whitepaper and linked from the official perturbai.io homepage nav (the registered website_url, same operator as the api.perturbai.io surfaces). Covers the abstract, methodology, miner/validator roles, scoring, and emission model. Distinct in URL, host, and kind from the api.perturbai.io endpoints already registered.","probe":{"enabled":true,"expect":"html","method":"HEAD","timeout_ms":10000},"provider":"perturb","public_safe":true,"review":{"state":"community-submitted","submitted_by":"ultrahighsuper"},"source_urls":["https://www.perturbai.io/"],"stale":null,"subnet_name":"Perturb","subnet_slug":"sn-26","url":"https://www.perturbai.io/whitepaper"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-26-subnetradar-dashboard","key":"srf-c8506ec49dba853b","kind":"dashboard","last_verified_at":null,"name":"Perturb SubnetRadar dashboard","netuid":26,"notes":"Universal SubnetRadar subnet dashboard candidate. Third-party risk/market analytics enrichment, not Metagraphed endpoint health authority.","probe":{"enabled":true,"expect":"any","method":"HEAD","timeout_ms":10000},"provider":"subnetradar","public_safe":true,"quality_signals":{"content_type_matches_kind":true,"public_safe":true,"rate_limited":false,"redirected":false,"source_tier":"third-party-index","transient_failure":false},"rate_limit_notes":"Candidate only; no recurring probe is configured until maintainer review.","source_urls":["https://subnetradar.com/subnet/26"],"stale":null,"subnet_name":"Perturb","subnet_slug":"sn-26","url":"https://subnetradar.com/subnet/26"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-26-taomarketcap-dashboard","key":"srf-88190a32bd2b61bb","kind":"dashboard","last_verified_at":null,"name":"Perturb TaoMarketCap dashboard","netuid":26,"notes":"Universal TaoMarketCap subnet dashboard candidate. Third-party enrichment, not protocol authority.","probe":{"enabled":true,"expect":"any","method":"HEAD","timeout_ms":10000},"provider":"taomarketcap","public_safe":true,"quality_signals":{"content_type_matches_kind":true,"public_safe":true,"rate_limited":false,"redirected":false,"source_tier":"third-party-index","transient_failure":false},"rate_limit_notes":"Candidate only; no recurring probe is configured until maintainer review.","source_urls":["https://api.taomarketcap.com/public/v1/subnets/26"],"stale":null,"subnet_name":"Perturb","subnet_slug":"sn-26","url":"https://taomarketcap.com/subnets/26"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-26-taopedia-article","key":"srf-19ca2128133e0210","kind":"docs","last_verified_at":null,"name":"Perturb Taopedia article","netuid":26,"notes":"Discovered from the public Taopedia article repository. Not verified as an operational interface.","probe":{"enabled":true,"expect":"any","method":"HEAD","timeout_ms":10000},"provider":"taopedia-articles","public_safe":true,"quality_signals":{"content_type_matches_kind":true,"public_safe":true,"rate_limited":false,"redirected":false,"source_tier":"community-docs","transient_failure":false},"rate_limit_notes":"Candidate only; no recurring probe is configured until maintainer review.","source_urls":["https://github.com/e35ventura/taopedia-articles/blob/main/content/pages/subnet_26/index.mdx"],"stale":null,"subnet_name":"Perturb","subnet_slug":"sn-26","url":"https://github.com/e35ventura/taopedia-articles/blob/main/content/pages/subnet_26/index.mdx"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-26-tensorplex-docs","key":"srf-a14470a5e88bd903","kind":"docs","last_verified_at":null,"name":"Perturb Tensorplex subnet docs","netuid":26,"notes":"Discovered from Tensorplex subnet-docs. Useful as documentation enrichment, not verified operational authority.","probe":{"enabled":true,"expect":"any","method":"HEAD","timeout_ms":10000},"provider":"tensorplex-subnet-docs","public_safe":true,"quality_signals":{"content_type_matches_kind":true,"public_safe":true,"rate_limited":false,"redirected":false,"source_tier":"community-docs","transient_failure":false},"rate_limit_notes":"Candidate only; no recurring probe is configured until maintainer review.","source_urls":["https://github.com/tensorplex-labs/subnet-docs/blob/main/data/26/subnet.json"],"stale":null,"subnet_name":"Perturb","subnet_slug":"sn-26","url":"https://github.com/tensorplex-labs/subnet-docs/tree/main/data/26"}]},"meta":{"artifact_path":"/metagraph/surfaces/26.json","cache":"standard","contract_version":"2026-07-03.2","generated_at":"2026-09-20T12:26:49.169Z","published_at":"2026-09-20T12:26:49.169Z","source":"r2","pagination":{"collection":"surfaces","total":10,"returned":10,"limit":10,"cursor":0,"next_cursor":null,"sort":null,"order":"asc"}}}