{"ok":true,"schema_version":1,"data":{"contract_version":"2026-07-03.2","generated_at":"2026-09-20T12:26:49.169Z","name":"Bitsec.ai","netuid":60,"schema_version":1,"slug":"sn-60","surfaces":[{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-60-backprop-dashboard","key":"srf-17e7a170e5a2baa8","kind":"dashboard","last_verified_at":null,"name":"Bitsec.ai Backprop Finance dashboard","netuid":60,"notes":"Universal Backprop Finance dTAO subnet dashboard candidate. Third-party enrichment, not protocol authority.","probe":{"enabled":true,"expect":"any","method":"HEAD","timeout_ms":10000},"provider":"backprop-finance","public_safe":true,"quality_signals":{"content_type_matches_kind":true,"public_safe":true,"rate_limited":false,"redirected":true,"source_tier":"third-party-index","transient_failure":false},"rate_limit_notes":"Candidate only; no recurring probe is configured until maintainer review.","source_urls":["https://backprop.finance/dtao/subnets/60-bitsec-ai"],"stale":null,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://backprop.finance/dtao/subnets/60-bitsec-ai"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","scopes_note":"Requires a Bearer token in the Authorization header (confirmed live: a well-formed \"Bearer <token>\" progresses past the missing-header check to an invalid-token-format error). No hotkey-signed request or API key is accepted for this route.","value_format":"Bearer <token>"},"auth_required":true,"authority":"community","curation_level":"candidate-discovered","id":"sn-60-bitsec-agent-cancel","key":"srf-38dfb746ac250c66","kind":"subnet-api","last_verified_at":null,"name":"Bitsec.ai agent job cancel","netuid":60,"notes":"POST /api/agents/{agent_id}/cancel on bitsec.ai — write endpoint cancelling an agent's active job. The subnet's own OpenAPI schema declares a required credential header parameter on this operation (this API declares no formal security scheme anywhere). Live-verified 2026-07-21 (~22:05 UTC): unauthenticated request returns HTTP 422 with a missing-required-header validation error on that exact parameter, consistent with the gate being enforced at the framework layer. Not callable by the anonymous Phase-1 call_subnet_surface tool, so probe.enabled:false. Path-parameterized; the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template.","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"bitsec-ai","public_safe":true,"review":{"state":"community-submitted","submitted_by":"tryeverything24"},"source_urls":["https://bitsec.ai/api/openapi.json"],"stale":null,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://bitsec.ai/api/agents/%7Bagent_id%7D/cancel"},{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-60-bitsec-agent-detail","key":"srf-463894fd9d0e44f5","kind":"subnet-api","last_verified_at":null,"name":"Bitsec.ai agent detail","netuid":60,"notes":"GET /api/agents/{agent_id}/detail on bitsec.ai, documented in the subnet's own OpenAPI schema with no security scheme and no header parameters. Live-verified 2026-07-21 (~22:05 UTC): a placeholder agent_id returns HTTP 422 int_parsing validation error (\"Input should be a valid integer\") — a clean parameter-validation rejection, not an auth gate, confirming the route is live and unauthenticated. Path-parameterized (integer id; no stable canonical value to probe against), so probe.enabled:false; the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template (raw braces fail the url format:\"uri\" schema check).","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"bitsec-ai","public_safe":true,"review":{"state":"community-submitted","submitted_by":"tryeverything24"},"source_urls":["https://bitsec.ai/api/openapi.json"],"stale":null,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://bitsec.ai/api/agents/%7Bagent_id%7D/detail"},{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-60-bitsec-agent-known-solutions","key":"srf-5419c47a0e54bbb0","kind":"subnet-api","last_verified_at":null,"name":"Bitsec.ai per-agent known-solutions","netuid":60,"notes":"GET /api/agents/{agent_id}/known-solutions on bitsec.ai — per-agent sibling of the already-registered project-set-wide /api/projects/known-solutions, documented in the subnet's own OpenAPI schema with no security scheme and no header parameters. Live-verified 2026-07-21 (~22:05 UTC): a placeholder agent_id returns HTTP 422 int_parsing validation error, not an auth rejection. Path-parameterized (integer id; no stable canonical value to probe against), so probe.enabled:false; the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template (raw braces fail the url format:\"uri\" schema check).","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"bitsec-ai","public_safe":true,"review":{"state":"community-submitted","submitted_by":"tryeverything24"},"source_urls":["https://bitsec.ai/api/openapi.json"],"stale":null,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://bitsec.ai/api/agents/%7Bagent_id%7D/known-solutions"},{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-60-bitsec-agent-runs-export","key":"srf-2e25f5f426edce63","kind":"subnet-api","last_verified_at":null,"name":"Bitsec.ai agent runs export","netuid":60,"notes":"GET /api/agents/{agent_id}/runs-export on bitsec.ai, documented in the subnet's own OpenAPI schema with no security scheme and no header parameters. Live-verified 2026-07-21 (~22:05 UTC): a placeholder agent_id returns HTTP 422 int_parsing validation error, not an auth rejection. Path-parameterized (integer id; no stable canonical value to probe against), so probe.enabled:false; the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template (raw braces fail the url format:\"uri\" schema check).","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"bitsec-ai","public_safe":true,"review":{"state":"community-submitted","submitted_by":"tryeverything24"},"source_urls":["https://bitsec.ai/api/openapi.json"],"stale":null,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://bitsec.ai/api/agents/%7Bagent_id%7D/runs-export"},{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-60-bitsec-agent-scores","key":"srf-0b4bcaf955235f60","kind":"subnet-api","last_verified_at":null,"name":"Bitsec.ai agent scores","netuid":60,"notes":"GET /api/agents/{agent_id}/scores on bitsec.ai, documented in the subnet's own OpenAPI schema with no security scheme and no header parameters. Live-verified 2026-07-21 (~22:05 UTC): a placeholder agent_id returns HTTP 422 int_parsing validation error, not an auth rejection. Path-parameterized (integer id; no stable canonical value to probe against), so probe.enabled:false; the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template (raw braces fail the url format:\"uri\" schema check).","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"bitsec-ai","public_safe":true,"review":{"state":"community-submitted","submitted_by":"tryeverything24"},"source_urls":["https://bitsec.ai/api/openapi.json"],"stale":null,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://bitsec.ai/api/agents/%7Bagent_id%7D/scores"},{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-60-bitsec-agent-screener","key":"srf-2d920f46c5013654","kind":"subnet-api","last_verified_at":null,"name":"Bitsec.ai agent screener results","netuid":60,"notes":"GET /api/agents/{agent_id}/screener on bitsec.ai, documented in the subnet's own OpenAPI schema with no security scheme and no header parameters. Live-verified 2026-07-21 (~22:05 UTC): a placeholder agent_id returns HTTP 422 int_parsing validation error, not an auth rejection. Path-parameterized (integer id; no stable canonical value to probe against), so probe.enabled:false; the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template (raw braces fail the url format:\"uri\" schema check).","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"bitsec-ai","public_safe":true,"review":{"state":"community-submitted","submitted_by":"tryeverything24"},"source_urls":["https://bitsec.ai/api/openapi.json"],"stale":null,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://bitsec.ai/api/agents/%7Bagent_id%7D/screener"},{"auth_required":false,"authority":"community","curation_level":"machine-verified","id":"sn-60-bitsec-agents-count","key":"srf-5bb00c4284cf5282","kind":"subnet-api","last_verified_at":"2026-09-20T04:31:09.312Z","name":"Bitsec.ai agents count","netuid":60,"notes":"Public no-auth GET /api/agents/count on bitsec.ai, returning the total registered agent count (optional hotkey/project_set_id/hide_failed_screeners query filters). Documented in the subnet's own OpenAPI schema with no security scheme and no header parameters. Live-verified 2026-07-21 (~22:05 UTC): HTTP 200 application/json {\"total_agents\":1094}.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"bitsec-ai","public_safe":true,"review":{"state":"community-submitted","submitted_by":"tryeverything24"},"source_urls":["https://bitsec.ai/api/openapi.json"],"stale":false,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://bitsec.ai/api/agents/count"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","scopes_note":"Requires a Bearer token in the Authorization header (confirmed live: a well-formed \"Bearer <token>\" progresses past the missing-header check to an invalid-token-format error). No hotkey-signed request or API key is accepted for this route.","value_format":"Bearer <token>"},"auth_required":true,"authority":"community","curation_level":"candidate-discovered","id":"sn-60-bitsec-agents-evaluation","key":"srf-623ec363c1919f0e","kind":"subnet-api","last_verified_at":null,"name":"Bitsec.ai agent evaluation trigger","netuid":60,"notes":"POST /api/agents/evaluation/ on bitsec.ai — write endpoint recording an agent evaluation. The subnet's own OpenAPI schema declares a required credential header parameter on this operation (this API declares no formal security scheme anywhere). Live-verified 2026-07-21 (~22:05 UTC): unauthenticated request returns HTTP 422 with a missing-required-header validation error on that exact parameter, consistent with the gate being enforced at the framework layer. Not callable by the anonymous Phase-1 call_subnet_surface tool, so probe.enabled:false.","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"bitsec-ai","public_safe":true,"review":{"state":"community-submitted","submitted_by":"tryeverything24"},"source_urls":["https://bitsec.ai/api/openapi.json"],"stale":null,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://bitsec.ai/api/agents/evaluation/"},{"auth_required":false,"authority":"official","curation_level":"maintainer-reviewed","id":"sn-60-bitsec-agents-evaluation-status","key":"srf-8edf91150516a040","kind":"subnet-api","last_verified_at":"2026-09-20T04:31:09.312Z","name":"Bitsec.ai agent evaluation status","netuid":60,"notes":"Public no-auth GET /api/agents/evaluation-status on bitsec.ai, returning aggregate round-evaluation progress (total agents, agents pending evaluation, round-evaluated flag). Discovered via a full diff of the subnet's own OpenAPI schema for undiscovered public GET endpoints.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"bitsec-ai","public_safe":true,"source_urls":["https://bitsec.ai/api/openapi.json"],"stale":false,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://bitsec.ai/api/agents/evaluation-status"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","scopes_note":"Requires a Bearer token in the Authorization header (confirmed live: a well-formed \"Bearer <token>\" progresses past the missing-header check to an invalid-token-format error). No hotkey-signed request or API key is accepted for this route.","value_format":"Bearer <token>"},"auth_required":true,"authority":"community","curation_level":"candidate-discovered","id":"sn-60-bitsec-agents-execution","key":"srf-29b49d29f33844d3","kind":"subnet-api","last_verified_at":null,"name":"Bitsec.ai agent execution trigger","netuid":60,"notes":"POST /api/agents/execution/ on bitsec.ai — write endpoint recording an agent execution. The subnet's own OpenAPI schema declares a required credential header parameter on this operation (this API declares no formal security scheme anywhere). Live-verified 2026-07-21 (~22:05 UTC): unauthenticated request returns HTTP 422 with a missing-required-header validation error on that exact parameter, consistent with the gate being enforced at the framework layer. Not callable by the anonymous Phase-1 call_subnet_surface tool, so probe.enabled:false.","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"bitsec-ai","public_safe":true,"review":{"state":"community-submitted","submitted_by":"tryeverything24"},"source_urls":["https://bitsec.ai/api/openapi.json"],"stale":null,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://bitsec.ai/api/agents/execution/"},{"auth_required":false,"authority":"official","curation_level":"candidate-discovered","id":"sn-60-bitsec-agents-list","key":"srf-fb3526adcae7f270","kind":"subnet-api","last_verified_at":"2026-07-16T05:35:00.000Z","name":"Bitsec.ai agents list","netuid":60,"notes":"Public no-auth GET /api/agents/ on bitsec.ai, returning the full registered miner agent list (agent_id, version, hotkey, project set, evaluation status). Discovered via a full diff of the subnet's own OpenAPI schema for undiscovered public GET endpoints.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"bitsec-ai","public_safe":true,"source_urls":["https://bitsec.ai/api/openapi.json"],"stale":true,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://bitsec.ai/api/agents/"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","scopes_note":"Requires a Bearer token in the Authorization header (confirmed live: a well-formed \"Bearer <token>\" progresses past the missing-header check to an invalid-token-format error). No hotkey-signed request or API key is accepted for this route.","value_format":"Bearer <token>"},"auth_required":true,"authority":"community","curation_level":"candidate-discovered","id":"sn-60-bitsec-agents-submit","key":"srf-32662685c2699a75","kind":"subnet-api","last_verified_at":null,"name":"Bitsec.ai agent submit","netuid":60,"notes":"POST /api/agents/submit/ on bitsec.ai — write endpoint for miner agent submission. The subnet's own OpenAPI schema declares a required credential header parameter on this operation (this API declares no formal security scheme anywhere). Live-verified 2026-07-21 (~22:05 UTC): unauthenticated request returns HTTP 422 with a missing-required-header validation error on that exact parameter, consistent with the gate being enforced at the framework layer. Not callable by the anonymous Phase-1 call_subnet_surface tool, so probe.enabled:false.","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"bitsec-ai","public_safe":true,"review":{"state":"community-submitted","submitted_by":"tryeverything24"},"source_urls":["https://bitsec.ai/api/openapi.json"],"stale":null,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://bitsec.ai/api/agents/submit/"},{"auth_required":false,"authority":"official","curation_level":"maintainer-reviewed","id":"sn-60-bitsec-agents-top","key":"srf-7541377802b0dda4","kind":"subnet-api","last_verified_at":"2026-09-20T04:31:09.312Z","name":"Bitsec.ai top agents","netuid":60,"notes":"Public no-auth GET /api/agents/top/ on bitsec.ai, returning the current top-ranked miner agents (agent_id, hotkey). Discovered via a full diff of the subnet's own OpenAPI schema for undiscovered public GET endpoints.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"bitsec-ai","public_safe":true,"source_urls":["https://bitsec.ai/api/openapi.json"],"stale":false,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://bitsec.ai/api/agents/top/"},{"auth_required":false,"authority":"official","curation_level":"maintainer-reviewed","id":"sn-60-bitsec-agents-top-with-burn","key":"srf-6950e2e08793731f","kind":"subnet-api","last_verified_at":"2026-09-20T04:31:09.312Z","name":"Bitsec.ai top agents with burn","netuid":60,"notes":"Public no-auth GET /api/agents/top-with-burn/ on bitsec.ai, returning the top-ranked agents including burn-adjusted entries. Discovered via a full diff of the subnet's own OpenAPI schema for undiscovered public GET endpoints. Distinct from the top/ endpoint (excludes burn entries).","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"bitsec-ai","public_safe":true,"source_urls":["https://bitsec.ai/api/openapi.json"],"stale":false,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://bitsec.ai/api/agents/top-with-burn/"},{"auth_required":false,"authority":"community","curation_level":"machine-verified","id":"sn-60-bitsec-ai-known-solutions","key":"srf-3bf56d57c7e08408","kind":"data-artifact","last_verified_at":"2026-09-20T04:31:09.312Z","name":"Bitsec.ai known-solutions dataset","netuid":60,"notes":"Public no-auth JSON dataset of known-vulnerability benchmark projects (GET /projects/known-solutions) used to evaluate SN60 miner agents — each entry has real codebases (repo/commit/tarball) and vulnerability findings (severity, title, description). Documented in the subnet's own OpenAPI spec (already the registered schema_url) as \"Get Current Project Set Known Solutions\". Served on the official bitsec.ai domain.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"bitsec-ai","public_safe":true,"review":{"state":"community-submitted","submitted_by":"galuis116"},"source_urls":["https://bitsec.ai/api/openapi.json","https://github.com/Bitsec-AI/subnet"],"stale":false,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://bitsec.ai/api/projects/known-solutions"},{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-60-bitsec-ai-openapi","key":"srf-6b5c7c126b338f47","kind":"openapi","last_verified_at":null,"name":"Bitsec.ai FastAPI","netuid":60,"notes":"Machine-readable OpenAPI 3.1 spec (FastAPI, 30 paths) for the SN60 Bitsec.ai public API, also rendered as live Swagger UI (/api/docs) and ReDoc (/api/redoc). Served on the official bitsec.ai domain referenced by the subnet's repo README.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"bitsec-ai","public_safe":true,"review":{"state":"community-submitted","submitted_by":"real-venus"},"schema_status":"machine-readable","schema_url":"https://bitsec.ai/api/openapi.json","source_urls":["https://github.com/Bitsec-AI/subnet","https://bitsec.ai/api/docs"],"stale":null,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://bitsec.ai/api/openapi.json"},{"auth_required":false,"authority":"community","curation_level":"machine-verified","id":"sn-60-bitsec-ai-subnet-api","key":"srf-51688ccbcec66db0","kind":"subnet-api","last_verified_at":"2026-09-20T04:31:09.312Z","name":"Bitsec.ai subnet-api","netuid":60,"notes":"Public no-auth JSON endpoint of the SN60 Bitsec.ai API (live subnet analytics: rounds, emissions). Sibling endpoints include /api/agents/top/; the full contract is the openapi surface. Served on the official bitsec.ai domain.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"bitsec-ai","public_safe":true,"review":{"state":"community-submitted","submitted_by":"real-venus"},"source_urls":["https://github.com/Bitsec-AI/subnet","https://bitsec.ai/api/docs"],"stale":false,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://bitsec.ai/api/analytics"},{"auth_required":false,"authority":"official","curation_level":"maintainer-reviewed","id":"sn-60-bitsec-analytics-validators","key":"srf-c21fd4c70a05f0b0","kind":"subnet-api","last_verified_at":"2026-09-20T04:31:09.312Z","name":"Bitsec.ai validator analytics","netuid":60,"notes":"Public no-auth GET /api/analytics/validators on bitsec.ai, returning per-validator run statistics (pending agent counts, average completed/agent run seconds) for the active project set. Discovered via a full diff of the subnet's own OpenAPI schema for undiscovered public GET endpoints.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"bitsec-ai","public_safe":true,"source_urls":["https://bitsec.ai/api/openapi.json"],"stale":false,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://bitsec.ai/api/analytics/validators"},{"auth_required":false,"authority":"official","curation_level":"maintainer-reviewed","id":"sn-60-bitsec-jobs-leaderboard","key":"srf-2a62c0072d8ed3f1","kind":"subnet-api","last_verified_at":"2026-09-20T04:31:09.312Z","name":"Bitsec.ai jobs leaderboard","netuid":60,"notes":"Public no-auth GET /api/jobs/leaderboard on bitsec.ai, returning per-agent scoring records (user, agent, score, completed validator count, hotkey). Discovered via a full diff of the subnet's own OpenAPI schema for undiscovered public GET endpoints.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"bitsec-ai","public_safe":true,"revenue":{"provenance":"probe-derived","role":"usage-proxy"},"source_urls":["https://bitsec.ai/api/openapi.json"],"stale":false,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://bitsec.ai/api/jobs/leaderboard"},{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-60-bitsec-jobs-leaderboard-old","key":"srf-30204abb0dcb4c02","kind":"subnet-api","last_verified_at":null,"name":"Bitsec.ai legacy jobs leaderboard","netuid":60,"notes":"GET /api/jobs/leaderboard_old on bitsec.ai — legacy sibling of the already-registered /api/jobs/leaderboard, documented in the subnet's own OpenAPI schema with no security scheme. Live-verified 2026-07-21 (~22:05 UTC): HTTP 500 text/plain (currently erroring in production). Registered anyway, matching the registry's existing precedent of cataloguing real documented endpoints in their actual live state (e.g. Targon SN4's /tha/v2/healthz); probe expect:any since the current error body is not JSON.","probe":{"enabled":true,"expect":"any","method":"GET","timeout_ms":10000},"provider":"bitsec-ai","public_safe":true,"review":{"state":"community-submitted","submitted_by":"tryeverything24"},"source_urls":["https://bitsec.ai/api/openapi.json"],"stale":null,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://bitsec.ai/api/jobs/leaderboard_old"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","scopes_note":"Requires a Bearer token in the Authorization header (confirmed live: a well-formed \"Bearer <token>\" progresses past the missing-header check to an invalid-token-format error). No hotkey-signed request or API key is accepted for this route.","value_format":"Bearer <token>"},"auth_required":true,"authority":"community","curation_level":"candidate-discovered","id":"sn-60-bitsec-jobs-run-agent","key":"srf-8945bf935d369822","kind":"subnet-api","last_verified_at":null,"name":"Bitsec.ai job-run agent lookup","netuid":60,"notes":"GET /api/jobs/runs/{job_run_id}/agent on bitsec.ai — gated read endpoint resolving the agent for a job run. The subnet's own OpenAPI schema declares a required credential header parameter on this operation (this API declares no formal security scheme anywhere). Live-verified 2026-07-21 (~22:05 UTC): unauthenticated request returns HTTP 422 with a missing-required-header validation error on that exact parameter, consistent with the gate being enforced at the framework layer. Not callable by the anonymous Phase-1 call_subnet_surface tool, so probe.enabled:false. Path-parameterized; the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template.","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"bitsec-ai","public_safe":true,"review":{"state":"community-submitted","submitted_by":"tryeverything24"},"source_urls":["https://bitsec.ai/api/openapi.json"],"stale":null,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://bitsec.ai/api/jobs/runs/%7Bjob_run_id%7D/agent"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","scopes_note":"Requires a Bearer token in the Authorization header (confirmed live: a well-formed \"Bearer <token>\" progresses past the missing-header check to an invalid-token-format error). No hotkey-signed request or API key is accepted for this route.","value_format":"Bearer <token>"},"auth_required":true,"authority":"community","curation_level":"candidate-discovered","id":"sn-60-bitsec-jobs-run-complete","key":"srf-fdbba77e2d925c78","kind":"subnet-api","last_verified_at":null,"name":"Bitsec.ai job run complete","netuid":60,"notes":"POST /api/jobs/runs/{job_run_id}/complete on bitsec.ai — write endpoint marking a job run complete. The subnet's own OpenAPI schema declares a required credential header parameter on this operation (this API declares no formal security scheme anywhere). Live-verified 2026-07-21 (~22:05 UTC): unauthenticated request returns HTTP 422 with a missing-required-header validation error on that exact parameter, consistent with the gate being enforced at the framework layer. Not callable by the anonymous Phase-1 call_subnet_surface tool, so probe.enabled:false. Path-parameterized; the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template.","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"bitsec-ai","public_safe":true,"review":{"state":"community-submitted","submitted_by":"tryeverything24"},"source_urls":["https://bitsec.ai/api/openapi.json"],"stale":null,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://bitsec.ai/api/jobs/runs/%7Bjob_run_id%7D/complete"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","scopes_note":"Requires a Bearer token in the Authorization header (confirmed live: a well-formed \"Bearer <token>\" progresses past the missing-header check to an invalid-token-format error). No hotkey-signed request or API key is accepted for this route.","value_format":"Bearer <token>"},"auth_required":true,"authority":"community","curation_level":"candidate-discovered","id":"sn-60-bitsec-jobs-run-proxy-summary","key":"srf-987b0f52b5c38c9f","kind":"subnet-api","last_verified_at":null,"name":"Bitsec.ai job run proxy summary","netuid":60,"notes":"POST /api/jobs/runs/{job_run_id}/proxy-summary on bitsec.ai — write endpoint submitting a job run's proxy summary. The subnet's own OpenAPI schema declares a required credential header parameter on this operation (this API declares no formal security scheme anywhere). Live-verified 2026-07-21 (~22:05 UTC): unauthenticated request returns HTTP 422 with a missing-required-header validation error on that exact parameter, consistent with the gate being enforced at the framework layer. Not callable by the anonymous Phase-1 call_subnet_surface tool, so probe.enabled:false. Path-parameterized; the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template.","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"bitsec-ai","public_safe":true,"review":{"state":"community-submitted","submitted_by":"tryeverything24"},"source_urls":["https://bitsec.ai/api/openapi.json"],"stale":null,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://bitsec.ai/api/jobs/runs/%7Bjob_run_id%7D/proxy-summary"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","scopes_note":"Requires a Bearer token in the Authorization header (confirmed live: a well-formed \"Bearer <token>\" progresses past the missing-header check to an invalid-token-format error). No hotkey-signed request or API key is accepted for this route.","value_format":"Bearer <token>"},"auth_required":true,"authority":"community","curation_level":"candidate-discovered","id":"sn-60-bitsec-jobs-run-start","key":"srf-9c24239037c131f5","kind":"subnet-api","last_verified_at":null,"name":"Bitsec.ai job run start","netuid":60,"notes":"POST /api/jobs/runs/{job_run_id}/start on bitsec.ai — write endpoint marking a job run started. The subnet's own OpenAPI schema declares a required credential header parameter on this operation (this API declares no formal security scheme anywhere). Live-verified 2026-07-21 (~22:05 UTC): unauthenticated request returns HTTP 422 with a missing-required-header validation error on that exact parameter, consistent with the gate being enforced at the framework layer. Not callable by the anonymous Phase-1 call_subnet_surface tool, so probe.enabled:false. Path-parameterized; the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template.","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"bitsec-ai","public_safe":true,"review":{"state":"community-submitted","submitted_by":"tryeverything24"},"source_urls":["https://bitsec.ai/api/openapi.json"],"stale":null,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://bitsec.ai/api/jobs/runs/%7Bjob_run_id%7D/start"},{"auth_required":false,"authority":"official","curation_level":"maintainer-reviewed","id":"sn-60-bitsec-jobs-runs-active","key":"srf-c2ac195e046c4214","kind":"subnet-api","last_verified_at":"2026-09-20T04:31:09.312Z","name":"Bitsec.ai active job runs","netuid":60,"notes":"Public no-auth GET /api/jobs/runs/active on bitsec.ai, returning currently active/recent validator job runs (validator_id, status, miner_id, timestamps). Discovered via a full diff of the subnet's own OpenAPI schema for undiscovered public GET endpoints.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"bitsec-ai","public_safe":true,"source_urls":["https://bitsec.ai/api/openapi.json"],"stale":false,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://bitsec.ai/api/jobs/runs/active"},{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-60-bitsec-jobs-runs-by-validator","key":"srf-38a5589b7b4a693b","kind":"subnet-api","last_verified_at":null,"name":"Bitsec.ai job runs by validator","netuid":60,"notes":"GET /api/jobs/runs/validator/{validator_id} on bitsec.ai, documented in the subnet's own OpenAPI schema with no security scheme and no header parameters. Live-verified 2026-07-21 (~22:05 UTC): a placeholder validator_id returns HTTP 422 int_parsing validation error, not an auth rejection. Path-parameterized (integer id; no stable canonical value to probe against), so probe.enabled:false; the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template (raw braces fail the url format:\"uri\" schema check).","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"bitsec-ai","public_safe":true,"review":{"state":"community-submitted","submitted_by":"tryeverything24"},"source_urls":["https://bitsec.ai/api/openapi.json"],"stale":null,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://bitsec.ai/api/jobs/runs/validator/%7Bvalidator_id%7D"},{"auth_required":false,"authority":"official","curation_level":"maintainer-reviewed","id":"sn-60-bitsec-jobs-stats","key":"srf-57adba0385b16b16","kind":"subnet-api","last_verified_at":"2026-09-20T04:31:09.312Z","name":"Bitsec.ai jobs stats","netuid":60,"notes":"Public no-auth GET /api/jobs/stats on bitsec.ai, returning aggregate weekly stats (agents created, top score, real vulnerabilities found, daily prize pool). Discovered via a full diff of the subnet's own OpenAPI schema for undiscovered public GET endpoints. REVENUE ROLE (#10464): not-revenue. `daily_prize_pool` is money the subnet PAYS OUT to competitors, the same outflow shape as SN46's dailyPrizePoolUsd. REVENUE ROLE (#10464): not-revenue. `daily_prize_pool` is money the subnet PAYS OUT to competitors, the same outflow shape as SN46's dailyPrizePoolUsd.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"bitsec-ai","public_safe":true,"revenue":{"provenance":"probe-derived","role":"not-revenue"},"source_urls":["https://bitsec.ai/api/openapi.json"],"stale":false,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://bitsec.ai/api/jobs/stats"},{"auth_required":false,"authority":"official","curation_level":"maintainer-reviewed","id":"sn-60-bitsec-projects-list","key":"srf-745f931338ba37c8","kind":"data-artifact","last_verified_at":"2026-09-20T04:31:09.312Z","name":"Bitsec.ai projects list","netuid":60,"notes":"Public no-auth GET /api/projects/ on bitsec.ai, returning the full benchmark project catalog (slug, commit, platform, repo_url, visibility). Discovered via a full diff of the subnet's own OpenAPI schema for undiscovered public GET endpoints. Distinct from the known-solutions surface (findings for the current project set only).","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"bitsec-ai","public_safe":true,"source_urls":["https://bitsec.ai/api/openapi.json"],"stale":false,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://bitsec.ai/api/projects/"},{"auth_required":false,"authority":"official","curation_level":"maintainer-reviewed","id":"sn-60-bitsec-projects-sets","key":"srf-400e15383b586810","kind":"data-artifact","last_verified_at":"2026-09-20T04:31:09.312Z","name":"Bitsec.ai project sets","netuid":60,"notes":"Public no-auth GET /api/projects/sets on bitsec.ai, returning the historical list of project-set versions (id, name, active flag) used to evaluate SN60 miner agents over time. Discovered via a full diff of the subnet's own OpenAPI schema for undiscovered public GET endpoints.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"bitsec-ai","public_safe":true,"source_urls":["https://bitsec.ai/api/openapi.json"],"stale":false,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://bitsec.ai/api/projects/sets"},{"auth_required":false,"authority":"official","curation_level":"maintainer-reviewed","id":"sn-60-bitsec-source-repo","key":"srf-948fad64a0baa1ad","kind":"source-repo","last_verified_at":"2026-07-16T05:35:00.000Z","name":"Bitsec.ai source repository","netuid":60,"notes":"Official Bitsec.ai (SN60) source repository, in the Bitsec-AI GitHub org.","probe":{"enabled":true,"expect":"any","method":"HEAD","timeout_ms":10000},"provider":"bitsec-ai","public_safe":true,"source_urls":["https://bitsec.ai/"],"stale":false,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://github.com/Bitsec-AI/sandbox"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","scopes_note":"Requires a Bearer token in the Authorization header (confirmed live: a well-formed \"Bearer <token>\" progresses past the missing-header check to an invalid-token-format error). No hotkey-signed request or API key is accepted for this route.","value_format":"Bearer <token>"},"auth_required":true,"authority":"community","curation_level":"candidate-discovered","id":"sn-60-bitsec-users-create","key":"srf-658177a49caf02c3","kind":"subnet-api","last_verified_at":null,"name":"Bitsec.ai user create","netuid":60,"notes":"POST /api/users/ on bitsec.ai — write endpoint creating a user record. The subnet's own OpenAPI schema declares a required credential header parameter on this operation (this API declares no formal security scheme anywhere). Live-verified 2026-07-21 (~22:05 UTC): unauthenticated request returns HTTP 422 with a missing-required-header validation error on that exact parameter, consistent with the gate being enforced at the framework layer. Not callable by the anonymous Phase-1 call_subnet_surface tool, so probe.enabled:false.","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"bitsec-ai","public_safe":true,"review":{"state":"community-submitted","submitted_by":"tryeverything24"},"source_urls":["https://bitsec.ai/api/openapi.json"],"stale":null,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://bitsec.ai/api/users/"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","scopes_note":"Requires a Bearer token in the Authorization header (confirmed live: a well-formed \"Bearer <token>\" progresses past the missing-header check to an invalid-token-format error). No hotkey-signed request or API key is accepted for this route.","value_format":"Bearer <token>"},"auth_required":true,"authority":"community","curation_level":"candidate-discovered","id":"sn-60-bitsec-users-validators-heartbeat","key":"srf-2e2615223244ab0e","kind":"subnet-api","last_verified_at":null,"name":"Bitsec.ai validator heartbeat","netuid":60,"notes":"POST /api/users/validators/heartbeat on bitsec.ai — write endpoint recording a validator heartbeat. The subnet's own OpenAPI schema declares a required credential header parameter on this operation (this API declares no formal security scheme anywhere). Live-verified 2026-07-21 (~22:05 UTC): unauthenticated request returns HTTP 422 with a missing-required-header validation error on that exact parameter, consistent with the gate being enforced at the framework layer. Not callable by the anonymous Phase-1 call_subnet_surface tool, so probe.enabled:false.","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"bitsec-ai","public_safe":true,"review":{"state":"community-submitted","submitted_by":"tryeverything24"},"source_urls":["https://bitsec.ai/api/openapi.json"],"stale":null,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://bitsec.ai/api/users/validators/heartbeat"},{"auth":{"location":"header","name":"Authorization","scheme":"bearer","scopes_note":"Requires a Bearer token in the Authorization header (confirmed live: a well-formed \"Bearer <token>\" progresses past the missing-header check to an invalid-token-format error). No hotkey-signed request or API key is accepted for this route.","value_format":"Bearer <token>"},"auth_required":true,"authority":"community","curation_level":"candidate-discovered","id":"sn-60-bitsec-users-validators-me","key":"srf-b760a7505a6ac34a","kind":"subnet-api","last_verified_at":null,"name":"Bitsec.ai validator self-lookup","netuid":60,"notes":"GET /api/users/validators/me on bitsec.ai — gated read endpoint resolving the calling validator's own record. The subnet's own OpenAPI schema declares a required credential header parameter on this operation (this API declares no formal security scheme anywhere). Live-verified 2026-07-21 (~22:05 UTC): unauthenticated request returns HTTP 422 with a missing-required-header validation error on that exact parameter, consistent with the gate being enforced at the framework layer. Not callable by the anonymous Phase-1 call_subnet_surface tool, so probe.enabled:false.","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"bitsec-ai","public_safe":true,"review":{"state":"community-submitted","submitted_by":"tryeverything24"},"source_urls":["https://bitsec.ai/api/openapi.json"],"stale":null,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://bitsec.ai/api/users/validators/me"},{"auth_required":false,"authority":"official","curation_level":"maintainer-reviewed","id":"sn-60-bitsec-website","key":"srf-6c71d56223808a9e","kind":"website","last_verified_at":"2026-07-16T05:35:00.000Z","name":"Bitsec.ai website","netuid":60,"notes":"Official Bitsec.ai (SN60) website.","probe":{"enabled":true,"expect":"html","method":"HEAD","timeout_ms":10000},"provider":"bitsec-ai","public_safe":true,"source_urls":["https://github.com/Bitsec-AI/sandbox"],"stale":false,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://bitsec.ai/"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-60-github-readme-bitsec-ai-sandbox-docs-1","key":"srf-b4fb8241ef700867","kind":"docs","last_verified_at":null,"name":"Bitsec.ai docs","netuid":60,"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":"bitsec-ai","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/Bitsec-AI/sandbox/blob/main/README.md"],"stale":null,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://docs.bitsec.ai/"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-60-subnetradar-dashboard","key":"srf-b8cd6f17b6f478ea","kind":"dashboard","last_verified_at":null,"name":"Bitsec.ai SubnetRadar dashboard","netuid":60,"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/60"],"stale":null,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://subnetradar.com/subnet/60"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-60-taomarketcap-dashboard","key":"srf-93aac89e8b41b9de","kind":"dashboard","last_verified_at":null,"name":"Bitsec.ai TaoMarketCap dashboard","netuid":60,"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/60"],"stale":null,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://taomarketcap.com/subnets/60"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-60-taopedia-article","key":"srf-4330a977b66e71d6","kind":"docs","last_verified_at":null,"name":"Bitsec.ai Taopedia article","netuid":60,"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_60/index.mdx"],"stale":null,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://github.com/e35ventura/taopedia-articles/blob/main/content/pages/subnet_60/index.mdx"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-60-tensorplex-docs","key":"srf-817c0934b7c30241","kind":"docs","last_verified_at":null,"name":"Bitsec.ai Tensorplex subnet docs","netuid":60,"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/60/subnet.json"],"stale":null,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://github.com/tensorplex-labs/subnet-docs/tree/main/data/60"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-60-website-common-docs","key":"srf-37cdac7165cfe6f7","kind":"docs","last_verified_at":null,"name":"Bitsec.ai docs","netuid":60,"notes":"Common read-only path discovered from a public project website root. Requires verification before promotion.","probe":{"enabled":true,"expect":"any","method":"HEAD","timeout_ms":10000},"provider":"bitsec-ai","public_safe":true,"quality_signals":{"content_type_matches_kind":true,"public_safe":true,"rate_limited":false,"redirected":false,"source_tier":"provider-claimed","transient_failure":false},"rate_limit_notes":"Candidate only; no recurring probe is configured until maintainer review.","source_urls":["https://bitsec.ai/"],"stale":null,"subnet_name":"Bitsec.ai","subnet_slug":"sn-60","url":"https://bitsec.ai/docs"}]},"meta":{"artifact_path":"/metagraph/surfaces/60.json","cache":"standard","contract_version":"2026-07-03.2","generated_at":"2026-09-20T12:26:49.169Z","published_at":"2026-09-20T12:26:49.169Z","source":"r2","pagination":{"collection":"surfaces","total":41,"returned":41,"limit":41,"cursor":0,"next_cursor":null,"sort":null,"order":"asc"}}}