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 | v20 |
| 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: Platform & Lifecycle.
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 v20)
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 and research tools return answers in content and structured payloads (e.g. thesisCard, display_data_table). No settlement without a separate signable functionResult. Write verbs (trade, transfer, lend, borrow, schedule, pay) return functionResults with requiresConfirmation — client signs via smart wallet JWT on POST /execute/** or Connect hosted confirm. Query examples.
| Group | Example tools | Try asking |
|---|---|---|
Portfolio & balance Unified portfolio balances and net worth. | get_portfolio_summary, get_token_balance, get_native_bitcoin_balance | “What's my net worth?” “How much USD do I have?” |
Prices, charts & movers Spot marks, history, and market tape. | get_token_price, get_price_history, get_market_movers, get_stock_prices | “Price of ETH?” “BTC chart over the last month” |
Futures & perps GMTrade / Hyperliquid-linked commodity and crypto perps. | get_perp_market_info, get_perp_positions, get_open_orders | “Show my futures positions” “Funding rate on BTC perps?” |
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. | get_financial_metrics, get_analyst_estimates, get_sec_filings, screen_stocks, get_investor_holdings | “AAPL revenue breakdown” “What does Berkshire own?” |
News & desk intel Headlines, macro desk, investigative reports, web search/fetch. | get_crypto_news, get_macro_desk, get_company_news, web_search, web_fetch | “Latest on NVDA” “What's the macro desk saying?” |
Yield & lending rates Cross-venue APY/APR and idle-cash ideas. | get_evm_lending_market_rates, get_auto_yield_ideas, get_payment_app_yield_rates | “USD lending rates?” “Where should I park idle USDC?” |
Automations & scanners Torque Pro: market scanners, recurring buys, execution policies. | create_market_scanner, list_market_scanners, schedule_portfolio_recurring_buy, 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, search_market_insights | “Portfolio risk table” “60/30/10 allocation from my book” |
Pay, invoice & checkout Payment requests, invoices, and merchant checkout links. | create_payment_request_link, generate_checkout_link, create_product_and_checkout_link | “Invoice for 250 USD” “Create a checkout link” |
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 |
curl -sS "https://app.torque.fi/api/v1/openapi" | jq '.info.title, (.paths | keys | length)'
npx openapi-typescript "https://app.torque.fi/api/v1/openapi" -o ./torque-v1.d.tsRoute Catalog
All 36 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 | 36 |
| 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) |
Execute
Unsigned transaction builders for trades, transfers, lend, and borrow.
| 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 |
| POST | /api/v1/execute/transfers/solana | /api/v1/actions/transfer/solana | Smart wallet JWT | Build unsigned Solana 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 |
| POST | /api/v1/funding/peer/create-deposit/prepare | /api/v1/actions/peer-yield/supply | None | Prepare payment-app yield maker deposit (requires credential bundle) |
| POST | /api/v1/funding/peer/withdraw-deposit/prepare | /api/v1/actions/peer-yield/withdraw | None | Prepare payment-app yield maker withdraw |
Merchant checkout uses the Checkout SDK and Webhooks, not routes in this catalog.
Integration paths
- Smart Wallets: Provision, deposits, Connect cash-out
- Intelligence: Feeds, views, datasets, and market tiles
- Assistant: Programmatic chat and functionResults
- Connect & Execute: OAuth consent and POST /execute/**
- Checkout: Merchant pay channel
Questions or corrections? hello@torque.fi