{"ok":true,"schema_version":1,"data":{"candidate_surfaces":[{"auth_required":false,"confidence":"medium","confirmed_by":["taostats.io"],"id":"sn-52-taostats-metagraph","kind":"dashboard","name":"Dojo Taostats metagraph","netuid":52,"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/52/metagraph","source_urls":["https://taostats.io/subnets/52/metagraph"],"state":"schema-valid","subnet_name":"Dojo","superseded_by":null,"url":"https://taostats.io/subnets/52/metagraph","verification":{"candidate_id":"sn-52-taostats-metagraph","classification":"live","confidence_score":77,"content_type":"text/html; charset=utf-8","error":null,"kind":"dashboard","latency_ms":417,"method_tested":"HEAD","name":"Dojo Taostats metagraph","netuid":52,"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/52/metagraph","source_urls":["https://taostats.io/subnets/52/metagraph"],"status":"ok","status_code":200,"url":"https://taostats.io/subnets/52/metagraph","verified_at":"2026-07-22T18:22:03.674Z"}},{"auth_required":false,"confidence":"medium","confirmed_by":["github.com"],"id":"sn-52-tensorplex-source-repo-2","kind":"source-repo","name":"Dojo source repository","netuid":52,"provider":"tensorplex-subnet-docs","public_safe":true,"rate_limit_notes":"Candidate only; no recurring probe is configured until maintainer review.","review_notes":"Discovered from Tensorplex subnet-docs. Not probed or verified by Metagraphed.","schema_version":1,"source_tier":"community-docs","source_type":"tensorplex-subnet-docs-github","source_url":"https://github.com/tensorplex-labs/subnet-docs/blob/main/data/52/subnet.json","source_urls":["https://github.com/tensorplex-labs/subnet-docs/blob/main/data/52/subnet.json"],"state":"schema-valid","subnet_name":"Dojo","superseded_by":null,"url":"https://github.com/tensorplex-labs/dojo-synthetic-api","verification":{"candidate_id":"sn-52-tensorplex-source-repo-2","classification":"dead","confidence_score":0,"error":null,"github_api_status":404,"github_api_url":"https://api.github.com/repos/tensorplex-labs/dojo-synthetic-api","kind":"source-repo","latency_ms":16,"method_tested":"GET","name":"Dojo source repository","netuid":52,"private_redirect_blocked":false,"provider":"tensorplex-subnet-docs","quality_signals":{"content_type_matches_kind":true,"public_safe":true,"rate_limited":false,"redirected":false,"source_tier":"community-docs","transient_failure":false},"redirect_target":null,"source_tier":"community-docs","source_type":"tensorplex-subnet-docs-github","source_url":"https://github.com/tensorplex-labs/subnet-docs/blob/main/data/52/subnet.json","source_urls":["https://github.com/tensorplex-labs/subnet-docs/blob/main/data/52/subnet.json"],"status":"failed","status_code":404,"url":"https://github.com/tensorplex-labs/dojo-synthetic-api","verified_at":"2026-07-22T18:22:03.720Z"}}],"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-4c2c9206822e93d0","kind":"data-artifact","last_checked":"2026-07-24T17:00:14.520Z","last_ok":"2026-07-24T17:00:14.520Z","latency_ms":464,"latest_block":null,"layer":"data-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":52,"network":"finney","observed_at":"2026-07-24T17:00:14.520Z","operator":"tensorplex","pool_eligibility_reasons":["not-bittensor-base-layer"],"pool_eligible":false,"provider":"tensorplex","public_safe":true,"publication_state":"monitored","rate_limit_notes":null,"rpc_method_count":null,"score":68,"score_reasons":[{"points":50,"reason":"status-ok"},{"points":18,"reason":"latency"}],"source_urls":["https://github.com/tensorplex-labs/dojo","https://huggingface.co/tensorplex-labs"],"status":"ok","subnet_name":"Dojo","subnet_slug":"sn-52","surface_id":"sn-52-dojo-humanfeedback-dpo","surface_key":"srf-4c2c9206822e93d0","url":"https://huggingface.co/datasets/tensorplex-labs/Dojo-HumanFeedback-DPO"},{"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-bf9767e3270e896c","kind":"data-artifact","last_checked":"2026-07-24T17:00:14.520Z","last_ok":"2026-07-24T17:00:14.520Z","latency_ms":694,"latest_block":null,"layer":"data-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":52,"network":"finney","observed_at":"2026-07-24T17:00:14.520Z","operator":"tensorplex","pool_eligibility_reasons":["not-bittensor-base-layer"],"pool_eligible":false,"provider":"tensorplex","public_safe":true,"publication_state":"monitored","rate_limit_notes":null,"rpc_method_count":null,"score":68,"score_reasons":[{"points":50,"reason":"status-ok"},{"points":18,"reason":"latency"}],"source_urls":["https://github.com/tensorplex-labs/dojo","https://huggingface.co/tensorplex-labs"],"status":"ok","subnet_name":"Dojo","subnet_slug":"sn-52","surface_id":"sn-52-dojo-synthetic-sft-dataset","surface_key":"srf-bf9767e3270e896c","url":"https://huggingface.co/datasets/tensorplex-labs/Dojo-Synthetic-SFT"},{"archive_support":null,"auth_required":false,"authority":"official","chain":"bittensor","classification":"unknown","error":null,"health_source":"unavailable","health_stale":true,"id":"endpoint-srf-0e89015d726f0381","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":"html","method":"HEAD","source":"surface-probe-config","timeout_ms":10000},"monitoring_status":"monitored","netuid":52,"network":"finney","observed_at":null,"operator":"tensorplex","pool_eligibility_reasons":["not-bittensor-base-layer","status-unknown"],"pool_eligible":false,"provider":"tensorplex","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://docs.tensorplex.ai/tensorplex-docs/tensorplex-dojo-bittensor-subnet/subnet-mechanism"],"status":"unknown","subnet_name":"Dojo","subnet_slug":"sn-52","surface_id":"sn-52-dojo-docs","surface_key":"srf-0e89015d726f0381","url":"https://docs.tensorplex.ai/tensorplex-docs/tensorplex-dojo-bittensor-subnet/subnet-mechanism"},{"archive_support":null,"auth_required":false,"authority":"registry-observed","chain":"bittensor","classification":"unknown","error":null,"health_source":"unavailable","health_stale":true,"id":"endpoint-srf-6e096b4290dbd59e","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":52,"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_52/index.mdx"],"status":"unknown","subnet_name":"Dojo","subnet_slug":"sn-52","surface_id":"sn-52-taopedia-article","surface_key":"srf-6e096b4290dbd59e","url":"https://github.com/e35ventura/taopedia-articles/blob/main/content/pages/subnet_52/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-b373533fcb35ae48","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":52,"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/52/subnet.json"],"status":"unknown","subnet_name":"Dojo","subnet_slug":"sn-52","surface_id":"sn-52-tensorplex-docs","surface_key":"srf-b373533fcb35ae48","url":"https://github.com/tensorplex-labs/subnet-docs/tree/main/data/52"},{"archive_support":null,"auth_required":false,"authority":"official","chain":"bittensor","classification":"unknown","error":null,"health_source":"unavailable","health_stale":true,"id":"endpoint-srf-743ebb9b0f42ad20","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":52,"network":"finney","observed_at":null,"operator":"tensorplex","pool_eligibility_reasons":["not-bittensor-base-layer","status-unknown"],"pool_eligible":false,"provider":"tensorplex","public_safe":true,"publication_state":"monitored","rate_limit_notes":null,"rpc_method_count":null,"score":65,"score_reasons":[{"points":50,"reason":"status-ok"},{"points":15,"reason":"latency"}],"source_urls":["https://github.com/tensorplex-labs/dojo-worker-api"],"status":"unknown","subnet_name":"Dojo","subnet_slug":"sn-52","surface_id":"sn-52-dojo-worker-api-source","surface_key":"srf-743ebb9b0f42ad20","url":"https://github.com/tensorplex-labs/dojo-worker-api"},{"archive_support":null,"auth_required":false,"authority":"official","chain":"bittensor","classification":"unknown","error":null,"health_source":"unavailable","health_stale":true,"id":"endpoint-srf-a5517b40ffcf91a4","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":52,"network":"finney","observed_at":null,"operator":"tensorplex","pool_eligibility_reasons":["not-bittensor-base-layer","status-unknown"],"pool_eligible":false,"provider":"tensorplex","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://github.com/tensorplex-labs/dojo-ui"],"status":"unknown","subnet_name":"Dojo","subnet_slug":"sn-52","surface_id":"sn-52-dojo-ui-source","surface_key":"srf-a5517b40ffcf91a4","url":"https://github.com/tensorplex-labs/dojo-ui"},{"archive_support":null,"auth_required":false,"authority":"official","chain":"bittensor","classification":"unknown","error":null,"health_source":"unavailable","health_stale":true,"id":"endpoint-srf-e86dc151b51163df","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":52,"network":"finney","observed_at":null,"operator":"tensorplex","pool_eligibility_reasons":["not-bittensor-base-layer","status-unknown"],"pool_eligible":false,"provider":"tensorplex","public_safe":true,"publication_state":"monitored","rate_limit_notes":null,"rpc_method_count":null,"score":66,"score_reasons":[{"points":50,"reason":"status-ok"},{"points":16,"reason":"latency"}],"source_urls":["https://github.com/tensorplex-labs/dojo"],"status":"unknown","subnet_name":"Dojo","subnet_slug":"sn-52","surface_id":"sn-52-dojo-source","surface_key":"srf-e86dc151b51163df","url":"https://github.com/tensorplex-labs/dojo"},{"archive_support":null,"auth_required":false,"authority":"official","chain":"bittensor","classification":"unknown","error":null,"health_source":"unavailable","health_stale":true,"id":"endpoint-srf-1a415c70b286f4d1","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":52,"network":"finney","observed_at":null,"operator":"tensorplex","pool_eligibility_reasons":["not-bittensor-base-layer","status-unknown"],"pool_eligible":false,"provider":"tensorplex","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://www.tensorplex.ai/","https://github.com/tensorplex-labs/dojo"],"status":"unknown","subnet_name":"Dojo","subnet_slug":"sn-52","surface_id":"sn-52-tensorplex-website","surface_key":"srf-1a415c70b286f4d1","url":"https://www.tensorplex.ai/"},{"archive_support":null,"auth_required":false,"authority":"registry-observed","chain":"bittensor","classification":"unknown","error":null,"health_source":"unavailable","health_stale":true,"id":"endpoint-srf-3ff59ff9e1fdf622","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":52,"network":"finney","observed_at":null,"operator":"taomarketcap","pool_eligibility_reasons":["not-bittensor-base-layer","status-unknown"],"pool_eligible":false,"provider":"taomarketcap","public_safe":true,"publication_state":"monitored","rate_limit_notes":"Candidate only; no recurring probe is configured until maintainer review.","rpc_method_count":null,"score":69,"score_reasons":[{"points":50,"reason":"status-ok"},{"points":19,"reason":"latency"}],"source_urls":["https://api.taomarketcap.com/public/v1/subnets/52"],"status":"unknown","subnet_name":"Dojo","subnet_slug":"sn-52","surface_id":"sn-52-taomarketcap-dashboard","surface_key":"srf-3ff59ff9e1fdf622","url":"https://taomarketcap.com/subnets/52"},{"archive_support":null,"auth_required":false,"authority":"registry-observed","chain":"bittensor","classification":"unknown","error":null,"health_source":"unavailable","health_stale":true,"id":"endpoint-srf-667361b8dfa3a368","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":52,"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/52"],"status":"unknown","subnet_name":"Dojo","subnet_slug":"sn-52","surface_id":"sn-52-subnetradar-dashboard","surface_key":"srf-667361b8dfa3a368","url":"https://subnetradar.com/subnet/52"},{"archive_support":null,"auth_required":false,"authority":"registry-observed","chain":"bittensor","classification":"unknown","error":null,"health_source":"unavailable","health_stale":true,"id":"endpoint-srf-78c17fce94209f67","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":52,"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/52-dojo"],"status":"unknown","subnet_name":"Dojo","subnet_slug":"sn-52","surface_id":"sn-52-backprop-dashboard","surface_key":"srf-78c17fce94209f67","url":"https://backprop.finance/dtao/subnets/52-dojo"},{"archive_support":null,"auth_required":false,"authority":"community","chain":"bittensor","classification":"unknown","error":null,"health_source":"unavailable","health_stale":true,"id":"endpoint-srf-1580880d489c7225","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":52,"network":"finney","observed_at":null,"operator":"tensorplex","pool_eligibility_reasons":["not-bittensor-base-layer","status-unknown"],"pool_eligible":false,"provider":"tensorplex","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/tensorplex-labs/dojo-worker-api","https://raw.githubusercontent.com/tensorplex-labs/dojo-worker-api/main/docs/swagger.json"],"status":"unknown","subnet_name":"Dojo","subnet_slug":"sn-52","surface_id":"sn-52-tensorplex-openapi","surface_key":"srf-1580880d489c7225","url":"https://cdn.jsdelivr.net/gh/tensorplex-labs/dojo-worker-api@main/docs/swagger.json"},{"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-45df058bcec56f64","kind":"subnet-api","last_checked":"2026-07-24T17:00:14.520Z","last_ok":"2026-07-24T17:00:14.520Z","latency_ms":326,"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":52,"network":"finney","observed_at":"2026-07-24T17:00:14.520Z","operator":"taomarketcap","pool_eligibility_reasons":["not-bittensor-base-layer"],"pool_eligible":false,"provider":"taomarketcap","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.taomarketcap.com/developer/documentation/","https://github.com/tensorplex-labs/dojo"],"status":"ok","subnet_name":"Dojo","subnet_slug":"sn-52","surface_id":"sn-52-taomarketcap-subnet-api","surface_key":"srf-45df058bcec56f64","url":"https://api.taomarketcap.com/public/v1/subnets/52/"}],"gaps":{"gap_notes":["No verified SSE/event stream yet."],"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":2,"categories":["baseline-augmented","baseline-curated","identity-reviewed","official-docs","official-source-repo","official-website","tensorplex"],"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":"Provider entry for Tensorplex Dojo SN52 docs, source repository, UI repository, and worker API repository.","endpoint_count":14,"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":false,"native_identity_count":1,"native_identity_kinds":["source-repo"],"needs_promotion_kinds":[],"stale_candidate_identity_kinds":["source-repo"],"unverified_candidate_identity_kinds":[]},"identity_level":"complete","identity_surface_count":3,"injection_scrubbed":false,"integration_readiness":100,"interface_count":7,"lineage":{"also_on":[{"matched_by":"chain_name","name":"dojo","netuid":52,"network":"testnet"}],"graduated_from_testnet":true},"missing_critical_count":1,"missing_identity":[],"missing_operational":["sse"],"missing_required":[],"monitored_endpoint_count":14,"name":"Dojo","native_identity":{"additional":null,"contact_present":true,"description":null,"discord":null,"discord_url":null,"github_url":"https://github.com/tensorplex-labs/dojo","logo_url":null,"source":"SubtensorModule.SubnetIdentitiesV3","subnet_name":"Dojo","website_url":null},"native_name":"Dojo","native_name_quality":"chain","netuid":52,"operational_interface_count":3,"operational_interface_kinds":["data-artifact","openapi","subnet-api"],"primary_app_surface":{"id":"sn-52-taomarketcap-subnet-api","kind":"subnet-api","name":"Dojo TaoMarketCap subnet snapshot API","provider":"taomarketcap","url":"https://api.taomarketcap.com/public/v1/subnets/52/"},"primary_links":{"dashboard_url":"https://taomarketcap.com/subnets/52","docs_url":"https://docs.tensorplex.ai/tensorplex-docs/tensorplex-dojo-bittensor-subnet/subnet-mechanism","source_repo":"https://github.com/tensorplex-labs/dojo","website_url":"https://www.tensorplex.ai/"},"profile_level":"operational","project_name":"Dojo","provenance":{"curation_level":"maintainer-reviewed","identity_source":"curated-overlay","interface_source_count":14,"review_state":"maintainer-reviewed","reviewed_at":"2026-07-16T04:10:00.000Z","source_urls":["https://api.taomarketcap.com/developer/documentation/","https://api.taomarketcap.com/public/v1/subnets/52","https://backprop.finance/dtao/subnets/52-dojo","https://docs.tensorplex.ai/tensorplex-docs/tensorplex-dojo-bittensor-subnet/subnet-mechanism","https://github.com/e35ventura/taopedia-articles/blob/main/content/pages/subnet_52/index.mdx","https://github.com/tensorplex-labs/dojo","https://github.com/tensorplex-labs/dojo-ui","https://github.com/tensorplex-labs/dojo-worker-api","https://github.com/tensorplex-labs/subnet-docs/blob/main/data/52/subnet.json","https://huggingface.co/tensorplex-labs","https://raw.githubusercontent.com/tensorplex-labs/dojo-worker-api/main/docs/swagger.json","https://subnetradar.com/subnet/52","https://taomarketcap.com/subnets/52","https://www.tensorplex.ai/"]},"readiness":{"components":{"active_lifecycle":true,"auth_clarity":true,"callable_now":true,"documented":true,"has_callable_api":true,"has_candidate_api":false,"has_public_docs":true,"has_source_repo":true,"profile_complete":true},"readiness_tier":"buildable","readiness_version":2,"score":100},"review_state":"maintainer-reviewed","slug":"sn-52","status":"active","subnet_type":"application","suggested_submission_kinds":[],"supported_interface_kinds":["dashboard","data-artifact","docs","openapi","source-repo","subnet-api","website"],"surface_count":14,"symbol":"ا","team":null},"schema_version":1,"subnet":{"block":8679001,"candidate_count":2,"categories":["baseline-augmented","baseline-curated","identity-reviewed","official-docs","official-source-repo","official-website","tensorplex"],"contact":"jarvis@tensorplex.ai","coverage_level":"probed","curation":{"gap_notes":["No verified SSE/event stream yet."],"level":"maintainer-reviewed","review_state":"maintainer-reviewed","reviewed_at":"2026-07-16T04:10:00.000Z","source_count":13,"verified_at":"2026-07-16T04:10:00.000Z"},"curation_level":"maintainer-reviewed","dashboard_url":"https://taomarketcap.com/subnets/52","derived_categories":[],"description":null,"docs_url":"https://docs.tensorplex.ai/tensorplex-docs/tensorplex-dojo-bittensor-subnet/subnet-mechanism","gaps":{"gap_notes":["No verified SSE/event stream yet."],"missing_kinds":["sse"],"supported_kinds":["dashboard","data-artifact","docs","openapi","source-repo","subnet-api","website"]},"github_languages":{"Dockerfile":157,"Go":129422,"Makefile":5953},"github_last_push_at":"2025-11-03T07:51:15Z","lifecycle":"active","links":[],"logo_url":null,"mechanism_count":1,"name":"Dojo","native_name":"Dojo","native_name_quality":"chain","native_slug":"dojo","netuid":52,"notes":"Reviewed overlay for SN52 using the official Tensorplex website, Dojo docs, source repository, UI repository, and worker API repository. The older dojo-synthetic-api repository candidate currently 404s and is intentionally not promoted. This pass fixed 3 surfaces having no probe config at all -- the registry-wide gap tracked in #5932. Re-confirmed the Worker API base (dojo.network/api/v1, the repo's own TASK_API_URL default) still 301-redirects every path to GitHub, so the committed Swagger spec (20 paths) remains the subnet's only live machine-readable API description -- no new endpoints could be added from the diff since there is no reachable host to probe. On-chain identity re-confirmed unchanged. TaoMarketCap now enforces a trailing slash on its subnet endpoint; tracked URL updated accordingly.","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":3989825,"slug":"sn-52","social":null,"source_repo":"https://github.com/tensorplex-labs/dojo","status":"active","subnet_type":"application","surface_count":14,"symbol":"ا","tempo":360,"website_url":"https://www.tensorplex.ai/"},"surfaces":[{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-52-backprop-dashboard","key":"srf-78c17fce94209f67","kind":"dashboard","last_verified_at":null,"name":"Dojo Backprop Finance dashboard","netuid":52,"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/52-dojo"],"stale":false,"subnet_name":"Dojo","subnet_slug":"sn-52","url":"https://backprop.finance/dtao/subnets/52-dojo"},{"auth_required":false,"authority":"official","curation_level":"maintainer-reviewed","id":"sn-52-dojo-docs","key":"srf-0e89015d726f0381","kind":"docs","last_verified_at":"2026-07-16T04:10:00.000Z","name":"Dojo subnet mechanism docs","netuid":52,"notes":"Official Tensorplex Dojo subnet mechanism documentation.","probe":{"enabled":true,"expect":"html","method":"HEAD","timeout_ms":10000},"provider":"tensorplex","public_safe":true,"source_urls":["https://docs.tensorplex.ai/tensorplex-docs/tensorplex-dojo-bittensor-subnet/subnet-mechanism"],"stale":false,"subnet_name":"Dojo","subnet_slug":"sn-52","url":"https://docs.tensorplex.ai/tensorplex-docs/tensorplex-dojo-bittensor-subnet/subnet-mechanism"},{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-52-dojo-humanfeedback-dpo","key":"srf-4c2c9206822e93d0","kind":"data-artifact","last_verified_at":null,"name":"Dojo Human Feedback DPO dataset","netuid":52,"notes":"Public Tensorplex Dojo (SN52) HuggingFace DPO dataset of human-feedback preference pairs collected through the subnet's Dojo human-feedback-loop platform; not gated. The dojo repo README (source) declares the Bittensor subnet (--netuid 52) and the tensorplex-labs HF org owns the dataset. Distinct from the subnet's registered Dojo-Synthetic-SFT dataset.","probe":{"enabled":true,"expect":"html","method":"HEAD","timeout_ms":10000},"provider":"tensorplex","public_safe":true,"review":{"state":"community-submitted","submitted_by":"davion-knight"},"source_urls":["https://github.com/tensorplex-labs/dojo","https://huggingface.co/tensorplex-labs"],"stale":false,"subnet_name":"Dojo","subnet_slug":"sn-52","url":"https://huggingface.co/datasets/tensorplex-labs/Dojo-HumanFeedback-DPO"},{"auth_required":false,"authority":"official","curation_level":"maintainer-reviewed","id":"sn-52-dojo-source","key":"srf-e86dc151b51163df","kind":"source-repo","last_verified_at":"2026-07-16T04:10:00.000Z","name":"Dojo source repository","netuid":52,"notes":"Official Dojo source repository.","probe":{"enabled":true,"expect":"any","method":"HEAD","timeout_ms":10000},"provider":"tensorplex","public_safe":true,"source_urls":["https://github.com/tensorplex-labs/dojo"],"stale":false,"subnet_name":"Dojo","subnet_slug":"sn-52","url":"https://github.com/tensorplex-labs/dojo"},{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-52-dojo-synthetic-sft-dataset","key":"srf-bf9767e3270e896c","kind":"data-artifact","last_verified_at":null,"name":"Dojo synthetic SFT dataset","netuid":52,"notes":"Public Tensorplex Dojo (SN52) HuggingFace dataset of 12.5k synthetic HTML/CSS/JS interface-generation Q&A pairs (id + messages columns), used to train the subnet's DOJO-INTERFACE-CODER model; not gated. The dojo repo README (source) declares the Bittensor subnet (--netuid 52) and the tensorplex-labs HF org owns the dataset.","probe":{"enabled":true,"expect":"html","method":"HEAD","timeout_ms":10000},"provider":"tensorplex","public_safe":true,"review":{"state":"community-submitted","submitted_by":"glorydavid03023"},"source_urls":["https://github.com/tensorplex-labs/dojo","https://huggingface.co/tensorplex-labs"],"stale":false,"subnet_name":"Dojo","subnet_slug":"sn-52","url":"https://huggingface.co/datasets/tensorplex-labs/Dojo-Synthetic-SFT"},{"auth_required":false,"authority":"official","curation_level":"maintainer-reviewed","id":"sn-52-dojo-ui-source","key":"srf-a5517b40ffcf91a4","kind":"source-repo","last_verified_at":"2026-07-16T04:10:00.000Z","name":"Dojo UI repository","netuid":52,"notes":"Official Dojo UI repository.","probe":{"enabled":true,"expect":"any","method":"HEAD","timeout_ms":10000},"provider":"tensorplex","public_safe":true,"source_urls":["https://github.com/tensorplex-labs/dojo-ui"],"stale":false,"subnet_name":"Dojo","subnet_slug":"sn-52","url":"https://github.com/tensorplex-labs/dojo-ui"},{"auth_required":false,"authority":"official","curation_level":"maintainer-reviewed","id":"sn-52-dojo-worker-api-source","key":"srf-743ebb9b0f42ad20","kind":"source-repo","last_verified_at":"2026-07-16T04:10:00.000Z","name":"Dojo worker API repository","netuid":52,"notes":"Official Dojo worker API repository.","probe":{"enabled":true,"expect":"any","method":"HEAD","timeout_ms":10000},"provider":"tensorplex","public_safe":true,"source_urls":["https://github.com/tensorplex-labs/dojo-worker-api"],"stale":false,"subnet_name":"Dojo","subnet_slug":"sn-52","url":"https://github.com/tensorplex-labs/dojo-worker-api"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-52-subnetradar-dashboard","key":"srf-667361b8dfa3a368","kind":"dashboard","last_verified_at":null,"name":"Dojo SubnetRadar dashboard","netuid":52,"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/52"],"stale":false,"subnet_name":"Dojo","subnet_slug":"sn-52","url":"https://subnetradar.com/subnet/52"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-52-taomarketcap-dashboard","key":"srf-3ff59ff9e1fdf622","kind":"dashboard","last_verified_at":null,"name":"Dojo TaoMarketCap dashboard","netuid":52,"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/52"],"stale":false,"subnet_name":"Dojo","subnet_slug":"sn-52","url":"https://taomarketcap.com/subnets/52"},{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-52-taomarketcap-subnet-api","key":"srf-45df058bcec56f64","kind":"subnet-api","last_verified_at":null,"name":"Dojo TaoMarketCap subnet snapshot API","netuid":52,"notes":"Public no-auth GET /public/v1/subnets/52/ on api.taomarketcap.com returning machine-readable JSON for SN52 Dojo on-chain subnet state, SubnetIdentitiesV3 metadata, economics, and dTAO market fields. This indexed feed is documented in the TaoMarketCap developer API. TaoMarketCap now enforces a trailing slash (the non-slash path 301s); tracked URL updated to the canonical non-redirecting form. Rejects HEAD (405); probe uses GET.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"taomarketcap","public_safe":true,"review":{"state":"community-submitted","submitted_by":"davion-knight"},"source_urls":["https://api.taomarketcap.com/developer/documentation/","https://github.com/tensorplex-labs/dojo"],"stale":false,"subnet_name":"Dojo","subnet_slug":"sn-52","url":"https://api.taomarketcap.com/public/v1/subnets/52/"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-52-taopedia-article","key":"srf-6e096b4290dbd59e","kind":"docs","last_verified_at":null,"name":"Dojo Taopedia article","netuid":52,"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_52/index.mdx"],"stale":false,"subnet_name":"Dojo","subnet_slug":"sn-52","url":"https://github.com/e35ventura/taopedia-articles/blob/main/content/pages/subnet_52/index.mdx"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-52-tensorplex-docs","key":"srf-b373533fcb35ae48","kind":"docs","last_verified_at":null,"name":"Dojo Tensorplex subnet docs","netuid":52,"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/52/subnet.json"],"stale":false,"subnet_name":"Dojo","subnet_slug":"sn-52","url":"https://github.com/tensorplex-labs/subnet-docs/tree/main/data/52"},{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-52-tensorplex-openapi","key":"srf-1580880d489c7225","kind":"openapi","last_verified_at":null,"name":"Dojo Worker API OpenAPI spec","netuid":52,"notes":"Swagger 2.0 spec (20 paths) for the Dojo Worker API, committed in the official tensorplex-labs/dojo-worker-api repository at docs/swagger.json and served here via the jsDelivr view of that exact repo file (raw.githubusercontent.com serves it as text/plain, which machine-readable validation rejects). The previously hosted API base https://dojo.network/api/v1 (the TASK_API_URL default in tensorplex-labs/dojo internal/config/env.go) currently 301-redirects every path to the GitHub repo, so the committed spec is the subnet's only live machine-readable API description.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"tensorplex","public_safe":true,"review":{"state":"community-submitted","submitted_by":"dalledajay-coder"},"schema_status":"machine-readable","schema_url":"https://cdn.jsdelivr.net/gh/tensorplex-labs/dojo-worker-api@main/docs/swagger.json","source_urls":["https://github.com/tensorplex-labs/dojo-worker-api","https://raw.githubusercontent.com/tensorplex-labs/dojo-worker-api/main/docs/swagger.json"],"stale":false,"subnet_name":"Dojo","subnet_slug":"sn-52","url":"https://cdn.jsdelivr.net/gh/tensorplex-labs/dojo-worker-api@main/docs/swagger.json"},{"auth_required":false,"authority":"official","curation_level":"maintainer-reviewed","id":"sn-52-tensorplex-website","key":"srf-1a415c70b286f4d1","kind":"website","last_verified_at":"2026-07-16T04:10:00.000Z","name":"Tensorplex website","netuid":52,"notes":"Official Tensorplex website.","probe":{"enabled":true,"expect":"html","method":"HEAD","timeout_ms":10000},"provider":"tensorplex","public_safe":true,"source_urls":["https://www.tensorplex.ai/","https://github.com/tensorplex-labs/dojo"],"stale":false,"subnet_name":"Dojo","subnet_slug":"sn-52","url":"https://www.tensorplex.ai/"}],"operational_observed_at":"2026-07-24T17:00:14.520Z","health_source":"live-cron-prober"},"meta":{"artifact_path":"/metagraph/profiles/52.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-24T17:00:14.520Z"}}