{"ok":true,"schema_version":1,"data":{"contract_version":"2026-07-03.2","generated_at":"2026-09-21T14:15:54.296Z","name":"Allways","netuid":7,"schema_version":1,"slug":"allways","surfaces":[{"auth_required":false,"authority":"provider-claimed","curation_level":"machine-verified","id":"allways-api-health","key":"srf-e81528d66302ee51","kind":"subnet-api","last_verified_at":"2026-09-21T04:31:02.596Z","name":"Allways API health","netuid":7,"probe":{"enabled":true,"expect":"json","method":"GET"},"provider":"allways","public_safe":true,"source_urls":["https://api.all-ways.io/swagger"],"stale":false,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/health"},{"auth_required":false,"authority":"provider-claimed","curation_level":"machine-verified","id":"allways-crown","key":"srf-b4011f2dcaf520b8","kind":"subnet-api","last_verified_at":"2026-09-21T04:31:02.596Z","name":"Allways crown","netuid":7,"probe":{"enabled":true,"expect":"json","method":"GET"},"provider":"allways","public_safe":true,"source_urls":["https://api.all-ways.io/swagger"],"stale":false,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/crown"},{"auth_required":false,"authority":"provider-claimed","curation_level":"machine-verified","id":"allways-crown-history","key":"srf-1c507e95e9b90ef3","kind":"subnet-api","last_verified_at":"2026-09-21T04:31:02.596Z","name":"Allways crown history","netuid":7,"notes":"Requires the direction query param (one of SOL-BTC, BTC-SOL, SOL-TAO, TAO-SOL -- SOL-BTC tracked here as the representative probe, confirmed live 2026-07-15). A blind GET without it returns HTTP 400, which previously left this surface unprobed entirely.","probe":{"enabled":true,"expect":"json","method":"GET"},"provider":"allways","public_safe":true,"source_urls":["https://api.all-ways.io/swagger"],"stale":false,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/crown/history?direction=SOL-BTC"},{"auth_required":false,"authority":"community","curation_level":"machine-verified","id":"allways-crown-rate-history","key":"srf-7d2a3a092e2f4288","kind":"subnet-api","last_verified_at":"2026-09-21T04:31:02.596Z","name":"Allways crown rate history","netuid":7,"notes":"Public no-auth GET returning the crown-holder rate history for a swap direction; requires the direction query param (one of SOL-BTC, BTC-SOL, SOL-TAO, TAO-SOL -- SOL-BTC tracked here as the representative probe). Documented in the subnet's own OpenAPI (path /crown/rate-history); same host as existing subnet-api surfaces.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"allways","public_safe":true,"review":{"state":"community-submitted","submitted_by":"jsonbored"},"source_urls":["https://api.all-ways.io/swagger-json","https://api.all-ways.io/swagger"],"stale":false,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/crown/rate-history?direction=SOL-BTC"},{"auth_required":false,"authority":"community","curation_level":"machine-verified","id":"allways-crown-time","key":"srf-565238052b5d145d","kind":"subnet-api","last_verified_at":"2026-09-21T04:31:02.596Z","name":"Allways crown time-share","netuid":7,"notes":"Public no-auth GET returning per-miner crown time-share (seconds held, share of window, rate) for a swap direction; requires the direction query param (one of SOL-BTC, BTC-SOL, SOL-TAO, TAO-SOL -- SOL-BTC tracked here as the representative probe). Documented in the subnet's own OpenAPI (path /crown/time); same host as existing subnet-api surfaces.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"allways","public_safe":true,"review":{"state":"community-submitted","submitted_by":"jsonbored"},"source_urls":["https://api.all-ways.io/swagger-json","https://api.all-ways.io/swagger"],"stale":false,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/crown/time?direction=SOL-BTC"},{"auth_required":false,"authority":"provider-claimed","curation_level":"candidate-discovered","id":"allways-docs","key":"srf-97d1ec2a251b23f0","kind":"docs","last_verified_at":null,"name":"Allways docs","netuid":7,"probe":{"enabled":true,"expect":"html","method":"GET"},"provider":"allways","public_safe":true,"source_urls":["https://docs.all-ways.io/"],"stale":null,"subnet_name":"Allways","subnet_slug":"allways","url":"https://docs.all-ways.io/how-it-works.html"},{"auth_required":false,"authority":"community","curation_level":"machine-verified","id":"allways-events","key":"srf-9f537fe97d9e4b4b","kind":"subnet-api","last_verified_at":"2026-09-21T04:31:02.596Z","name":"Allways full event feed","netuid":7,"notes":"Public no-auth GET returning the full protocol event feed (SwapCompleted and related on-chain events), unfiltered -- distinct from the already-tracked /events/latest convenience endpoint. Documented in the subnet's own OpenAPI (path /events); same host as existing subnet-api surfaces.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"allways","public_safe":true,"review":{"state":"community-submitted","submitted_by":"jsonbored"},"source_urls":["https://api.all-ways.io/swagger-json","https://api.all-ways.io/swagger"],"stale":false,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/events"},{"auth_required":false,"authority":"provider-claimed","curation_level":"machine-verified","id":"allways-events-latest","key":"srf-cc1a1ad8cf1170b7","kind":"subnet-api","last_verified_at":"2026-09-21T04:31:02.596Z","name":"Allways latest events","netuid":7,"probe":{"enabled":true,"expect":"json","method":"GET"},"provider":"allways","public_safe":true,"source_urls":["https://api.all-ways.io/swagger"],"stale":false,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/events/latest"},{"auth_required":false,"authority":"community","curation_level":"machine-verified","id":"allways-history-rate","key":"srf-b12a1b63c48a3b03","kind":"subnet-api","last_verified_at":"2026-09-21T04:31:02.596Z","name":"Allways historical exchange rate","netuid":7,"notes":"Public no-auth GET returning daily historical exchange rate time-series for a swap direction; requires the direction query param (one of SOL-BTC, BTC-SOL, SOL-TAO, TAO-SOL -- SOL-BTC tracked here as the representative probe). Documented in the subnet's own OpenAPI (path /history/rate); same host as existing subnet-api surfaces.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"allways","public_safe":true,"review":{"state":"community-submitted","submitted_by":"jsonbored"},"source_urls":["https://api.all-ways.io/swagger-json","https://api.all-ways.io/swagger"],"stale":false,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/history/rate?direction=SOL-BTC"},{"auth_required":false,"authority":"provider-claimed","curation_level":"machine-verified","id":"allways-miners","key":"srf-d4a66107344a3f28","kind":"subnet-api","last_verified_at":"2026-09-21T04:31:02.596Z","name":"Allways miners","netuid":7,"probe":{"enabled":true,"expect":"json","method":"GET"},"provider":"allways","public_safe":true,"source_urls":["https://api.all-ways.io/swagger"],"stale":false,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/miners"},{"auth_required":false,"authority":"provider-claimed","curation_level":"machine-verified","id":"allways-miners-leaderboard","key":"srf-611e6482fd15f376","kind":"subnet-api","last_verified_at":"2026-09-21T04:31:02.596Z","name":"Allways miners leaderboard","netuid":7,"probe":{"enabled":true,"expect":"json","method":"GET"},"provider":"allways","public_safe":true,"source_urls":["https://api.all-ways.io/swagger-json"],"stale":false,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/miners/leaderboard"},{"auth_required":false,"authority":"provider-claimed","curation_level":"machine-verified","id":"allways-miners-reliability","key":"srf-7f553de2b7ed71ea","kind":"subnet-api","last_verified_at":"2026-09-21T04:31:02.596Z","name":"Allways miners reliability","netuid":7,"probe":{"enabled":true,"expect":"json","method":"GET"},"provider":"allways","public_safe":true,"source_urls":["https://api.all-ways.io/swagger"],"stale":false,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/miners/reliability"},{"auth_required":false,"authority":"community","curation_level":"machine-verified","id":"allways-network-halt-state","key":"srf-f0a104b03ec0cb95","kind":"subnet-api","last_verified_at":"2026-09-21T04:31:02.596Z","name":"Allways network halt state","netuid":7,"notes":"Public no-auth GET returning whether the network is currently halted plus the as-of timestamp. Documented in the subnet's own OpenAPI (path /network/halt-state); same host as existing subnet-api surfaces.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"allways","public_safe":true,"review":{"state":"community-submitted","submitted_by":"jsonbored"},"source_urls":["https://api.all-ways.io/swagger-json","https://api.all-ways.io/swagger"],"stale":false,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/network/halt-state"},{"auth_required":false,"authority":"provider-claimed","curation_level":"machine-verified","id":"allways-network-overview","key":"srf-3517b995dfdb719a","kind":"subnet-api","last_verified_at":"2026-09-21T04:31:02.596Z","name":"Allways network overview","netuid":7,"probe":{"enabled":true,"expect":"json","method":"GET"},"provider":"allways","public_safe":true,"source_urls":["https://api.all-ways.io/swagger"],"stale":false,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/network/overview"},{"auth_required":false,"authority":"community","curation_level":"machine-verified","id":"allways-network-scoring-state","key":"srf-1c7162d58d41d2ac","kind":"subnet-api","last_verified_at":"2026-09-21T04:31:02.596Z","name":"Allways network scoring state","netuid":7,"notes":"Public no-auth GET returning the last-scored timestamp and updated-at time for the network's miner scoring cycle. Documented in the subnet's own OpenAPI (path /network/scoring-state); same host as existing subnet-api surfaces.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"allways","public_safe":true,"review":{"state":"community-submitted","submitted_by":"jsonbored"},"source_urls":["https://api.all-ways.io/swagger-json","https://api.all-ways.io/swagger"],"stale":false,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/network/scoring-state"},{"auth_required":false,"authority":"community","curation_level":"machine-verified","id":"allways-network-stats","key":"srf-be707e5c5525070f","kind":"subnet-api","last_verified_at":"2026-09-21T04:31:02.596Z","name":"Allways network stats","netuid":7,"notes":"Public no-auth GET returning aggregate totals: total swap count, total volume (SOL), active miner count, active swap count. Documented in the subnet's own OpenAPI (api.all-ways.io/swagger-json, path /stats); same host as existing subnet-api surfaces.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"allways","public_safe":true,"revenue":{"provenance":"probe-derived","role":"usage-proxy"},"review":{"state":"community-submitted","submitted_by":"jsonbored"},"source_urls":["https://api.all-ways.io/swagger-json","https://api.all-ways.io/swagger"],"stale":false,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/stats"},{"auth_required":false,"authority":"provider-claimed","curation_level":"machine-verified","id":"allways-protocol-chain-state","key":"srf-117ca13385677b0a","kind":"subnet-api","last_verified_at":"2026-09-21T04:31:02.596Z","name":"Allways protocol chain state","netuid":7,"probe":{"enabled":true,"expect":"json","method":"GET"},"provider":"allways","public_safe":true,"source_urls":["https://api.all-ways.io/swagger"],"stale":false,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/protocol/chain-state"},{"auth_required":false,"authority":"provider-claimed","curation_level":"machine-verified","id":"allways-protocol-constants","key":"srf-cc58e48f67eab560","kind":"subnet-api","last_verified_at":"2026-09-21T04:31:02.596Z","name":"Allways protocol constants","netuid":7,"probe":{"enabled":true,"expect":"json","method":"GET"},"provider":"allways","public_safe":true,"source_urls":["https://api.all-ways.io/swagger"],"stale":false,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/protocol/constants"},{"auth_required":false,"authority":"community","curation_level":"machine-verified","id":"allways-reservations","key":"srf-22ad2af21ecd6626","kind":"subnet-api","last_verified_at":"2026-09-21T04:31:02.596Z","name":"Allways reservations","netuid":7,"notes":"Public no-auth GET returning the full list of swap reservations. Documented in the subnet's own OpenAPI (path /reservations); same host as existing subnet-api surfaces.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"allways","public_safe":true,"review":{"state":"community-submitted","submitted_by":"jsonbored"},"source_urls":["https://api.all-ways.io/swagger-json","https://api.all-ways.io/swagger"],"stale":false,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/reservations"},{"auth_required":false,"authority":"community","curation_level":"machine-verified","id":"allways-reservations-active","key":"srf-c81433df18ed23d4","kind":"subnet-api","last_verified_at":"2026-09-21T04:31:02.596Z","name":"Allways active reservations","netuid":7,"notes":"Public no-auth GET returning only currently-active swap reservations. Documented in the subnet's own OpenAPI (path /reservations/active); same host as existing subnet-api surfaces.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"allways","public_safe":true,"review":{"state":"community-submitted","submitted_by":"jsonbored"},"source_urls":["https://api.all-ways.io/swagger-json","https://api.all-ways.io/swagger"],"stale":false,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/reservations/active"},{"auth_required":false,"authority":"provider-claimed","curation_level":"candidate-discovered","id":"allways-source-repo","key":"srf-15f920713f311d10","kind":"source-repo","last_verified_at":null,"name":"Allways source repository","netuid":7,"probe":{"enabled":true,"expect":"html","method":"HEAD"},"provider":"allways","public_safe":true,"source_urls":["https://docs.all-ways.io/"],"stale":null,"subnet_name":"Allways","subnet_slug":"allways","url":"https://github.com/entrius/allways"},{"auth_required":false,"authority":"provider-claimed","curation_level":"machine-verified","id":"allways-sse","key":"srf-9a3013f8b54338b4","kind":"sse","last_verified_at":"2026-09-21T04:31:02.596Z","name":"Allways SSE stream","netuid":7,"probe":{"enabled":true,"expect":"sse","method":"GET","timeout_ms":5000},"provider":"allways","public_safe":true,"source_urls":["https://api.all-ways.io/swagger"],"stale":false,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/sse"},{"auth_required":false,"authority":"provider-claimed","curation_level":"candidate-discovered","id":"allways-swagger","key":"srf-260b6f89954cdbcf","kind":"openapi","last_verified_at":null,"name":"Allways Swagger UI","netuid":7,"probe":{"enabled":true,"expect":"html","method":"GET"},"provider":"allways","public_safe":true,"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","source_urls":["https://api.all-ways.io/swagger/swagger-ui-init.js"],"stale":null,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/swagger"},{"auth_required":false,"authority":"community","curation_level":"machine-verified","id":"allways-swaps-active","key":"srf-abf0965c49081975","kind":"subnet-api","last_verified_at":"2026-09-21T04:31:02.596Z","name":"Allways active swaps","netuid":7,"notes":"Public no-auth GET returning the list of currently in-flight swaps. Documented in the subnet's own OpenAPI (path /swaps/active); same host as existing subnet-api surfaces.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"allways","public_safe":true,"review":{"state":"community-submitted","submitted_by":"jsonbored"},"source_urls":["https://api.all-ways.io/swagger-json","https://api.all-ways.io/swagger"],"stale":false,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/swaps/active"},{"auth_required":false,"authority":"community","curation_level":"machine-verified","id":"allways-swaps-count","key":"srf-b1738ebcc631a0d2","kind":"subnet-api","last_verified_at":"2026-09-21T04:31:02.596Z","name":"Allways swap count","netuid":7,"notes":"Public no-auth GET returning the cumulative total swap count. Documented in the subnet's own OpenAPI (path /swaps/count); same host as existing subnet-api surfaces.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"allways","public_safe":true,"review":{"state":"community-submitted","submitted_by":"jsonbored"},"source_urls":["https://api.all-ways.io/swagger-json","https://api.all-ways.io/swagger"],"stale":false,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/swaps/count"},{"auth_required":false,"authority":"provider-claimed","curation_level":"candidate-discovered","id":"allways-website","key":"srf-f20c1e931234a343","kind":"website","last_verified_at":null,"name":"Allways website","netuid":7,"probe":{"enabled":true,"expect":"html","method":"HEAD"},"provider":"allways","public_safe":true,"source_urls":["https://docs.all-ways.io/"],"stale":null,"subnet_name":"Allways","subnet_slug":"allways","url":"https://all-ways.io/"},{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-7-allways-events-minerhotkey","key":"srf-4e107c70dd2b173c","kind":"subnet-api","last_verified_at":null,"name":"Allways GET events miner by hotkey","netuid":7,"notes":"GET /events/miner/{hotkey} on api.all-ways.io -- public, no auth declared in the OpenAPI schema (37-then-40-path spec, no `security` on any operation). Live-verified 2026-07-21 with a dummy hotkey: HTTP 200 (empty/default result set), confirming the route is real and public. Path-param endpoint (needs Phase 2 schema-aware execution, not built yet) -- the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template (raw unescaped braces fail this repo's url format:\"uri\" schema check). Registered per the registry's full-API-parity policy (metagraphed#7023).","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"allways","public_safe":true,"review":{"state":"community-submitted","submitted_by":"oktofeesh1"},"source_urls":["https://api.all-ways.io/swagger-json"],"stale":null,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/events/miner/%7Bhotkey%7D"},{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-7-allways-events-swap-swapkey","key":"srf-bc2f37cf3d9a6ece","kind":"subnet-api","last_verified_at":null,"name":"Allways GET events swap by swapKey","netuid":7,"notes":"GET /events/swap/{swapKey} on api.all-ways.io -- public, no auth declared in the OpenAPI schema (37-then-40-path spec, no `security` on any operation). Not individually curled -- same no-auth shape as the verified `sn-7-allways-miners-hotkey` sibling. Path-param endpoint (needs Phase 2 schema-aware execution, not built yet) -- the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template (raw unescaped braces fail this repo's url format:\"uri\" schema check). Registered per the registry's full-API-parity policy (metagraphed#7023).","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"allways","public_safe":true,"review":{"state":"community-submitted","submitted_by":"oktofeesh1"},"source_urls":["https://api.all-ways.io/swagger-json"],"stale":null,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/events/swap/%7BswapKey%7D"},{"auth_required":false,"authority":"community","curation_level":"machine-verified","id":"sn-7-allways-history-api","key":"srf-9eafa27eb224284e","kind":"subnet-api","last_verified_at":"2026-09-21T04:31:02.596Z","name":"Allways network history API","netuid":7,"notes":"Public no-auth GET returning time-series network volume, swap counts, fees, TPS, success rate, and average settlement time (per-bucket and cumulative). Documented in the subnet's own OpenAPI (api.all-ways.io/swagger-json, path /history); same host as existing subnet-api surfaces.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"allways","public_safe":true,"review":{"state":"community-submitted","submitted_by":"kiannidev"},"source_urls":["https://api.all-ways.io/swagger-json","https://api.all-ways.io/swagger"],"stale":false,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/history"},{"auth_required":false,"authority":"community","curation_level":"machine-verified","id":"sn-7-allways-history-state-api","key":"srf-9a044887ca43513b","kind":"subnet-api","last_verified_at":"2026-09-21T04:31:02.596Z","name":"Allways network history state API","netuid":7,"notes":"Public no-auth GET /history/state on api.all-ways.io returning time-series active node counts and in-flight swap concurrency per bucket. Documented in the subnet OpenAPI (api.all-ways.io/swagger-json, path /history/state); same host as existing Allways subnet-api surfaces.","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"allways","public_safe":true,"review":{"state":"community-submitted","submitted_by":"kiannidev"},"source_urls":["https://api.all-ways.io/swagger-json","https://api.all-ways.io/swagger"],"stale":false,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/history/state"},{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-7-allways-miners-hotkey","key":"srf-7a95c3a13d2cd369","kind":"subnet-api","last_verified_at":null,"name":"Allways GET miners by hotkey","netuid":7,"notes":"GET /miners/{hotkey} on api.all-ways.io -- public, no auth declared in the OpenAPI schema (37-then-40-path spec, no `security` on any operation). Live-verified 2026-07-21 with a dummy hotkey: HTTP 404 -- a real route with real not-found handling, not an auth gate. Path-param endpoint (needs Phase 2 schema-aware execution, not built yet) -- the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template (raw unescaped braces fail this repo's url format:\"uri\" schema check). Registered per the registry's full-API-parity policy (metagraphed#7023).","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"allways","public_safe":true,"review":{"state":"community-submitted","submitted_by":"oktofeesh1"},"source_urls":["https://api.all-ways.io/swagger-json"],"stale":null,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/miners/%7Bhotkey%7D"},{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-7-allways-miners-hotkey-rate-history","key":"srf-44dc025b8233be39","kind":"subnet-api","last_verified_at":null,"name":"Allways GET miners by hotkey rate history","netuid":7,"notes":"GET /miners/{hotkey}/rate-history on api.all-ways.io -- public, no auth declared in the OpenAPI schema (37-then-40-path spec, no `security` on any operation). Not individually curled -- same no-auth shape as the verified `sn-7-allways-miners-hotkey` sibling. Path-param endpoint (needs Phase 2 schema-aware execution, not built yet) -- the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template (raw unescaped braces fail this repo's url format:\"uri\" schema check). Registered per the registry's full-API-parity policy (metagraphed#7023).","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"allways","public_safe":true,"review":{"state":"community-submitted","submitted_by":"oktofeesh1"},"source_urls":["https://api.all-ways.io/swagger-json"],"stale":null,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/miners/%7Bhotkey%7D/rate-history"},{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-7-allways-miners-hotkey-scores","key":"srf-890b64046ae6dfce","kind":"subnet-api","last_verified_at":null,"name":"Allways GET miners by hotkey scores","netuid":7,"notes":"GET /miners/{hotkey}/scores on api.all-ways.io -- public, no auth declared in the OpenAPI schema (37-then-40-path spec, no `security` on any operation). Not individually curled -- same no-auth shape as the verified `sn-7-allways-miners-hotkey` sibling. Path-param endpoint (needs Phase 2 schema-aware execution, not built yet) -- the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template (raw unescaped braces fail this repo's url format:\"uri\" schema check). Registered per the registry's full-API-parity policy (metagraphed#7023).","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"allways","public_safe":true,"review":{"state":"community-submitted","submitted_by":"oktofeesh1"},"source_urls":["https://api.all-ways.io/swagger-json"],"stale":null,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/miners/%7Bhotkey%7D/scores"},{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-7-allways-miners-hotkey-scores-current","key":"srf-7d83b8433318323c","kind":"subnet-api","last_verified_at":null,"name":"Allways GET miners by hotkey scores current","netuid":7,"notes":"GET /miners/{hotkey}/scores/current on api.all-ways.io -- public, no auth declared in the OpenAPI schema (37-then-40-path spec, no `security` on any operation). Not individually curled -- same no-auth shape as the verified `sn-7-allways-miners-hotkey` sibling. Path-param endpoint (needs Phase 2 schema-aware execution, not built yet) -- the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template (raw unescaped braces fail this repo's url format:\"uri\" schema check). Registered per the registry's full-API-parity policy (metagraphed#7023).","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"allways","public_safe":true,"review":{"state":"community-submitted","submitted_by":"oktofeesh1"},"source_urls":["https://api.all-ways.io/swagger-json"],"stale":null,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/miners/%7Bhotkey%7D/scores/current"},{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-7-allways-miners-hotkey-stats","key":"srf-74c02ea8eaa47870","kind":"subnet-api","last_verified_at":null,"name":"Allways GET miners by hotkey stats","netuid":7,"notes":"GET /miners/{hotkey}/stats on api.all-ways.io -- public, no auth declared in the OpenAPI schema (37-then-40-path spec, no `security` on any operation). Not individually curled -- same no-auth shape as the verified `sn-7-allways-miners-hotkey` sibling. Path-param endpoint (needs Phase 2 schema-aware execution, not built yet) -- the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template (raw unescaped braces fail this repo's url format:\"uri\" schema check). Registered per the registry's full-API-parity policy (metagraphed#7023).","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"allways","public_safe":true,"review":{"state":"community-submitted","submitted_by":"oktofeesh1"},"source_urls":["https://api.all-ways.io/swagger-json"],"stale":null,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/miners/%7Bhotkey%7D/stats"},{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-7-allways-miners-hotkey-swaps","key":"srf-215298c99483cd53","kind":"subnet-api","last_verified_at":null,"name":"Allways GET miners by hotkey swaps","netuid":7,"notes":"GET /miners/{hotkey}/swaps on api.all-ways.io -- public, no auth declared in the OpenAPI schema (37-then-40-path spec, no `security` on any operation). Not individually curled -- same no-auth shape as the verified `sn-7-allways-miners-hotkey` sibling. Path-param endpoint (needs Phase 2 schema-aware execution, not built yet) -- the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template (raw unescaped braces fail this repo's url format:\"uri\" schema check). Registered per the registry's full-API-parity policy (metagraphed#7023).","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"allways","public_safe":true,"review":{"state":"community-submitted","submitted_by":"oktofeesh1"},"source_urls":["https://api.all-ways.io/swagger-json"],"stale":null,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/miners/%7Bhotkey%7D/swaps"},{"auth_required":false,"authority":"community","curation_level":"machine-verified","id":"sn-7-allways-og-image","key":"srf-4ed7a5cd6eeb1337","kind":"subnet-api","last_verified_at":"2026-09-21T04:31:02.596Z","name":"Allways GET og image","netuid":7,"notes":"GET /og-image on api.all-ways.io -- public, no auth declared in the OpenAPI schema (37-then-40-path spec, no `security` on any operation). Live-verified 2026-07-21: HTTP 200, content-type image/png -- an image, not JSON. Registered per the registry's full-API-parity policy (metagraphed#7023).","probe":{"enabled":true,"expect":"any","method":"GET","timeout_ms":10000},"provider":"allways","public_safe":true,"review":{"state":"community-submitted","submitted_by":"oktofeesh1"},"source_urls":["https://api.all-ways.io/swagger-json"],"stale":false,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/og-image"},{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-7-allways-reservations-by-source-address","key":"srf-1265f36f1fda2266","kind":"subnet-api","last_verified_at":null,"name":"Allways GET reservations by source by address","netuid":7,"notes":"GET /reservations/by-source/{address} on api.all-ways.io -- public, no auth declared in the OpenAPI schema (37-then-40-path spec, no `security` on any operation). Live-verified 2026-07-21 with a dummy address: HTTP 200 (empty/default result set), confirming the route is real and public. Path-param endpoint (needs Phase 2 schema-aware execution, not built yet) -- the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template (raw unescaped braces fail this repo's url format:\"uri\" schema check). Registered per the registry's full-API-parity policy (metagraphed#7023).","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"allways","public_safe":true,"review":{"state":"community-submitted","submitted_by":"oktofeesh1"},"source_urls":["https://api.all-ways.io/swagger-json"],"stale":null,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/reservations/by-source/%7Baddress%7D"},{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-7-allways-reservations-requesthash","key":"srf-9477707f7a526328","kind":"subnet-api","last_verified_at":null,"name":"Allways GET reservations by requestHash","netuid":7,"notes":"GET /reservations/{requestHash} on api.all-ways.io -- public, no auth declared in the OpenAPI schema (37-then-40-path spec, no `security` on any operation). Not individually curled -- same no-auth shape as the verified `sn-7-allways-miners-hotkey` sibling. Path-param endpoint (needs Phase 2 schema-aware execution, not built yet) -- the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template (raw unescaped braces fail this repo's url format:\"uri\" schema check). Registered per the registry's full-API-parity policy (metagraphed#7023).","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"allways","public_safe":true,"review":{"state":"community-submitted","submitted_by":"oktofeesh1"},"source_urls":["https://api.all-ways.io/swagger-json"],"stale":null,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/reservations/%7BrequestHash%7D"},{"auth_required":false,"authority":"community","curation_level":"machine-verified","id":"sn-7-allways-subnet-api","key":"srf-7ae24ec1e4ae7d50","kind":"subnet-api","last_verified_at":"2026-09-21T04:31:02.596Z","name":"Allways swaps API","netuid":7,"probe":{"enabled":true,"expect":"any","method":"GET","timeout_ms":10000},"provider":"allways","public_safe":true,"review":{"confidence":"medium","state":"community-submitted","submitted_by":"jsonbored"},"source_urls":["https://api.all-ways.io/swagger"],"stale":false,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/swaps"},{"auth_required":false,"authority":"community","curation_level":"candidate-discovered","id":"sn-7-allways-swaps-swapid","key":"srf-b8b6106536e98997","kind":"subnet-api","last_verified_at":null,"name":"Allways GET swaps by swapId","netuid":7,"notes":"GET /swaps/{swapId} on api.all-ways.io -- public, no auth declared in the OpenAPI schema (37-then-40-path spec, no `security` on any operation). Live-verified 2026-07-21 with a dummy id: HTTP 500 -- the route exists and attempts to process the id (not a 401/403 auth gate). Path-param endpoint (needs Phase 2 schema-aware execution, not built yet) -- the URL's %7B...%7D segment is the URI-encoded form of a literal {param} template (raw unescaped braces fail this repo's url format:\"uri\" schema check). Registered per the registry's full-API-parity policy (metagraphed#7023).","probe":{"enabled":false,"expect":"json","method":"GET","timeout_ms":10000},"provider":"allways","public_safe":true,"review":{"state":"community-submitted","submitted_by":"oktofeesh1"},"source_urls":["https://api.all-ways.io/swagger-json"],"stale":null,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/swaps/%7BswapId%7D"},{"auth_required":false,"authority":"community","curation_level":"machine-verified","id":"sn-7-allways-treasury","key":"srf-5d7b238b56a5d0bc","kind":"subnet-api","last_verified_at":"2026-09-21T04:31:02.596Z","name":"Allways GET treasury","netuid":7,"notes":"GET /treasury on api.all-ways.io -- public, no auth declared in the OpenAPI schema (37-then-40-path spec, no `security` on any operation). Live-verified 2026-07-21: HTTP 200 with a real JSON treasury breakdown -- not in the issue's original OpenAPI diff (subnet added this route after the issue was filed; the live schema now has 40 paths, not the issue's 37). Registered per the registry's full-API-parity policy (metagraphed#7023).","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"allways","public_safe":true,"review":{"state":"community-submitted","submitted_by":"oktofeesh1"},"source_urls":["https://api.all-ways.io/swagger-json"],"stale":false,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/treasury"},{"auth_required":false,"authority":"community","curation_level":"machine-verified","id":"sn-7-allways-treasury-churn","key":"srf-9c3d60a36aa7e742","kind":"subnet-api","last_verified_at":"2026-09-21T04:31:02.596Z","name":"Allways GET treasury churn","netuid":7,"notes":"GET /treasury/churn on api.all-ways.io -- public, no auth declared in the OpenAPI schema (37-then-40-path spec, no `security` on any operation). Live-verified 2026-07-21: HTTP 200 -- same as sn-7-allways-treasury-api above, added to the schema after the issue was filed. Registered per the registry's full-API-parity policy (metagraphed#7023).","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"allways","public_safe":true,"review":{"state":"community-submitted","submitted_by":"oktofeesh1"},"source_urls":["https://api.all-ways.io/swagger-json"],"stale":false,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/treasury/churn"},{"auth_required":false,"authority":"community","curation_level":"machine-verified","id":"sn-7-allways-treasury-routers","key":"srf-66d877aafb940d14","kind":"subnet-api","last_verified_at":"2026-09-21T04:31:02.596Z","name":"Allways GET treasury routers","netuid":7,"notes":"GET /treasury/routers on api.all-ways.io -- public, no auth declared in the OpenAPI schema (37-then-40-path spec, no `security` on any operation). Live-verified 2026-07-21: HTTP 200 -- same as sn-7-allways-treasury-api above, added to the schema after the issue was filed. Registered per the registry's full-API-parity policy (metagraphed#7023).","probe":{"enabled":true,"expect":"json","method":"GET","timeout_ms":10000},"provider":"allways","public_safe":true,"review":{"state":"community-submitted","submitted_by":"oktofeesh1"},"source_urls":["https://api.all-ways.io/swagger-json"],"stale":false,"subnet_name":"Allways","subnet_slug":"allways","url":"https://api.all-ways.io/treasury/routers"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-7-backprop-dashboard","key":"srf-bc1ef9badb088847","kind":"dashboard","last_verified_at":null,"name":"Allways Backprop Finance dashboard","netuid":7,"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/7-allways"],"stale":null,"subnet_name":"Allways","subnet_slug":"allways","url":"https://backprop.finance/dtao/subnets/7-allways"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-7-github-readme-entrius-allways-docs-1","key":"srf-3f743ba79ae0daed","kind":"docs","last_verified_at":null,"name":"Allways docs","netuid":7,"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":"allways","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/entrius/allways/blob/main/README.md"],"stale":null,"subnet_name":"Allways","subnet_slug":"allways","url":"https://docs.all-ways.io/"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-7-subnetradar-dashboard","key":"srf-5709e9acc92aa878","kind":"dashboard","last_verified_at":null,"name":"Allways SubnetRadar dashboard","netuid":7,"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/7"],"stale":null,"subnet_name":"Allways","subnet_slug":"allways","url":"https://subnetradar.com/subnet/7"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-7-taomarketcap-dashboard","key":"srf-ddbc6df00703f2b8","kind":"dashboard","last_verified_at":null,"name":"Allways TaoMarketCap dashboard","netuid":7,"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/7"],"stale":null,"subnet_name":"Allways","subnet_slug":"allways","url":"https://taomarketcap.com/subnets/7"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-7-taopedia-article","key":"srf-c586f5f147ee1d59","kind":"docs","last_verified_at":null,"name":"Allways Taopedia article","netuid":7,"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_7/index.mdx"],"stale":null,"subnet_name":"Allways","subnet_slug":"allways","url":"https://github.com/e35ventura/taopedia-articles/blob/main/content/pages/subnet_7/index.mdx"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-7-tensorplex-docs","key":"srf-799e21de8ee8b0ee","kind":"docs","last_verified_at":null,"name":"Allways Tensorplex subnet docs","netuid":7,"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/7/subnet.json"],"stale":null,"subnet_name":"Allways","subnet_slug":"allways","url":"https://github.com/tensorplex-labs/subnet-docs/tree/main/data/7"},{"auth_required":false,"authority":"registry-observed","curation_level":"candidate-discovered","id":"sn-7-website-common-docs","key":"srf-5bdc3b128d0afd85","kind":"docs","last_verified_at":null,"name":"Allways docs","netuid":7,"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":"allways","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://all-ways.io/"],"stale":null,"subnet_name":"Allways","subnet_slug":"allways","url":"https://all-ways.io/docs"}]},"meta":{"artifact_path":"/metagraph/surfaces/7.json","cache":"standard","contract_version":"2026-07-03.2","generated_at":"2026-09-21T14:15:54.296Z","published_at":"2026-09-21T14:15:54.296Z","source":"r2","pagination":{"collection":"surfaces","total":51,"returned":51,"limit":51,"cursor":0,"next_cursor":null,"sort":null,"order":"asc"}}}