{"ok":true,"schema_version":1,"data":{"contract_version":"2026-07-03.2","generated_at":"2026-09-20T12:26:49.169Z","name":"Astrid","netuid":127,"schema_version":1,"slug":"sn-127","surfaces":[{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-127-astrid-arena-dashboard","key":"srf-60b29f688b324f1b","kind":"dashboard","last_verified_at":null,"name":"Astrid Arena dashboard","netuid":127,"notes":"Public no-auth Astrid Arena web dashboard for SN127 agent-trading competitions — the front end over the arena-api surfaces already in this manifest. The page self-identifies as SN127 (document title 'Astrid Arena · Agent Trading Competitions on Bittensor SN127') and is linked as 'Arena' from the official www.astrid.global homepage.","probe":{"enabled":true,"expect":"html","method":"HEAD","timeout_ms":10000},"provider":"astrid","public_safe":true,"review":{"state":"community-submitted","submitted_by":"glorydavid03023"},"source_urls":["https://www.astrid.global/","https://github.com/astridintelligence/sn-127/blob/master/README.md"],"stale":null,"subnet_name":"Astrid","subnet_slug":"sn-127","url":"https://arena.astrid.global"},{"auth_required":false,"authority":"community","curation_level":"machine-verified","id":"sn-127-astrid-data-artifact","key":"srf-ef74619837aeb244","kind":"data-artifact","last_verified_at":"2026-09-20T04:31:09.312Z","name":"Astrid Arena competition wallet-activity dataset","netuid":127,"notes":"Public no-auth GET returning the full wallet-activity dataset (totals plus orders/positions/trades records) for a completed SN127 Astrid Arena competition (Miners Showdown 3). The competitionId is sourced from the public completed-competitions endpoint already in this manifest, and the wallet-activity dataset path is documented in the official astridintelligence/sn-127 validator client (src/core/arena/api.ts, fetchAllTrades). Returns application/json; distinct from the completed-competitions API surface.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"astrid","public_safe":true,"review":{"state":"community-submitted","submitted_by":"jimcody1995"},"source_urls":["https://github.com/astridintelligence/sn-127/blob/master/src/core/arena/api.ts","https://github.com/astridintelligence/sn-127/blob/master/README.md"],"stale":false,"subnet_name":"Astrid","subnet_slug":"sn-127","url":"https://arena-api.astrid.global/public/competitions/190482a8-70b8-463d-b6c5-d1808bc7db9f/wallet-activity"},{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-127-astrid-execution-presence","key":"srf-ba18ad012550b9b3","kind":"subnet-api","last_verified_at":null,"name":"Astrid Arena execution presence","netuid":127,"notes":"Public no-auth GET returning execution presence records (participantId plus executionTime, with total/limit/offset pagination fields) for an SN127 Astrid Arena competition, per the official validator client (src/core/arena/api.ts, fetchExecutionPresence) — a plain fetch like the sibling completed-competitions call. Requires a participantIds query parameter (comma-joined list; optional limit/offset/after for pagination) in addition to the competitionId path parameter. Live-verified 2026-07-22: without the query parameter the route returns HTTP 400 JSON naming participantIds as required (confirms live validation, not auth); with participant ids taken from the completed-competitions surface already in this manifest it returns HTTP 200 JSON presence records. probe.enabled:false since the probe pipeline has no per-surface injection for the required query parameter.","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"astrid","public_safe":true,"review":{"state":"community-submitted","submitted_by":"tryeverything24"},"source_urls":["https://github.com/astridintelligence/sn-127/blob/master/src/core/arena/api.ts"],"stale":null,"subnet_name":"Astrid","subnet_slug":"sn-127","url":"https://arena-api.astrid.global/public/competitions/%7BcompetitionId%7D/executions/presence"},{"auth_required":false,"authority":"official","curation_level":"maintainer-reviewed","id":"sn-127-astrid-source","key":"srf-60385e831bb79f2b","kind":"source-repo","last_verified_at":"2026-07-16T00:00:00.000Z","name":"Astrid source repository","netuid":127,"notes":"Official Astrid source repository for SN127.","probe":{"enabled":true,"expect":"any","method":"HEAD","timeout_ms":10000},"provider":"astrid","public_safe":true,"source_urls":["https://github.com/astridintelligence/sn-127"],"stale":false,"subnet_name":"Astrid","subnet_slug":"sn-127","url":"https://github.com/astridintelligence/sn-127"},{"auth_required":false,"authority":"community","curation_level":"machine-verified","id":"sn-127-astrid-subnet-api","key":"srf-19cc25703828020a","kind":"subnet-api","last_verified_at":"2026-09-20T04:31:09.312Z","name":"Astrid Arena API","netuid":127,"notes":"Public no-auth REST API for SN127 Astrid's trading Arena (arena-api.astrid.global) exposing completed competitions, trades, and execution runs; GET /public/arena/completed-competitions returns JSON with no authentication. Documented in the official astridintelligence/sn-127 README. The sibling executions/presence route additionally requires a participantIds query parameter and is not promotable.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"astrid","public_safe":true,"review":{"state":"community-submitted","submitted_by":"real-venus"},"source_urls":["https://github.com/astridintelligence/sn-127/blob/master/README.md"],"stale":false,"subnet_name":"Astrid","subnet_slug":"sn-127","url":"https://arena-api.astrid.global/public/arena/completed-competitions"},{"auth_required":false,"authority":"official","curation_level":"maintainer-reviewed","id":"sn-127-astrid-website","key":"srf-f1e588312e53505e","kind":"website","last_verified_at":"2026-07-16T00:00:00.000Z","name":"Astrid website","netuid":127,"notes":"Official Astrid website. The www subdomain 301-redirects to the canonical apex host.","probe":{"enabled":true,"expect":"html","method":"HEAD","timeout_ms":10000},"provider":"astrid","public_safe":true,"source_urls":["https://github.com/astridintelligence/sn-127"],"stale":false,"subnet_name":"Astrid","subnet_slug":"sn-127","url":"https://astrid.global/"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-127-backprop-dashboard","key":"srf-e7ee7425f9c3303d","kind":"dashboard","last_verified_at":null,"name":"Astrid Backprop Finance dashboard","netuid":127,"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/127-astrid"],"stale":null,"subnet_name":"Astrid","subnet_slug":"sn-127","url":"https://backprop.finance/dtao/subnets/127-astrid"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-127-native-chain-website","key":"srf-6d717fdc32514f8e","kind":"website","last_verified_at":null,"name":"Astrid website","netuid":127,"notes":"Discovered from native Subtensor SubnetIdentitiesV3 metadata. Candidate still requires safe probe verification and maintainer review before promotion.","probe":{"enabled":true,"expect":"any","method":"HEAD","timeout_ms":10000},"provider":"astrid","public_safe":true,"quality_signals":{"content_type_matches_kind":true,"public_safe":true,"rate_limited":false,"redirected":true,"source_tier":"native-chain","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/127","https://docs.learnbittensor.org/python-api/html/_modules/bittensor/core/chain_data/subnet_identity.html"],"stale":null,"subnet_name":"Astrid","subnet_slug":"sn-127","url":"https://www.astrid.global/"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-127-subnetradar-dashboard","key":"srf-623a2bfe478f1959","kind":"dashboard","last_verified_at":null,"name":"Astrid SubnetRadar dashboard","netuid":127,"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/127"],"stale":null,"subnet_name":"Astrid","subnet_slug":"sn-127","url":"https://subnetradar.com/subnet/127"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-127-taomarketcap-dashboard","key":"srf-6c9bbce419421138","kind":"dashboard","last_verified_at":null,"name":"Astrid TaoMarketCap dashboard","netuid":127,"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/127"],"stale":null,"subnet_name":"Astrid","subnet_slug":"sn-127","url":"https://taomarketcap.com/subnets/127"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-127-taopedia-article","key":"srf-ec5713ae5f728a0e","kind":"docs","last_verified_at":null,"name":"Astrid Taopedia article","netuid":127,"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_127/index.mdx"],"stale":null,"subnet_name":"Astrid","subnet_slug":"sn-127","url":"https://github.com/e35ventura/taopedia-articles/blob/main/content/pages/subnet_127/index.mdx"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-127-tensorplex-docs","key":"srf-74af3de3a2a4d129","kind":"docs","last_verified_at":null,"name":"Astrid Tensorplex subnet docs","netuid":127,"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/127/subnet.json"],"stale":null,"subnet_name":"Astrid","subnet_slug":"sn-127","url":"https://github.com/tensorplex-labs/subnet-docs/tree/main/data/127"}]},"meta":{"artifact_path":"/metagraph/surfaces/127.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":12,"returned":12,"limit":12,"cursor":0,"next_cursor":null,"sort":null,"order":"asc"}}}