{"ok":true,"schema_version":1,"data":{"candidate_surfaces":[{"auth_required":false,"confidence":"medium","confirmed_by":["taomarketcap.com"],"id":"sn-120-taomarketcap-dashboard","kind":"dashboard","name":"Affine TaoMarketCap dashboard","netuid":120,"provider":"taomarketcap","public_safe":true,"rate_limit_notes":"Candidate only; no recurring probe is configured until maintainer review.","review_notes":"Universal TaoMarketCap subnet dashboard candidate. Third-party enrichment, not protocol authority.","schema_version":1,"source_tier":"third-party-index","source_type":"taomarketcap-dashboard","source_url":"https://api.taomarketcap.com/public/v1/subnets/120","source_urls":["https://api.taomarketcap.com/public/v1/subnets/120"],"state":"schema-valid","subnet_name":"Affine","superseded_by":null,"url":"https://taomarketcap.com/subnets/120","verification":{"candidate_id":"sn-120-taomarketcap-dashboard","classification":"live","confidence_score":77,"content_type":"text/html; charset=utf-8","error":null,"kind":"dashboard","latency_ms":64,"method_tested":"HEAD","name":"Affine TaoMarketCap dashboard","netuid":120,"private_redirect_blocked":false,"provider":"taomarketcap","quality_signals":{"content_type_matches_kind":true,"public_safe":true,"rate_limited":false,"redirected":false,"source_tier":"third-party-index","transient_failure":false},"redirect_target":null,"source_tier":"third-party-index","source_type":"taomarketcap-dashboard","source_url":"https://api.taomarketcap.com/public/v1/subnets/120","source_urls":["https://api.taomarketcap.com/public/v1/subnets/120"],"status":"ok","status_code":200,"url":"https://taomarketcap.com/subnets/120","verified_at":"2026-07-22T18:22:42.360Z"}},{"auth_required":false,"confidence":"medium","confirmed_by":["taostats.io"],"id":"sn-120-taostats-metagraph","kind":"dashboard","name":"Affine Taostats metagraph","netuid":120,"provider":"taostats","public_safe":true,"rate_limit_notes":"Candidate only; no recurring probe is configured until maintainer review.","review_notes":"Universal Taostats subnet metagraph dashboard candidate. Third-party explorer enrichment, not protocol authority.","schema_version":1,"source_tier":"third-party-index","source_type":"taostats-metagraph-dashboard","source_url":"https://taostats.io/subnets/120/metagraph","source_urls":["https://taostats.io/subnets/120/metagraph"],"state":"schema-valid","subnet_name":"Affine","superseded_by":null,"url":"https://taostats.io/subnets/120/metagraph","verification":{"candidate_id":"sn-120-taostats-metagraph","classification":"live","confidence_score":77,"content_type":"text/html; charset=utf-8","error":null,"kind":"dashboard","latency_ms":308,"method_tested":"HEAD","name":"Affine Taostats metagraph","netuid":120,"private_redirect_blocked":false,"provider":"taostats","quality_signals":{"content_type_matches_kind":true,"public_safe":true,"rate_limited":false,"redirected":false,"source_tier":"third-party-index","transient_failure":false},"redirect_target":null,"source_tier":"third-party-index","source_type":"taostats-metagraph-dashboard","source_url":"https://taostats.io/subnets/120/metagraph","source_urls":["https://taostats.io/subnets/120/metagraph"],"status":"ok","status_code":200,"url":"https://taostats.io/subnets/120/metagraph","verified_at":"2026-07-22T18:22:42.397Z"}},{"auth_required":false,"confidence":"low","confirmed_by":["affine.io"],"id":"sn-120-website-common-api","kind":"subnet-api","name":"Affine API","netuid":120,"provider":"affine","public_safe":true,"rate_limit_notes":"Candidate only; no recurring probe is configured until maintainer review.","review_notes":"Common read-only path discovered from a public project website root. Requires verification before promotion.","schema_version":1,"source_tier":"provider-claimed","source_type":"project-website-common-path","source_url":"https://www.affine.io/","source_urls":["https://www.affine.io/"],"state":"schema-valid","subnet_name":"Affine","superseded_by":null,"url":"https://www.affine.io/api","verification":{"candidate_id":"sn-120-website-common-api","classification":"dead","confidence_score":0,"content_type":"text/html; charset=utf-8","error":null,"kind":"subnet-api","latency_ms":50,"method_tested":"GET","name":"Affine API","netuid":120,"private_redirect_blocked":false,"provider":"affine","quality_signals":{"content_type_matches_kind":true,"public_safe":true,"rate_limited":false,"redirected":false,"source_tier":"provider-claimed","transient_failure":false},"redirect_target":null,"source_tier":"provider-claimed","source_type":"project-website-common-path","source_url":"https://www.affine.io/","source_urls":["https://www.affine.io/"],"status":"failed","status_code":404,"url":"https://www.affine.io/api","verified_at":"2026-07-22T18:22:42.410Z"}},{"auth_required":false,"confidence":"low","confirmed_by":["affine.io"],"id":"sn-120-website-common-docs","kind":"docs","name":"Affine docs","netuid":120,"provider":"affine","public_safe":true,"rate_limit_notes":"Candidate only; no recurring probe is configured until maintainer review.","review_notes":"Common read-only path discovered from a public project website root. Requires verification before promotion.","schema_version":1,"source_tier":"provider-claimed","source_type":"project-website-common-path","source_url":"https://www.affine.io/","source_urls":["https://www.affine.io/"],"state":"schema-valid","subnet_name":"Affine","superseded_by":null,"url":"https://www.affine.io/docs","verification":{"candidate_id":"sn-120-website-common-docs","classification":"dead","confidence_score":0,"content_type":"text/html; charset=utf-8","error":null,"kind":"docs","latency_ms":60,"method_tested":"GET","name":"Affine docs","netuid":120,"private_redirect_blocked":false,"provider":"affine","quality_signals":{"content_type_matches_kind":true,"public_safe":true,"rate_limited":false,"redirected":false,"source_tier":"provider-claimed","transient_failure":false},"redirect_target":null,"source_tier":"provider-claimed","source_type":"project-website-common-path","source_url":"https://www.affine.io/","source_urls":["https://www.affine.io/"],"status":"failed","status_code":404,"url":"https://www.affine.io/docs","verified_at":"2026-07-22T18:22:42.424Z"}},{"auth_required":false,"confidence":"low","confirmed_by":["affine.io"],"id":"sn-120-website-common-health","kind":"subnet-api","name":"Affine health endpoint","netuid":120,"provider":"affine","public_safe":true,"rate_limit_notes":"Candidate only; no recurring probe is configured until maintainer review.","review_notes":"Common read-only path discovered from a public project website root. Requires verification before promotion.","schema_version":1,"source_tier":"provider-claimed","source_type":"project-website-common-path","source_url":"https://www.affine.io/","source_urls":["https://www.affine.io/"],"state":"schema-valid","subnet_name":"Affine","superseded_by":null,"url":"https://www.affine.io/health","verification":{"candidate_id":"sn-120-website-common-health","classification":"dead","confidence_score":0,"content_type":"text/html; charset=utf-8","error":null,"kind":"subnet-api","latency_ms":57,"method_tested":"GET","name":"Affine health endpoint","netuid":120,"private_redirect_blocked":false,"provider":"affine","quality_signals":{"content_type_matches_kind":true,"public_safe":true,"rate_limited":false,"redirected":false,"source_tier":"provider-claimed","transient_failure":false},"redirect_target":null,"source_tier":"provider-claimed","source_type":"project-website-common-path","source_url":"https://www.affine.io/","source_urls":["https://www.affine.io/"],"status":"failed","status_code":404,"url":"https://www.affine.io/health","verified_at":"2026-07-22T18:22:42.443Z"}},{"auth_required":false,"confidence":"low","confirmed_by":["affine.io"],"id":"sn-120-website-common-openapi-json","kind":"openapi","name":"Affine OpenAPI JSON","netuid":120,"provider":"affine","public_safe":true,"rate_limit_notes":"Candidate only; no recurring probe is configured until maintainer review.","review_notes":"Common read-only path discovered from a public project website root. Requires verification before promotion.","schema_version":1,"source_tier":"provider-claimed","source_type":"project-website-common-path","source_url":"https://www.affine.io/","source_urls":["https://www.affine.io/"],"state":"schema-valid","subnet_name":"Affine","superseded_by":null,"url":"https://www.affine.io/openapi.json","verification":{"candidate_id":"sn-120-website-common-openapi-json","classification":"dead","confidence_score":0,"content_type":"text/html; charset=utf-8","error":null,"kind":"openapi","latency_ms":79,"method_tested":"GET","name":"Affine OpenAPI JSON","netuid":120,"private_redirect_blocked":false,"provider":"affine","quality_signals":{"content_type_matches_kind":true,"public_safe":true,"rate_limited":false,"redirected":false,"source_tier":"provider-claimed","transient_failure":false},"redirect_target":null,"source_tier":"provider-claimed","source_type":"project-website-common-path","source_url":"https://www.affine.io/","source_urls":["https://www.affine.io/"],"status":"failed","status_code":404,"url":"https://www.affine.io/openapi.json","verified_at":"2026-07-22T18:22:42.447Z"}},{"auth_required":false,"confidence":"low","confirmed_by":["affine.io"],"id":"sn-120-website-common-swagger","kind":"openapi","name":"Affine Swagger UI","netuid":120,"provider":"affine","public_safe":true,"rate_limit_notes":"Candidate only; no recurring probe is configured until maintainer review.","review_notes":"Common read-only path discovered from a public project website root. Requires verification before promotion.","schema_version":1,"source_tier":"provider-claimed","source_type":"project-website-common-path","source_url":"https://www.affine.io/","source_urls":["https://www.affine.io/"],"state":"schema-valid","subnet_name":"Affine","superseded_by":null,"url":"https://www.affine.io/swagger","verification":{"candidate_id":"sn-120-website-common-swagger","classification":"dead","confidence_score":0,"content_type":"text/html; charset=utf-8","error":null,"kind":"openapi","latency_ms":50,"method_tested":"GET","name":"Affine Swagger UI","netuid":120,"private_redirect_blocked":false,"provider":"affine","quality_signals":{"content_type_matches_kind":true,"public_safe":true,"rate_limited":false,"redirected":false,"source_tier":"provider-claimed","transient_failure":false},"redirect_target":null,"source_tier":"provider-claimed","source_type":"project-website-common-path","source_url":"https://www.affine.io/","source_urls":["https://www.affine.io/"],"status":"failed","status_code":404,"url":"https://www.affine.io/swagger","verified_at":"2026-07-22T18:22:42.535Z"}},{"auth_required":false,"confidence":"low","confirmed_by":["affine.io"],"id":"sn-120-website-common-swagger-json","kind":"openapi","name":"Affine Swagger JSON","netuid":120,"provider":"affine","public_safe":true,"rate_limit_notes":"Candidate only; no recurring probe is configured until maintainer review.","review_notes":"Common read-only path discovered from a public project website root. Requires verification before promotion.","schema_version":1,"source_tier":"provider-claimed","source_type":"project-website-common-path","source_url":"https://www.affine.io/","source_urls":["https://www.affine.io/"],"state":"schema-valid","subnet_name":"Affine","superseded_by":null,"url":"https://www.affine.io/swagger.json","verification":{"candidate_id":"sn-120-website-common-swagger-json","classification":"dead","confidence_score":0,"content_type":"text/html; charset=utf-8","error":null,"kind":"openapi","latency_ms":51,"method_tested":"GET","name":"Affine Swagger JSON","netuid":120,"private_redirect_blocked":false,"provider":"affine","quality_signals":{"content_type_matches_kind":true,"public_safe":true,"rate_limited":false,"redirected":false,"source_tier":"provider-claimed","transient_failure":false},"redirect_target":null,"source_tier":"provider-claimed","source_type":"project-website-common-path","source_url":"https://www.affine.io/","source_urls":["https://www.affine.io/"],"status":"failed","status_code":404,"url":"https://www.affine.io/swagger.json","verified_at":"2026-07-22T18:22:42.562Z"}}],"contract_version":"2026-07-03.2","endpoints":[{"archive_support":null,"auth_required":false,"authority":"community","chain":"bittensor","classification":"live","error":null,"health_source":"live-cron-prober","health_stale":false,"id":"endpoint-srf-7afbe8d6d483462d","kind":"data-artifact","last_checked":"2026-07-24T15:30:14.165Z","last_ok":"2026-07-24T15:30:14.165Z","latency_ms":1122,"latest_block":null,"layer":"data-provider","method_support":null,"method_tested":"GET","monitoring_policy":{"enabled":true,"expect":"json","method":"GET","source":"surface-probe-config","timeout_ms":10000},"monitoring_status":"monitored","netuid":120,"network":"finney","observed_at":"2026-07-24T15:30:14.165Z","operator":"affine","pool_eligibility_reasons":["not-bittensor-base-layer"],"pool_eligible":false,"provider":"affine","public_safe":true,"publication_state":"monitored","rate_limit_notes":null,"rpc_method_count":null,"score":69,"score_reasons":[{"points":50,"reason":"status-ok"},{"points":19,"reason":"latency"}],"source_urls":["https://api.affine.io/openapi.json"],"status":"ok","subnet_name":"Affine","subnet_slug":"sn-120","surface_id":"sn-120-affine-data-artifact","surface_key":"srf-7afbe8d6d483462d","url":"https://api.affine.io/api/v1/rank/current"},{"archive_support":null,"auth_required":false,"authority":"community","chain":"bittensor","classification":"live","error":null,"health_source":"live-cron-prober","health_stale":false,"id":"endpoint-srf-beede9ae6dbeb1fc","kind":"data-artifact","last_checked":"2026-07-24T15:30:14.165Z","last_ok":"2026-07-24T15:30:14.165Z","latency_ms":963,"latest_block":null,"layer":"data-provider","method_support":null,"method_tested":"GET","monitoring_policy":{"enabled":true,"expect":"json","method":"GET","source":"surface-probe-config","timeout_ms":10000},"monitoring_status":"monitored","netuid":120,"network":"finney","observed_at":"2026-07-24T15:30:14.165Z","operator":"affine","pool_eligibility_reasons":["not-bittensor-base-layer"],"pool_eligible":false,"provider":"affine","public_safe":true,"publication_state":"monitored","rate_limit_notes":null,"rpc_method_count":null,"score":69,"score_reasons":[{"points":50,"reason":"status-ok"},{"points":19,"reason":"latency"}],"source_urls":["https://api.affine.io/openapi.json"],"status":"ok","subnet_name":"Affine","subnet_slug":"sn-120","surface_id":"sn-120-affine-config","surface_key":"srf-beede9ae6dbeb1fc","url":"https://api.affine.io/api/v1/config"},{"archive_support":null,"auth_required":false,"authority":"registry-observed","chain":"bittensor","classification":"unknown","error":null,"health_source":"unavailable","health_stale":true,"id":"endpoint-srf-3c5b1e3b486755f7","kind":"docs","last_checked":null,"last_ok":null,"latency_ms":null,"latest_block":null,"layer":"docs-provider","method_support":null,"method_tested":"HEAD","monitoring_policy":{"enabled":true,"expect":"any","method":"HEAD","source":"surface-probe-config","timeout_ms":10000},"monitoring_status":"monitored","netuid":120,"network":"finney","observed_at":null,"operator":"taopedia-articles","pool_eligibility_reasons":["not-bittensor-base-layer","status-unknown"],"pool_eligible":false,"provider":"taopedia-articles","public_safe":true,"publication_state":"monitored","rate_limit_notes":"Candidate only; no recurring probe is configured until maintainer review.","rpc_method_count":null,"score":66,"score_reasons":[{"points":50,"reason":"status-ok"},{"points":16,"reason":"latency"}],"source_urls":["https://github.com/e35ventura/taopedia-articles/blob/main/content/pages/subnet_120/index.mdx"],"status":"unknown","subnet_name":"Affine","subnet_slug":"sn-120","surface_id":"sn-120-taopedia-article","surface_key":"srf-3c5b1e3b486755f7","url":"https://github.com/e35ventura/taopedia-articles/blob/main/content/pages/subnet_120/index.mdx"},{"archive_support":null,"auth_required":false,"authority":"registry-observed","chain":"bittensor","classification":"unknown","error":null,"health_source":"unavailable","health_stale":true,"id":"endpoint-srf-c4bf295a53a07443","kind":"docs","last_checked":null,"last_ok":null,"latency_ms":null,"latest_block":null,"layer":"docs-provider","method_support":null,"method_tested":"HEAD","monitoring_policy":{"enabled":true,"expect":"any","method":"HEAD","source":"surface-probe-config","timeout_ms":10000},"monitoring_status":"monitored","netuid":120,"network":"finney","observed_at":null,"operator":"tensorplex-subnet-docs","pool_eligibility_reasons":["not-bittensor-base-layer","status-unknown"],"pool_eligible":false,"provider":"tensorplex-subnet-docs","public_safe":true,"publication_state":"monitored","rate_limit_notes":"Candidate only; no recurring probe is configured until maintainer review.","rpc_method_count":null,"score":67,"score_reasons":[{"points":50,"reason":"status-ok"},{"points":17,"reason":"latency"}],"source_urls":["https://github.com/tensorplex-labs/subnet-docs/blob/main/data/120/subnet.json"],"status":"unknown","subnet_name":"Affine","subnet_slug":"sn-120","surface_id":"sn-120-tensorplex-docs","surface_key":"srf-c4bf295a53a07443","url":"https://github.com/tensorplex-labs/subnet-docs/tree/main/data/120"},{"archive_support":null,"auth_required":false,"authority":"official","chain":"bittensor","classification":"unknown","error":null,"health_source":"unavailable","health_stale":true,"id":"endpoint-srf-0b309632dcf69800","kind":"source-repo","last_checked":null,"last_ok":null,"latency_ms":null,"latest_block":null,"layer":"docs-provider","method_support":null,"method_tested":"HEAD","monitoring_policy":{"enabled":true,"expect":"any","method":"HEAD","source":"surface-probe-config","timeout_ms":10000},"monitoring_status":"monitored","netuid":120,"network":"finney","observed_at":null,"operator":"affine","pool_eligibility_reasons":["not-bittensor-base-layer","status-unknown"],"pool_eligible":false,"provider":"affine","public_safe":true,"publication_state":"monitored","rate_limit_notes":null,"rpc_method_count":null,"score":64,"score_reasons":[{"points":50,"reason":"status-ok"},{"points":14,"reason":"latency"}],"source_urls":["https://github.com/AffineFoundation/affine-cortex"],"status":"unknown","subnet_name":"Affine","subnet_slug":"sn-120","surface_id":"sn-120-affine-source-repo","surface_key":"srf-0b309632dcf69800","url":"https://github.com/AffineFoundation/affine-cortex"},{"archive_support":null,"auth_required":false,"authority":"registry-observed","chain":"bittensor","classification":"unknown","error":null,"health_source":"unavailable","health_stale":true,"id":"endpoint-srf-8968d50aa009d546","kind":"source-repo","last_checked":null,"last_ok":null,"latency_ms":null,"latest_block":null,"layer":"docs-provider","method_support":null,"method_tested":"HEAD","monitoring_policy":{"enabled":true,"expect":"any","method":"HEAD","source":"surface-probe-config","timeout_ms":10000},"monitoring_status":"monitored","netuid":120,"network":"finney","observed_at":null,"operator":"affine","pool_eligibility_reasons":["not-bittensor-base-layer","status-unknown"],"pool_eligible":false,"provider":"affine","public_safe":true,"publication_state":"monitored","rate_limit_notes":"Candidate only; no recurring probe is configured until maintainer review.","rpc_method_count":null,"score":66,"score_reasons":[{"points":50,"reason":"status-ok"},{"points":16,"reason":"latency"}],"source_urls":["https://api.taomarketcap.com/public/v1/subnets/120","https://docs.learnbittensor.org/python-api/html/_modules/bittensor/core/chain_data/subnet_identity.html","https://github.com/tensorplex-labs/subnet-docs/blob/main/data/120/subnet.json"],"status":"unknown","subnet_name":"Affine","subnet_slug":"sn-120","surface_id":"sn-120-native-chain-github","surface_key":"srf-8968d50aa009d546","url":"https://github.com/AffineFoundation/affine"},{"archive_support":null,"auth_required":false,"authority":"official","chain":"bittensor","classification":"unknown","error":null,"health_source":"unavailable","health_stale":true,"id":"endpoint-srf-0660c0cd5e9c59ac","kind":"website","last_checked":null,"last_ok":null,"latency_ms":null,"latest_block":null,"layer":"docs-provider","method_support":null,"method_tested":"HEAD","monitoring_policy":{"enabled":true,"expect":"html","method":"HEAD","source":"surface-probe-config","timeout_ms":10000},"monitoring_status":"monitored","netuid":120,"network":"finney","observed_at":null,"operator":"affine","pool_eligibility_reasons":["not-bittensor-base-layer","status-unknown"],"pool_eligible":false,"provider":"affine","public_safe":true,"publication_state":"monitored","rate_limit_notes":null,"rpc_method_count":null,"score":70,"score_reasons":[{"points":50,"reason":"status-ok"},{"points":20,"reason":"latency"}],"source_urls":["https://github.com/AffineFoundation/affine-cortex"],"status":"unknown","subnet_name":"Affine","subnet_slug":"sn-120","surface_id":"sn-120-affine-website","surface_key":"srf-0660c0cd5e9c59ac","url":"https://www.affine.io/"},{"archive_support":null,"auth_required":false,"authority":"registry-observed","chain":"bittensor","classification":"unknown","error":null,"health_source":"unavailable","health_stale":true,"id":"endpoint-srf-16fc25e42f374ede","kind":"dashboard","last_checked":null,"last_ok":null,"latency_ms":null,"latest_block":null,"layer":"subnet-app","method_support":null,"method_tested":"HEAD","monitoring_policy":{"enabled":true,"expect":"any","method":"HEAD","source":"surface-probe-config","timeout_ms":10000},"monitoring_status":"monitored","netuid":120,"network":"finney","observed_at":null,"operator":"affine","pool_eligibility_reasons":["not-bittensor-base-layer","status-unknown"],"pool_eligible":false,"provider":"affine","public_safe":true,"publication_state":"monitored","rate_limit_notes":"Candidate only; no recurring probe is configured until maintainer review.","rpc_method_count":null,"score":70,"score_reasons":[{"points":50,"reason":"status-ok"},{"points":20,"reason":"latency"}],"source_urls":["https://github.com/AffineFoundation/affine/blob/main/README.md"],"status":"unknown","subnet_name":"Affine","subnet_slug":"sn-120","surface_id":"sn-120-github-readme-affinefoundation-affine-dashboard-1","surface_key":"srf-16fc25e42f374ede","url":"https://www.affine.io/"},{"archive_support":null,"auth_required":false,"authority":"registry-observed","chain":"bittensor","classification":"unknown","error":null,"health_source":"unavailable","health_stale":true,"id":"endpoint-srf-18775690911205a9","kind":"dashboard","last_checked":null,"last_ok":null,"latency_ms":null,"latest_block":null,"layer":"subnet-app","method_support":null,"method_tested":"HEAD","monitoring_policy":{"enabled":true,"expect":"any","method":"HEAD","source":"surface-probe-config","timeout_ms":10000},"monitoring_status":"monitored","netuid":120,"network":"finney","observed_at":null,"operator":"subnetradar","pool_eligibility_reasons":["not-bittensor-base-layer","status-unknown"],"pool_eligible":false,"provider":"subnetradar","public_safe":true,"publication_state":"monitored","rate_limit_notes":"Candidate only; no recurring probe is configured until maintainer review.","rpc_method_count":null,"score":70,"score_reasons":[{"points":50,"reason":"status-ok"},{"points":20,"reason":"latency"}],"source_urls":["https://subnetradar.com/subnet/120"],"status":"unknown","subnet_name":"Affine","subnet_slug":"sn-120","surface_id":"sn-120-subnetradar-dashboard","surface_key":"srf-18775690911205a9","url":"https://subnetradar.com/subnet/120"},{"archive_support":null,"auth_required":false,"authority":"registry-observed","chain":"bittensor","classification":"unknown","error":null,"health_source":"unavailable","health_stale":true,"id":"endpoint-srf-f154ee1888410dcb","kind":"dashboard","last_checked":null,"last_ok":null,"latency_ms":null,"latest_block":null,"layer":"subnet-app","method_support":null,"method_tested":"HEAD","monitoring_policy":{"enabled":true,"expect":"any","method":"HEAD","source":"surface-probe-config","timeout_ms":10000},"monitoring_status":"monitored","netuid":120,"network":"finney","observed_at":null,"operator":"backprop-finance","pool_eligibility_reasons":["not-bittensor-base-layer","status-unknown"],"pool_eligible":false,"provider":"backprop-finance","public_safe":true,"publication_state":"monitored","rate_limit_notes":"Candidate only; no recurring probe is configured until maintainer review.","rpc_method_count":null,"score":70,"score_reasons":[{"points":50,"reason":"status-ok"},{"points":20,"reason":"latency"}],"source_urls":["https://backprop.finance/dtao/subnets/120-affine"],"status":"unknown","subnet_name":"Affine","subnet_slug":"sn-120","surface_id":"sn-120-backprop-dashboard","surface_key":"srf-f154ee1888410dcb","url":"https://backprop.finance/dtao/subnets/120-affine"},{"archive_support":null,"auth_required":false,"authority":"community","chain":"bittensor","classification":"unknown","error":null,"health_source":"unavailable","health_stale":true,"id":"endpoint-srf-37289673f2ce24f0","kind":"openapi","last_checked":null,"last_ok":null,"latency_ms":null,"latest_block":null,"layer":"subnet-app","method_support":null,"method_tested":"GET","monitoring_policy":{"enabled":true,"expect":"json","method":"GET","source":"surface-probe-config","timeout_ms":10000},"monitoring_status":"monitored","netuid":120,"network":"finney","observed_at":null,"operator":"affine","pool_eligibility_reasons":["not-bittensor-base-layer","status-unknown"],"pool_eligible":false,"provider":"affine","public_safe":true,"publication_state":"monitored","rate_limit_notes":null,"rpc_method_count":null,"score":67,"score_reasons":[{"points":50,"reason":"status-ok"},{"points":17,"reason":"latency"}],"source_urls":["https://github.com/AffineFoundation/affine-cortex/blob/main/affine/utils/api_client.py","https://api.affine.io/openapi.json"],"status":"unknown","subnet_name":"Affine","subnet_slug":"sn-120","surface_id":"sn-120-affine-openapi","surface_key":"srf-37289673f2ce24f0","url":"https://api.affine.io/openapi.json"},{"archive_support":null,"auth_required":false,"authority":"community","chain":"bittensor","classification":"unknown","error":null,"health_source":"not-monitored","health_stale":false,"id":"endpoint-srf-48f38bb4dab4719e","kind":"subnet-api","last_checked":null,"last_ok":null,"latency_ms":null,"latest_block":null,"layer":"subnet-app","method_support":null,"method_tested":"GET","monitoring_policy":{"enabled":false,"expect":"json","method":"GET","source":"surface-probe-config","timeout_ms":10000},"monitoring_status":"not_monitored","netuid":120,"network":"finney","observed_at":null,"operator":"affine","pool_eligibility_reasons":["not-bittensor-base-layer","status-unknown"],"pool_eligible":false,"provider":"affine","public_safe":true,"publication_state":"verified","rate_limit_notes":null,"rpc_method_count":null,"score":0,"score_reasons":[],"source_urls":["https://api.affine.io/openapi.json"],"status":"unknown","subnet_name":"Affine","subnet_slug":"sn-120","surface_id":"sn-120-affine-config-param","surface_key":"srf-48f38bb4dab4719e","url":"https://api.affine.io/api/v1/config/%7Bkey%7D"},{"archive_support":null,"auth_required":false,"authority":"community","chain":"bittensor","classification":"unknown","error":null,"health_source":"not-monitored","health_stale":false,"id":"endpoint-srf-63722a33c2dc3c9e","kind":"subnet-api","last_checked":null,"last_ok":null,"latency_ms":null,"latest_block":null,"layer":"subnet-app","method_support":null,"method_tested":"GET","monitoring_policy":{"enabled":false,"expect":"json","method":"GET","source":"surface-probe-config","timeout_ms":10000},"monitoring_status":"not_monitored","netuid":120,"network":"finney","observed_at":null,"operator":"affine","pool_eligibility_reasons":["not-bittensor-base-layer","status-unknown"],"pool_eligible":false,"provider":"affine","public_safe":true,"publication_state":"verified","rate_limit_notes":null,"rpc_method_count":null,"score":0,"score_reasons":[],"source_urls":["https://api.affine.io/openapi.json"],"status":"unknown","subnet_name":"Affine","subnet_slug":"sn-120","surface_id":"sn-120-affine-miner-by-hotkey","surface_key":"srf-63722a33c2dc3c9e","url":"https://api.affine.io/api/v1/miners/hotkey/%7Bhotkey%7D"},{"archive_support":null,"auth_required":false,"authority":"community","chain":"bittensor","classification":"live","error":null,"health_source":"live-cron-prober","health_stale":false,"id":"endpoint-srf-8391cf33b493f5a9","kind":"subnet-api","last_checked":"2026-07-24T15:30:14.165Z","last_ok":"2026-07-24T15:30:14.165Z","latency_ms":2008,"latest_block":null,"layer":"subnet-app","method_support":null,"method_tested":"GET","monitoring_policy":{"enabled":true,"expect":"json","method":"GET","source":"surface-probe-config","timeout_ms":10000},"monitoring_status":"monitored","netuid":120,"network":"finney","observed_at":"2026-07-24T15:30:14.165Z","operator":"affine","pool_eligibility_reasons":["not-bittensor-base-layer"],"pool_eligible":false,"provider":"affine","public_safe":true,"publication_state":"monitored","rate_limit_notes":null,"rpc_method_count":null,"score":62,"score_reasons":[{"points":50,"reason":"status-ok"},{"points":12,"reason":"latency"}],"source_urls":["https://api.affine.io/api/v1/scores/latest"],"status":"ok","subnet_name":"Affine","subnet_slug":"sn-120","surface_id":"sn-120-affine-scores-latest","surface_key":"srf-8391cf33b493f5a9","url":"https://api.affine.io/api/v1/scores/latest"},{"archive_support":null,"auth_required":false,"authority":"community","chain":"bittensor","classification":"live","error":null,"health_source":"live-cron-prober","health_stale":false,"id":"endpoint-srf-a85a5fd4273ea028","kind":"subnet-api","last_checked":"2026-07-24T15:30:14.165Z","last_ok":"2026-07-24T15:30:14.165Z","latency_ms":892,"latest_block":null,"layer":"subnet-app","method_support":null,"method_tested":"GET","monitoring_policy":{"enabled":true,"expect":"json","method":"GET","source":"surface-probe-config","timeout_ms":10000},"monitoring_status":"monitored","netuid":120,"network":"finney","observed_at":"2026-07-24T15:30:14.165Z","operator":"affine","pool_eligibility_reasons":["not-bittensor-base-layer"],"pool_eligible":false,"provider":"affine","public_safe":true,"publication_state":"monitored","rate_limit_notes":null,"rpc_method_count":null,"score":70,"score_reasons":[{"points":50,"reason":"status-ok"},{"points":20,"reason":"latency"}],"source_urls":["https://api.affine.io/openapi.json","https://github.com/AffineFoundation/affine-cortex/blob/main/affine/utils/api_client.py"],"status":"ok","subnet_name":"Affine","subnet_slug":"sn-120","surface_id":"sn-120-affine-health","surface_key":"srf-a85a5fd4273ea028","url":"https://api.affine.io/api/v1/health"},{"archive_support":null,"auth_required":false,"authority":"community","chain":"bittensor","classification":"unknown","error":null,"health_source":"not-monitored","health_stale":false,"id":"endpoint-srf-d3cc375c69ec7c52","kind":"subnet-api","last_checked":null,"last_ok":null,"latency_ms":null,"latest_block":null,"layer":"subnet-app","method_support":null,"method_tested":"GET","monitoring_policy":{"enabled":false,"expect":"json","method":"GET","source":"surface-probe-config","timeout_ms":10000},"monitoring_status":"not_monitored","netuid":120,"network":"finney","observed_at":null,"operator":"affine","pool_eligibility_reasons":["not-bittensor-base-layer","status-unknown"],"pool_eligible":false,"provider":"affine","public_safe":true,"publication_state":"verified","rate_limit_notes":null,"rpc_method_count":null,"score":0,"score_reasons":[],"source_urls":["https://api.affine.io/openapi.json"],"status":"unknown","subnet_name":"Affine","subnet_slug":"sn-120","surface_id":"sn-120-affine-miner-by-uid","surface_key":"srf-d3cc375c69ec7c52","url":"https://api.affine.io/api/v1/miners/uid/%7Buid%7D"},{"archive_support":null,"auth_required":false,"authority":"community","chain":"bittensor","classification":"unknown","error":null,"health_source":"not-monitored","health_stale":false,"id":"endpoint-srf-dc48e0f818c661eb","kind":"subnet-api","last_checked":null,"last_ok":null,"latency_ms":null,"latest_block":null,"layer":"subnet-app","method_support":null,"method_tested":"GET","monitoring_policy":{"enabled":false,"expect":"json","method":"GET","source":"surface-probe-config","timeout_ms":10000},"monitoring_status":"not_monitored","netuid":120,"network":"finney","observed_at":null,"operator":"affine","pool_eligibility_reasons":["not-bittensor-base-layer","status-unknown"],"pool_eligible":false,"provider":"affine","public_safe":true,"publication_state":"verified","rate_limit_notes":null,"rpc_method_count":null,"score":0,"score_reasons":[],"source_urls":["https://api.affine.io/openapi.json"],"status":"unknown","subnet_name":"Affine","subnet_slug":"sn-120","surface_id":"sn-120-affine-score-by-uid","surface_key":"srf-dc48e0f818c661eb","url":"https://api.affine.io/api/v1/scores/uid/%7Buid%7D"},{"archive_support":null,"auth_required":false,"authority":"community","chain":"bittensor","classification":"live","error":null,"health_source":"live-cron-prober","health_stale":false,"id":"endpoint-srf-fa2d0232ee94fe85","kind":"subnet-api","last_checked":"2026-07-24T15:30:14.165Z","last_ok":"2026-07-24T15:30:14.165Z","latency_ms":1631,"latest_block":null,"layer":"subnet-app","method_support":null,"method_tested":"GET","monitoring_policy":{"enabled":true,"expect":"json","method":"GET","source":"surface-probe-config","timeout_ms":10000},"monitoring_status":"monitored","netuid":120,"network":"finney","observed_at":"2026-07-24T15:30:14.165Z","operator":"affine","pool_eligibility_reasons":["not-bittensor-base-layer"],"pool_eligible":false,"provider":"affine","public_safe":true,"publication_state":"monitored","rate_limit_notes":null,"rpc_method_count":null,"score":63,"score_reasons":[{"points":50,"reason":"status-ok"},{"points":13,"reason":"latency"}],"source_urls":["https://api.affine.io/api/v1/scores/weights/latest"],"status":"ok","subnet_name":"Affine","subnet_slug":"sn-120","surface_id":"sn-120-affine-scores-weights-latest","surface_key":"srf-fa2d0232ee94fe85","url":"https://api.affine.io/api/v1/scores/weights/latest"}],"gaps":{"gap_notes":["No verified official docs URL yet.","No verified SSE/event stream yet.","The API root (/) declares no security in the schema and returns HTTP 500 (\"Internal server error\") rather than a usable payload -- not promoted."],"missing_kinds":["sse"],"supported_kinds":["dashboard","data-artifact","docs","openapi","source-repo","subnet-api","website"]},"generated_at":"2026-07-22T18:15:00.789Z","profile":{"candidate_count":8,"categories":["baseline-augmented","baseline-curated","identity-reviewed","official-source-repo","official-website"],"completeness":{"confidence":"high","gap_reasons":["missing-sse"],"identity_level":"complete","identity_surface_count":3,"missing_critical_count":1,"missing_identity":[],"missing_operational":["sse"],"missing_required":[],"profile_level":"operational","score":93},"completeness_score":93,"confidence":"high","curation_level":"maintainer-reviewed","derived_categories":[],"derived_description":null,"endpoint_count":18,"gap_reasons":["missing-sse"],"identity_evidence":{"candidate_identity_count":1,"curated_identity_count":3,"curated_identity_kinds":["docs","source-repo","website"],"live_candidate_identity_kinds":[],"native_contact_present":true,"native_description_present":true,"native_identity_count":2,"native_identity_kinds":["source-repo","website"],"needs_promotion_kinds":[],"stale_candidate_identity_kinds":["docs"],"unverified_candidate_identity_kinds":[]},"identity_level":"complete","identity_surface_count":3,"injection_scrubbed":false,"integration_readiness":100,"interface_count":7,"lineage":null,"missing_critical_count":1,"missing_identity":[],"missing_operational":["sse"],"missing_required":[],"monitored_endpoint_count":14,"name":"Affine","native_identity":{"additional":null,"contact_present":true,"description":"Reason Mining","discord":"consttt","discord_url":null,"github_url":"https://github.com/AffineFoundation/affine","logo_url":"https://raw.githubusercontent.com/AffineFoundation/affine/main/affine.png","source":"SubtensorModule.SubnetIdentitiesV3","subnet_name":"Affine","website_url":"https://www.affine.io/"},"native_name":"Affine","native_name_quality":"chain","netuid":120,"operational_interface_count":3,"operational_interface_kinds":["data-artifact","openapi","subnet-api"],"primary_app_surface":{"id":"sn-120-affine-config-param","kind":"subnet-api","name":"Affine config parameter detail","provider":"affine","url":"https://api.affine.io/api/v1/config/%7Bkey%7D"},"primary_links":{"dashboard_url":"https://backprop.finance/dtao/subnets/120-affine","docs_url":"https://github.com/e35ventura/taopedia-articles/blob/main/content/pages/subnet_120/index.mdx","source_repo":"https://github.com/AffineFoundation/affine-cortex","website_url":"https://www.affine.io/"},"profile_level":"operational","project_name":"Affine","provenance":{"curation_level":"maintainer-reviewed","identity_source":"curated-overlay","interface_source_count":13,"review_state":"maintainer-reviewed","reviewed_at":"2026-07-16T00:00:00.000Z","source_urls":["https://api.affine.io/api/v1/scores/latest","https://api.affine.io/api/v1/scores/weights/latest","https://api.affine.io/openapi.json","https://api.taomarketcap.com/public/v1/subnets/120","https://backprop.finance/dtao/subnets/120-affine","https://docs.learnbittensor.org/python-api/html/_modules/bittensor/core/chain_data/subnet_identity.html","https://github.com/AffineFoundation/affine-cortex","https://github.com/AffineFoundation/affine-cortex/blob/main/affine/utils/api_client.py","https://github.com/AffineFoundation/affine/blob/main/README.md","https://github.com/e35ventura/taopedia-articles/blob/main/content/pages/subnet_120/index.mdx","https://github.com/tensorplex-labs/subnet-docs/blob/main/data/120/subnet.json","https://subnetradar.com/subnet/120","https://www.affine.io/"]},"readiness":{"components":{"active_lifecycle":true,"auth_clarity":true,"callable_now":true,"documented":true,"has_callable_api":true,"has_candidate_api":true,"has_public_docs":false,"has_source_repo":true,"profile_complete":true},"readiness_tier":"buildable","readiness_version":2,"score":100},"review_state":"maintainer-reviewed","slug":"sn-120","status":"active","subnet_type":"application","suggested_submission_kinds":[],"supported_interface_kinds":["dashboard","data-artifact","docs","openapi","source-repo","subnet-api","website"],"surface_count":18,"symbol":"ⴷ","team":null},"schema_version":1,"subnet":{"block":8679001,"candidate_count":8,"categories":["baseline-augmented","baseline-curated","identity-reviewed","official-source-repo","official-website"],"contact":null,"coverage_level":"probed","curation":{"gap_notes":["No verified official docs URL yet.","No verified SSE/event stream yet.","The API root (/) declares no security in the schema and returns HTTP 500 (\"Internal server error\") rather than a usable payload -- not promoted."],"level":"maintainer-reviewed","review_state":"maintainer-reviewed","reviewed_at":"2026-07-16T00:00:00.000Z","source_count":12,"verified_at":"2026-07-16T00:00:00.000Z"},"curation_level":"maintainer-reviewed","dashboard_url":null,"derived_categories":[],"description":"Reason Mining","docs_url":null,"gaps":{"gap_notes":["No verified official docs URL yet.","No verified SSE/event stream yet.","The API root (/) declares no security in the schema and returns HTTP 500 (\"Internal server error\") rather than a usable payload -- not promoted."],"missing_kinds":["sse"],"supported_kinds":["dashboard","data-artifact","docs","openapi","source-repo","subnet-api","website"]},"github_languages":{"Dockerfile":891,"Python":2372301,"Shell":668},"github_last_push_at":"2026-07-18T09:58:39Z","lifecycle":"active","links":[],"logo_url":"https://raw.githubusercontent.com/AffineFoundation/affine/main/affine.png","mechanism_count":1,"name":"Affine","native_name":"Affine","native_name_quality":"chain","native_slug":"affine","netuid":120,"notes":"First maintainer review for SN120. Added website + source-repo surfaces, fixed 3 missing probe blocks. Diffed the 10-path OpenAPI schema for undiscovered public GET endpoints -- added 1 new surface (config); the API root (/) is declared no-auth but currently 500s.","participant_count":256,"partnership":null,"probed_surface_count":14,"provenance":{"existence":{"authority":"native-chain","captured_at":"2026-07-22T18:15:13Z","method":"SubtensorApi.metagraphs.get_all_metagraphs_info(all_mechanisms=True)","network":"finney","source_kind":"bittensor-sdk"},"identity":{"display_name_source":"curated-overlay","native_name_quality":"chain"},"interface_metadata":"maintainer-reviewed"},"registered_at_block":5749344,"slug":"sn-120","social":null,"source_repo":"https://github.com/AffineFoundation/affine-cortex","status":"active","subnet_type":"application","surface_count":18,"symbol":"ⴷ","tempo":360,"website_url":"https://www.affine.io/"},"surfaces":[{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-120-affine-config","key":"srf-beede9ae6dbeb1fc","kind":"data-artifact","last_verified_at":null,"name":"Affine validator scoring config","netuid":120,"notes":"Public no-auth GET /api/v1/config on api.affine.io returning the live scoring config (observed: validator_burn_percentage). Documented in the subnet's own OpenAPI schema.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"affine","public_safe":true,"review":{"state":"community-submitted","submitted_by":"jsonbored"},"source_urls":["https://api.affine.io/openapi.json"],"stale":false,"subnet_name":"Affine","subnet_slug":"sn-120","url":"https://api.affine.io/api/v1/config"},{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-120-affine-config-param","key":"srf-48f38bb4dab4719e","kind":"subnet-api","last_verified_at":null,"name":"Affine config parameter detail","netuid":120,"notes":"GET /api/v1/config/{key} on api.affine.io -- detail record for a single named config parameter (value, type, version, update metadata), the per-item sibling of the already-registered bulk /api/v1/config surface. Documented in the subnet's own OpenAPI 3.1 schema with no security declared. Live-verified 2026-07-22 using a parameter name obtained from the bulk config surface: HTTP 200 JSON with the full parameter record; an unknown parameter name returns a clean HTTP 404 not-found response. probe.enabled:false -- percent-encoded path template; no per-surface path-param injection in the probe pipeline.","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"affine","public_safe":true,"review":{"state":"community-submitted","submitted_by":"tryeverything24"},"source_urls":["https://api.affine.io/openapi.json"],"stale":false,"subnet_name":"Affine","subnet_slug":"sn-120","url":"https://api.affine.io/api/v1/config/%7Bkey%7D"},{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-120-affine-data-artifact","key":"srf-7afbe8d6d483462d","kind":"data-artifact","last_verified_at":null,"name":"Affine current champion rank","netuid":120,"notes":"Public no-auth GET /api/v1/rank/current on api.affine.io returning the current champion window (model reference, revision, since-block) plus past champions with their emission share. Documented as GET /api/v1/rank/current in the subnet's own OpenAPI 3.1 schema (already-registered sn-120-affine-openapi surface); same api.affine.io host as the existing health surface. Observed live and populated at submission time.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"affine","public_safe":true,"review":{"state":"community-submitted","submitted_by":"philluiz2323"},"source_urls":["https://api.affine.io/openapi.json"],"stale":false,"subnet_name":"Affine","subnet_slug":"sn-120","url":"https://api.affine.io/api/v1/rank/current"},{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-120-affine-health","key":"srf-a85a5fd4273ea028","kind":"subnet-api","last_verified_at":null,"name":"Affine API health","netuid":120,"notes":"Public no-auth GET /api/v1/health on api.affine.io returning liveness JSON (observed: {\"status\":\"ok\",\"service\":\"affine-api\"}). Documented as GET /api/v1/health in the subnet OpenAPI spec; api.affine.io/api/v1 is the default API_URL in the official affine-cortex API client.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"affine","public_safe":true,"review":{"state":"community-submitted","submitted_by":"bohdansolovie"},"source_urls":["https://api.affine.io/openapi.json","https://github.com/AffineFoundation/affine-cortex/blob/main/affine/utils/api_client.py"],"stale":false,"subnet_name":"Affine","subnet_slug":"sn-120","url":"https://api.affine.io/api/v1/health"},{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-120-affine-miner-by-hotkey","key":"srf-63722a33c2dc3c9e","kind":"subnet-api","last_verified_at":null,"name":"Affine miner detail by hotkey","netuid":120,"notes":"GET /api/v1/miners/hotkey/{hotkey} on api.affine.io -- the same per-miner detail record as the uid lookup, addressed by the miner's hotkey instead. Documented in the subnet's own OpenAPI 3.1 schema with no security declared. Live-verified 2026-07-22 using a real value obtained from the uid-0 lookup on the sibling surface: HTTP 200 JSON returning the identical miner record; an unknown value returns a clean HTTP 404 not-found response, not an auth rejection. probe.enabled:false -- percent-encoded path template; no per-surface path-param injection in the probe pipeline.","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"affine","public_safe":true,"review":{"state":"community-submitted","submitted_by":"tryeverything24"},"source_urls":["https://api.affine.io/openapi.json"],"stale":false,"subnet_name":"Affine","subnet_slug":"sn-120","url":"https://api.affine.io/api/v1/miners/hotkey/%7Bhotkey%7D"},{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-120-affine-miner-by-uid","key":"srf-d3cc375c69ec7c52","kind":"subnet-api","last_verified_at":null,"name":"Affine miner detail by uid","netuid":120,"notes":"GET /api/v1/miners/uid/{uid} on api.affine.io -- per-miner detail record (model reference, revision, validity, block numbers) for a registered uid; path-parameterized sibling of the already-registered list-style surfaces. Documented in the subnet's own OpenAPI 3.1 schema (the already-registered sn-120-affine-openapi surface) with no security declared. Live-verified 2026-07-22: uid 0 returns HTTP 200 JSON with the matching miner record; a non-integer path value returns a clean HTTP 422 validation error naming the uid path field. probe.enabled:false -- the URL is a percent-encoded path template and the probe pipeline has no per-surface path-param injection.","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"affine","public_safe":true,"review":{"state":"community-submitted","submitted_by":"tryeverything24"},"source_urls":["https://api.affine.io/openapi.json"],"stale":false,"subnet_name":"Affine","subnet_slug":"sn-120","url":"https://api.affine.io/api/v1/miners/uid/%7Buid%7D"},{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-120-affine-openapi","key":"srf-37289673f2ce24f0","kind":"openapi","last_verified_at":null,"name":"Affine API OpenAPI schema","netuid":120,"notes":"Machine-readable OpenAPI 3.1 schema for the Affine SN120 API (title: Affine API). Served publicly at api.affine.io; documents rank, miner, score, config, and health routes.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"affine","public_safe":true,"review":{"state":"community-submitted","submitted_by":"bohdansolovie"},"schema_status":"machine-readable","schema_url":"https://api.affine.io/openapi.json","source_urls":["https://github.com/AffineFoundation/affine-cortex/blob/main/affine/utils/api_client.py","https://api.affine.io/openapi.json"],"stale":false,"subnet_name":"Affine","subnet_slug":"sn-120","url":"https://api.affine.io/openapi.json"},{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-120-affine-score-by-uid","key":"srf-dc48e0f818c661eb","kind":"subnet-api","last_verified_at":null,"name":"Affine score detail by uid","netuid":120,"notes":"GET /api/v1/scores/uid/{uid} on api.affine.io -- per-miner score detail (overall and average score, per-environment scores, sample count) for a registered uid; path-parameterized sibling of the already-registered scores/latest surface. Documented in the subnet's own OpenAPI 3.1 schema with no security declared. Live-verified 2026-07-22: uid 0 returns HTTP 200 JSON with the matching score record. probe.enabled:false -- percent-encoded path template; no per-surface path-param injection in the probe pipeline.","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"affine","public_safe":true,"review":{"state":"community-submitted","submitted_by":"tryeverything24"},"source_urls":["https://api.affine.io/openapi.json"],"stale":false,"subnet_name":"Affine","subnet_slug":"sn-120","url":"https://api.affine.io/api/v1/scores/uid/%7Buid%7D"},{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-120-affine-scores-latest","key":"srf-8391cf33b493f5a9","kind":"subnet-api","last_verified_at":null,"name":"Affine latest scores","netuid":120,"notes":"Public no-auth GET returning the latest per-miner scores (block_number, miner_hotkey, uid, model_revision). Documented in the subnet's own OpenAPI schema.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"affine","public_safe":true,"review":{"state":"community-submitted","submitted_by":"jsonbored"},"source_urls":["https://api.affine.io/api/v1/scores/latest"],"stale":false,"subnet_name":"Affine","subnet_slug":"sn-120","url":"https://api.affine.io/api/v1/scores/latest"},{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-120-affine-scores-weights-latest","key":"srf-fa2d0232ee94fe85","kind":"subnet-api","last_verified_at":null,"name":"Affine latest weights","netuid":120,"notes":"Public no-auth GET returning the latest computed weights per UID alongside the scoring config. Documented in the subnet's own OpenAPI schema.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"affine","public_safe":true,"review":{"state":"community-submitted","submitted_by":"jsonbored"},"source_urls":["https://api.affine.io/api/v1/scores/weights/latest"],"stale":false,"subnet_name":"Affine","subnet_slug":"sn-120","url":"https://api.affine.io/api/v1/scores/weights/latest"},{"auth_required":false,"authority":"official","curation_level":"maintainer-reviewed","id":"sn-120-affine-source-repo","key":"srf-0b309632dcf69800","kind":"source-repo","last_verified_at":"2026-07-16T00:00:00.000Z","name":"Affine source repository","netuid":120,"notes":"Official SN120 Affine source repository -- verified live 2026-07-16.","probe":{"enabled":true,"expect":"any","method":"HEAD","timeout_ms":10000},"provider":"affine","public_safe":true,"source_urls":["https://github.com/AffineFoundation/affine-cortex"],"stale":false,"subnet_name":"Affine","subnet_slug":"sn-120","url":"https://github.com/AffineFoundation/affine-cortex"},{"auth_required":false,"authority":"official","curation_level":"maintainer-reviewed","id":"sn-120-affine-website","key":"srf-0660c0cd5e9c59ac","kind":"website","last_verified_at":"2026-07-16T00:00:00.000Z","name":"Affine website","netuid":120,"notes":"Official SN120 Affine website -- verified live 2026-07-16.","probe":{"enabled":true,"expect":"html","method":"HEAD","timeout_ms":10000},"provider":"affine","public_safe":true,"source_urls":["https://github.com/AffineFoundation/affine-cortex"],"stale":false,"subnet_name":"Affine","subnet_slug":"sn-120","url":"https://www.affine.io/"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-120-backprop-dashboard","key":"srf-f154ee1888410dcb","kind":"dashboard","last_verified_at":null,"name":"Affine Backprop Finance dashboard","netuid":120,"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":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://backprop.finance/dtao/subnets/120-affine"],"stale":false,"subnet_name":"Affine","subnet_slug":"sn-120","url":"https://backprop.finance/dtao/subnets/120-affine"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-120-github-readme-affinefoundation-affine-dashboard-1","key":"srf-16fc25e42f374ede","kind":"dashboard","last_verified_at":null,"name":"Affine dashboard","netuid":120,"notes":"Discovered from a project-affiliated public GitHub README link after README noise filters. Requires verification before promotion.","probe":{"enabled":true,"expect":"any","method":"HEAD","timeout_ms":10000},"provider":"affine","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/AffineFoundation/affine/blob/main/README.md"],"stale":false,"subnet_name":"Affine","subnet_slug":"sn-120","url":"https://www.affine.io/"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-120-native-chain-github","key":"srf-8968d50aa009d546","kind":"source-repo","last_verified_at":null,"name":"Affine GitHub source repository","netuid":120,"notes":"Discovered from native Subtensor SubnetIdentitiesV3 metadata. Candidate still requires safe probe verification and maintainer review before promotion.","probe":{"enabled":true,"expect":"any","method":"HEAD","timeout_ms":10000},"provider":"affine","public_safe":true,"quality_signals":{"archived":false,"has_default_branch":true,"has_recent_push_metadata":true,"public_safe":true,"source_tier":"native-chain"},"rate_limit_notes":"Candidate only; no recurring probe is configured until maintainer review.","source_urls":["https://api.taomarketcap.com/public/v1/subnets/120","https://docs.learnbittensor.org/python-api/html/_modules/bittensor/core/chain_data/subnet_identity.html","https://github.com/tensorplex-labs/subnet-docs/blob/main/data/120/subnet.json"],"stale":false,"subnet_name":"Affine","subnet_slug":"sn-120","url":"https://github.com/AffineFoundation/affine"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-120-subnetradar-dashboard","key":"srf-18775690911205a9","kind":"dashboard","last_verified_at":null,"name":"Affine SubnetRadar dashboard","netuid":120,"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/120"],"stale":false,"subnet_name":"Affine","subnet_slug":"sn-120","url":"https://subnetradar.com/subnet/120"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-120-taopedia-article","key":"srf-3c5b1e3b486755f7","kind":"docs","last_verified_at":null,"name":"Affine Taopedia article","netuid":120,"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_120/index.mdx"],"stale":false,"subnet_name":"Affine","subnet_slug":"sn-120","url":"https://github.com/e35ventura/taopedia-articles/blob/main/content/pages/subnet_120/index.mdx"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-120-tensorplex-docs","key":"srf-c4bf295a53a07443","kind":"docs","last_verified_at":null,"name":"Affine Tensorplex subnet docs","netuid":120,"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/120/subnet.json"],"stale":false,"subnet_name":"Affine","subnet_slug":"sn-120","url":"https://github.com/tensorplex-labs/subnet-docs/tree/main/data/120"}],"operational_observed_at":"2026-07-24T15:30:14.165Z","health_source":"live-cron-prober"},"meta":{"artifact_path":"/metagraph/profiles/120.json","cache":"standard","contract_version":"2026-06-06.1","generated_at":"2026-07-22T18:15:00.789Z","published_at":"2026-07-22T18:15:00.789Z","source":"live-cron-prober","operational_observed_at":"2026-07-24T15:30:14.165Z"}}