API Catalog
Entry point for Torque Platform API v1. Routes group by runtime stage (READ → DECIDE → EXECUTE). Start with Authentication, pick an integration path, or browse OpenAPI below.
At a Glance
| Base URL | https://app.torque.fi/api/v1 |
| Capabilities | https://app.torque.fi/api/v1/capabilities |
| Manifest version | v22 |
| Rate limit | 100 requests / minute per business API key |
Probe GET /capabilities (no auth) for the live route manifest, operations block, and data catalog. Errors and idempotency: Errors & Limits.
Runtime Stages
| Stage | Integrator surface |
|---|---|
| READ | GET /read/portfolio, portfolioData in Assistant context, Intelligence feeds |
| DECIDE | Assistant functionResults, Checkout SDK session (merchant pay) |
| EXECUTE | POST /execute/** (on_chain) or torque-checkout SDK + webhooks (merchant) |
Canonical path prefixes: API layout. Primitive schema: Architecture.
API Layout
Canonical paths map to runtime stages and read profiles. Legacy aliases stay stable. Full route list: below.
Stage Map
meta GET /health, /capabilities, /openapi
accounts GET /accounts/business, /accounts/wallet, /accounts/end-users/*
read GET /intelligence/feed | views/* | datasets/* | markets/*, /read/portfolio
decide POST /decide/assistant/chat, /decide/fulfillment
connect POST /connect/confirm, /connect/confirm/complete, /connect/authorize/*, /connect/token
execute POST /execute/** (on_chain) · torque-checkout SDK + webhooks (merchant)Alias responses include X-Torque-Canonical-Path, X-Torque-Runtime-Stage, X-Torque-Read-Profile. Details: Errors & Limits.
READ Profiles
Intelligence routes use three read profiles under sk_live_…. Full shapes: Intelligence.
| Profile | Canonical prefix | Use when |
|---|---|---|
| feed | /intelligence/feed, /intelligence/views/* | Editorial carousel and desk lanes |
| dataset | /intelligence/datasets/* | Pipeline DTOs (funding, earnings, events) |
| market | /intelligence/markets/* | Live rate tiles (yield, lend/borrow catalog) |
Operations (manifest v22)
rateLimits.businessApiKey → 100 req/min, 429 RATE_LIMIT_EXCEEDED + Retry-After
idempotency.executeRoutes → Idempotency-Key header, 24h replay on POST /execute/**
aliasHeaders → X-Torque-Canonical-Path, X-Torque-Runtime-Stage, …SDK Entry Points
import { createTorqueFromEnv } from 'torque-node'
const torque = createTorqueFromEnv()
await torque.read.intelligence.getFeed({ includeBrief: true })
await torque.read.portfolio.getPortfolio({ walletAddress: '0x…' })
await torque.decide.assistant.chat({ messages: [...] })
await torque.capabilities()Assistant Read Families
| Family | Assistant tool | SDK namespace |
|---|---|---|
| portfolio | read_portfolio | torque.read.portfolio |
| market | read_market | torque.read.market |
| rates | read_rates | torque.read.rates |
| tape | read_tape | torque.read.tape |
| research | read_research | torque.read.research |
| intelligence | read_intelligence | torque.read.intelligence |
| plan | read_plan | torque.read.plan |
| commerce | read_commerce | torque.read.commerce |
Assistant Tool Surface
Read-family tools (read_portfolio, read_market, …) return answers in content and structured payloads (e.g. thesisCard, display_data_table). Perps market/positions/orders use read_market kinds perp_market | perp_positions | perp_orders. No settlement without a separate signable functionResult. Write verbs (trade, transfer, lend, borrow, carry, futures, schedule, pay) return functionResults with requiresConfirmation. Spot/lend/borrow/transfer/pay → client signs via smart wallet JWT on POST /execute/** or Connect hosted confirm. Futures → PerpsKit confirm path (same UX as /trade/futures). No bridge or stake assistant verbs — cross-chain and LST ride trade/transfer. Query examples.
| Group | Example tools | Try asking |
|---|---|---|
Portfolio & balance Unified portfolio balances and net worth. | read_portfolio | “What's my net worth?” “How much USD do I have?” |
Prices, charts & movers Spot marks, history, technicals, and futures reads via read_market kinds. | read_market | “Price of ETH?” “BTC chart over the last month” “Funding rate on BTC perps?” |
Futures & perps Hyperliquid futures via PerpsKit: reads through read_market (perp_*), writes via canonical futures (client confirm). | futures, read_market | “Show my futures positions” “Funding rate on BTC perps?” “Long BTC $100 at 5x” |
Weather & commodities Hub weather + structured thesisCard (precedent episodes, perp legs, NAV sizing). | get_weather | “Gulf storm thesis for crude” “North Sea cold snap — BRENTOIL vs CL” |
Equity & macro research Fundamentals, filings, estimates, and screens (read_research → leaf handlers). | read_research | “AAPL revenue breakdown” “What does Berkshire own?” |
News & desk intel Headlines, macro desk, investigative reports, web fetch. | read_tape, web_fetch | “Latest on NVDA” “What's the macro desk saying?” |
Yield & lending rates Cross-venue APY/APR and idle-cash ideas. | read_rates, read_intelligence | “USD lending rates?” “Where should I park idle USDC?” |
Automations & scanners Torque Pro: market scanners, recurring buys, execution policies. | manage_market_scanner, manage_recurring_buy, schedule, set_execution_policy | “Notify me when BTC drops 5%” “Weekly $50 ETH buy” |
Tables & strategies Structured outputs grounded in live reads. | display_data_table, create_capital_strategy, read_intelligence | “Portfolio risk table” “60/30/10 allocation from my book” |
Pay, invoice & checkout Payment requests, invoices, merchant checkout links, and business deep-links. | pay, read_commerce, create_product_and_checkout_link, open_assistant_panel | “Invoice for 250 USD” “Create a checkout link” “Show my invoices” |
OpenAPI
OpenAPI 3.1 for codegen, contract tests, and agent tooling.
| Live (recommended) | https://app.torque.fi/api/v1/openapi Matches production routes |
| Static JSON | https://app.torque.fi/openapi/torque-v1.openapi.json Pinned in CI |
| Docs proxy | /api/torque-v1-openapi Same-origin; avoids browser CORS |
Route Catalog
All 34 canonical Platform API v1 routes, grouped by runtime stage. Prefer canonical paths; legacy aliases remain stable. For codegen, use OpenAPI above.
| Base URL | https://app.torque.fi/api/v1 |
| Routes | 34 |
| Rate limit | 100 requests / minute (business key) |
Meta
Health, capabilities manifest, OpenAPI, and Connect token verification.
| Method | Canonical path | Aliases | Auth | Summary |
|---|---|---|---|---|
| GET | /api/v1/health | None | None | Liveness probe |
| GET | /api/v1/capabilities | None | None | Capability manifest + entitlements catalog |
| GET | /api/v1/openapi | None | None | OpenAPI 3.1 document |
| GET | /api/v1/connect/confirm/verify | None | None | Verify hosted execute confirm token |
Accounts & Connect
Identity probes, Connect consent, and partner end-user wallet provisioning.
| Method | Canonical path | Aliases | Auth | Summary |
|---|---|---|---|---|
| GET | /api/v1/accounts/business | /api/v1/business/me | sk_live_… | Merchant identity for API key |
| GET | /api/v1/accounts/wallet | /api/v1/wallet/me | Smart wallet JWT | User identity for smart wallet JWT |
| POST | /api/v1/accounts/end-users | None | sk_live_… | Provision partner end-user wallet (EVM + Solana + BTC deposit); idempotent on externalUserId |
| GET | /api/v1/accounts/end-users | None | sk_live_… | List partner-provisioned end-users for business API key |
| GET | /api/v1/accounts/end-users/{externalUserId} | None | sk_live_… | Get partner end-user addresses by externalUserId |
| GET | /api/v1/accounts/end-users/{externalUserId}/deposits | None | sk_live_… | List deposit events for a partner end-user wallet |
| POST | /api/v1/connect/authorize/session | None | sk_live_… | Mint OAuth authorize session for Connect with Torque |
| POST | /api/v1/connect/authorize/complete | None | None | User approves Connect OAuth session (hosted page) |
| POST | /api/v1/connect/token | None | sk_live_… | Exchange Connect authorization code or refresh delegated JWT |
Read
Intelligence feeds, datasets, markets, and portfolio read.
| Method | Canonical path | Aliases | Auth | Summary |
|---|---|---|---|---|
| GET | /api/v1/intelligence/feedread profile: feed | None | sk_live_… | Primary narrative feed (IntelligenceItemV1) |
| GET | /api/v1/intelligence/views/trade-anglesread profile: feed | /api/v1/intelligence/trade-angles | sk_live_… | Desk trade angles view |
| GET | /api/v1/intelligence/views/happening-nowread profile: feed | /api/v1/intelligence/happening-now | sk_live_… | Timely signals view |
| GET | /api/v1/intelligence/views/briefread profile: feed | /api/v1/intelligence/brief | sk_live_… | Hero brief item |
| GET | /api/v1/intelligence/views/market-outlookread profile: feed | /api/v1/intelligence/market-outlook | sk_live_… | Stored market outlook |
| GET | /api/v1/intelligence/datasets/earnings-spotlightread profile: dataset · earnings-spotlight | /api/v1/data/earnings-spotlight, /api/v1/widgets/earnings-spotlight | sk_live_… | Upcoming earnings spotlight |
| GET | /api/v1/intelligence/datasets/eventsread profile: dataset · events | /api/v1/data/events | sk_live_… | Economic events calendar |
| GET | /api/v1/intelligence/markets/yieldread profile: market | /api/v1/opportunities/yield | sk_live_… | Yield spotlight + idle-cash ideas |
| GET | /api/v1/intelligence/markets/lendingread profile: market | /api/v1/opportunities/lending | sk_live_… | Lend/borrow catalog rates |
| GET | /api/v1/read/portfolio | None | sk_live_… | Cross-chain product-bucket portfolio (read-only) |
Decide
Assistant chat, fulfillment preview, and hosted execute confirm.
| Method | Canonical path | Aliases | Auth | Summary |
|---|---|---|---|---|
| POST | /api/v1/connect/confirm | None | sk_live_… | Mint hosted execute confirm token from functionResults |
| POST | /api/v1/connect/confirm/complete | None | None | Report hosted execute completion and dispatch partner webhook |
| POST | /api/v1/decide/assistant/chat | /api/v1/assistant/chat | sk_live_… | Torque Intelligence chat (functionResults for confirm) |
| POST | /api/v1/decide/fulfillment | None | Smart wallet JWT | Portfolio fulfillment preview for transfer/checkout (DECIDE) |
Actions
Trade, transfer, lend, borrow on_chain; merchant pay via Checkout.
| Method | Canonical path | Aliases | Auth | Summary |
|---|---|---|---|---|
| POST | /api/v1/execute/trades | /api/v1/actions/trade/swap | Smart wallet JWT | Build unsigned EVM swap route (Enso) |
| POST | /api/v1/execute/trades/solana | /api/v1/actions/trade/swap/solana | Smart wallet JWT | Build unsigned Solana swap (Jupiter Ultra) |
| POST | /api/v1/execute/transfers/evm | /api/v1/actions/transfer/evm | Smart wallet JWT | Build unsigned EVM transfer (Pay send or account Transfer) |
| POST | /api/v1/execute/transfers/solana | /api/v1/actions/transfer/solana | Smart wallet JWT | Build unsigned Solana transfer (Pay send or account Transfer) |
| POST | /api/v1/execute/transfers/btc | /api/v1/actions/transfer/btc | Smart wallet JWT | Custodial BTC send from deposit |
| POST | /api/v1/execute/lends/evm | /api/v1/actions/lend/evm | Smart wallet JWT | Enso lend delegate bundle |
| POST | /api/v1/execute/borrows/evm | /api/v1/actions/borrow/evm | Smart wallet JWT | Enso borrow delegate bundle |
Merchant checkout uses the Checkout SDK and Webhooks, not routes in this catalog.
Integration Paths
- Wallets: Provision, deposits, Connect cash-out
- Intelligence: Feeds, views, datasets, and market tiles
- Assistant: Programmatic chat and functionResults
- Actions: Trade, transfer, lend, borrow, pay — POST /execute/**
- Checkout: Merchant pay channel
Questions or corrections? hello@torque.fi