Skip to main content

Installation

Library Crates

Add the Rust crate that matches the layer you want to use.

Market data:

[dependencies]
alpaca-data = "0.26.0"
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }

Trading:

[dependencies]
alpaca-trade = "0.26.0"
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }

Semantic and facade crates are also published:

  • alpaca-time
  • alpaca-option
  • alpaca-facade

Foundation crates are also published:

  • alpaca-core
  • alpaca-rest-http

Most users should start from alpaca-data, alpaca-trade, alpaca-time, alpaca-option, or alpaca-facade instead of depending on the low-level foundation crates directly.

Binary Crate

Install the mock server:

cargo install alpaca-mock

Run from the workspace:

cargo run -p alpaca-mock

Install and start it as a local user service on macOS or Ubuntu:

./scripts/install-alpaca-mock-service.sh

The service installer builds the release binary, registers the user service, starts it, and checks GET /health.

Credentials

Market data:

  • ALPACA_DATA_API_KEY
  • ALPACA_DATA_SECRET_KEY

Trading:

  • ALPACA_TRADE_API_KEY
  • ALPACA_TRADE_SECRET_KEY

Mock server binding:

  • ALPACA_MOCK_LISTEN_ADDR

Versioning Note

The workspace publishes multiple Rust crates that move together. If you depend on more than one alpaca-* crate directly, keep their versions aligned.

Optional TypeScript companions exist inside the repo under packages/, but they are not the primary published system surface for release planning.

  • @alpaca/time (packages/alpaca-time)
  • @alpaca/option (packages/alpaca-option)
  • @alpaca/trade (packages/alpaca-trade) — currently used for shared execution-type modeling in TypeScript