Skip to main content

Supported Broker Integrations

Deltalytix offers multiple methods to import and synchronize your trading data automatically. Choose the integration that works best with your trading platform.

Available Integrations

Tradovate

OAuth-based API integration with automatic trade synchronization for futures trading

Rithmic

Real-time synchronization with Rithmic trading platform

Interactive Brokers

Import trades from IBKR PDF statements with AI-powered extraction

CSV Import

Universal CSV import with AI-powered field mapping for any broker

How Broker Integrations Work

Authentication

Each integration uses secure authentication methods:
  • Tradovate: OAuth 2.0 flow with access token renewal
  • Rithmic: Account credentials stored securely in the Synchronization table
  • Interactive Brokers: File-based import (no credentials needed)
  • CSV Import: File-based import (no credentials needed)

Data Synchronization

All integrations store synchronization state in the Synchronization database table:
interface Synchronization {
  userId: string
  service: 'tradovate' | 'rithmic' | 'csv'
  accountId: string
  token?: string              // OAuth access token (Tradovate)
  tokenExpiresAt?: Date       // Token expiration
  lastSyncedAt: Date          // Last successful sync
  createdAt: Date
  updatedAt: Date
}

Trade Processing

All imported trades are converted to the standard Deltalytix trade format:
interface Trade {
  id: string                  // Deterministic trade ID
  accountNumber: string       // Account identifier
  instrument: string          // Trading symbol (e.g., ES, NQ, EURUSD)
  quantity: number            // Number of contracts/units
  entryPrice: string          // Entry price
  closePrice: string          // Exit price
  entryDate: string           // ISO 8601 timestamp
  closeDate: string           // ISO 8601 timestamp
  entryId: string             // Buy transaction ID
  closeId: string             // Sell transaction ID
  pnl: number                 // Profit/loss in dollars
  commission: number          // Total commission
  timeInPosition: number      // Duration in seconds
  side: string                // 'Long' or 'Short'
  userId: string              // User ID
  tags: string[]              // Integration tags
}

API Endpoints

All broker integrations expose standardized REST API endpoints:

Synchronization Management

// Tradovate
GET /api/tradovate/synchronizations

// Rithmic
GET /api/rithmic/synchronizations

Response: {
  success: boolean
  data: Synchronization[]
}

Data Synchronization

POST Sync Trades
// Tradovate
POST /api/tradovate/sync

Body: { accountId: string }

Response: {
  success: boolean
  savedCount: number
  ordersCount: number
  message: string
}

Error Handling

All integration APIs return consistent error responses:
{
  success: false,
  message: "Error description"
}
Common error scenarios:
  • Authentication Failed: Invalid or expired credentials/tokens
  • Token Expired: OAuth token needs renewal (Tradovate)
  • No Data Found: No trades available to sync
  • API Rate Limit: Too many requests to broker API
  • User Not Authenticated: User session expired

Security Considerations

All sensitive credentials are encrypted and stored securely in the database. Never expose access tokens or API credentials in client-side code.

Token Management

  • OAuth tokens are automatically renewed before expiration
  • Tokens are stored with user-specific encryption
  • Token removal permanently deletes all associated data

Data Privacy

  • Trade data is isolated per user (userId field)
  • Account identifiers are obfuscated in logs
  • API credentials never appear in response bodies

Next Steps

Set Up Tradovate

Connect your Tradovate account with OAuth

Configure Rithmic

Set up Rithmic synchronization

Import IBKR Statements

Upload Interactive Brokers PDF statements

Import CSV Files

Import trades from any broker via CSV

Build docs developers (and LLMs) love