TorqueTorque

Search docs

Search Torque documentation pages & sections

Intelligence API

READ: feed, views, datasets, markets under /api/v1/intelligence/*. sk_live_… server-side (Authentication). Read-only. Execution → Actions API, chat → Assistant API. Aliases → API Layout.

At a Glance

Base URLhttps://app.torque.fi/api/v1
Primary RouteGET /api/v1/intelligence/feed
AuthAuthorization: Bearer sk_live_… (business API key)
Manifest7: probe GET /api/v1/capabilities
Canonical itemIntelligenceItemV1

Read Profiles

ProfilePrefixUse when
feed/intelligence/feed, /intelligence/views/*Editorial carousel: IntelligenceItemV1
dataset/intelligence/datasets/*Pipeline DTOs (events, funding, earnings)
market/intelligence/markets/*Yield & lend/borrow rate tiles

Get Started

intelligence.sh
# sk_live_… → app.torque.fi → API Integration (server only)
curl -sS "https://app.torque.fi/api/v1/capabilities" | jq '.manifestVersion, .intelligence.primary'

export TORQUE_KEY="sk_live_…"
curl -sS "https://app.torque.fi/api/v1/intelligence/feed?chainId=8453&includeBrief=1&walletAddress=0x…" \
  -H "Authorization: Bearer $TORQUE_KEY" \
  | jq '.meta.manifestVersion, (.items | length), .brief.summary'

Primary Feed

GET https://app.torque.fi/api/v1/intelligence/feed

Query Parameters

ParamDefaultDescription
walletAddressn/aPersonalize trade angles & outlook context
chainId8453 (Base)Chain for action deep links in items
lanesallComma-separated: timely, desk, outlook
kindssignal,angleComma-separated: signal, angle, brief, outlook
limit12 (max 24)Max items in flat items[]
includeBrief0Set 1 to include brief object
force0Set 1 to force live angle reroll (cooldown applies)

Response Shape

IntelligenceFeedResponseV1
{
  "meta": {
    "manifestVersion": 7,
    "generatedAtMs": 1710000000000,
    "bundleIngestedAtMs": 1710000004500,
    "personalized": true,
    "walletAddress": "0x892e…",
    "chainId": 8453,
    "resolution": {
      "angles": { "tier": "pool", "ageMs": 120000 },
      "signals": { "tier": "live", "bundleAgeMs": 45000 }
    },
    "dedupedCount": 2
  },
  "brief": { "id": "…", "kind": "brief", "title": "…", "summary": "…", "symbols": ["ETH"] },
  "lanes": {
    "timely": { "id": "timely", "label": "Happening now", "items": [/* signal */] },
    "desk": { "id": "desk", "label": "Trade angles", "items": [/* angle */] }
  },
  "items": [/* flat, deduped, server-ranked list */]
}

Render items[] or pre-partitioned lanes.desk / lanes.timely. includeBrief=1 → hero brief.summary.

Data Model: IntelligenceItemV1

One IntelligenceItemV1 shape across v7: single list/carousel; branch on kind; ignore unknown kinds.

kindMeaningTypical Lane
signalProactive / happening-now market eventtimely
angleDesk trade read with bias & levelsdesk
briefHero one-liner for home / notification surfacesn/a (top-level brief field)
outlookStored market outlook synthesis per walletoutlook
IntelligenceItemV1 (fields)
{
  "id": "desk_ETH_watch_gmq2sjj9i",
  "kind": "angle",
  "title": "ETH tokenization megatrend, short squeeze potential",
  "summary": "Ethereum looks constructive toward $1,600…",
  "horizon": "swing",
  "symbols": ["ETH"],
  "bias": "Watch",
  "relevanceScore": 4,
  "levels": { "last": 1554.71, "invalidation": 1530, "target": 1600 },
  "source": { "type": "desk", "label": "Torque desk synthesis" },
  "actions": [
    { "label": "Buy ETH", "href": "/trade?sell=usd&buy=eth", "chainId": 8453, "iconSymbol": "ETH" }
  ],
  "dedupeKey": "eth-tokenization-megatrend",
  "ingestedAtMs": 1710000000000,
  "resolution": { "tier": "pool", "ageMs": 312564 }
}

Display body is summary. Server dedupes via dedupeKey; no client merge.

Enriched Action Tiles

Optional actions[] deep links per item. Live rate tables → Markets.

FieldExampleUse
label"Lend USD"Primary tile title
subtitle"Earn 23.45% APY on USD via Aave."Secondary line
href/lend?supply=usdTorque app path
torqueUrlhttps://app.torque.fi/lend?…Absolute link for partners
apyPercent / aprPercent23.45 / 3.35Supply yield / borrow rate
opportunityTypelend | borrow | trade | perp | otherTile category
protocol"Aave"Venue label
idleUsd / estimatedAnnualUsdn/aPersonalized yield only

