CryptoMarket API Documentation

·

The CryptoMarket REST & Streaming API version 3.0 provides developers with seamless access to a powerful, next-generation trading engine. Whether you're building algorithmic trading bots, portfolio trackers, or automated investment tools, this comprehensive guide covers everything you need to know about integrating with the platform efficiently and securely.

👉 Discover how to build advanced trading strategies using real-time market data and automated execution.

Why Use API Version 3.0?

CryptoMarket strongly recommends all new users adopt API version 3.0 for optimal performance, enhanced features, and improved reliability. Existing traders are also encouraged to upgrade from version 2.0, which remains available but no longer receives feature updates.

By using the CryptoMarket API, you confirm acceptance of the API License Agreement.

Getting Started: Development Guide

Base API URLs

All requests should be directed to the following endpoints:

Explore with Swagger UI

Test and explore available methods—including those requiring authentication—via the interactive API Explorer. This tool allows developers to send live requests directly from the browser.

Data Formatting Standards

To ensure consistency across responses, the API adheres to strict formatting rules:

DateTime Format

Timestamps appear in either ISO 8601 or UNIX milliseconds (UTC):

"2024-04-03T10:20:49.315Z" or "1614815872000"

Date Format

For calendar-only dates:

"2024-04-03"

Number Format

All financial values (price, quantity, fees) are returned as strings to preserve precision:

"10.2000058"

Custom Query Parameters

Common filtering and sorting parameters include:

ParameterDescription
limitNumber of results per request
offsetPagination offset
sortSort direction: ASC or DESC
byFilter type: id, timestamp
from, tillTime or numeric range boundaries

Rate Limiting Policies

Requests are rate-limited based on both IP address and account identity, ensuring fair usage.

Per IP Address Limits

PathRate Limit (RPS)Burst Limit
/* (default)2030
/public/*3050
/wallet/*1010
/spot/order/*300450

Per Account Limits

PathRate Limit (RPS)Burst Limit
/wallet/*, /transfer-convert/config2030
/sub-account/*2030

WebSocket trading connections support up to 300 orders per second, reflecting increased capacity since late 2021.

Order Quantity Limits

Each user can maintain:

Exceeding these thresholds will result in rejection of new order requests.

Recent Updates & Changelog (2023–2025)

Key enhancements improving functionality and security:

👉 Learn how real-time streaming enables faster trade execution and reduces latency.

Best Practices for Optimal Performance

Follow these guidelines to maximize efficiency when integrating with the CryptoMarket API.

Request Structure

HTTP Persistent Connections

Enable Keep-Alive to reuse TCP connections and reduce latency:

Real-Time Updates

Use the Streaming API (/ws/trading, /ws/wallet) to receive instant updates on:

Polling the REST API is less efficient and subject to stricter rate limits.

Core Market Data Endpoints

Public endpoints require no authentication and provide essential trading information.

Currencies & Networks

Retrieve supported currencies and their blockchain configurations.

GET /api/3/public/currency

Returns details like:

Filter by specific currencies or preferred network using query params.

Trading Symbols

List all active trading pairs:

GET /api/3/public/symbol

Each symbol includes:

Tickers & Price Feeds

Access real-time market summaries:

GET /api/3/public/ticker

Fields returned:

Also available:

Trade History & Order Books

Fetch recent trades:

GET /api/3/public/trades/{symbol}

Retrieve order book snapshots:

GET /api/3/public/orderbook/{symbol}?depth=100

Supports full book retrieval (depth=0) and volume-based depth search.

Candlestick Data (OHLCV)

Access historical price data in various timeframes (M1, H1, D1, etc.):

GET /api/3/public/candles/{symbol}?period=H1&limit=100

New in 2024: Convert candles into any target currency:

GET /api/3/public/converted/candles?target_currency=USDT

Ideal for cross-market analysis and portfolio valuation.

Authentication & Security

Private endpoints require secure authentication using API keys created at API Settings.

HMAC-SHA256 Signature Method

Construct requests with an Authorization header using HS256:

  1. Concatenate: [METHOD][PATH][QUERY][BODY][TIMESTAMP][WINDOW]
  2. Sign with your secret_key
  3. Encode as Base64: "HS256 <api_key>:<signature>:<timestamp>"

Ensure clocks are synchronized (within allowed window if specified).

Spot Trading Operations

Full suite of order management tools for algorithmic and manual trading.

Order Model Overview

Key fields include:

Average execution price (price_average) added in 2025 update.

Place, Modify & Cancel Orders

Supported actions:

Batch operations via Order Lists:

👉 Automate your trading strategy with precision order types and real-time execution feedback.

Wallet Management & Transfers

Securely manage deposits, withdrawals, and internal transfers.

Balance Inquiry

Check wallet or trading balances:

GET /api/3/wallet/balance
GET /api/3/spot/balance

Returns available and reserved amounts per currency.

Address Management

Generate or retrieve deposit addresses:

POST /wallet/crypto/address?currency=BTC&network_code=BTC
GET /wallet/crypto/address/recent-deposit?currency=ETH

Verify ownership:

GET /wallet/crypto/address/check-mine?address=...

Withdrawals & Security Delays

Initiate crypto withdrawals:

POST /wallet/crypto/withdraw

Note security delays:

Two-phase commit supported via auto_commit=false.

Frequently Asked Questions

What is the difference between REST and Streaming APIs?

The REST API provides one-time responses for queries like order books or balances. The Streaming API delivers real-time updates over WebSocket connections, ideal for monitoring live trades, orders, and wallet changes without constant polling.

How do I handle rate limits?

Monitor response headers for rate limit status. Implement exponential backoff when nearing limits. Distribute high-frequency requests across multiple IPs or use account-level prioritization where applicable.

Can I trade multiple chains for the same token?

Yes. With multichain support introduced in late 2023, you can specify network_code when depositing, withdrawing, or checking fees. For example, USDT can be routed via ERC-20, TRC-20, or BEP-20 networks.

What does "post_only" mean?

A post-only order ensures it doesn’t match immediately as a taker. If it would execute instantly against an existing order, it expires instead. This helps avoid paying taker fees when liquidity provision is intended.

How are fees calculated?

Fees depend on whether you’re a maker (providing liquidity) or taker (removing it). Rates vary by symbol and are retrievable via /spot/fee. Negative make rates indicate rebates paid to market makers.

Is there a testnet environment?

While not explicitly mentioned in the documentation, developers are advised to start with small-value transactions and use sandbox accounts if available through partner integrations or developer programs.


Core Keywords: CryptoMarket API, REST API, WebSocket streaming, spot trading, order management, multichain support, fee estimation