{"ok":true,"schema_version":1,"data":{"agent_readiness":{"blocker_level":"none","blockers":[],"missing_fields":[],"status":"callable"},"categories":["baseline-augmented","bitcoin","defi","pilot","subnet-api"],"completeness_score":97,"contract_version":"2026-07-03.2","example_count":0,"examples":[],"generated_at":"2026-07-27T10:51:25.049Z","integration_readiness":100,"name":"Allways","netuid":7,"readiness":{"components":{"active_lifecycle":true,"auth_clarity":true,"callable_now":true,"documented":true,"has_callable_api":true,"has_candidate_api":true,"has_public_docs":true,"has_source_repo":true,"profile_complete":true},"readiness_tier":"buildable","readiness_version":2,"score":100,"readiness_verified":true},"schema_version":1,"service_count":41,"services":[{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"provider-claimed","base_url":"https://api.all-ways.io/health","capability":"Allways API health","description":null,"eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/allways-api-health.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.all-ways.io/health"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/allways-api-health.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":513,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/health'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/health\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/health\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"allways-api-health"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"provider-claimed","base_url":"https://api.all-ways.io/crown","capability":"Allways crown","description":null,"eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/allways-crown.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.all-ways.io/crown"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/allways-crown.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":521,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/crown'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/crown\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/crown\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"allways-crown"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"provider-claimed","base_url":"https://api.all-ways.io/crown/history?direction=SOL-BTC","capability":"Allways crown history","description":"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.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/allways-crown-history.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.all-ways.io/crown/history?direction=SOL-BTC"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/allways-crown-history.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":705,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/crown/history?direction=SOL-BTC'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/crown/history?direction=SOL-BTC\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/crown/history?direction=SOL-BTC\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"allways-crown-history"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.all-ways.io/crown/rate-history?direction=SOL-BTC","capability":"Allways crown rate history","description":"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.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/allways-crown-rate-history.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.all-ways.io/crown/rate-history?direction=SOL-BTC"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/allways-crown-rate-history.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":530,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/crown/rate-history?direction=SOL-BTC'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/crown/rate-history?direction=SOL-BTC\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/crown/rate-history?direction=SOL-BTC\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"allways-crown-rate-history"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.all-ways.io/crown/time?direction=SOL-BTC","capability":"Allways crown time-share","description":"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.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/allways-crown-time.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.all-ways.io/crown/time?direction=SOL-BTC"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/allways-crown-time.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":571,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/crown/time?direction=SOL-BTC'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/crown/time?direction=SOL-BTC\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/crown/time?direction=SOL-BTC\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"allways-crown-time"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.all-ways.io/events","capability":"Allways full event feed","description":"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.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/allways-events.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.all-ways.io/events"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/allways-events.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":738,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/events'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/events\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/events\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"allways-events"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"provider-claimed","base_url":"https://api.all-ways.io/events/latest","capability":"Allways latest events","description":null,"eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/allways-events-latest.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.all-ways.io/events/latest"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/allways-events-latest.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":192,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/events/latest'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/events/latest\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/events/latest\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"allways-events-latest"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.all-ways.io/history/rate?direction=SOL-BTC","capability":"Allways historical exchange rate","description":"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.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/allways-history-rate.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.all-ways.io/history/rate?direction=SOL-BTC"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/allways-history-rate.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":675,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/history/rate?direction=SOL-BTC'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/history/rate?direction=SOL-BTC\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/history/rate?direction=SOL-BTC\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"allways-history-rate"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"provider-claimed","base_url":"https://api.all-ways.io/miners","capability":"Allways miners","description":null,"eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/allways-miners.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.all-ways.io/miners"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/allways-miners.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":656,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/miners'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/miners\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/miners\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"allways-miners"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"provider-claimed","base_url":"https://api.all-ways.io/miners/leaderboard","capability":"Allways miners leaderboard","description":null,"eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/allways-miners-leaderboard.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.all-ways.io/miners/leaderboard"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/allways-miners-leaderboard.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":729,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/miners/leaderboard'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/miners/leaderboard\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/miners/leaderboard\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"allways-miners-leaderboard"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"provider-claimed","base_url":"https://api.all-ways.io/miners/reliability","capability":"Allways miners reliability","description":null,"eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/allways-miners-reliability.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.all-ways.io/miners/reliability"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/allways-miners-reliability.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":551,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/miners/reliability'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/miners/reliability\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/miners/reliability\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"allways-miners-reliability"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.all-ways.io/network/halt-state","capability":"Allways network halt state","description":"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.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/allways-network-halt-state.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.all-ways.io/network/halt-state"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/allways-network-halt-state.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":435,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/network/halt-state'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/network/halt-state\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/network/halt-state\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"allways-network-halt-state"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"provider-claimed","base_url":"https://api.all-ways.io/network/overview","capability":"Allways network overview","description":null,"eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/allways-network-overview.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.all-ways.io/network/overview"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/allways-network-overview.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":519,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/network/overview'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/network/overview\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/network/overview\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"allways-network-overview"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.all-ways.io/network/scoring-state","capability":"Allways network scoring state","description":"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.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/allways-network-scoring-state.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.all-ways.io/network/scoring-state"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/allways-network-scoring-state.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":306,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/network/scoring-state'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/network/scoring-state\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/network/scoring-state\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"allways-network-scoring-state"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.all-ways.io/stats","capability":"Allways network stats","description":"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.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/allways-network-stats.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.all-ways.io/stats"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/allways-network-stats.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":326,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/stats'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/stats\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/stats\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"allways-network-stats"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"provider-claimed","base_url":"https://api.all-ways.io/protocol/chain-state","capability":"Allways protocol chain state","description":null,"eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/allways-protocol-chain-state.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.all-ways.io/protocol/chain-state"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/allways-protocol-chain-state.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":173,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/protocol/chain-state'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/protocol/chain-state\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/protocol/chain-state\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"allways-protocol-chain-state"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"provider-claimed","base_url":"https://api.all-ways.io/protocol/constants","capability":"Allways protocol constants","description":null,"eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/allways-protocol-constants.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.all-ways.io/protocol/constants"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/allways-protocol-constants.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":562,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/protocol/constants'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/protocol/constants\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/protocol/constants\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"allways-protocol-constants"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.all-ways.io/reservations","capability":"Allways reservations","description":"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.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/allways-reservations.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.all-ways.io/reservations"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/allways-reservations.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":282,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/reservations'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/reservations\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/reservations\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"allways-reservations"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.all-ways.io/reservations/active","capability":"Allways active reservations","description":"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.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/allways-reservations-active.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.all-ways.io/reservations/active"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/allways-reservations-active.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":174,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/reservations/active'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/reservations/active\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/reservations/active\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"allways-reservations-active"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"provider-claimed","base_url":"https://api.all-ways.io/sse","capability":"Allways SSE stream","description":null,"eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture only samples JSON-returning service kinds","status":"unsupported-kind"},"health":{"status":"ok","classification":"live","latency_ms":176,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"sse","provider":"allways","schema_artifact":null,"schema_source":null,"schema_status":null,"schema_url":null,"snippets":{"curl":"curl -sS 'https://api.all-ways.io/sse'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/sse\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/sse\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"allways-sse"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"provider-claimed","base_url":"https://api.all-ways.io/swagger","capability":"Allways Swagger UI","description":null,"eligibility":{"callable":false,"reasons":["not-bittensor-base-layer"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"non-json response","status":"capture-failed"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"openapi","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"surface-id","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/swagger'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/swagger\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/swagger\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"allways-swagger"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.all-ways.io/swaps/active","capability":"Allways active swaps","description":"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.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/allways-swaps-active.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.all-ways.io/swaps/active"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/allways-swaps-active.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":246,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/swaps/active'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/swaps/active\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/swaps/active\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"allways-swaps-active"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.all-ways.io/swaps/count","capability":"Allways swap count","description":"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.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/allways-swaps-count.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.all-ways.io/swaps/count"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/allways-swaps-count.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":172,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/swaps/count'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/swaps/count\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/swaps/count\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"allways-swaps-count"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.all-ways.io/events/miner/%7Bhotkey%7D","capability":"Allways GET events miner by hotkey","description":"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).","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture only samples enabled GET probes","status":"non-get"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/events/miner/%7Bhotkey%7D'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/events/miner/%7Bhotkey%7D\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/events/miner/%7Bhotkey%7D\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-7-allways-events-minerhotkey"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.all-ways.io/events/swap/%7BswapKey%7D","capability":"Allways GET events swap by swapKey","description":"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).","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture only samples enabled GET probes","status":"non-get"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/events/swap/%7BswapKey%7D'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/events/swap/%7BswapKey%7D\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/events/swap/%7BswapKey%7D\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-7-allways-events-swap-swapkey"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.all-ways.io/history","capability":"Allways network history API","description":"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.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/sn-7-allways-history-api.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.all-ways.io/history"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/sn-7-allways-history-api.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":208,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/history'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/history\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/history\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-7-allways-history-api"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.all-ways.io/history/state","capability":"Allways network history state API","description":"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.","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/sn-7-allways-history-state-api.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.all-ways.io/history/state"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/sn-7-allways-history-state-api.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":944,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/history/state'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/history/state\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/history/state\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-7-allways-history-state-api"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.all-ways.io/miners/%7Bhotkey%7D","capability":"Allways GET miners by hotkey","description":"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).","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture only samples enabled GET probes","status":"non-get"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/miners/%7Bhotkey%7D'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/miners/%7Bhotkey%7D\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/miners/%7Bhotkey%7D\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-7-allways-miners-hotkey"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.all-ways.io/miners/%7Bhotkey%7D/rate-history","capability":"Allways GET miners by hotkey rate history","description":"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).","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture only samples enabled GET probes","status":"non-get"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/miners/%7Bhotkey%7D/rate-history'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/miners/%7Bhotkey%7D/rate-history\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/miners/%7Bhotkey%7D/rate-history\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-7-allways-miners-hotkey-rate-history"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.all-ways.io/miners/%7Bhotkey%7D/scores","capability":"Allways GET miners by hotkey scores","description":"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).","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture only samples enabled GET probes","status":"non-get"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/miners/%7Bhotkey%7D/scores'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/miners/%7Bhotkey%7D/scores\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/miners/%7Bhotkey%7D/scores\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-7-allways-miners-hotkey-scores"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.all-ways.io/miners/%7Bhotkey%7D/scores/current","capability":"Allways GET miners by hotkey scores current","description":"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).","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture only samples enabled GET probes","status":"non-get"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/miners/%7Bhotkey%7D/scores/current'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/miners/%7Bhotkey%7D/scores/current\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/miners/%7Bhotkey%7D/scores/current\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-7-allways-miners-hotkey-scores-current"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.all-ways.io/miners/%7Bhotkey%7D/stats","capability":"Allways GET miners by hotkey stats","description":"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).","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture only samples enabled GET probes","status":"non-get"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/miners/%7Bhotkey%7D/stats'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/miners/%7Bhotkey%7D/stats\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/miners/%7Bhotkey%7D/stats\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-7-allways-miners-hotkey-stats"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.all-ways.io/miners/%7Bhotkey%7D/swaps","capability":"Allways GET miners by hotkey swaps","description":"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).","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture only samples enabled GET probes","status":"non-get"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/miners/%7Bhotkey%7D/swaps'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/miners/%7Bhotkey%7D/swaps\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/miners/%7Bhotkey%7D/swaps\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-7-allways-miners-hotkey-swaps"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.all-ways.io/og-image","capability":"Allways GET og image","description":"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).","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"non-json response","status":"capture-failed"},"health":{"status":"ok","classification":"live","latency_ms":346,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/og-image'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/og-image\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/og-image\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-7-allways-og-image"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.all-ways.io/reservations/by-source/%7Baddress%7D","capability":"Allways GET reservations by source by address","description":"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).","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture only samples enabled GET probes","status":"non-get"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/reservations/by-source/%7Baddress%7D'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/reservations/by-source/%7Baddress%7D\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/reservations/by-source/%7Baddress%7D\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-7-allways-reservations-by-source-address"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.all-ways.io/reservations/%7BrequestHash%7D","capability":"Allways GET reservations by requestHash","description":"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).","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture only samples enabled GET probes","status":"non-get"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/reservations/%7BrequestHash%7D'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/reservations/%7BrequestHash%7D\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/reservations/%7BrequestHash%7D\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-7-allways-reservations-requesthash"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.all-ways.io/swaps","capability":"Allways swaps API","description":null,"eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/sn-7-allways-subnet-api.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.all-ways.io/swaps"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/sn-7-allways-subnet-api.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":232,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/swaps'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/swaps\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/swaps\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-7-allways-subnet-api"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.all-ways.io/swaps/%7BswapId%7D","capability":"Allways GET swaps by swapId","description":"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).","eligibility":{"callable":false,"reasons":["not-bittensor-base-layer","status-unknown"],"live_status":"unknown"},"fixture_status":{"artifact_path":null,"captured_at":null,"reason":"fixture capture only samples enabled GET probes","status":"non-get"},"health":{"status":"unknown","classification":null,"latency_ms":null,"last_ok":null,"last_checked":null,"stale":false,"observed_by":"unavailable"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/swaps/%7BswapId%7D'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/swaps/%7BswapId%7D\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/swaps/%7BswapId%7D\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-7-allways-swaps-swapid"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.all-ways.io/treasury","capability":"Allways GET treasury","description":"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).","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/sn-7-allways-treasury.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.all-ways.io/treasury"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/sn-7-allways-treasury.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":477,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/treasury'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/treasury\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/treasury\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-7-allways-treasury"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.all-ways.io/treasury/churn","capability":"Allways GET treasury churn","description":"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).","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/sn-7-allways-treasury-churn.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.all-ways.io/treasury/churn"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/sn-7-allways-treasury-churn.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":500,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/treasury/churn'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/treasury/churn\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/treasury/churn\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-7-allways-treasury-churn"},{"auth":null,"auth_required":false,"auth_schemes":[],"authority":"community","base_url":"https://api.all-ways.io/treasury/routers","capability":"Allways GET treasury routers","description":"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).","eligibility":{"callable":true,"reasons":["not-bittensor-base-layer"],"live_status":"ok"},"fixture":{"artifact_path":"/metagraph/fixtures/sn-7-allways-treasury-routers.json","captured_at":"2026-07-27T10:51:25.372Z","request":{"method":"GET","url":"https://api.all-ways.io/treasury/routers"},"response":{"content_type":"application/json; charset=utf-8","status":200}},"fixture_status":{"artifact_path":"/metagraph/fixtures/sn-7-allways-treasury-routers.json","captured_at":"2026-07-27T10:51:25.372Z","reason":null,"status":"available"},"health":{"status":"ok","classification":"live","latency_ms":393,"last_ok":"2026-07-27T23:00:18.289Z","last_checked":"2026-07-27T23:00:18.289Z","stale":false,"observed_by":"live-cron-prober"},"kind":"subnet-api","provider":"allways","schema_artifact":"/metagraph/schemas/allways-swagger.json","schema_source":{"artifact":"/metagraph/schemas/allways-swagger.json","hash":"e620adb6708e3ad61c0442e27bb07ca31dbe25de44c121e102990179b51e1b9f","match":"same-origin-openapi","observed_at":"2026-07-27T10:51:25.372Z","status":"captured","surface_id":"allways-swagger","url":"https://api.all-ways.io/swagger-json"},"schema_status":"machine-readable","schema_url":"https://api.all-ways.io/swagger-json","snippets":{"curl":"curl -sS 'https://api.all-ways.io/treasury/routers'","python":"import requests\n\nresp = requests.get(\"https://api.all-ways.io/treasury/routers\")\nresp.raise_for_status()\nprint(resp.json())","typescript":"const resp = await fetch(\"https://api.all-ways.io/treasury/routers\");\nif (!resp.ok) throw new Error(`HTTP ${resp.status}`);\nconst data = await resp.json();"},"surface_id":"sn-7-allways-treasury-routers"}],"slug":"allways","subnet_type":"application","operational_observed_at":"2026-07-27T23:00:18.289Z","health_source":"live-cron-prober"},"meta":{"artifact_path":"/metagraph/agent-catalog/7.json","cache":"standard","contract_version":"2026-07-03.2","generated_at":"2026-07-27T10:51:25.049Z","published_at":"2026-07-27T10:51:25.049Z","source":"live-cron-prober","operational_observed_at":"2026-07-27T23:00:18.289Z"}}