TorqueTorque

Search docs

Search Torque documentation pages and sections

Platform SDK

torque-node is the unified server SDK for Torque Platform — one business API key, one client for Intelligence, Assistant, and capabilities. Use it in Node scripts, Route Handlers, and backend services. Never expose your API key in browser bundles.

At a glance

npm packagetorque-node (0.1.1)
AuthTORQUE_API_KEY (sk_live_…)
Default base URLhttps://app.torque.fi/api/v1
Intelligence timeout30s (default)
Assistant timeout180s (default)

Installation

yarn add torque-node@^0.1.1 @torquefi/types@^0.1.1

Related packages: Platform SDKs overview @torquefi/types, torque-intelligence, torque-assistant, @torquefi/react, torque-webhooks, torque-checkout. Prefer torque-node when you use more than one HTTP surface.

Quick start

server.ts
import { createTorqueFromEnv } from 'torque-node'

const torque = createTorqueFromEnv()

const manifest = await torque.capabilities()
const feed = await torque.intelligence.feed({
  walletAddress: '0x…',
  chainId: 8453,
  includeBrief: 1,
})
const chat = await torque.assistant.chat({
  messages: [{ role: 'user', content: 'What is the price of ETH?' }],
  context: { walletAddress: '0x…', chainId: 8453 },
})
const yieldIdeas = await torque.opportunities.getYieldOpportunities({
  walletAddress: '0x…',
})

Or pass options explicitly with createTorque({ apiKey }). See Authentication for key setup.

Environment variables

VariableRequiredDescription
TORQUE_API_KEYYesBusiness API key (sk_live_…)
TORQUE_BASE_URLNoAPI base (default https://app.torque.fi/api/v1)

Client surfaces

SurfaceMethodsHTTP guide
torque.capabilities()Manifest probeDocs
torque.intelligencefeed, tradeAngles, happeningNow (+ get* parity)Docs
torque.assistantchat, chatStreamDocs

Subpath exports

import { createTorqueFromEnv } from 'torque-node'
import { createIntelligenceClient } from 'torque-node/intelligence'
import { createAssistantClient } from 'torque-node/assistant'

Use subpaths when you only need one surface. The unified Torque client shares auth and base URL configuration.

Streaming

stream-chat.ts
for await (const event of torque.assistant.chatStream({
  messages: [{ role: 'user', content: 'Summarize my portfolio' }],
  context: { walletAddress: '0x…' },
})) {
  if (event.type === 'delta') process.stdout.write(event.text)
  if (event.type === 'done') console.log(event.functionResults)
}

Wraps SSE from POST /api/v1/assistant/chat?stream=true. See Assistant API for event types.

Timeouts

Intelligence and Assistant use separate default timeouts. Override when constructing the client:

client-options.ts
const torque = createTorque({
  apiKey: process.env.TORQUE_API_KEY!,
  intelligenceTimeout: 30_000,  // ms, default 30s
  assistantTimeout: 180_000,    // ms, default 180s
})
Was this helpful?