This guide provides a detailed overview of the Crypto.com Exchange V1 API, covering its core functionality, endpoints, and integration methods. Whether you're looking to access market data, manage your account, or stream real-time information, this documentation serves as your essential reference.
Understanding the API Structure
The Crypto.com Exchange V1 API is organized into three main groups, each serving distinct purposes for developers and traders.
Market Data APIs
These endpoints provide access to public market information without requiring authentication. You can retrieve real-time ticker data, order book details, historical k-line information, and recent trade history.
User Account APIs
These authenticated endpoints enable you to manage your exchange account programmatically. They require secure request signing and allow you to check balances, create orders, cancel orders, and review your trading history.
WebSocket Streaming APIs
For real-time data streaming, the WebSocket API offers efficient access to market information without the overhead of repeated HTTP requests. This is ideal for applications requiring immediate updates on price movements and market activity.
Core API Fundamentals
Base Endpoints
- REST API Root URL:
https://api.crypto.com - WebSocket API Root URL:
wss://ws.crypto.com/kline-api/ws
All REST API requests must use HTTPS protocol. For POST and DELETE requests, the Content-Type header must be set to application/x-www-form-urlencoded.
API Authentication Setup
Before making authenticated requests, you need to generate API keys through the exchange web interface. Navigate to User Center → API to create your keys. Always securely store both your API Key and Secret Key, as they cannot be recovered if lost.
For enhanced security, you can optionally configure IP whitelisting restrictions when generating your API keys.
Request Signing Protocol
Authenticated requests require cryptographic signing using SHA-256 hashing. The signing process follows these steps:
- Sort all request parameters alphabetically by name
- Concatenate each parameter name and value (excluding null/empty values)
- Append your Secret Key to the concatenated string
- Generate SHA-256 hash of the final string
This ensures secure authentication without transmitting your Secret Key directly.
Response Format and Error Handling
All API responses follow a consistent JSON structure:
{
"code": 0,
"msg": "suc",
"data": ...
}A code value of 0 indicates success, while non-zero values represent errors described in the msg field.
The API uses standard HTTP status codes including 400 (Bad Request), 401 (Unauthorized), 403 (Forbidden), 404 (Not Found), 429 (Rate Limit Exceeded), and 500 (Internal Server Error).
Rate Limits Overview
Different API endpoints have specific rate limits to ensure system stability:
- Market APIs: 100 requests per second per IP address
- User Account Endpoint: 1 request per 100ms per API key
- Order Management Endpoints: 5 requests per 100ms per API key
- Order Query Endpoints: 1-10 requests per 100ms per API key
Trading Pairs and Symbols
Most API endpoints require a symbol parameter representing specific trading pairs. The exchange uses consistent naming conventions such as btccro, btcusdt, ethbtc, and other cryptocurrency pairings.
👉 Explore advanced trading tools
Market Data API Endpoints
Retrieving Available Trading Pairs
The /v1/symbols endpoint lists all available markets with their precision specifications. The response includes each symbol's base coin, count coin, and precision details for amount and price values.
Accessing Ticker Information
The /v1/ticker endpoint provides 24-hour market statistics including high, low, volume, last price, and buy/sell prices. You can retrieve data for all markets simultaneously or specify a particular trading pair.
Historical K-Line Data
For charting and analysis, the /v1/klines endpoint supplies candlestick data across multiple timeframes (1min, 5min, 15min, 30min, 1hour, 1day, 1week, 1month). Each k-line contains opening, high, low, and closing prices plus volume data.
Trade History Access
The /v1/trades endpoint returns the most recent 200 trades for a specified market, including timestamps, prices, volumes, and trade direction (buy/sell).
Order Book Depth Data
Market depth information is available through /v1/depth, offering insights into current buy and sell orders at various price levels. You can choose between different depth aggregation levels (step0, step1, step2) based on your precision requirements.
User Account API Endpoints
Account Balance Inquiry
The authenticated /v1/account endpoint provides a comprehensive overview of your holdings, including total asset valuation, available balances, locked funds, and BTC equivalent values for each cryptocurrency.
Order Management Functions
The API supports full order lifecycle management:
- Order Creation: Place both limit and market orders with specified parameters
- Order Details: Retrieve comprehensive information about specific orders
- Order Cancellation: Cancel individual orders or all orders in a market
- Order History: Access complete records of open, filled, and cancelled orders
Trade History Review
The /v1/myTrades endpoint allows you to review your executed trades with detailed information including prices, volumes, fees, and timestamps.
WebSocket API for Real-Time Data
The WebSocket API provides efficient real-time market data streaming with several subscription channels:
Ticker Updates
Subscribe to real-time price updates for specific markets or request current ticker information across all available markets.
K-Line Streaming
Receive real-time candlestick updates for various timeframes, enabling immediate reaction to market movements and chart pattern development.
Trade Flow Monitoring
Stream live trade execution data, including price, volume, and direction information as transactions occur on the exchange.
Order Book Updates
Maintain real-time order book depth with full or incremental updates, essential for market making and advanced trading strategies.
API Integration Examples
The API documentation provides comprehensive code examples in multiple programming languages including Java, Node.js, Python, and C#. These examples demonstrate:
- WebSocket connection establishment and message handling
- REST API authentication and request signing
- Market data retrieval and parsing
- Order management operations
- Error handling and connection management
Each example includes proper authentication implementation, request formatting, and response processing to help developers quickly integrate with the exchange API.
Frequently Asked Questions
What is the difference between Market API and WebSocket API?
The Market API uses RESTful HTTP requests for data retrieval, while the WebSocket API establishes a persistent connection for real-time data streaming. WebSocket is generally preferred for applications requiring immediate updates as it reduces latency and network overhead.
How do I handle API rate limits effectively?
Implement request throttling in your application and monitor response headers for rate limit information. For high-frequency trading applications, consider using the WebSocket API where possible to minimize request count.
What should I do if I receive an authentication error?
Verify your API key and secret are correctly configured. Check that your request signing algorithm follows the exact specification, including parameter ordering and concatenation. Ensure your system clock is synchronized to prevent timestamp validation issues.
How can I ensure the security of my API keys?
Never embed API keys directly in source code. Use secure storage solutions and environment variables. Implement IP whitelisting through the exchange interface and regularly rotate your API keys for enhanced security.
What trading pairs are available through the API?
All active trading pairs on the exchange are accessible through the API. You can retrieve the current list of available symbols programmatically using the /v1/symbols endpoint.
How do I handle WebSocket reconnections?
Implement automatic reconnection logic with exponential backoff in your WebSocket client. Include message buffering where appropriate to prevent data loss during connection interruptions.