Total: $0.00
--
Developer Documentation

API Documentation

Build powerful applications on top of CryptoExchange Pro with our REST API. Access real-time market data, manage accounts, execute trades, and automate your strategy.

Welcome to the CryptoExchange Pro API. Our REST API allows you to programmatically access account data, place orders, manage withdrawals, and integrate our platform with your applications. All endpoints return JSON responses and use standard HTTP status codes. If you're new, start with the Authentication section below.

Introduction

The CryptoExchange Pro API is organized around REST principles. It has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.

Our API supports the following features:

  • Market Data: Real-time prices, order books, and historical candles.
  • Account Management: Balances, profile information, transaction history.
  • Trading: Place, modify, and cancel orders programmatically.
  • P2P & Agents: Access P2P order books and agent information.
  • Webhooks: Receive real-time notifications for events.
Base URL: All API requests should be made to https://api.cryptoprox.com/v1

Authentication

The CryptoExchange Pro API uses API keys to authenticate requests. You can generate your API keys from your Profile page under the "API Management" section.

Each API key consists of two parts:

  • API Key (Public): Included in every request to identify your account.
  • API Secret (Private): Used to sign requests. Never share this with anyone.
Keep your API Secret secure. Never commit it to GitHub, share it in screenshots, or include it in client-side code. If you suspect your secret has been compromised, regenerate it immediately.

Authentication Header: Include your API key in the X-API-KEY header of every request:

HTTP Headers
X-API-KEY: your_api_key_here X-API-SECRET: your_api_secret_here Content-Type: application/json

For endpoints that require authentication, requests without valid credentials will return a 401 Unauthorized response.

Base URL & Environments

We provide two environments for your integration:

Environment Base URL Purpose
Production https://api.cryptoprox.com/v1 Live trading with real funds
Sandbox https://sandbox-api.cryptoprox.com/v1 Testing with simulated funds
Always test in Sandbox first. The sandbox environment mimics production but uses fake funds. Never test new code directly on production with real money.

Rate Limits

To ensure fair usage and stability for all users, we enforce the following rate limits:

10 req/s
Public Endpoints
Market data, prices, tickers
5 req/s
Private Endpoints
Account, orders, balances
1 req/s
Order Placement
Create, modify, cancel orders

Rate limit headers are included in every response:

Response Headers
X-RateLimit-Limit: 10 X-RateLimit-Remaining: 7 X-RateLimit-Reset: 1735689600
If you exceed the rate limit, you'll receive a 429 Too Many Requests response. Wait until the X-RateLimit-Reset timestamp before retrying.

API Endpoints

Below is a complete reference of all available endpoints. Click any endpoint to see detailed parameters, examples, and responses.

GET /api/market/prices Public
Returns the current prices for all supported cryptocurrencies with 24h change, volume, and market cap.
# Fetch live prices curl -X GET "https://api.cryptoprox.com/v1/api/market/prices"
// Using Fetch API const response = await fetch('https://api.cryptoprox.com/v1/api/market/prices'); const data = await response.json(); console.log(data.prices);
# Using requests library import requests response = requests.get('https://api.cryptoprox.com/v1/api/market/prices') data = response.json() print(data['prices'])
// Using cURL in PHP $ch = curl_init('https://api.cryptoprox.com/v1/api/market/prices'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); $data = json_decode($response, true);
Example Response
JSON
{ "prices": [ { "symbol": "BTC", "name": "Bitcoin", "price": 67432.50, "change": 2.34, "vol": 1240000000, "cap": 1320000000000 } ], "updatedAt": "2026-01-15T10:30:00Z" }
GET /api/auth/me Auth Required
Returns the authenticated user's account information, including balances, role, and profile data.
cURL
curl -X GET "https://api.cryptoprox.com/v1/api/auth/me" \ -H "X-API-KEY: your_api_key" \ -H "X-API-SECRET: your_api_secret"
GET /api/user/sales Auth Required
Returns the user's sales history, including buyer info, amounts, fees, and net USD credited.
POST /api/orders Auth Required
Creates a new buy or sell order on the spot market.
Request Parameters
Parameter Type Required Description
order_type string Yes "buy" or "sell"
symbol string Yes Trading pair (e.g., "BTC/USDT")
price number Yes Price per unit in USDT
amount number Yes Quantity to buy/sell
trader_id integer No P2P trader ID (optional)
cURL
curl -X POST "https://api.cryptoprox.com/v1/api/orders" \ -H "X-API-KEY: your_api_key" \ -H "X-API-SECRET: your_api_secret" \ -H "Content-Type: application/json" \ -d '{ "order_type": "buy", "symbol": "BTC/USDT", "price": 67400, "amount": 0.01 }'
GET /api/orders Auth Required
Returns all orders placed by the user, with optional filtering by status or date range.
DELETE /api/orders/:id Auth Required
Cancels a specific order by ID. Only pending orders can be cancelled.
GET /api/agents Public
Returns a list of all approved P2P agents, including their country, phone, and available payment methods.

Webhooks

Webhooks allow you to receive real-time notifications when events happen on your account. Instead of polling the API, you can configure a URL and we'll send an HTTP POST request whenever an event occurs.

Supported Events:

  • order.filled — An order has been fully executed.
  • order.cancelled — An order has been cancelled.
  • withdrawal.completed — A withdrawal has been processed.
  • withdrawal.rejected — A withdrawal has been rejected.
  • deposit.confirmed — A crypto deposit has been credited.

Configure your webhook URL in your Profile settings. We'll retry failed deliveries up to 5 times with exponential backoff.

Error Codes

The API uses standard HTTP status codes to indicate the success or failure of a request. In case of an error, the response body will contain additional information.

400

Bad Request

The request was malformed or missing required parameters.

401

Unauthorized

Missing or invalid API credentials.

403

Forbidden

Your API key doesn't have permission for this action.

404

Not Found

The requested resource does not exist.

429

Rate Limited

You've exceeded the rate limit. Wait before retrying.

500

Internal Error

Something went wrong on our end. Try again later.

Error Response Example
{ "success": false, "error": "Insufficient USDT balance", "message": "You have 50.00 USDT but tried to buy 0.01 BTC (674 USDT).", "code": "INSUFFICIENT_BALANCE" }

SDKs & Libraries

To speed up your integration, we provide official SDKs for popular programming languages:

Language Package Install
JavaScript / Node.js @cryptoprox/sdk npm install @cryptoprox/sdk
Python cryptoprox pip install cryptoprox
PHP cryptoprox/php-sdk composer require cryptoprox/php-sdk
Go go-cryptoprox go get github.com/cryptoprox/go-sdk

Developer Support

Need help integrating with our API? Our developer support team is here to assist you:

Pro Tip: When contacting support, always include the X-Request-ID header from your API response for faster debugging.