import asyncio
import websockets
import json
import os
async def consume():
# Subscription is set via query params on connect: opportunities to watch,
# categories to filter by, an optional alert_threshold, and details=true.
url = (
"wss://api.alterscope.org/v2/ws/factors"
"?opportunities=hyperliquid-btc-basis,aave-usdc-lending"
"&categories=liquidity,oracle"
"&details=true"
)
headers = {"Authorization": f"Bearer {os.environ['ALTERSCOPE_API_KEY']}"}
async with websockets.connect(url, additional_headers=headers) as ws:
async for raw in ws:
event = json.loads(raw)
apply_factor_update(event)
asyncio.run(consume())