All authenticated API requests must include the following headers:
ttc-auth-tokenYour auth token (obtained on login)ttc-public-keyYour wallet public key (Solana address){
"ttc-auth-token": "your_auth_token_here",
"ttc-public-key": "your_wallet_public_key_here"
}curl -X POST https://ttc.box/api/v1/exchanges \
-H "ttc-auth-token: your_auth_token_here" \
-H "ttc-public-key: your_wallet_public_key_here" \
-H "Content-Type: application/json" \
-d '{
"exchangeName": "binance",
"method": "placeMarketOrder",
"params": {
"symbol": "BTCUSDT",
"side": "buy",
"quantity": 0.01
},
"credentials": {
"apiKey": "your_exchange_api_key",
"apiSecret": "your_exchange_api_secret"
}
}'For Orderly, apiKey is the ed25519 trading wallet public key (raw, no prefix), apiSecret is the trading wallet private key, and passphrase is the broker ID (defaults to ttc). Your main wallet address is injected from auth headers automatically.
curl -X POST https://ttc.box/api/v1/exchanges \
-H "ttc-auth-token: your_auth_token_here" \
-H "ttc-public-key: your_wallet_public_key_here" \
-H "Content-Type: application/json" \
-d '{
"exchangeName": "orderly",
"method": "getPositions",
"params": {},
"credentials": {
"apiKey": "your_orderly_trading_wallet_public_key",
"apiSecret": "your_orderly_trading_wallet_private_key",
"passphrase": "ttc"
}
}'/api/auth/loginUser's email address
User's plaintext passkey — hashed server-side with SHA-256 and compared against the stored hash
{
"success": true,
"message": "Login successful",
"user": {
"email": "user@example.com",
"publicKey": "CgzKjTLrNgi9B6iCzLKfcLasYTuuEUibsei97qjmm7t5",
"type": "email",
"lastLogin": "2026-04-15T12:34:56.789Z",
"user_creation": "2025-11-20T09:10:11.000Z",
"privateKey": "<client-encrypted blob>",
"orderlyPublicKey": "0xabc...",
"orderlyPrivateKey": "<client-encrypted blob>",
"evmAddress": "0x1234...",
"evmPrivateKey": "<client-encrypted blob>",
"evmSigningAddress": "0x5678...",
"evmSigningPrivateKey": "<client-encrypted blob>",
"subscription_type": "pro",
"subscription_tier": "monthly",
"subscription_expire": "2026-05-15T12:34:56.789Z",
"subscription_tx": "5xT...signature"
},
"authToken": "64-char-hex-token"
}/api/auth/registerUser's email (optional for wallet users — server generates <pubKey>@ttc.box if omitted)
User's Solana wallet address (public key)
SHA-256 hash of the user's passkey (hashed client-side — server never sees the plaintext)
Client-generated wallet bundle: { solana: { publicKey, encryptedPrivateKey }, orderly: { publicKey, encryptedPrivateKey }, evm: { address, encryptedPrivateKey }, evmSigning: { address, encryptedPrivateKey } }. Orderly is required; others are optional.
{
"success": true,
"message": "User registered successfully",
"authToken": "64-char-hex-token"
}/api/auth/challengeRegistered Solana public key
{
"success": true,
"challenge": "a1b2c3d4e5f6...",
"message": "Sign this message to verify wallet ownership: a1b2c3d4e5f6..."
}/api/auth/login-walletUser's Solana public key
Hex-encoded ed25519 signature of the challenge message produced by the wallet
Challenge string returned by /api/auth/challenge (must match the stored challenge, valid for 5 minutes)
{
"success": true,
"message": "Wallet verified successfully",
"user": {
"email": "user@example.com",
"publicKey": "CgzKjTLrNgi9B6iCzLKfcLasYTuuEUibsei97qjmm7t5",
"type": "wallet",
"lastLogin": "2026-04-15T12:34:56.789Z",
"user_creation": "2025-11-20T09:10:11.000Z",
"orderlyPublicKey": "0xabc...",
"orderlyPrivateKey": "<client-encrypted blob>",
"evmAddress": "0x1234...",
"evmPrivateKey": "<client-encrypted blob>",
"evmSigningAddress": "0x5678...",
"evmSigningPrivateKey": "<client-encrypted blob>",
"subscription_type": "pro",
"subscription_tier": "monthly",
"subscription_expire": "2026-05-15T12:34:56.789Z",
"subscription_tx": "5xT...signature"
},
"authToken": "64-char-hex-token"
}/api/auth/user-dataPUT only — update main EVM wallet address (lowercased)
PUT only — client-encrypted main EVM private key blob
PUT only — update EVM signing wallet address (lowercased)
PUT only — client-encrypted EVM signing private key blob
PUT only — update Orderly wallet public key
PUT only — client-encrypted Orderly private key blob
POST only — JSON preferences payload (stored stringified under preferenceKey)
POST only — name of the preference field to write on the user record
{
"success": true,
"message": "User data retrieved successfully",
"user": {
"email": "user@example.com",
"publicKey": "CgzKjTLrNgi9B6iCzLKfcLasYTuuEUibsei97qjmm7t5",
"type": "email",
"lastLogin": "2026-04-15T12:34:56.789Z",
"user_creation": "2025-11-20T09:10:11.000Z",
"privateKey": "<client-encrypted blob>",
"orderlyPublicKey": "0xabc...",
"orderlyPrivateKey": "<client-encrypted blob>",
"evmAddress": "0x1234...",
"evmPrivateKey": "<client-encrypted blob>",
"evmSigningAddress": "0x5678...",
"evmSigningPrivateKey": "<client-encrypted blob>",
"subscription_type": "pro",
"subscription_tier": "monthly",
"subscription_expire": "2026-05-15T12:34:56.789Z",
"subscription_tx": "5xT...signature"
},
"authToken": "64-char-hex-token"
}/api/conversationNumber of conversations to return
Number of conversations to skip
{
"conversations": [
{
"id": "conv_123",
"title": "Trading Strategy Discussion",
"lastMessage": "What do you think about this setup?",
"timestamp": "2024-02-06T04:03:46Z"
}
],
"total": 50
}/api/conversation/agents/[id]Agent conversation ID
{
"id": "agent_123",
"messages": [
{
"role": "user",
"content": "Can you analyze this market?",
"timestamp": "2024-02-06T04:03:46Z"
},
{
"role": "assistant",
"content": "Based on the current indicators...",
"timestamp": "2024-02-06T04:03:47Z"
}
]
}/api/conversation/coach/[id]Coach conversation ID
{
"id": "coach_123",
"messages": [
{
"role": "user",
"content": "How can I improve my trading?",
"timestamp": "2024-02-06T04:03:46Z"
},
{
"role": "coach",
"content": "Let's analyze your recent trades...",
"timestamp": "2024-02-06T04:03:47Z"
}
]
}/api/conversation/coder/[id]Coder conversation ID
{
"id": "coder_123",
"messages": [
{
"role": "user",
"content": "How do I implement this strategy?",
"timestamp": "2024-02-06T04:03:46Z"
},
{
"role": "coder",
"content": "Here's a code implementation...",
"timestamp": "2024-02-06T04:03:47Z"
}
]
}/api/conversation/manager/[id]Manager conversation ID
{
"id": "manager_123",
"messages": [
{
"role": "user",
"content": "How should I manage my portfolio?",
"timestamp": "2024-02-06T04:03:46Z"
},
{
"role": "manager",
"content": "Based on your risk profile...",
"timestamp": "2024-02-06T04:03:47Z"
}
]
}/api/conversation/oracle/[id]Oracle conversation ID
{
"id": "oracle_123",
"messages": [
{
"role": "user",
"content": "What's your market prediction?",
"timestamp": "2024-02-06T04:03:46Z"
},
{
"role": "oracle",
"content": "The market indicators suggest...",
"timestamp": "2024-02-06T04:03:47Z"
}
]
}/api/conversations/[id]Specific conversation ID
{
"id": "conv_123",
"title": "Strategy Discussion",
"messages": [
{
"role": "user",
"content": "Let's discuss this strategy",
"timestamp": "2024-02-06T04:03:46Z"
},
{
"role": "assistant",
"content": "I see several key points...",
"timestamp": "2024-02-06T04:03:47Z"
}
]
}/api/agentsNumber of agents to return
{
"agents": [
{
"id": 123,
"name": "TradingBot",
"description": "AI-powered trading assistant",
"x402Support": true
},
{
"id": 456,
"name": "PriceOracle",
"description": "Real-time price oracle",
"x402Support": true
}
],
"total": 2
}/api/agents/[id]Agent ID
{
"id": 123,
"name": "TradingBot",
"description": "AI-powered trading assistant",
"services": [
{
"name": "ERC-8008 Messaging",
"endpoint": "https://agent.example.com/messaging",
"version": "1.0.0"
},
{
"name": "PriceOracle",
"endpoint": "https://agent.example.com/api",
"version": "1.2.0"
}
],
"x402Support": true,
"supportedTrust": [
"reputation",
"erc-8008"
],
"active": true
}/api/agents/[id]Agent name
Agent description
Array of service objects
Whether agent accepts x402 payments
Supported trust mechanisms
{
"success": true,
"message": "Agent registered successfully",
"agentId": 123
}/api/agents/eight-zero-zero-four/statsAgent ID to get stats for
{
"agentId": 123,
"totalAgents": 1500,
"activeAgents": 1420,
"totalFeedback": 12500,
"averageReputation": 78.5
}/api/dao/trading/all-positionsUser's wallet public key)
User's auth token for session authentication
Position object
{
"positions": [
{
"symbol": "BTCUSDT",
"side": "buy",
"size": 0.01,
"entryPrice": 22000,
"markPrice": 22500,
"pnl": 5,
"timestamp": "2024-02-06T04:09:15Z"
}
]
}| Method Name | Description |
|---|---|
placeMarketOrder | Execute a market order (filled immediately at current price) |
placeLimitOrder | Execute a limit order (filled when price reaches specified level) |
placeStopOrder | Execute a stop order (triggered when price reaches stop level) |
getPositions | Get all open positions |
getBalance | Get account balance |
getOrders | Get all open orders |
cancelOrder | Cancel a specific order |
cancelAllOrders | Cancel all orders (optionally for specific symbol) |
setLeverage | Set leverage for a specific symbol |
setHedgeMode | Set hedge mode (one-way or two-way trading) |
closeAllPositions | Close all open positions |
getTickers | Get ticker information |
getBestBidAsk | Get best bid/ask prices for a symbol |
getUserTradeHistory | Get user's trade history |
createWithdrawal | Create a withdrawal request |
getDepositAddress | Get deposit address for a currency |
See method-details endpoint below for complete parameter documentation for each method.
/api/v1/exchanges{
"success": true,
"status": "ok",
"supportedExchanges": [
"aevo",
"apex",
"ascendex",
"asterdex",
"binance",
"bingx",
"bitget",
"bitmart",
"bitmex",
"bitrue",
"blofin",
"bulktrade",
"bybit",
"coinbase",
"dydx",
"extended",
"flash",
"grvt",
"hyperliquid",
"kucoin",
"lighter",
"mexc",
"okx",
"orderly",
"ostium",
"pacifica",
"paradex",
"phemex",
"propr",
"reya",
"standx",
"variational",
"vest",
"woox"
],
"code": 200
}/api/v1/exchangesMethod name (must be 'getBestBidAsk')
Exchange name (e.g., binance, bybit, okx, phemex)
Trading symbol (e.g., BTCUSDT)
Exchange API key
Exchange API secret
API passphrase (for exchanges like OKX)
User wallet address (required for orderly exchange)
{
"success": true,
"bid": 43250.5,
"ask": 43251,
"spread": 0.5,
"exchange": "binance"
}/api/v1/exchangesSet to 'true' to get list of all available methods
{
"success": true,
"methods": [
{
"name": "placeMarketOrder",
"description": "Execute a market order (filled immediately at current price)"
},
{
"name": "placeLimitOrder",
"description": "Execute a limit order (filled when price reaches specified level)"
},
{
"name": "placeStopOrder",
"description": "Execute a stop order (triggered when price reaches stop level)"
},
{
"name": "getPositions",
"description": "Get all open positions"
},
{
"name": "getBalance",
"description": "Get account balance"
},
{
"name": "getOrders",
"description": "Get all open orders"
},
{
"name": "cancelOrder",
"description": "Cancel a specific order"
},
{
"name": "cancelAllOrders",
"description": "Cancel all orders (optionally for specific symbol)"
},
{
"name": "setLeverage",
"description": "Set leverage for a specific symbol"
},
{
"name": "setHedgeMode",
"description": "Set hedge mode (one-way or two-way trading)"
},
{
"name": "closeAllPositions",
"description": "Close all open positions"
},
{
"name": "getTickers",
"description": "Get ticker information"
},
{
"name": "getBestBidAsk",
"description": "Get best bid/ask prices for a symbol"
},
{
"name": "getUserTradeHistory",
"description": "Get user's trade history"
},
{
"name": "createWithdrawal",
"description": "Create a withdrawal request"
},
{
"name": "getDepositAddress",
"description": "Get deposit address for a currency"
}
],
"code": 200
}/api/v1/exchangesExchange name (e.g., binance, bybit, okx, phemex, orderly)
Method to execute. Available: placeMarketOrder, placeLimitOrder, placeStopOrder, getPositions, getBalance, getOrders, cancelOrder, cancelAllOrders, setLeverage, setHedgeMode, closeAllPositions, getTickers, getBestBidAsk, getUserTradeHistory, createWithdrawal, getDepositAddress
API credentials object. Fields: apiKey (string, required), apiSecret (string, required), passphrase (string, optional — broker ID for Orderly, passphrase for OKX). For Orderly: apiKey = trading wallet public key (ed25519, raw — no prefix), apiSecret = trading wallet private key (ed25519 hex). The walletAddress (main wallet) is auto-injected from auth.
{
"success": true,
"code": 200,
"data": {},
"exchange": "binance"
}Execute a market order (filled immediately at current price)
Trading symbol (e.g., BTCUSDT)
Order side: 'buy' or 'sell'
Order quantity
Position side: 'long' or 'short' (optional)
Reduce existing position only (optional)
{
"symbol": "BTCUSDT",
"side": "buy",
"quantity": 0.01,
"positionSide": "long"
}{
"success": true,
"data": {
"orderId": "1234567890",
"symbol": "BTCUSDT",
"side": "buy",
"positionSide": "long",
"type": "market",
"price": "97450.50",
"quantity": 0.01,
"status": "filled",
"filledQuantity": 0.01,
"avgFilledPrice": "97450.50",
"timestamp": 1738435234567
},
"code": 200,
"exchange": "binance"
}Execute a limit order (filled when price reaches specified level)
Trading symbol (e.g., BTCUSDT)
Order side: 'buy' or 'sell'
Order quantity
Limit price
Position side: 'long' or 'short' (optional)
Reduce existing position only (optional)
{
"symbol": "BTCUSDT",
"side": "buy",
"quantity": 0.01,
"price": 42500,
"positionSide": "long"
}{
"success": true,
"data": {
"orderId": "1234567890",
"symbol": "BTCUSDT",
"side": "buy",
"positionSide": "long",
"type": "limit",
"price": 95000,
"quantity": 0.001,
"status": "new",
"timestamp": 1738435234567
},
"code": 200,
"exchange": "phemex"
}Execute a stop order (triggered when price reaches stop level)
Trading symbol (e.g., BTCUSDT)
Order side: 'buy' or 'sell'
Order quantity
Stop trigger price
Position side: 'long' or 'short' (optional)
Reduce existing position only (optional)
{
"symbol": "BTCUSDT",
"side": "sell",
"quantity": 0.01,
"stopPrice": 42000,
"positionSide": "long"
}{
"success": true,
"data": {
"orderId": "1234567891",
"symbol": "BTCUSDT",
"side": "sell",
"positionSide": "long",
"type": "stop",
"stopPrice": 42000,
"quantity": 0.01,
"status": "triggered",
"timestamp": 1738435234567
},
"code": 200,
"exchange": "binance"
}Get all open positions
{
"success": true,
"data": [
{
"symbol": "BTCUSDT",
"side": "buy",
"positionSide": "long",
"size": 0.001,
"entryPrice": 95000,
"markPrice": 97500,
"pnl": 2.5,
"leverage": 10,
"liquidationPrice": 86500,
"marginType": "cross",
"unrealizedPnl": 25,
"notional": 95
}
],
"code": 200,
"exchange": "phemex"
}Get account balance
{
"success": true,
"data": [
{
"asset": "USDT",
"balance": "1000.00",
"available": "950.00",
"locked": "50.00"
},
{
"asset": "BTC",
"balance": "0.05",
"available": "0.05",
"locked": "0"
}
],
"code": 200,
"exchange": "binance"
}Get all open orders
{
"success": true,
"data": [
{
"orderId": "1234567890",
"symbol": "BTCUSDT",
"side": "buy",
"positionSide": "long",
"type": "limit",
"price": "95000",
"quantity": 0.001,
"filledQuantity": 0,
"status": "open",
"timestamp": 1738435234567
}
],
"code": 200,
"exchange": "binance"
}Cancel a specific order
Order ID to cancel
Trading symbol (e.g., BTCUSDT)
{
"orderID": "123456",
"symbol": "BTCUSDT"
}{
"success": true,
"data": {
"orderId": "123456",
"symbol": "BTCUSDT",
"status": "canceled",
"timestamp": 1738435234567
},
"code": 200,
"exchange": "bybit"
}Cancel all orders (optionally for specific symbol)
Trading symbol (optional - if not provided, cancels all orders)
{
"symbol": "BTCUSDT"
}{
"success": true,
"data": {
"canceledOrders": [
{
"orderId": "123456",
"symbol": "BTCUSDT",
"status": "canceled"
},
{
"orderId": "123457",
"symbol": "BTCUSDT",
"status": "canceled"
}
],
"totalCanceled": 2
},
"code": 200,
"exchange": "binance"
}Set leverage for a specific symbol
Trading symbol (e.g., BTCUSDT)
Leverage multiplier (e.g., 10 for 10x)
Set isolated margin mode (optional)
Set hedge mode (optional)
{
"symbol": "BTCUSDT",
"leverage": 10,
"isIsolated": false
}{
"success": true,
"data": {
"symbol": "BTCUSDT",
"leverage": 10,
"marginMode": "cross",
"timestamp": 1738435234567
},
"code": 200,
"exchange": "binance"
}Set hedge mode (one-way or two-way trading)
Trading symbol (e.g., BTCUSDT)
Enable hedge mode (true = two-way, false = one-way)
{
"symbol": "BTCUSDT",
"isHedged": true
}{
"success": true,
"data": {
"symbol": "BTCUSDT",
"hedgeMode": true,
"timestamp": 1738435234567
},
"code": 200,
"exchange": "bybit"
}Close all open positions
{
"success": true,
"data": {
"closedPositions": [
{
"symbol": "BTCUSDT",
"side": "buy",
"positionSide": "long",
"closedSize": 0.001,
"realizedPnl": 2.5,
"closePrice": 97500
}
],
"totalClosed": 1,
"totalRealizedPnl": 2.5
},
"code": 200,
"exchange": "phemex"
}Get ticker information
{
"success": true,
"data": [
{
"symbol": "BTCUSDT",
"lastPrice": "97500.00",
"bidPrice": "97495.00",
"askPrice": "97505.00",
"priceChange": "2500.00",
"priceChangePercent": "2.63",
"highPrice": "98500.00",
"lowPrice": "94500.00",
"volume": "50000",
"quoteVolume": "4850000000",
"timestamp": 1738435234567
},
{
"symbol": "ETHUSDT",
"lastPrice": "2650.75",
"bidPrice": "2650.50",
"askPrice": "2651.00",
"priceChange": "-25.25",
"priceChangePercent": "-0.94",
"highPrice": "2700.00",
"lowPrice": "2600.00",
"volume": "150000",
"quoteVolume": "397500000",
"timestamp": 1738435234567
}
],
"code": 200,
"exchange": "binance"
}Get best bid/ask prices for a symbol
Trading symbol (e.g., BTCUSDT)
{
"symbol": "BTCUSDT"
}{
"success": true,
"data": {
"bestBid": {
"price": "97495.00",
"quantity": 1.5
},
"bestAsk": {
"price": "97505.00",
"quantity": 2.3
},
"spread": 10,
"timestamp": 1738435234567
},
"code": 200,
"exchange": "phemex"
}Create a withdrawal request
Currency to withdraw (e.g., USDT)
Destination wallet address
Amount to withdraw
Blockchain network (e.g., ETH, SOL)
Address tag/memo (optional)
{
"currency": "USDT",
"address": "0x1234567890abcdef1234567890abcdef12345678",
"amount": "100",
"chainName": "ETH"
}{
"success": true,
"data": {
"withdrawalId": "wd_abc123",
"currency": "USDT",
"amount": "100",
"address": "0x1234567890abcdef1234567890abcdef12345678",
"chainName": "ETH",
"status": "pending",
"timestamp": 1738435234567
},
"code": 200,
"exchange": "binance"
}Get deposit address for a currency
Currency to deposit (e.g., USDT)
Blockchain network (e.g., ETH, SOL)
{
"currency": "USDT",
"chainName": "ETH"
}{
"success": true,
"data": {
"currency": "USDT",
"address": "0xabcdef1234567890abcdef1234567890abcdef12",
"chainName": "ETH",
"tag": null,
"memo": null
},
"code": 200,
"exchange": "binance"
}Get user's trade history
Maximum number of trades to return (default: 1000)
{
"limit": 100
}{
"success": true,
"data": [
{
"tradeId": "trade_001",
"symbol": "BTCUSDT",
"side": "buy",
"quantity": 0.01,
"price": "97450.50",
"total": "974.51",
"fee": "0.97",
"timestamp": 1738435234567,
"orderId": "1234567890"
},
{
"tradeId": "trade_002",
"symbol": "ETHUSDT",
"side": "sell",
"quantity": 0.5,
"price": "2650.75",
"total": "1325.38",
"fee": "1.33",
"timestamp": 1738435200000,
"orderId": "1234567891"
}
],
"total": 2,
"code": 200,
"exchange": "bybit"
}/api/jupiterTrading pair
{
"inputMint": "SOL",
"outputMint": "USDC",
"bestRoute": {
"inAmount": 1,
"outAmount": 101.52,
"priceImpact": 0.1
}
}/api/jupiter/submitSelected route object
User's public key
{
"signature": "5KtPn3...",
"status": "confirmed",
"timestamp": "2024-02-06T04:03:46Z"
}/api/jupiter/swapInput token mint address
Output token mint address
Amount to swap
Maximum slippage percentage
{
"txId": "4zJg7...",
"inputAmount": 1,
"outputAmount": 101.52,
"executedPrice": 101.52
}/api/v1/markets/hybrid-tickersMarket type filter: 'futures' or 'spot'
Minimum 24h quote volume in USD
Filter markets up by at least X% (e.g., up=10 for markets up 10%+)
Filter markets down by at least X% (e.g., down=10 for markets down 10%+)
Minimum asset price filter
Maximum asset price filter
Filter by exchange (e.g., binance, bybit, okx)
Enable spot polling ('true' or 'false')
Health check mode — returns cache status
{
"success": true,
"data": {
"spot": {
"data": [
{
"symbol": "BTCUSDT",
"lastPrice": "97450.50",
"priceChangePercent": "2.45",
"quoteVolume": "1250000000.00",
"source": "binance",
"sources": [
"binance",
"bybit"
]
}
]
},
"futures": {
"data": [
{
"symbol": "ETHUSDT",
"lastPrice": "3650.75",
"priceChangePercent": "-1.25",
"quoteVolume": "850000000.00",
"source": "bybit",
"sources": [
"bybit"
]
}
]
}
},
"cached": {
"spot": true,
"futures": true
},
"timestamp": 1742345678901
}/api/v1/markets/calendarFilter by country code (e.g., US, GB, JP)
Filter by impact level: 'Low', 'Medium', or 'High'
Search event names (case-insensitive)
Start date for date range filter
End date for date range filter
{
"success": true,
"data": {
"events": [
{
"date": "2026-03-26T14:30:00.000Z",
"country": "US",
"event": "Non-Farm Payrolls",
"currency": "USD",
"previous": 175000,
"estimate": 180000,
"actual": 185000,
"change": 10000,
"impact": "High",
"changePercentage": 5.71
}
],
"fromCache": true
}
}/api/v1/markets/funding-ratesFilter by trading pair symbol (case-insensitive, e.g., BTCUSDT)
{
"success": true,
"data": [
{
"symbol": "BTCUSDT",
"exchange": "binance",
"fundingRate": "0.00012",
"nextFundingTime": 1742348400000
},
{
"symbol": "BTCUSDT",
"exchange": "bybit",
"fundingRate": "0.00015",
"nextFundingTime": 1742348400000
}
],
"cached": true,
"timestamp": 1742345678901
}/api/v1/markets/open-interest{
"success": true,
"data": [
{
"symbol": "BTCUSDT",
"openInterest": "52431.250",
"openInterestUsd": 5112345678.5,
"price": 97500.2,
"volumeUsd": 2345678901.5,
"timestamp": 1742345678901
},
{
"symbol": "ETHUSDT",
"openInterest": "1234567.890",
"openInterestUsd": 4506789012.3,
"price": 3650.75,
"volumeUsd": 1234567890.1,
"timestamp": 1742345678901
}
],
"timestamp": 1742345678901,
"marketsCount": 5
}/api/v1/markets/listingsArray of processed ticker data to compare against known symbols (POST only)
{
"success": true,
"data": {
"newListings": [
{
"symbol": "NEWTOKEN",
"lastPrice": "1.25",
"priceChangePercent": "150.00",
"quoteVolume": "5000000.00"
}
],
"totalCount": 1542,
"previousCount": 1541
}
}/api/v1/markets/insightsSearch query for market insights (e.g., 'top AI tokens', 'DeFi movers')
Analysis type: 'summary' (default), 'analysis', or 'report'
Number of tickers to return (default: 10)
{
"success": true,
"data": {
"query": "top AI tokens by volume",
"insights": "AI-related tokens are seeing elevated volume with RENDER leading at $450M in 24h volume...",
"tickers": [
{
"symbol": "RENDERUSDT",
"lastPrice": "8.45",
"priceChangePercent": "12.3",
"quoteVolume": "450000000.00",
"description": "Leading AI/GPU rendering network"
}
],
"timestamp": 1742345678901
}
}/api/v1/markets/news{
"success": true,
"items": [
{
"title": "Bitcoin Surges Past $97K on ETF Inflows",
"url": "https://example.com/article",
"time_published": "20260326T143000",
"summary": "Spot Bitcoin ETFs recorded $1.2B in net inflows, pushing BTC to new highs...",
"source": "Reuters",
"impact_score": 85,
"sentiment": "Positive"
}
],
"timestamp": 1742345678901
}/api/v1/markets/quakes{
"success": true,
"data": {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"mag": 6.2,
"place": "45km NE of Hualien City, Taiwan",
"time": 1742340000000,
"title": "M 6.2 - 45km NE of Hualien City, Taiwan",
"alert": "yellow"
}
}
]
},
"timestamp": 1742345678901
}/api/v1/markets/volume-snapshot{
"success": true,
"data": [
{
"exchange": "binance",
"spotVolume": 12500000000,
"futuresVolume": 45000000000,
"totalVolume": 57500000000,
"marketShare": 42.5
},
{
"exchange": "bybit",
"spotVolume": 3200000000,
"futuresVolume": 18000000000,
"totalVolume": 21200000000,
"marketShare": 15.7
}
],
"cached": true,
"timestamp": 1742345678901
}/api/v1/markets/swap-volumeDaily volume to store (POST only, auto-fetched if omitted)
Date in YYYY-MM-DD format (POST only, defaults to today)
{
"success": true,
"data": [
{
"date": "2026-03-26",
"volume": 135200000000,
"timestamp": 1742345678901
},
{
"date": "2026-03-25",
"volume": 128700000000,
"timestamp": 1742259278901
}
]
}/api/v1/markets/ttc-scannerMarket symbol (e.g., BTCUSDT)
Kline interval (default: '1h'). e.g., 1h, 4h, 1d
Number of bars to analyze (default: 1000, max: 1000)
Swing detection lookback period (default: 10)
{
"success": true,
"timestamp": 1742345678901,
"params": {
"symbol": "BTCUSDT",
"timeframe": "1h",
"bars": 1000,
"swingStrength": 10
},
"data": {
"symbol": "BTCUSDT",
"price": 97450.5,
"scans": [
{
"pivotType": "high",
"pivotPrice": 98200,
"pivotTime": 1742300000000,
"lines": []
}
],
"scoring": {
"bullish": 65,
"bearish": 35,
"composite": 65
},
"signal": {
"direction": "LONG",
"strength": 72,
"confidence": "MEDIUM",
"entry": 97450.5,
"stopLoss": 96200,
"takeProfit1": 98500,
"takeProfit2": 99800,
"takeProfit3": 101500,
"riskRewardRatio": 2.4,
"reasoning": "Price holding above quadrant support zone at 1x1 line from recent swing low"
}
}
}