Specialized Views

Prefer /feed; views for smaller payloads or legacy keys.

RouteEquivalent Feed FilterResponse
GET …/trade-angleskinds=angle, lanes=desk{ ideas: IntelligenceItemV1[], meta }
GET …/happening-nowkinds=signal, lanes=timely{ items, ingestedAtMs, meta }
GET …/briefincludeBrief=1{ brief: IntelligenceItemV1 }
GET …/market-outlookkinds=outlook, wallet required{ item, meta }: 404 when none stored

SDK Methods

Endpointtorque-node / torque-intelligenceReturns
GET …/intelligence/feedgetFeed()Signals, angles, brief, lanes
GET …/intelligence/views/trade-anglesgetTradeAngles() / getView()Desk trade angles
GET …/intelligence/views/happening-nowgetHappeningNow() / getView()Timely macro & market signals
GET …/intelligence/views/briefgetView('brief')Single brief item
GET …/intelligence/views/market-outlookgetView('market-outlook')Stored outlook for wallet
GET …/intelligence/markets/yieldgetYieldOpportunities()Idle cash APY tiles
GET …/intelligence/markets/lendinggetLendingOpportunities()Lend/borrow catalog rates
GET …/intelligence/datasets/*getDataset(id, params?)Pipeline DTOs (Pro SKUs)

Datasets (read profile dataset)

Pipeline DTOs: GET /intelligence/datasets/* (aliases /data/*, /widgets/*). Pro SKUs need Platform Data Pro on your account.

SKURouteStatusTierSDK
funding-radarGET /api/v1/intelligence/datasets/funding-radarShippedProgetDataset('funding-radar')
earnings-spotlightGET /api/v1/intelligence/datasets/earnings-spotlightShippedProgetDataset('earnings-spotlight')
eventsGET /api/v1/intelligence/datasets/eventsShippedProgetDataset('events', { days })
moversGET /api/v1/data/moversPlannedPron/a
flight-radarGET /api/v1/data/flight-radarPlannedPron/a
marine-trafficGET /api/v1/data/marine-trafficPlannedPron/a
allocationGET /api/v1/data/allocation?walletAddress=PlannedPron/a

GET /api/v1/intelligence/datasets/events

FOMC schedule, curated US macro, tracked earnings. Query days (default 90, max 365). Legacy alias /data/events.

fetch-events.sh
curl -sS "https://app.torque.fi/api/v1/intelligence/datasets/events?days=30" \
  -H "Authorization: Bearer sk_live_…"

GET /api/v1/intelligence/datasets/funding-radar

Hyperliquid perp funding long/short bias. Legacy aliases /data/funding-radar, /widgets/funding-radar.

fetch-funding-radar.sh
curl -sS "https://app.torque.fi/api/v1/intelligence/datasets/funding-radar" \
  -H "Authorization: Bearer sk_live_…"

GET /api/v1/intelligence/datasets/earnings-spotlight

Upcoming earnings (~14 days), estimates, perp/spot flags. Legacy alias /data/earnings-spotlight.

fetch-earnings-spotlight.sh
curl -sS "https://app.torque.fi/api/v1/intelligence/datasets/earnings-spotlight" \
  -H "Authorization: Bearer sk_live_…"

Dataset response meta

PlatformDataMetaV1
interface PlatformDataMetaV1 {
  generatedAtMs: number
  pipelineId: string       // SKU, e.g. "events"
  homeWidgetId?: string    // optional Torque UI trace
  integratorTier: 'standard' | 'pro'
}

Use dedicated dataset DTOs; do not force pipeline rows into IntelligenceItemV1 when a pipeline shape exists.

Markets (read profile market)

Yield & lending rate tiles: /intelligence/markets/* (alias /opportunities/*).

GET /api/v1/intelligence/markets/yieldIdle cash APY; alias /opportunities/yield
GET /api/v1/intelligence/markets/lendingSupply APY + borrow APR; alias /opportunities/lending
fetch-yield.sh
curl -sS "https://app.torque.fi/api/v1/intelligence/markets/yield?walletAddress=0x…" \
  -H "Authorization: Bearer sk_live_…" | jq '.meta, (.markets | length)'

Errors

StatusCodeWhen
401UNAUTHORIZED / INVALID_API_KEYMissing or invalid business key
429RATE_LIMIT_EXCEEDEDBusiness key exceeded 100 req/min — Retry-After header; see Errors guide
429COOLDOWNforce=1 within reroll cooldown: retryAfterMs in body
503INTELLIGENCE_UNAVAILABLEBundle temporarily unavailable

See Also

Was this helpful?