Cryptocurrency spot trading has become an essential component of modern digital finance, offering traders immediate ownership of digital assets at current market prices. With growing accessibility and advanced trading infrastructure, platforms now support a wide range of crypto pairs, real-time data feeds, and seamless execution methods—making it easier than ever to engage in 24/7 global markets.
This guide dives into the mechanics of crypto spot trading, covering supported assets, order types, fee structures, liquidity roles, and data access through APIs. Whether you're a developer integrating trading capabilities or an investor exploring new opportunities, this comprehensive overview will help you navigate the ecosystem with confidence.
Supported Crypto Assets and Trading Pairs
Over 20 unique cryptocurrencies are available for spot trading across 56 trading pairs. These pairs are primarily quoted against major stablecoins and fiat equivalents such as BTC, USD, USDT, and USDC. Popular combinations include BTC/USD, ETH/BTC, and ETH/USD, enabling both cross-crypto and fiat-based transactions.
To retrieve the full list of available crypto assets programmatically, use the following API call:
curl --request GET 'https://api.alpaca.markets/v2/assets?asset_class=crypto' \
--header 'Apca-Api-Key-Id: ' \
--header 'Apca-Api-Secret-Key: 'Each trading pair is represented as a structured object. For example, here's how the BTC/USD pair appears in the system:
{
"id": "276e2673-764b-4ab6-a611-caf665ca6340",
"class": "crypto",
"exchange": "ALPACA",
"symbol": "BTC/USD",
"name": "BTC/USD pair",
"status": "active",
"tradable": true,
"marginable": false,
"shortable": false,
"easy_to_borrow": false,
"fractionable": true,
"min_order_size": "0.0001",
"min_trade_increment": "0.0001",
"price_increment": "1"
}Note: The symbol format has been updated from BTCUSD to BTC/USD for clarity and consistency. Legacy formats are still supported for backward compatibility.
👉 Discover how to start executing trades in real time with powerful API tools
Placing Crypto Orders via API
Trading is conducted using the Orders API, which supports multiple order types including Market, Limit, and Stop Limit. Supported time_in_force values are gtc (good 'til canceled) and ioc (immediate or cancel), giving users control over execution timing.
Fractional trading is fully supported—orders can be placed using either quantity (qty) or notional value (notional). For instance, to buy 0.0001 BTC using USD, submit the following POST request:
curl --request POST 'https://paper-api.alpaca.markets/v2/orders' \
--header 'Apca-Api-Key-Id: ' \
--header 'Apca-Api-Secret-Key: ' \
--header 'Content-Type: application/json' \
--data-raw '{
"symbol": "BTC/USD",
"qty": "0.0001",
"side": "buy",
"type": "market",
"time_in_force": "gtc"
}'This executes a market order that remains active until filled or manually canceled.
All crypto assets are fractionable, though precision levels vary by asset. Refer to the Assets entity documentation for specific decimal constraints per cryptocurrency.
Accessing Real-Time Market Data
Accurate pricing and order book insights are crucial for informed decision-making. You can fetch the latest order book data (bids and asks) for key pairs like BTC/USD, ETH/BTC, and ETH/USD with this API call:
curl 'https://data.alpaca.markets/v1beta3/crypto/us/latest/orderbooks?symbols=BTC/USD,ETH/BTC,ETH/USD'Sample response:
{
"orderbooks": {
"BTC/USD": {
"a": [
{
"p": 66051.621,
"s": 0.275033
}
],
"b": [
{
"p": 65986.962,
"s": 0.27813
}
],
"t": "2024-07-24T07:31:01.373709495Z"
}
}
}For live updates, connect via WebSockets. Here's an example using wscat to subscribe to ETH/USD quote streams:
$ wscat -c wss://stream.data.alpaca.markets/v1beta3/crypto/us
> {"action":"auth","key":" ","secret":" "}
> {"action":"subscribe","quotes":["ETH/USD"]}
< [{"T":"q","S":"ETH/USD","bp":3445.34,"bs":4.339,"ap":3450.2,"as":4.3803,"t":"2024-07-24T07:38:06.88490478Z"}]This provides real-time bid and ask movements, empowering high-frequency monitoring and algorithmic strategies.
👉 Access real-time crypto data streams with low-latency tools
Understanding Fees and Liquidity Roles
While stock trading remains commission-free, crypto spot trading incurs fees based on your 30-day trading volume and whether you act as a maker or taker.
- Maker: Adds liquidity by placing limit orders that rest on the order book.
- Taker: Removes liquidity by executing market or marketable limit orders against existing quotes.
Fees are tiered according to monthly volume:
| Tier | 30D Trading Volume (USD) | Maker Fee | Taker Fee |
|---|---|---|---|
| 1 | $0 – $100,000 | 15 bps | 25 bps |
| 2 | $100K – $500K | 12 bps | 22 bps |
| 3 | $500K – $1M | 10 bps | 20 bps |
| 4 | $1M – $10M | 8 bps | 18 bps |
| 5 | $10M – $25M | 5 bps | 15 bps |
| 6 | $25M – $50M | 2 bps | 13 bps |
| 7 | $50M – $100M | 2 bps | 12 bps |
| 8 | $100M+ | 0 bps | 10 bps |
Fees are deducted from the received asset in each trade:
- Buy ETH/BTC → Fee paid in ETH
- Sell ETH/BTC → Fee paid in BTC
- Buy ETH/USD → Fee paid in ETH
- Sell ETH/USD → Fee paid in USD
You can track fees using the Activities API by filtering for CFEE (crypto fee) or FEE entries:
{
"id": "20220812000000000::53be51ba-46f9-43de-b81f-576f241dc680",
"activity_type": "CFEE",
"date": "2022-08-12",
"net_amount": "0",
"description": "Coin Pair Transaction Fee (Non USD)",
"symbol": "ETHUSD",
"qty": "-0.000195",
"price": "1884.5",
"status": "executed"
}Currently, fees are posted at end-of-day; real-time reporting is expected soon.
Wallets and On-Chain Transfers
Eligible users in supported U.S. states and international jurisdictions can now manage on-chain crypto transfers directly through Alpaca’s web dashboard under the Crypto Transfers tab.
Supported networks include:
- Bitcoin (BTC)
- Ethereum (ETH)
- All ERC-20 tokens
This feature enables true self-custody experiences, allowing deposits and withdrawals directly to external wallets.
Trading Rules and Limitations
Crypto spot trading operates under specific constraints to ensure platform stability and regulatory compliance:
- No margin trading: Cryptocurrencies cannot be bought on leverage. All purchases are evaluated against non-marginable buying power.
- No short selling: Short positions are not permitted.
- 24/7 trading: Markets operate continuously with no downtime.
- Order size cap: No single order may exceed $200,000 in notional value.
Frequently Asked Questions
Q: Can I trade crypto with fractional amounts?
A: Yes, all supported cryptocurrencies support fractional trading. Minimum increments vary by asset—check the Assets API for details.
Q: How are maker and taker fees calculated?
A: Fees depend on your trailing 30-day trading volume and whether your order adds (maker) or removes (taker) liquidity from the order book.
Q: Are there any restrictions on who can trade crypto?
A: Crypto trading is available only in select U.S. states and international regions. Check eligibility before attempting to place trades.
Q: When are transaction fees applied?
A: Fees are currently settled at the end of each day. Real-time fee posting is planned for a future update.
Q: Can I use limit orders for crypto trading?
A: Yes, both limit and stop-limit orders are supported with customizable time_in_force settings like gtc and ioc.
Q: Is real-time data available for algorithmic trading?
A: Yes, you can stream live order books, trades, and quotes via WebSockets for low-latency strategy development.
👉 Maximize your trading potential with advanced execution tools