Banking
Alpaca
API integration
Ship Banking features without building the integration. Full Alpaca API access via Proxy and 130+ MCP-ready tools for AI agents — extend models and mappings to fit your product.
Talk to usUse Cases
Why integrate with Alpaca
Common scenarios for SaaS companies building Alpaca integrations for their customers.
Launch an algorithmic trading platform
Let your users connect their Alpaca accounts via OAuth so your SaaS can execute strategy-driven trades on their behalf. Truto handles the auth handshake and normalizes order placement, position reads, and execution events.
Embed US stock investing in a global fintech app
Use Alpaca as your clearing broker to onboard end users, run KYC, link banks, and offer fractional US equity trading. Truto lets you ship account creation, ACH linking, and order flows without building direct Alpaca plumbing.
Power a portfolio analytics or advisor dashboard
Pull positions, portfolio history, and account activities from users' Alpaca accounts to generate performance reports, risk metrics, and client-facing dashboards. Truto normalizes read access so you can focus on analytics, not API quirks.
Run a treasury and journaling layer for sub-accounts
For SaaS platforms operating pooled accounts, use Alpaca journals to move funds between master and end-user sub-accounts for rewards, referrals, or fractional allocation — all orchestrated through Truto.
Build a market data–driven screener or charting product
Use Alpaca's historical bars, quotes, trades, snapshots, and news through Truto to power screeners, charts, and research tools without operating a market data pipeline yourself.
What You Can Build
Ship these features with Truto + Alpaca
Concrete product features your team can ship faster by leveraging Truto’s Alpaca integration instead of building from scratch.
OAuth-based Alpaca account linking
Let end users securely connect their existing Alpaca brokerage accounts to your product using Alpaca's OAuth authorize and token endpoints.
Multi-asset order placement and management
Submit, update, and cancel equity, options, and crypto orders — including fractional and notional orders — with a normalized order model across asset classes.
Automated account onboarding and KYC
Programmatically create brokerage accounts, upload identity documents, and link ACH relationships to onboard end users into a fully-disclosed embedded brokerage.
Positions and portfolio history sync
Continuously read positions, account balances, and portfolio equity/P&L history to display real-time portfolio health inside your app.
Trade execution and account status event feeds
Subscribe to Alpaca's trade event and account status streams to react to fills, cancellations, and KYC approvals as they happen.
Watchlists and options chain browsing
Let users build and manage watchlists, browse option contracts, and issue locate requests for short-selling workflows directly from your UI.
SuperAI
Alpaca AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
list_all_alpaca_stocks_bars
List aggregate historical OHLCV bar data for multiple stock symbols in Alpaca over a specified time period. Returns bars keyed by symbol, each with t (timestamp), o (open), h (high), l (low), c (close), v (volume), n (trade count), and vw (volume-weighted average price). Required: symbols.
list_all_alpaca_bars_latests
Get the latest bar data for a single crypto symbol in Alpaca. Returns: symbol, bar. Required: symbol.
list_all_alpaca_stock_bars
List aggregate historical bars for a single stock symbol in Alpaca. Returns: bars, symbol. Required: symbol.
list_all_alpaca_stocks_trades
List historical trade data for multiple Alpaca stock symbols over a specified time period. Returns: trades, next_page_token. Required: symbols.
list_all_alpaca_trades_latests
Get the latest trade for a single crypto symbol in Alpaca. Returns the queried symbol and a trade object with timestamp (t), exchange (x), price (p), size (s), taker side (tks), and trade ID (i). Required: symbol.
list_all_alpaca_stock_trades
Trades. Required: symbol.
list_all_alpaca_stocks_quotes
List NBBO quotes for multiple Alpaca stock symbols over a specified time period. Returns the quotes object — a map of symbol to arrays of NBBO quote objects including t, ax, ap, as, bx, bp, bs, c, z — plus next_page_token. Required: symbols. Results sorted by symbol then timestamp; the first page may contain only one symbol if it fills the page limit.
list_all_alpaca_quotes_latests
Get the latest quote for a single crypto symbol in Alpaca. Returns the symbol and a quote object containing timestamp, exchange, bid price, bid size, ask price, and ask size. Required: symbol.
list_all_alpaca_stock_quotes
List NBBO quotes for a single stock symbol in Alpaca. Returns: t, ax, ap, as, bx, bp, bs, c, z. Required: symbol.
list_all_alpaca_stocks_snapshots
List snapshots for multiple stock symbols in Alpaca, providing the latest trade, latest quote, minute bar, daily bar, and previous daily bar for each requested ticker. Returns: latestTrade, latestQuote, minuteBar, dailyBar, prevDailyBar. Required: symbols.
list_all_alpaca_stock_snapshots
Get a market data snapshot for a single Alpaca stock symbol, including the latest trade, latest quote, minute bar, daily bar, and previous daily bar. Returns: symbol, latestTrade, latestQuote, minuteBar, dailyBar, prevDailyBar. Required: symbol.
list_all_alpaca_crypto_trades
List historical crypto trade data for multiple symbols from Alpaca. Returns trades grouped by symbol, each trade including timestamp (t), exchange (x), price (p), size (s), taker side (tks), and trade id (i), plus a next_page_token for pagination. Required: symbols. Results are sorted by symbol then by trade timestamp, so early pages may contain only one symbol.
list_all_alpaca_trades
List historical trade data for a single crypto symbol in Alpaca. Returns trades with timestamp (t), exchange (x), price (p), size (s), taker side (tks), and trade id (i). Required: symbol.
list_all_alpaca_crypto_bars
List aggregate historical bar data for multiple Alpaca crypto symbols over a given time range. Returns: bars, next_page_token. Required: symbols.
list_all_alpaca_bars
List historical OHLCV bar data for a single crypto symbol in Alpaca. Returns: bars, symbol, next_page_token. Required: symbol.
list_all_alpaca_crypto_quotes
List historical quotes for multiple Alpaca crypto symbols within a time range. Returns per quote: t (timestamp), x (exchange), bp (bid price), bs (bid size), ap (ask price), as (ask size). Required: symbols. Results are sorted by symbol then quote timestamp, so the first page may contain only one symbol.
list_all_alpaca_quotes
List historical quotes for a single Alpaca crypto symbol filtered by time range and exchange. Returns each quote with t (timestamp), x (exchange), bp (bid price), bs (bid size), ap (ask price), and as (ask size). Required: symbol.
list_all_alpaca_crypto_snapshots
List snapshots for multiple Alpaca crypto symbols in a single request. Returns the latest trade, latest quote, minute bar, daily bar, and previous daily bar for each requested symbol. Required: symbols.
list_all_alpaca_snapshots
Get a crypto market snapshot from Alpaca for a single symbol, including the latest trade, latest quote, minute bar, daily bar, and previous daily bar. Returns: symbol, latestTrade, latestQuote, minuteBar, dailyBar, prevDailyBar. Required: symbol.
list_all_alpaca_xbbos_latests
Get the latest crypto XBBO (Cross-Exchange Best Bid and Offer) across multiple exchanges for multiple symbols from Alpaca. Returns: xbbos. Required: symbols.
list_all_alpaca_xbbo_latests
Get the latest XBBO (Cross-Exchange Best Bid and Offer) for a single crypto symbol from Alpaca, calculating the best bid and offer across multiple exchanges. Returns the XBBO object including the symbol, timestamp, best ask exchange, ask price, ask size, best bid exchange, bid price, and bid size. Required: symbol.
list_all_alpaca_meta_spreads
List crypto spreads for each exchange Alpaca supports, expressed in basis points. Returns: spreads.
list_all_alpaca_news
List latest news articles across stocks and crypto from Alpaca. Returns articles with id, headline, author, created_at, updated_at, summary, content, url, images, symbols, and source. By default returns the latest 10 articles.
list_all_alpaca_movers
List top market movers (gainers and losers) by market type from Alpaca. Returns: gainers, losers, market_type, last_updated. Required: market_type. The optional top parameter controls how many of each to fetch (maximum 50, defaults to 10).
list_all_alpaca_logos
Get the logo image for a crypto or stock symbol from Alpaca. Returns the requested logo as a binary image file (e.g., PNG, SVG). When placeholder is true (the default), Alpaca generates a placeholder image if no logo is found for the symbol; a 404 is only returned when placeholder is false. Required: crypto_or_stock_symbol.
list_all_alpaca_meta_exchanges
List the stock exchanges supported by Alpaca. Returns a map of exchange short-form codes (A, B, C, N, Q, V, etc.) to their respective full names.
list_all_alpaca_meta_conditions
List Alpaca trade and quote condition codes mapped to plain text descriptions for a given condition type and tape. Returns a JSON object mapping condition codes (e.g. " ", "4", "F") to description strings. Required: type, tape.
list_all_alpaca_accounts
List Alpaca brokerage accounts with optional filtering by search tokens, creation date range, and status. Returns: id, created_at. Up to 1000 items per query ordered by created_at; use created_after to scroll results.
create_a_alpaca_account
Create a new trading account in Alpaca by submitting an account application with KYC information. Returns: id, created_at. The account status may not be ACTIVE immediately; status updates are delivered via the event API. Required: a request body conforming to the AccountCreationRequest schema.
get_single_alpaca_account_by_id
Get a single Alpaca brokerage account by id. Returns: id, created_at. Required: id.
update_a_alpaca_account_by_id
Update an existing Alpaca brokerage account's information. Returns: id, created_at. Required: id and a request body conforming to the AccountUpdateRequest schema.
delete_a_alpaca_account_by_id
Close an active Alpaca brokerage account by id. Returns an empty 204 response on success. Required: id.
alpaca_accounts_get_trading_account
Retrieve trading details for an Alpaca broker account. Returns the Trading Account model with the account's trading-specific details. Required: account_id.
list_all_alpaca_account_documents
List all documents belonging to a specific Alpaca account, filterable by date range and document type. Returns each document's id, type, and date. Required: account_id.
create_a_alpaca_documents_upload
Upload a base64-encoded document to an existing Alpaca account for KYC or other compliance purposes. Returns an empty 204 response on success. Required: account_id. Encoded content size is limited to 10MB when using Alpaca for KYCaaS; no size limitation applies if you perform your own KYC.
list_all_alpaca_document_downloads
Download a document PDF that belongs to an Alpaca account. The endpoint returns a 301 redirect to a pre-signed downloadable link for the PDF file; no JSON body is returned. Required: account_id, document_id.
get_single_alpaca_document_by_id
Download an Alpaca document file directly by id. The operation returns a 301 redirect to a pre-signed downloadable link for the document PDF file; no response body is returned. Required: id.
list_all_alpaca_account_recipient_banks
List bank relationships for an Alpaca account, filterable by status and bank name. Returns: id, bank_name, status, created_at, updated_at. Required: account_id.
create_a_alpaca_account_recipient_bank
Create a bank relationship for an Alpaca account. Returns: id, bank_name, status, created_at, updated_at. Required: account_id, bank_name.
delete_a_alpaca_account_recipient_bank_by_id
Delete a bank relationship for an Alpaca account by id. Returns an empty 204 response on success. Required: account_id, id.
list_all_alpaca_account_transfers
List transfers for an Alpaca account, optionally filtered by transfer direction. Returns each transfer with id, relationship_id, bank_id, account_id, type, status, reason, amount, direction, created_at, updated_at, expires_at, and additional_information. Required: account_id.
create_a_alpaca_account_transfer
Create a new transfer to fund an Alpaca account. Returns the created transfer object including id, account_id, type, status, amount, and direction. Required: account_id. In production, only outgoing wire withdrawals are supported and a bank resource must be created first via the Bank API.
delete_a_alpaca_account_transfer_by_id
Cancel an Alpaca account transfer by requesting to close it. Returns an empty 204 response on success. Required: account_id, id.
list_all_alpaca_accounts_activities
List Alpaca account activities with optional filtering by account, date, and chronological direction. Returns: id. The after parameter cannot be used with date.
alpaca_accounts_activities_list_by_type
List Alpaca account activities for a specific activity type, with optional filtering by account and date range. Returns: id, activity_type, date, account_id. Required: activity_type.
list_all_alpaca_account_ach_relationships
List ACH relationships for an Alpaca account, optionally filtered by status. Returns: id. Required: account_id.
create_a_alpaca_account_ach_relationship
Create a new ACH relationship for an Alpaca account. Returns the newly created ACH relationship including id and status. Required: account_id. The request fails if the account already has an active relationship.
delete_a_alpaca_account_ach_relationship_by_id
Delete an existing ACH relationship for an Alpaca account. Returns an empty 204 response on success. Required: account_id, id.
delete_a_alpaca_account_position_by_id
Close (liquidate) all open long and short positions for an Alpaca trading account. Returns an array of close responses with symbol, status, and body (the order created to close each position). Required: account_id, id.
alpaca_account_positions_delete_all
Close (liquidate) all open long and short positions for an Alpaca trading account. Returns a 207 Multi-Status array where each item includes symbol, status (HTTP code), and body containing the full order object (id, side, qty, order_type, status, created_at, submitted_at). Required: account_id. If an order is no longer cancelable, the server responds with status 500.
get_single_alpaca_account_position_by_id
Get a specific open position in an Alpaca trading account by symbol or asset id. Returns the position object including asset_id, symbol, qty, avg_entry_price, side, market_value, cost_basis, and unrealized_pl. Required: account_id, id.
list_all_alpaca_account_orders
List orders for an Alpaca trading account. Returns the Order object including id, client_order_id, symbol, asset_class, qty, filled_qty, status, side, type, time_in_force, created_at, updated_at, and submitted_at. Required: account_id.
update_a_alpaca_account_order_by_id
Replace a single Alpaca order with updated parameters that override the existing order; unmodified attributes remain unchanged. Returns a new Order object with a new id, including symbol, qty, status, side, type, time_in_force, created_at, and updated_at. Required: account_id, id. qty and notional are mutually exclusive; non-IPO notional orders cannot be replaced.
delete_a_alpaca_account_order_by_id
Cancel an open Alpaca order by id. If the order is no longer cancelable (e.g. status is filled), the request is rejected with 422. Returns an empty 204 response on success. Required: account_id, id.
create_a_alpaca_account_order
Create a new order for an Alpaca trading account. Returns the Order object including id, status, symbol, qty, filled_qty, side, type, time_in_force, created_at, and submitted_at. Required: account_id, type, time_in_force. qty and notional are mutually exclusive; symbol and side are required for all order classes except mleg.
get_single_alpaca_account_order_by_id
Get a single order from an Alpaca trading account by id. Returns the Order object including id, status, symbol, qty, side, type, time_in_force, created_at, and filled_qty. Required: account_id, id.
alpaca_account_orders_delete_all
Cancel all open orders for an Alpaca trading account. Returns a 207 Multi-Status response containing an array of cancellation results, each with the order id and HTTP status code. Required: account_id.
list_all_alpaca_assets
List all Alpaca assets available for trade and data consumption. Returns: id. Filter by asset status (active, inactive, or all) and asset class (us_equity or crypto).
get_single_alpaca_asset_by_id
Get a single Alpaca asset by id (UUID, symbol, or CUSIP). Returns: id. Required: id.
alpaca_assets_list_trading
List Alpaca assets available for trade and data consumption, sorted by asset class, exchange and symbol. Returns: id, issuer, network. Filter by status, asset_class, exchange, and attributes.
alpaca_assets_get_trading
Get a single Alpaca asset by symbol, asset_id or CUSIP for US equities. Returns: id, issuer, network. Required: asset_id.
list_all_alpaca_calendars
List Alpaca market calendar days from 1970 to 2029, optionally filtered by an inclusive date range. Returns each market day with its date, open time, and close time, accounting for early closures. Accepts optional start and end dates in YYYY-MM-DD format.
list_all_alpaca_clocks
Query the Alpaca market clock to get the current market timestamp, whether the market is open, and the next open and close times. Returns: timestamp, is_open, next_open, next_close.
list_all_alpaca_accounts_status
List Alpaca account status events as an SSE stream. Historical events are streamed when since or since_id is provided, and live updates are pushed as they occur. Returns the account status event object including its id and event-specific attributes. The since and since_id parameters are mutually exclusive; since is required when until is specified, and since_id is required when until_id is…
list_all_alpaca_journals_status
List journal status events from Alpaca via SSE streaming, receiving status updates as journals are processed by the backoffice. Returns: id. No historical events are returned unless since or since_id is supplied. The params since and since_id are mutually exclusive; since is required when until is given, and since_id is required when until_id is given.
list_all_alpaca_transfers_status
Subscribe to Alpaca transfer status events via SSE, receiving real-time and historical transfer status updates for end-user and firm accounts. Returns: id, type, created_at, updated_at. If until is specified, since is required; if until_id is specified, since_id is required; since and since_id are mutually exclusive. Without since or since_id, no historical data is returned.
list_all_alpaca_events_trades
List Alpaca trade update events streamed via SSE. Historical events are returned immediately when since or since_id is provided; live updates are pushed as they occur. Returns trade update event records (id, attributes) whose fields follow the upstream TradeUpdateEvent schema. since and since_id are mutually exclusive; until requires since, and until_id requires since_id. Without since or…
list_all_alpaca_journals
List Alpaca journals with optional filtering by creation date, status, entry type, and source or destination account. Returns: id.
create_a_alpaca_journal
Create a journal in Alpaca to move cash (JNLC) or shares (JNLS) between accounts. New journals start in pending status and are subject to approval. Returns: id, entry_type, from_account, to_account, amount, status. Required: entry_type, from_account, to_account, amount.
delete_a_alpaca_journal_by_id
Cancel a pending Alpaca journal by id. Only journals still in pending status can be deleted; executed journals cannot be canceled. Returns an empty 204 response on success. Required: id.
create_a_alpaca_journals_batch
Create a batch of Alpaca journal transactions (one-to-many) from one source account to multiple destination accounts. Returns an array of journal objects including id, entry_type, from_account, to_account, amount, status, and error_message for any account that fails. Only JNLC journals are supported; every request must be valid for the batch to succeed. Required: entry_type, from_account,…
get_single_alpaca_oauth_client_by_id
Get a specific Alpaca OAuth client by id to display its details on an authorization page. Returns: client_id, name, description, url, terms_of_use, privacy_policy, status, redirect_uri, live_trading_approved. Required: id.
create_a_alpaca_oauth_token
Issue an OAuth token in Alpaca for use in the OAuth code flow. Returns: access_token, token_type, scope. Required: account_id, client_id, client_secret, redirect_uri, scope.
create_a_alpaca_oauth_authorize
Authorize an OAuth token in Alpaca by issuing an OAuth code for use in the OAuth code flow. Returns: code. Required: account_id, client_id, client_secret, redirect_uri, scope.
list_all_alpaca_account_watchlists
List all watchlists for an Alpaca trading account. Returns: id, name, and assets for each watchlist. Required: account_id.
create_a_alpaca_account_watchlist
Create a new watchlist for an Alpaca trading account with an initial set of asset symbols. Returns the created watchlist object including id, account_id, name, created_at, updated_at, and assets. Required: account_id, name.
update_a_alpaca_account_watchlist_by_id
Update an existing Alpaca account watchlist, replacing its entire set of securities and optionally renaming it. Returns the updated watchlist including id, account_id, name, created_at, and updated_at. Required: account_id, id, name. This is a destructive operation that replaces all securities in the watchlist.
delete_a_alpaca_account_watchlist_by_id
Delete an Alpaca watchlist by id for a specific account. The deletion is irrevocable. Returns an empty 200 response on success. Required: account_id, id.
get_single_alpaca_account_watchlist_by_id
Get a single Alpaca watchlist by id for a specific account. Returns the watchlist object including its id, account_id, name, assets, created_at, and updated_at. Required: account_id, id.
list_all_alpaca_corporate_actions_announcements
List corporate action announcements from Alpaca by type and date range. Returns an array of announcements including id, ca_type, ex_date, record_date, and payable_date. Required: ca_types, since, until. The date range is limited to 90 days.
list_all_alpaca_account
Get your Alpaca trading account details. Returns: id, account_number, status, cash, equity, buying_power, portfolio_value. No parameters required.
alpaca_account_get_config
Get the current Alpaca account configuration values controlling trading settings. Returns: disable_overnight_trading, fractional_trading, max_margin_multiplier, max_options_trading_level, no_shorting, ptp_no_exception_entry, suspend_trade, trade_confirm_email.
alpaca_account_bulk_update
Update Alpaca account configuration settings such as fractional trading, margin multiplier, and options trading level. Returns: disable_overnight_trading, fractional_trading, max_margin_multiplier, max_options_trading_level, no_shorting, ptp_no_exception_entry, suspend_trade, trade_confirm_email.
list_all_alpaca_option_contracts
List Alpaca option contracts with filtering by underlying symbol, status, expiration date range, strike price range, type, style, root symbol, and penny-program eligibility. Returns: id, symbol, underlying_symbol, root_symbol, expiration_date, strike_price, type, style, status, deliverables, ppind. Max 10000 contracts per page.
get_single_alpaca_option_contract_by_id
Get a single Alpaca option contract by its symbol or contract ID. Returns the contract object including id, symbol, status, type, style, strike_price, expiration_date, underlying_symbol, root_symbol, ppind, and deliverables. Required: id.
create_a_alpaca_order
Create a new order in Alpaca. Returns the created order object including id, client_order_id, status, symbol, qty, side, type, time_in_force, created_at, and submitted_at. Required: type, time_in_force.
list_all_alpaca_orders
List orders in Alpaca filtered by status, symbols, side, asset class, and submission time. Returns an array of order objects with id, client_order_id, status, symbol, qty, side, type, time_in_force, created_at, and submitted_at. Max 500 per page.
alpaca_orders_delete_all
Cancel all open orders in Alpaca. Returns an array of objects with id and status for each cancellation attempt.
alpaca_orders_get_by_client_order_id
Get a single Alpaca order by its client-assigned order ID. Returns: id, client_order_id, created_at, updated_at, submitted_at, filled_at, expired_at, canceled_at, failed_at, replaced_at, replaced_by, replaces, asset_id, symbol, asset_class, notional, qty, filled_qty, filled_avg_price, order_class, order_type, type, side, time_in_force, limit_price, stop_price, status, extended_hours, legs,…
get_single_alpaca_order_by_id
Get a single Alpaca order by its server-assigned order ID. Returns: id, client_order_id, created_at, updated_at, submitted_at, filled_at, expired_at, canceled_at, failed_at, replaced_at, replaced_by, replaces, asset_id, symbol, asset_class, notional, qty, filled_qty, filled_avg_price, order_class, order_type, type, side, time_in_force, limit_price, stop_price, status, extended_hours, legs,…
update_a_alpaca_order_by_id
Replace a single Alpaca order by id with updated parameters. Returns the new Order object including id, client_order_id, status, symbol, qty, side, type, time_in_force, and created_at. Required: id. qty and notional are mutually exclusive; notional is only valid for IPO indications of interest.
delete_a_alpaca_order_by_id
Cancel an open Alpaca order by id. Returns an empty 204 response on success. Required: id. The order must be in a cancelable status; a 422 is returned if the order status is not cancelable.
list_all_alpaca_positions
List all open positions in an Alpaca trading account. Returns: asset_id, symbol.
alpaca_positions_delete_all
Close (liquidate) all open long and short positions in an Alpaca account, optionally canceling open orders first. Returns an array of PositionClosed responses, each containing symbol, status, and the order body.
get_single_alpaca_position_by_id
Get a single open position in an Alpaca account by symbol or asset id. Returns: asset_id, symbol. Required: id.
delete_a_alpaca_position_by_id
Close (liquidate) an open position in an Alpaca account by symbol or asset id, optionally specifying a quantity or percentage to liquidate. Returns the order created to close the position including id, symbol, qty, side, and status. Required: id. qty and percentage are mutually exclusive.
alpaca_positions_exercise_option
Exercise an options position in an Alpaca account by contract symbol or ID. Returns: message. Required: symbol_or_asset_id.
alpaca_positions_do_not_exercise
Submit a do-not-exercise (DNE) instruction for a held option contract in Alpaca to prevent automatic exercise at expiry. Returns a success confirmation. Required: symbol_or_asset_id.
alpaca_account_portfolio_get_history
Get timeseries equity and profit/loss (P/L) history for the Alpaca account over a requested timespan. Returns: timestamp, equity, profit_loss, profit_loss_pct, base_value, base_value_asof, timeframe. Only two of start, end, and period may be specified simultaneously; intraday timeframes (<1D) are limited to 30 days or less.
list_all_alpaca_watchlists
List all watchlists registered under the account in Alpaca. Returns: id, account_id, name, assets, created_at, updated_at.
create_a_alpaca_watchlist
Create a new watchlist in Alpaca with an initial set of asset symbols. Returns the created watchlist object including its id, name, account_id, assets, created_at, and updated_at. Required: name.
get_single_alpaca_watchlist_by_id
Get a single Alpaca watchlist by its id. Returns the full watchlist object including its id, account_id, name, and the array of assets it contains. Required: id.
update_a_alpaca_watchlist_by_id
Update the name and/or content of an Alpaca watchlist by id. Returns the updated watchlist object including its id, name, and asset symbols. Required: id. The request body accepts a new watchlist name and a list of asset symbols to replace the current contents.
alpaca_watchlists_add_asset
Add an asset to an existing Alpaca watchlist by appending its symbol to the end of the watchlist's asset list. Returns the updated watchlist including its id, account_id, name, created_at, updated_at, and assets. Required: watchlist_id, symbol.
delete_a_alpaca_watchlist_by_id
Delete an Alpaca watchlist by id. This is a permanent deletion. Returns an empty 204 response on success. Required: id.
alpaca_watchlists_get_by_name
Get an Alpaca watchlist by its name. Returns: account_id, id, name, created_at, updated_at, assets. Required: name.
alpaca_watchlists_add_asset_by_name
Add an asset to an Alpaca watchlist identified by name, appending the symbol to the end of the watchlist's asset list. Returns the updated watchlist including account_id, id, name, created_at, updated_at, and assets. Required: name, symbol.
alpaca_watchlists_delete_by_name
Delete an Alpaca watchlist by name. This is a permanent deletion. Returns an empty 204 response on success. Required: name.
alpaca_watchlists_remove_asset
Remove an asset from an Alpaca watchlist by symbol. Returns the updated watchlist including its id, account_id, name, created_at, updated_at, and assets. Required: watchlist_id, symbol.
alpaca_watchlists_bulk_update
Update the name and/or content of a watchlist in Alpaca by watchlist name. Returns the updated watchlist object including id, account_id, name, created_at, updated_at, and assets. Required: name.
alpaca_account_activities_list_activities
List Alpaca account activities with optional filtering by activity type, category, order, or date range. Returns an array of activities with id, activity_type, and created_at. The category and activity_types parameters are mutually exclusive. Max 100 entries per page.
alpaca_account_activities_list_activities_by_type
List Alpaca account activities filtered by a specific activity type. Returns an array of activities with id, activity_type, and created_at. Required: activity_type.
alpaca_calendar_get_calendar
Get the Alpaca market calendar of trading days from 1970 to 2029, optionally filtered by a start and end date range. Returns: date, open, close.
alpaca_calendar_get_clock
Get the Alpaca market clock showing the current market timestamp and whether the market is open. Returns: timestamp, is_open, next_open, next_close.
alpaca_calendar_get_market_calendar
Get the Alpaca market calendar for a specific market identified by MIC, BIC, or acronym code, including trading session dates and open/close times. Returns: date, open, close. Required: market.
alpaca_calendar_get_market_clock
Get market clock information for one or more Alpaca markets, including the current time, whether the market is open, and the current market phase. Returns: timestamp, is_open, next_open, next_close.
alpaca_crypto_wallets_list_wallets
List crypto funding wallets for the Alpaca account. If an asset is specified and no matching wallet exists, one will be created. Returns: id, address, asset, chain, created_at, updated_at. Supports optional filtering by asset and chain.
alpaca_crypto_wallets_list_transfers
List all crypto wallet transfers for the Alpaca account across all wallets. Returns: id, transfer_id, address, amount, asset, chain, created_at, updated_at.
alpaca_crypto_wallets_create_withdrawal
Create a crypto withdrawal from an Alpaca wallet to a whitelisted destination address. Returns: id, transfer_id, address, amount, asset, chain, created_at, updated_at. Required: address, amount, asset. Withdrawals must be sent to a whitelisted address.
alpaca_crypto_wallets_get_transfer
Get a specific Alpaca crypto wallet transfer by its transfer ID. Returns a single crypto transfer object including id, created_at, and updated_at. Required: transfer_id.
alpaca_crypto_wallets_list_whitelisted_addresses
List whitelisted withdrawal addresses for your Alpaca account. Returns an array of whitelisted address objects, each including id, address, asset, and chain.
alpaca_crypto_wallets_create_whitelisted_address
Create a whitelisted crypto withdrawal address for your Alpaca account. Returns: id, address, asset, chain. Required: address, asset.
alpaca_crypto_wallets_delete_whitelisted_address
Delete a whitelisted crypto withdrawal address from your Alpaca account. Returns an empty 204 response on success. Required: whitelisted_addresse_id.
alpaca_crypto_wallets_get_transfer_estimate
Get an estimated on-chain network (gas) fee for a proposed crypto withdrawal from Alpaca. Returns: fee. Required: asset, from_address, to_address, amount.
alpaca_tokenization_mint
Mint a tokenized asset on Alpaca's Instant Tokenization Network. Returns the created tokenization request including tokenization_request_id, client_request_id, type, status, issuer, network, underlying_symbol, qty, and wallet_address. Required: issuer, network, qty, underlying_symbol, wallet_address.
list_all_alpaca_tokenization
List tokenization requests on Alpaca's Instant Tokenization Network. Returns each request with tokenization_request_id, client_request_id, type, status, issuer, network, underlying_symbol, qty, and wallet_address.
get_single_alpaca_tokenization_by_id
Get a single Alpaca tokenization request by id. Returns tokenization_request_id, client_request_id, type, status, issuer, network, underlying_symbol, qty, and wallet_address. Required: id.
alpaca_tokenization_get_by_client_request_id
Get a single Alpaca mint tokenization request by client_request_id. Returns tokenization_request_id, client_request_id, type, status, issuer, network, underlying_symbol, qty, and wallet_address. Required: client_request_id.
list_all_alpaca_locates
List Alpaca locates filtered by status, symbol, or date range, sorted by created_at descending. Returns: id, symbol, status, qty, created_at.
create_a_alpaca_locate
Create an Alpaca locate request to locate shares for a short sale. Returns: id, symbol, qty, status, created_at, all_or_none, limit_price. Required: symbol, qty. Qty must be positive and in round lots of 100; invalid quantities return HTTP 400.
alpaca_corporate_actions_list_announcements
List Alpaca corporate action announcements filtered by type and date range. Returns: id, ca_type, symbol, cusip, declaration_date, ex_date, record_date, payable_date. Required: ca_types, since, until. The date range is limited to 90 days. This endpoint is deprecated.
alpaca_corporate_actions_get_announcement
Get a single Alpaca corporate action announcement by id. Returns: id, ca_type, symbol, cusip, declaration_date, ex_date, record_date, payable_date. Required: announcement_id. This endpoint is deprecated.
list_all_alpaca_stock_bars_latests
Get the latest bar for a single Alpaca stock symbol. Returns: symbol, bar. Required: symbol.
list_all_alpaca_crypto_bars_latests
Get the latest bars for multiple crypto symbols from Alpaca, optionally filtered by exchange. Returns a bars map keyed by symbol, each bar containing timestamp (t), exchange (x), open (o), high (h), low (l), close (c), volume (v), trade count (n), and volume-weighted average price (vw). Required: symbols.
list_all_alpaca_stocks_trades_latests
Get the latest trades for multiple Alpaca stock symbols. Returns a trades object keyed by symbol, each containing the trade timestamp (t), exchange (x), price (p), size (s), conditions (c), trade id (i), and tape (z). Required: symbols.
list_all_alpaca_stock_trades_latests
Get the latest trade data for a single stock symbol in Alpaca. Returns: symbol, trade. Required: symbol.
list_all_alpaca_stocks_quotes_latests
Get the latest quotes for multiple Alpaca stock symbols at once. Returns a quote object per symbol with timestamp (t), ask exchange/price/size (ax, ap, as), bid exchange/price/size (bx, bp, bs), condition codes (c), and tape (z). Required: symbols.
list_all_alpaca_stock_quotes_latests
Get the latest quote for a single stock symbol in Alpaca. Returns: symbol, quote. Required: symbol.
list_all_alpaca_crypto_quotes_latests
Get the latest quotes for multiple crypto symbols in Alpaca. Returns a quotes map keyed by symbol, each containing the quote timestamp (t), exchange (x), bid price (bp), bid size (bs), ask price (ap), and ask size (as). Required: symbols.
Why Truto
Why use Truto’s MCP server for Alpaca
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 650+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
How It Works
From zero to integrated
Go live with Alpaca in under an hour. No boilerplate, no maintenance burden.
Link your customer’s Alpaca account
Use Truto’s frontend SDK to connect your customer’s Alpaca account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call Alpaca
Truto’s Proxy API is a 1-to-1 mapping of the Alpaca API. You call us, we call Alpaca, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Alpaca’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Alpaca on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
How do end users authenticate their Alpaca account through Truto?
Truto supports Alpaca's OAuth flow via the authorize and token endpoints, so end users can connect their existing Alpaca accounts without sharing API keys. For embedded brokerage setups where you operate as the broker partner, Truto also supports programmatic account creation using your Alpaca Broker API credentials.
Which Alpaca product surfaces are covered — Trading API, Broker API, or Market Data?
Truto exposes tools across all three: Trading API (orders, positions, watchlists, account config, portfolio history), Broker API (accounts, documents, ACH relationships, journals, transfers, activities), and Market Data (stocks, crypto, options bars/quotes/trades/snapshots, news, movers, and corporate actions).
Can we place fractional, notional, and options orders?
Yes. Order creation tools support the full Alpaca order model, including fractional shares, notional (dollar-based) orders, stop/limit types, time-in-force modifiers, and multi-leg options via the option contracts endpoints. Position-level actions like exercise and do-not-exercise are also available.
How do we get real-time updates on fills and account status changes?
Alpaca exposes Server-Sent Events for trade execution events and account status changes. Truto provides tools to consume these streams (trade events, account status, journal status, transfer status), so you can react to fills and KYC approvals without polling.
Can we move funds between accounts for rewards or sub-account funding?
Yes. Truto exposes Alpaca's journal endpoints, including single and batch journal creation, so you can move cash or securities between master and end-user sub-accounts for rewards, fractional allocation, or treasury workflows.
Does Truto support Alpaca's crypto and tokenization endpoints?
Yes. Crypto wallets, transfers, whitelisted addresses, withdrawal creation, transfer estimates, and tokenization mint/lookup endpoints are all available as tools, alongside crypto market data (bars, quotes, trades, snapshots, and cross-exchange BBO).
From the Blog
Alpaca integration guides
Deep dives, architecture guides, and practical tutorials for building Alpaca integrations.
Alpaca
Get Alpaca integrated into your app
Our team understands what it takes to make a Alpaca integration successful. A short, crisp 30 minute call with folks who understand the problem.