{"ok":true,"schema_version":1,"data":{"contract_version":"2026-07-03.2","generated_at":"2026-09-20T12:26:49.169Z","name":"iota","netuid":9,"schema_version":1,"slug":"sn-9","surfaces":[{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-9-backprop-dashboard","key":"srf-ea3ff00ae4d77b57","kind":"dashboard","last_verified_at":null,"name":"iota Backprop Finance dashboard","netuid":9,"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/9-iota"],"stale":null,"subnet_name":"iota","subnet_slug":"sn-9","url":"https://backprop.finance/dtao/subnets/9-iota"},{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-9-iota-codeparrot-dataset","key":"srf-501141303994d942","kind":"data-artifact","last_verified_at":null,"name":"IOTA code pretraining dataset","netuid":9,"notes":"Public Macrocosmos HuggingFace GitHub-code corpus (repo_name/path/size/content/license columns; 32 languages) in the macrocosm-os org, a pretraining-data source fit for the IOTA (SN9) LLM-pretraining subnet; not gated. The IOTA repo README (source) declares Macrocosmos operates subnet 9 and links docs.macrocosmos.ai/subnets/subnet-9-pre-training.","provider":"macrocosmos","public_safe":true,"review":{"state":"community-submitted","submitted_by":"glorydavid03023"},"source_urls":["https://github.com/macrocosm-os/iota","https://huggingface.co/macrocosm-os"],"stale":null,"subnet_name":"iota","subnet_slug":"sn-9","url":"https://huggingface.co/datasets/macrocosm-os/code-parrot-github-code"},{"auth":{"location":"header","names":["Epistula-Timestamp","Epistula-Signed-By","Epistula-Request-Signature"],"scheme":"signature","scopes_note":"Requires an Epistula-protocol signed request: the Epistula-Timestamp, Epistula-Signed-By, and Epistula-Request-Signature headers proving control of a registered hotkey (live-verified 2026-07-22: the API's own EpistulaError messages progress through SS58-format, timestamp-freshness, and signature-hex-format checks as each header is supplied correctly). No static API key or bearer token is accepted."},"auth_required":true,"authority":"community","curation_level":"candidate-discovered","id":"sn-9-iota-common-get-merged-partitions","key":"srf-1f870d2845145d49","kind":"subnet-api","last_verified_at":null,"name":"IOTA common merged partitions read","netuid":9,"notes":"Epistula-signed orchestrator read on api.macrocosmos.ai (same non-bearer signing caveat as SN1 Apex). Live-verified 2026-07-21: unsigned GET returns HTTP 400 EpistulaError Invalid SS58 address. Registered auth_required:true with probe.enabled:false (Phase 3).","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"macrocosmos","public_safe":true,"review":{"state":"community-submitted","submitted_by":"andriypolanski"},"source_urls":["https://iota.api.macrocosmos.ai/openapi.json","https://github.com/macrocosm-os/iota"],"stale":null,"subnet_name":"iota","subnet_slug":"sn-9","url":"https://iota.api.macrocosmos.ai/common/get_merged_partitions"},{"auth":{"location":"header","names":["Epistula-Timestamp","Epistula-Signed-By","Epistula-Request-Signature"],"scheme":"signature","scopes_note":"Requires an Epistula-protocol signed request: the Epistula-Timestamp, Epistula-Signed-By, and Epistula-Request-Signature headers proving control of a registered hotkey (live-verified 2026-07-22: the API's own EpistulaError messages progress through SS58-format, timestamp-freshness, and signature-hex-format checks as each header is supplied correctly). No static API key or bearer token is accepted."},"auth_required":true,"authority":"community","curation_level":"candidate-discovered","id":"sn-9-iota-common-get-run-epoch","key":"srf-00bdbe7f1c85c4a4","kind":"subnet-api","last_verified_at":null,"name":"IOTA common run epoch read","netuid":9,"notes":"Epistula-signed orchestrator read requiring a run_id query parameter. Live-verified 2026-07-21: unsigned GET without run_id returns HTTP 422 Field required for query.run_id. Registered with the fixed base URL (no query baked in) so call_subnet_surface can supply query params. auth_required:true, probe.enabled:false.","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"macrocosmos","public_safe":true,"review":{"state":"community-submitted","submitted_by":"andriypolanski"},"source_urls":["https://iota.api.macrocosmos.ai/openapi.json","https://github.com/macrocosm-os/iota"],"stale":null,"subnet_name":"iota","subnet_slug":"sn-9","url":"https://iota.api.macrocosmos.ai/common/get_run_epoch"},{"auth_required":false,"authority":"official","curation_level":"candidate-discovered","id":"sn-9-iota-dashboard","key":"srf-23b09c8b888a4247","kind":"dashboard","last_verified_at":"2026-06-08T09:50:00.000Z","name":"IOTA dashboard","netuid":9,"notes":"Official public IOTA dashboard linked from the source repository.","probe":{"enabled":true,"expect":"html","method":"HEAD","timeout_ms":10000},"provider":"macrocosmos","public_safe":true,"source_urls":["https://github.com/macrocosm-os/iota/blob/main/README.md"],"stale":true,"subnet_name":"iota","subnet_slug":"sn-9","url":"https://iota.macrocosmos.ai/dashboard/mainnet"},{"auth_required":false,"authority":"community","curation_level":"machine-verified","id":"sn-9-iota-healthcheck","key":"srf-c339d9bd29f77541","kind":"subnet-api","last_verified_at":"2026-09-20T04:31:09.312Z","name":"IOTA orchestrator healthcheck","netuid":9,"notes":"Public no-auth GET /healthcheck on the IOTA SN9 orchestrator returning liveness JSON (observed: {\"status\":\"healthy\"}); documented as GET /healthcheck in the subnet OpenAPI spec. Live-verified 2026-07-21: HTTP 200 JSON {\"status\":\"healthy\"}.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"macrocosmos","public_safe":true,"review":{"state":"community-submitted","submitted_by":"codevector96"},"source_urls":["https://iota.api.macrocosmos.ai/openapi.json"],"stale":false,"subnet_name":"iota","subnet_slug":"sn-9","url":"https://iota.api.macrocosmos.ai/healthcheck"},{"auth_required":false,"authority":"official","curation_level":"maintainer-reviewed","id":"sn-9-iota-metrics","key":"srf-08b192cbe61bfd12","kind":"subnet-api","last_verified_at":"2026-09-20T04:31:09.312Z","name":"IOTA orchestrator Prometheus metrics","netuid":9,"notes":"Public no-auth GET returning Prometheus text-exposition-format process/runtime metrics (python_gc_objects_collected_total and similar). Documented in the subnet's own OpenAPI schema (path /metrics); plain-text response, not JSON, so tracked with expect: any. Same pattern as the SN1 Apex orchestrator's own /metrics surface (same macrocosm-os org).","probe":{"enabled":true,"expect":"any","method":"GET","timeout_ms":10000},"provider":"macrocosmos","public_safe":true,"source_urls":["https://iota.api.macrocosmos.ai/openapi.json"],"stale":false,"subnet_name":"iota","subnet_slug":"sn-9","url":"https://iota.api.macrocosmos.ai/metrics"},{"auth":{"location":"header","names":["Epistula-Timestamp","Epistula-Signed-By","Epistula-Request-Signature"],"scheme":"signature","scopes_note":"Requires an Epistula-protocol signed request: the Epistula-Timestamp, Epistula-Signed-By, and Epistula-Request-Signature headers proving control of a registered hotkey (live-verified 2026-07-22: the API's own EpistulaError messages progress through SS58-format, timestamp-freshness, and signature-hex-format checks as each header is supplied correctly). No static API key or bearer token is accepted."},"auth_required":true,"authority":"community","curation_level":"candidate-discovered","id":"sn-9-iota-miner-all-layers-training","key":"srf-02d30e2e9ab9df78","kind":"subnet-api","last_verified_at":null,"name":"IOTA miner all layers training read","netuid":9,"notes":"Epistula-signed orchestrator read declared in the registered OpenAPI schema (metagraphed#7025). Live-verified 2026-07-21: unsigned GET returns HTTP 400 EpistulaError on the live orchestrator; some load-balanced backends may instead return HTTP 404. Registered with probe.enabled:false so intermittent 404s are not misreported as subnet health.","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"macrocosmos","public_safe":true,"review":{"state":"community-submitted","submitted_by":"andriypolanski"},"source_urls":["https://iota.api.macrocosmos.ai/openapi.json","https://github.com/macrocosm-os/iota"],"stale":null,"subnet_name":"iota","subnet_slug":"sn-9","url":"https://iota.api.macrocosmos.ai/miner/all_layers_training"},{"auth":{"location":"header","names":["Epistula-Timestamp","Epistula-Signed-By","Epistula-Request-Signature"],"scheme":"signature","scopes_note":"Requires an Epistula-protocol signed request: the Epistula-Timestamp, Epistula-Signed-By, and Epistula-Request-Signature headers proving control of a registered hotkey (live-verified 2026-07-22: the API's own EpistulaError messages progress through SS58-format, timestamp-freshness, and signature-hex-format checks as each header is supplied correctly). No static API key or bearer token is accepted."},"auth_required":true,"authority":"community","curation_level":"candidate-discovered","id":"sn-9-iota-miner-get-activations","key":"srf-fb3d99c35edaa516","kind":"subnet-api","last_verified_at":null,"name":"IOTA miner activations read","netuid":9,"notes":"Epistula-signed orchestrator read on api.macrocosmos.ai (same non-bearer signing caveat as SN1 Apex, shared macrocosm-os codebase). Live-verified 2026-07-21: unsigned GET returns HTTP 422 listing the required request body, proving the route is real. Registered auth_required:true with probe.enabled:false (Phase 3).","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"macrocosmos","public_safe":true,"review":{"state":"community-submitted","submitted_by":"andriypolanski"},"source_urls":["https://iota.api.macrocosmos.ai/openapi.json","https://github.com/macrocosm-os/iota"],"stale":null,"subnet_name":"iota","subnet_slug":"sn-9","url":"https://iota.api.macrocosmos.ai/miner/get_activations"},{"auth":{"location":"header","names":["Epistula-Timestamp","Epistula-Signed-By","Epistula-Request-Signature"],"scheme":"signature","scopes_note":"Requires an Epistula-protocol signed request: the Epistula-Timestamp, Epistula-Signed-By, and Epistula-Request-Signature headers proving control of a registered hotkey (live-verified 2026-07-22: the API's own EpistulaError messages progress through SS58-format, timestamp-freshness, and signature-hex-format checks as each header is supplied correctly). No static API key or bearer token is accepted."},"auth_required":true,"authority":"community","curation_level":"candidate-discovered","id":"sn-9-iota-miner-get-layer-optimizer-state","key":"srf-f76e613e694e781d","kind":"subnet-api","last_verified_at":null,"name":"IOTA miner layer optimizer state read","netuid":9,"notes":"Epistula-signed orchestrator read declared in the registered OpenAPI schema (metagraphed#7025). Same load-balancer caveat as /miner/all_layers_training: live responses may be HTTP 400 EpistulaError or HTTP 404 depending on backend. Registered auth_required:true with probe.enabled:false.","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"macrocosmos","public_safe":true,"review":{"state":"community-submitted","submitted_by":"andriypolanski"},"source_urls":["https://iota.api.macrocosmos.ai/openapi.json","https://github.com/macrocosm-os/iota"],"stale":null,"subnet_name":"iota","subnet_slug":"sn-9","url":"https://iota.api.macrocosmos.ai/miner/get_layer_optimizer_state"},{"auth":{"location":"header","names":["Epistula-Timestamp","Epistula-Signed-By","Epistula-Request-Signature"],"scheme":"signature","scopes_note":"Requires an Epistula-protocol signed request: the Epistula-Timestamp, Epistula-Signed-By, and Epistula-Request-Signature headers proving control of a registered hotkey (live-verified 2026-07-22: the API's own EpistulaError messages progress through SS58-format, timestamp-freshness, and signature-hex-format checks as each header is supplied correctly). No static API key or bearer token is accepted."},"auth_required":true,"authority":"community","curation_level":"candidate-discovered","id":"sn-9-iota-miner-get-partitions","key":"srf-9df8a06214e58f7f","kind":"subnet-api","last_verified_at":null,"name":"IOTA miner partitions read","netuid":9,"notes":"Epistula-signed orchestrator read on api.macrocosmos.ai (same non-bearer signing caveat as SN1 Apex). Live-verified 2026-07-21: unsigned GET returns HTTP 400 EpistulaError Invalid SS58 address. Registered auth_required:true with probe.enabled:false (Phase 3).","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"macrocosmos","public_safe":true,"review":{"state":"community-submitted","submitted_by":"andriypolanski"},"source_urls":["https://iota.api.macrocosmos.ai/openapi.json","https://github.com/macrocosm-os/iota"],"stale":null,"subnet_name":"iota","subnet_slug":"sn-9","url":"https://iota.api.macrocosmos.ai/miner/get_partitions"},{"auth":{"location":"header","names":["Epistula-Timestamp","Epistula-Signed-By","Epistula-Request-Signature"],"scheme":"signature","scopes_note":"Requires an Epistula-protocol signed request: the Epistula-Timestamp, Epistula-Signed-By, and Epistula-Request-Signature headers proving control of a registered hotkey (live-verified 2026-07-22: the API's own EpistulaError messages progress through SS58-format, timestamp-freshness, and signature-hex-format checks as each header is supplied correctly). No static API key or bearer token is accepted."},"auth_required":true,"authority":"community","curation_level":"candidate-discovered","id":"sn-9-iota-miner-get-previous-partitions","key":"srf-6f1078352fef0b27","kind":"subnet-api","last_verified_at":null,"name":"IOTA miner previous partitions read","netuid":9,"notes":"Epistula-signed orchestrator read on api.macrocosmos.ai (same non-bearer signing caveat as SN1 Apex). Live-verified 2026-07-21: unsigned GET returns HTTP 422 listing the required request body. Registered auth_required:true with probe.enabled:false (Phase 3).","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"macrocosmos","public_safe":true,"review":{"state":"community-submitted","submitted_by":"andriypolanski"},"source_urls":["https://iota.api.macrocosmos.ai/openapi.json","https://github.com/macrocosm-os/iota"],"stale":null,"subnet_name":"iota","subnet_slug":"sn-9","url":"https://iota.api.macrocosmos.ai/miner/get_previous_partitions"},{"auth":{"location":"header","names":["Epistula-Timestamp","Epistula-Signed-By","Epistula-Request-Signature"],"scheme":"signature","scopes_note":"Requires an Epistula-protocol signed request: the Epistula-Timestamp, Epistula-Signed-By, and Epistula-Request-Signature headers proving control of a registered hotkey (live-verified 2026-07-22: the API's own EpistulaError messages progress through SS58-format, timestamp-freshness, and signature-hex-format checks as each header is supplied correctly). No static API key or bearer token is accepted."},"auth_required":true,"authority":"community","curation_level":"candidate-discovered","id":"sn-9-iota-miner-get-weight-path-per-layer","key":"srf-9c3967131607ec8d","kind":"subnet-api","last_verified_at":null,"name":"IOTA miner weight path per layer read","netuid":9,"notes":"Epistula-signed orchestrator read on api.macrocosmos.ai (same non-bearer signing caveat as SN1 Apex). Live-verified 2026-07-21: unsigned GET returns HTTP 400 EpistulaError Invalid SS58 address. Registered auth_required:true with probe.enabled:false (Phase 3).","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"macrocosmos","public_safe":true,"review":{"state":"community-submitted","submitted_by":"andriypolanski"},"source_urls":["https://iota.api.macrocosmos.ai/openapi.json","https://github.com/macrocosm-os/iota"],"stale":null,"subnet_name":"iota","subnet_slug":"sn-9","url":"https://iota.api.macrocosmos.ai/miner/get_weight_path_per_layer"},{"auth":{"location":"header","names":["Epistula-Timestamp","Epistula-Signed-By","Epistula-Request-Signature"],"scheme":"signature","scopes_note":"Requires an Epistula-protocol signed request: the Epistula-Timestamp, Epistula-Signed-By, and Epistula-Request-Signature headers proving control of a registered hotkey (live-verified 2026-07-22: the API's own EpistulaError messages progress through SS58-format, timestamp-freshness, and signature-hex-format checks as each header is supplied correctly). No static API key or bearer token is accepted."},"auth_required":true,"authority":"community","curation_level":"candidate-discovered","id":"sn-9-iota-miner-heartbeat","key":"srf-b18566e5b96e1afc","kind":"subnet-api","last_verified_at":null,"name":"IOTA miner heartbeat read","netuid":9,"notes":"Epistula-signed orchestrator read on api.macrocosmos.ai (same non-bearer signing caveat as SN1 Apex). Live-verified 2026-07-21: unsigned GET returns HTTP 400 EpistulaError Invalid SS58 address, proving signature auth is enforced. Registered auth_required:true with probe.enabled:false (Phase 3).","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"macrocosmos","public_safe":true,"review":{"state":"community-submitted","submitted_by":"andriypolanski"},"source_urls":["https://iota.api.macrocosmos.ai/openapi.json","https://github.com/macrocosm-os/iota"],"stale":null,"subnet_name":"iota","subnet_slug":"sn-9","url":"https://iota.api.macrocosmos.ai/miner/heartbeat"},{"auth":{"location":"header","names":["Epistula-Timestamp","Epistula-Signed-By","Epistula-Request-Signature"],"scheme":"signature","scopes_note":"Requires an Epistula-protocol signed request: the Epistula-Timestamp, Epistula-Signed-By, and Epistula-Request-Signature headers proving control of a registered hotkey (live-verified 2026-07-22: the API's own EpistulaError messages progress through SS58-format, timestamp-freshness, and signature-hex-format checks as each header is supplied correctly). No static API key or bearer token is accepted."},"auth_required":true,"authority":"community","curation_level":"candidate-discovered","id":"sn-9-iota-miner-layer-state","key":"srf-7f45fae1c53b5722","kind":"subnet-api","last_verified_at":null,"name":"IOTA miner layer state read","netuid":9,"notes":"Epistula-signed orchestrator read on api.macrocosmos.ai (same non-bearer signing caveat as SN1 Apex). Live-verified 2026-07-21: unsigned GET returns HTTP 400 EpistulaError Invalid SS58 address. Registered auth_required:true with probe.enabled:false (Phase 3).","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"macrocosmos","public_safe":true,"review":{"state":"community-submitted","submitted_by":"andriypolanski"},"source_urls":["https://iota.api.macrocosmos.ai/openapi.json","https://github.com/macrocosm-os/iota"],"stale":null,"subnet_name":"iota","subnet_slug":"sn-9","url":"https://iota.api.macrocosmos.ai/miner/layer_state"},{"auth":{"location":"header","names":["Epistula-Timestamp","Epistula-Signed-By","Epistula-Request-Signature"],"scheme":"signature","scopes_note":"Requires an Epistula-protocol signed request: the Epistula-Timestamp, Epistula-Signed-By, and Epistula-Request-Signature headers proving control of a registered hotkey (live-verified 2026-07-22: the API's own EpistulaError messages progress through SS58-format, timestamp-freshness, and signature-hex-format checks as each header is supplied correctly). No static API key or bearer token is accepted."},"auth_required":true,"authority":"community","curation_level":"candidate-discovered","id":"sn-9-iota-miner-notify-orchestrator-of-state-call","key":"srf-6b06292fd14aa737","kind":"subnet-api","last_verified_at":null,"name":"IOTA miner notify orchestrator of state call read","netuid":9,"notes":"Epistula-signed orchestrator read declared in the registered OpenAPI schema (metagraphed#7025). Same load-balancer caveat as /miner/all_layers_training: live responses may be HTTP 400 EpistulaError or HTTP 404 depending on backend. Registered auth_required:true with probe.enabled:false.","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"macrocosmos","public_safe":true,"review":{"state":"community-submitted","submitted_by":"andriypolanski"},"source_urls":["https://iota.api.macrocosmos.ai/openapi.json","https://github.com/macrocosm-os/iota"],"stale":null,"subnet_name":"iota","subnet_slug":"sn-9","url":"https://iota.api.macrocosmos.ai/miner/notify_orchestrator_of_state_call"},{"auth":{"location":"header","names":["Epistula-Timestamp","Epistula-Signed-By","Epistula-Request-Signature"],"scheme":"signature","scopes_note":"Requires an Epistula-protocol signed request: the Epistula-Timestamp, Epistula-Signed-By, and Epistula-Request-Signature headers proving control of a registered hotkey (live-verified 2026-07-22: the API's own EpistulaError messages progress through SS58-format, timestamp-freshness, and signature-hex-format checks as each header is supplied correctly). No static API key or bearer token is accepted."},"auth_required":true,"authority":"community","curation_level":"candidate-discovered","id":"sn-9-iota-miner-register-status-queue-id","key":"srf-f03f5359e052d64b","kind":"subnet-api","last_verified_at":null,"name":"IOTA miner register status read","netuid":9,"notes":"Epistula-signed orchestrator read with a path-parameterized queue_id. Live-verified 2026-07-21: GET with a placeholder queue id returns HTTP 400 EpistulaError Invalid SS58 address. Path template registered URI-encoded (%7Bqueue_id%7D). auth_required:true, probe.enabled:false.","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"macrocosmos","public_safe":true,"review":{"state":"community-submitted","submitted_by":"andriypolanski"},"source_urls":["https://iota.api.macrocosmos.ai/openapi.json","https://github.com/macrocosm-os/iota"],"stale":null,"subnet_name":"iota","subnet_slug":"sn-9","url":"https://iota.api.macrocosmos.ai/miner/register/status/%7Bqueue_id%7D"},{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-9-iota-openapi","key":"srf-9fdcd5e22fa6d733","kind":"openapi","last_verified_at":null,"name":"IOTA orchestrator API OpenAPI schema","netuid":9,"notes":"Machine-readable OpenAPI 3.1 schema (title: FastAPI) for the IOTA SN9 orchestrator, served publicly at iota.api.macrocosmos.ai — documents the miner registration/activation/weight-submission routes and GET /healthcheck. The SN9 companion to the merged SN1 apex.api.macrocosmos.ai orchestrator API; Macrocosmos operates subnet 9 per the official IOTA source repo. Live-verified 2026-07-21: GET returns OpenAPI 3.1.0 JSON (title FastAPI).","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"macrocosmos","public_safe":true,"review":{"state":"community-submitted","submitted_by":"codevector96"},"schema_status":"machine-readable","schema_url":"https://iota.api.macrocosmos.ai/openapi.json","source_urls":["https://iota.api.macrocosmos.ai/openapi.json"],"stale":null,"subnet_name":"iota","subnet_slug":"sn-9","url":"https://iota.api.macrocosmos.ai/openapi.json"},{"auth_required":false,"authority":"community","curation_level":"machine-verified","id":"sn-9-iota-profiler-status","key":"srf-b42930b84b3e9d23","kind":"subnet-api","last_verified_at":"2026-09-20T04:31:09.312Z","name":"IOTA orchestrator profiler status","netuid":9,"notes":"Public no-auth GET /profiler/status on the IOTA SN9 orchestrator returning profiler state JSON. Live-verified 2026-07-21: HTTP 200 {\"running\":false,\"profiler_exists\":false}. Unlike /profiler/start and /profiler/stop write siblings, this read declares no signed-request headers in the registered OpenAPI schema and needs none.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"macrocosmos","public_safe":true,"review":{"state":"community-submitted","submitted_by":"andriypolanski"},"source_urls":["https://iota.api.macrocosmos.ai/openapi.json","https://github.com/macrocosm-os/iota"],"stale":false,"subnet_name":"iota","subnet_slug":"sn-9","url":"https://iota.api.macrocosmos.ai/profiler/status"},{"auth_required":false,"authority":"official","curation_level":"maintainer-reviewed","id":"sn-9-iota-run-info","key":"srf-6ec629d96674b06d","kind":"subnet-api","last_verified_at":"2026-09-20T04:31:09.312Z","name":"IOTA training run info","netuid":9,"notes":"Public no-auth GET /common/get_run_info on the IOTA orchestrator, returning the current decentralized pre-training run's configuration (run_id, num_miners, incentive_perc, run_flags) with no parameters required. Distinct from /common/get_run_epoch, which needs a specific run_id and is not tracked here since the current run_id changes over time (this endpoint is how a client discovers it).","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"macrocosmos","public_safe":true,"source_urls":["https://iota.api.macrocosmos.ai/openapi.json"],"stale":false,"subnet_name":"iota","subnet_slug":"sn-9","url":"https://iota.api.macrocosmos.ai/common/get_run_info"},{"auth_required":false,"authority":"official","curation_level":"maintainer-reviewed","id":"sn-9-iota-source","key":"srf-bf2959e3b340ea73","kind":"source-repo","last_verified_at":"2026-06-08T09:50:00.000Z","name":"IOTA source repository","netuid":9,"notes":"Official IOTA source repository.","probe":{"enabled":true,"expect":"any","method":"HEAD","timeout_ms":10000},"provider":"macrocosmos","public_safe":true,"source_urls":["https://github.com/macrocosm-os/iota"],"stale":false,"subnet_name":"iota","subnet_slug":"sn-9","url":"https://github.com/macrocosm-os/iota"},{"auth":{"location":"header","names":["Epistula-Timestamp","Epistula-Signed-By","Epistula-Request-Signature"],"scheme":"signature","scopes_note":"Requires an Epistula-protocol signed request: the Epistula-Timestamp, Epistula-Signed-By, and Epistula-Request-Signature headers proving control of a registered hotkey (live-verified 2026-07-22: the API's own EpistulaError messages progress through SS58-format, timestamp-freshness, and signature-hex-format checks as each header is supplied correctly). No static API key or bearer token is accepted."},"auth_required":true,"authority":"community","curation_level":"candidate-discovered","id":"sn-9-iota-validator-get-validator-code","key":"srf-b8426c5b570347cf","kind":"subnet-api","last_verified_at":null,"name":"IOTA validator code read","netuid":9,"notes":"Epistula-signed orchestrator read on api.macrocosmos.ai (same non-bearer signing caveat as SN1 Apex). Live-verified 2026-07-21: unsigned GET returns HTTP 400 EpistulaError Invalid SS58 address. Registered auth_required:true with probe.enabled:false (Phase 3).","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"macrocosmos","public_safe":true,"review":{"state":"community-submitted","submitted_by":"andriypolanski"},"source_urls":["https://iota.api.macrocosmos.ai/openapi.json","https://github.com/macrocosm-os/iota"],"stale":null,"subnet_name":"iota","subnet_slug":"sn-9","url":"https://iota.api.macrocosmos.ai/validator/get_validator_code"},{"auth_required":false,"authority":"official","curation_level":"candidate-discovered","id":"sn-9-iota-website","key":"srf-fbc1a774f3d4710d","kind":"website","last_verified_at":"2026-06-08T09:50:00.000Z","name":"IOTA website","netuid":9,"notes":"Official IOTA website.","probe":{"enabled":true,"expect":"html","method":"HEAD","timeout_ms":10000},"provider":"macrocosmos","public_safe":true,"source_urls":["https://github.com/macrocosm-os/iota"],"stale":true,"subnet_name":"iota","subnet_slug":"sn-9","url":"https://iota.macrocosmos.ai/"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-9-subnetradar-dashboard","key":"srf-0ef99ea791b6bb89","kind":"dashboard","last_verified_at":null,"name":"iota SubnetRadar dashboard","netuid":9,"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/9"],"stale":null,"subnet_name":"iota","subnet_slug":"sn-9","url":"https://subnetradar.com/subnet/9"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-9-taopedia-article","key":"srf-b72529c2098a91ff","kind":"docs","last_verified_at":null,"name":"iota Taopedia article","netuid":9,"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_9/index.mdx"],"stale":null,"subnet_name":"iota","subnet_slug":"sn-9","url":"https://github.com/e35ventura/taopedia-articles/blob/main/content/pages/subnet_9/index.mdx"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-9-tensorplex-docs","key":"srf-c512d6a908ced483","kind":"docs","last_verified_at":null,"name":"iota Tensorplex subnet docs","netuid":9,"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/9/subnet.json"],"stale":null,"subnet_name":"iota","subnet_slug":"sn-9","url":"https://github.com/tensorplex-labs/subnet-docs/tree/main/data/9"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-9-website-common-docs","key":"srf-127aae12c497dcc1","kind":"docs","last_verified_at":null,"name":"iota docs","netuid":9,"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":"macrocosmos","public_safe":true,"quality_signals":{"content_type_matches_kind":true,"public_safe":true,"rate_limited":false,"redirected":true,"source_tier":"provider-claimed","transient_failure":false},"rate_limit_notes":"Candidate only; no recurring probe is configured until maintainer review.","source_urls":["https://iota.macrocosmos.ai/"],"stale":null,"subnet_name":"iota","subnet_slug":"sn-9","url":"https://iota.macrocosmos.ai/docs"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-9-website-link-iota-macrocosmos-ai-docs-7","key":"srf-baad136bd3e829f3","kind":"docs","last_verified_at":null,"name":"iota docs","netuid":9,"notes":"Discovered from a public project website link. Requires verification before promotion.","probe":{"enabled":true,"expect":"any","method":"HEAD","timeout_ms":10000},"provider":"macrocosmos","public_safe":true,"quality_signals":{"content_type_matches_kind":true,"public_safe":true,"rate_limited":false,"redirected":true,"source_tier":"provider-claimed","transient_failure":false},"rate_limit_notes":"Candidate only; no recurring probe is configured until maintainer review.","source_urls":["https://iota.macrocosmos.ai/"],"stale":null,"subnet_name":"iota","subnet_slug":"sn-9","url":"https://macrocosmos.ai/delegation-guide"}]},"meta":{"artifact_path":"/metagraph/surfaces/9.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":28,"returned":28,"limit":28,"cursor":0,"next_cursor":null,"sort":null,"order":"asc"}}}