Skip to main content
ODAI includes four financial integrations covering bank accounts, stock market data, cryptocurrency prices, and currency conversion. Plaid requires OAuth-style account linking. The others authenticate via server-side API keys.
Plaid grants real access to your bank and credit card accounts. ODAI uses your access token only to read balances and transactions — it cannot move money or initiate transfers.
Authentication: Plaid Link (OAuth-style bank account connection — user action required)Plaid connects ODAI to your bank accounts, credit cards, and investment accounts through the Plaid API. Once you complete the Plaid Link flow, ODAI can retrieve live balances and up to 30 days of transaction history (production) or extended history (sandbox).Sandbox vs productionThe Plaid environment is selected automatically based on the production setting in your configuration:
if not SETTINGS.production:
    configuration = plaid.Configuration(host=plaid.Environment.Sandbox, ...)
else:
    configuration = plaid.Configuration(host=plaid.Environment.Production, ...)
In sandbox mode, transaction history spans from January 2024 to December 2025 using Plaid’s test data. In production mode, transactions cover the last 30 days of real account activity.Capabilities:
  • Retrieve real-time balances for all connected accounts (checking, savings, credit cards)
  • View current balance, available balance, and credit limits
  • Fetch transaction history with merchant names, categories, and amounts
  • Identify recurring subscriptions and charges
  • Analyze spending by category (Food, Travel, Shopping, etc.)
Transaction amount convention: Debits (withdrawals/spending) appear as positive amounts. Credits (deposits/income) appear as negative amounts.Key functions (connectors/plaid_agent.py):
def get_accounts_at_plaid(wrapper) -> dict
Retrieves real-time balances for all connected financial accounts. Returns account names, types (checking/savings/credit), last 4 digits, available balance, current balance, and credit limits.
def get_transactions_at_plaid(wrapper) -> dict
Retrieves transaction history for all connected accounts. Transactions are grouped by account and include date, merchant name, category, amount, and pending/posted status. Returns last 30 days in production; January 2024–December 2025 in sandbox.Example prompts:
  • What’s the balance of my checking account?
  • Show me recent transactions on my savings account
  • List all my linked bank accounts
  • Find any large deposits in the last month
Authentication: Finnhub API key (server-side, no user action required)Finnhub provides real-time stock quotes and financial statements for publicly traded companies. You can retrieve the current price, daily change, open/high/low, and full reported financials (annual or quarterly).Capabilities:
  • Real-time stock quotes with price, change, percent change, open, high, and low
  • Annual financial statements (income statement, balance sheet, cash flow)
  • Quarterly financial statements with year and quarter selection
  • Company profile lookup by ticker symbol
Key functions (connectors/finnhub_agent.py):
def get_stock_price_at_finnhub(wrapper, symbol: str) -> dict
Returns the current price and trading data for the given ticker symbol, including change, percent change, open, high, low, and company profile.
def get_annual_financials_at_finnhub(
    wrapper,
    symbol: str,
    year: Optional[int] = None,
    most_recent: bool = True,
) -> dict
Retrieves annual reported financials. Pass most_recent=True (default) for the latest filing, or specify a year for a historical report.
def get_quarterly_stock_financials_at_finnhub(
    wrapper,
    symbol: str,
    year: int,
    quarter: int,
    most_recent: bool = True,
) -> dict
Retrieves quarterly reported financials. quarter must be 1–4. Pass most_recent=True for the latest quarter.Example prompts:
  • What’s the current price of Tesla stock?
  • How did Apple stock perform today?
  • Give me details on Apple’s Cash Flow
Authentication: CoinMarketCap API key (server-side, no user action required)CoinMarketCap delivers real-time cryptocurrency prices and market data. Provide any standard ticker symbol (BTC, ETH, SOL, DOGE, etc.) to get the current price, market cap, 24-hour volume, and percentage changes.Capabilities:
  • Current price for any cryptocurrency by ticker symbol
  • Market cap, 24-hour trading volume
  • Percentage change (1h, 24h, 7d)
  • Full market data from the CoinMarketCap Pro API
Key functions (connectors/coinmarketcap.py):
def check_crypto_price_at_coinmarketcap(crypto_symbol: str) -> dict
Fetches the latest quote for the given cryptocurrency symbol from the CoinMarketCap Pro API. Returns price, market cap, volume, and percentage changes.Example prompts:
  • What’s the price of Bitcoin right now?
  • Show me today’s change for Ethereum
  • Check the current price of Dogecoin
Authentication: API key (server-side, no user action required)The Exchange Rate agent converts between any two currencies using live exchange rates.Capabilities:
  • Convert a specific amount between two currencies
  • Retrieve the current exchange rate between any currency pair
  • Supports all major and minor ISO 4217 currency codes
Example prompts:
  • How much is $100 in Euros?
  • What is the exchange rate for Canadian Dollars to Euros?

Build docs developers (and LLMs) love