naftiko: 1.0.0-alpha2 info: label: GoldRush Streaming API — DEX Pairs and Updates description: Live subscriptions for new DEX pairs and pair/token updates over GraphQL-over-WebSocket. Self-contained Naftiko capability. tags: - Covalent - GoldRush - Streaming - DEX - WebSocket created: '2026-05-25' modified: '2026-05-25' binds: - namespace: env keys: GOLDRUSH_API_KEY: GOLDRUSH_API_KEY capability: consumes: - type: http namespace: streaming-pairs baseUri: https://streaming.goldrush.dev description: 'Streaming GraphQL subscriptions (newDexPairs, ohlcvPairs, ohlcvTokens, updatePairs, updateTokens). Subscriptions upgrade to wss://streaming.goldrush.dev.' resources: - name: graphql path: /graphql operations: - { name: subscribeNewDexPairs, method: POST, description: 'New DEX Pairs Stream subscription.', outputRawFormat: json } - { name: subscribeOhlcvPairs, method: POST, description: 'OHLCV Pairs Stream subscription.', outputRawFormat: json } - { name: subscribeOhlcvTokens, method: POST, description: 'OHLCV Tokens Stream subscription.', outputRawFormat: json } - { name: subscribeUpdatePairs, method: POST, description: 'Update Pairs Stream subscription.', outputRawFormat: json } - { name: subscribeUpdateTokens, method: POST, description: 'Update Tokens Stream subscription.', outputRawFormat: json } authentication: type: apikey key: Authorization value: 'Bearer {{env.GOLDRUSH_API_KEY}}' placement: header exposes: - type: mcp namespace: streaming-pairs-mcp port: 9090 transport: http description: MCP adapter exposing Streaming pair and token subscriptions. tools: - { name: goldrush-streaming-new-dex-pairs, description: 'Subscribe to newly created DEX pairs.', hints: { readOnly: true, idempotent: false }, call: streaming-pairs.subscribeNewDexPairs } - { name: goldrush-streaming-update-pairs, description: 'Live pair update stream.', hints: { readOnly: true, idempotent: false }, call: streaming-pairs.subscribeUpdatePairs } - { name: goldrush-streaming-update-tokens, description: 'Live token update stream.', hints: { readOnly: true, idempotent: false }, call: streaming-pairs.subscribeUpdateTokens }