Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/crypto-com-crypto-wallet-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Crypto.com Exchange API v1 Crypto Wallet API
version: 1.0.0
description: '## Welcome
Welcome to the Crypto.com Exchange API v1 reference documentation.'
servers:
- url: https://api.crypto.com/exchange/v1
description: Production
- url: https://uat-api.3ona.co/exchange/v1
description: UAT Sandbox
tags:
- name: Crypto Wallet
description: 'Manages the user''s wallet.
Most of the endpoints are only available at master account level.
Some endpoints requires Withdrawal setting to be enabled for your API Key. If you do not see the option when viewing your API Keys, this feature is not yet available for you.'
paths:
/private/create-withdrawal:
post:
tags:
- Crypto Wallet
x-apply-to:
- rest
summary: private/create-withdrawal
description: Creates a withdrawal request. Withdrawal setting must be enabled for your API Key. If you do not see the option when viewing your API Key, this feature is not yet available for you.
operationId: privateCreateWithdrawal
x-codeSamples:
- lang: JavaScript
label: JavaScript
source: "const ccxt = require('ccxt');\nconst exchange = new ccxt.cryptocom({\n apiKey: 'YOUR_API_KEY',\n secret: 'YOUR_SECRET',\n enableRateLimit: true,\n});\nconst res = await exchange.v1PrivatePostPrivateCreateWithdrawal({\n client_wid: 'my_withdrawal_002',\n currency: 'BTC',\n amount: '1',\n address: '2NBqqD5GRJ8wHy1PYyCXTe9ke5226FhavBf',\n address_tag: '',\n});\nconsole.log(res);\n"
- lang: Python
label: Python
source: "import ccxt\nexchange = ccxt.cryptocom({\n 'apiKey': 'YOUR_API_KEY',\n 'secret': 'YOUR_SECRET',\n 'enableRateLimit': True,\n})\nres = exchange.v1_private_post_private_create_withdrawal({\n 'client_wid': 'my_withdrawal_002',\n 'currency': 'BTC',\n 'amount': '1',\n 'address': '2NBqqD5GRJ8wHy1PYyCXTe9ke5226FhavBf',\n 'address_tag': '',\n})\nprint(res)\n"
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateCreateWithdrawalRequest'
example:
id: '-1'
method: private/create-withdrawal
api_key: YOUR_API_KEY
sig: DIGITAL_SIGNATURE
nonce: '1607063412000'
params:
client_wid: my_withdrawal_002
currency: BTC
amount: '1'
address: 2NBqqD5GRJ8wHy1PYyCXTe9ke5226FhavBf
address_tag: ''
network_id: null
responses:
'200':
description: Success.
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateCreateWithdrawalResponse'
example:
id: '-1'
method: private/create-withdrawal
code: '0'
result:
id: '2220'
amount: '1'
fee: '0.0004'
symbol: BTC
address: 2NBqqD5GRJ8wHy1PYyCXTe9ke5226FhavBf
client_wid: my_withdrawal_002
create_time: '1607063412000'
network_id: null
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateCreateWithdrawalResponse'
example:
id: '1'
method: private/create-withdrawal
code: '40001'
message: BAD_REQUEST
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateCreateWithdrawalResponse'
example:
id: '1'
method: private/create-withdrawal
code: '40101'
message: UNAUTHORIZED
'408':
description: Request timeout.
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateCreateWithdrawalResponse'
example:
id: '1'
method: private/create-withdrawal
code: '40801'
message: REQUEST_TIMEOUT
'429':
description: Too many requests.
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateCreateWithdrawalResponse'
example:
id: '1'
method: private/create-withdrawal
code: '42901'
message: TOO_MANY_REQUESTS
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateCreateWithdrawalResponse'
example:
id: '1'
method: private/create-withdrawal
code: '50001'
message: INTERNAL_SERVER_ERROR
/private/get-currency-networks:
post:
tags:
- Crypto Wallet
x-apply-to:
- rest
summary: private/get-currency-networks
description: Get the symbol network mapping.
operationId: privateGetCurrencyNetworks
x-codeSamples:
- lang: JavaScript
label: JavaScript
source: "const ccxt = require('ccxt');\nconst exchange = new ccxt.cryptocom({\n apiKey: 'YOUR_API_KEY',\n secret: 'YOUR_SECRET',\n enableRateLimit: true,\n});\nconst res = await exchange.v1PrivatePostPrivateGetCurrencyNetworks({});\nconsole.log(res);\n"
- lang: Python
label: Python
source: "import ccxt\nexchange = ccxt.cryptocom({\n 'apiKey': 'YOUR_API_KEY',\n 'secret': 'YOUR_SECRET',\n 'enableRateLimit': True,\n})\nres = exchange.v1_private_post_private_get_currency_networks({})\nprint(res)\n"
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateGetCurrencyNetworksRequest'
example:
id: '12'
method: private/get-currency-networks
params: {}
api_key: YOUR_API_KEY
sig: DIGITAL_SIGNATURE
nonce: '1640830660110'
responses:
'200':
description: Success.
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateGetCurrencyNetworksResponse'
example:
id: '123456'
method: private/get-currency-networks
code: '0'
result:
update_time: '1641151604000'
currency_map:
AGLD:
full_name: Adventure Gold
default_network: null
network_list:
- network_id: ETH
withdrawal_fee: null
withdraw_enabled: true
min_withdrawal_amount: '10.0'
deposit_enabled: true
confirmation_required: '12'
MATIC:
full_name: Polygon
default_network: ETH
network_list:
- network_id: BNB
withdrawal_fee: '0.80000000'
withdraw_enabled: true
min_withdrawal_amount: '1.6'
deposit_enabled: true
confirmation_required: '0'
- network_id: ETH
withdrawal_fee: '20.00000000'
withdraw_enabled: true
min_withdrawal_amount: '40.0'
deposit_enabled: true
confirmation_required: '0'
- network_id: MATIC
withdrawal_fee: '0.08000000'
withdraw_enabled: true
min_withdrawal_amount: '0.16'
deposit_enabled: true
confirmation_required: '0'
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateGetCurrencyNetworksResponse'
example:
id: '1'
method: private/get-currency-networks
code: '40001'
message: BAD_REQUEST
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateGetCurrencyNetworksResponse'
example:
id: '1'
method: private/get-currency-networks
code: '40101'
message: UNAUTHORIZED
'408':
description: Request timeout.
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateGetCurrencyNetworksResponse'
example:
id: '1'
method: private/get-currency-networks
code: '40801'
message: REQUEST_TIMEOUT
'429':
description: Too many requests.
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateGetCurrencyNetworksResponse'
example:
id: '1'
method: private/get-currency-networks
code: '42901'
message: TOO_MANY_REQUESTS
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateGetCurrencyNetworksResponse'
example:
id: '1'
method: private/get-currency-networks
code: '50001'
message: INTERNAL_SERVER_ERROR
/private/get-deposit-address:
post:
tags:
- Crypto Wallet
x-apply-to:
- rest
summary: private/get-deposit-address
description: Fetches deposit address. Withdrawal setting must be enabled for your API Key. If you do not see the option when viewing your API Keys, this feature is not yet available for you.
operationId: privateGetDepositAddress
x-codeSamples:
- lang: JavaScript
label: JavaScript
source: "const ccxt = require('ccxt');\nconst exchange = new ccxt.cryptocom({\n apiKey: 'YOUR_API_KEY',\n secret: 'YOUR_SECRET',\n enableRateLimit: true,\n});\nconst res = await exchange.v1PrivatePostPrivateGetDepositAddress({\n currency: 'CRO',\n});\nconsole.log(res);\n"
- lang: Python
label: Python
source: "import ccxt\nexchange = ccxt.cryptocom({\n 'apiKey': 'YOUR_API_KEY',\n 'secret': 'YOUR_SECRET',\n 'enableRateLimit': True,\n})\nres = exchange.v1_private_post_private_get_deposit_address({\n 'currency': 'CRO',\n})\nprint(res)\n"
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateGetDepositAddressRequest'
example:
id: '-1'
method: private/get-deposit-address
api_key: YOUR_API_KEY
sig: DIGITAL_SIGNATURE
nonce: '1587846358253'
params:
currency: CRO
responses:
'200':
description: Success.
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateGetDepositAddressResponse'
example:
id: '11'
method: private/get-deposit-address
code: '0'
result:
deposit_address_list:
- currency: CRO
create_time: '1615886328000'
id: '12345'
address: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
status: '1'
network: CRO
- currency: CRO
create_time: '1615886332000'
id: '12346'
address: yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
status: '1'
network: ETH
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateGetDepositAddressResponse'
example:
id: '1'
method: private/get-deposit-address
code: '40001'
message: BAD_REQUEST
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateGetDepositAddressResponse'
example:
id: '1'
method: private/get-deposit-address
code: '40101'
message: UNAUTHORIZED
'408':
description: Request timeout.
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateGetDepositAddressResponse'
example:
id: '1'
method: private/get-deposit-address
code: '40801'
message: REQUEST_TIMEOUT
'429':
description: Too many requests.
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateGetDepositAddressResponse'
example:
id: '1'
method: private/get-deposit-address
code: '42901'
message: TOO_MANY_REQUESTS
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateGetDepositAddressResponse'
example:
id: '1'
method: private/get-deposit-address
code: '50001'
message: INTERNAL_SERVER_ERROR
/private/get-deposit-history:
post:
tags:
- Crypto Wallet
x-apply-to:
- rest
summary: private/get-deposit-history
description: Fetches deposit history. If you do not see the option when viewing your API Keys, this feature is not yet available for you.
operationId: privateGetDepositHistory
x-codeSamples:
- lang: JavaScript
label: JavaScript
source: "const ccxt = require('ccxt');\nconst exchange = new ccxt.cryptocom({\n apiKey: 'YOUR_API_KEY',\n secret: 'YOUR_SECRET',\n enableRateLimit: true,\n});\nconst res = await exchange.v1PrivatePostPrivateGetDepositHistory({\n currency: 'XRP',\n start_ts: \"1587846300000\",\n end_ts: \"1587846358253\",\n page_size: \"2\",\n page: \"0\",\n status: '1',\n});\nconsole.log(res);\n"
- lang: Python
label: Python
source: "import ccxt\nexchange = ccxt.cryptocom({\n 'apiKey': 'YOUR_API_KEY',\n 'secret': 'YOUR_SECRET',\n 'enableRateLimit': True,\n})\nres = exchange.v1_private_post_private_get_deposit_history({\n 'currency': 'XRP',\n 'start_ts': \"1587846300000\",\n 'end_ts': \"1587846358253\",\n 'page_size': \"2\",\n 'page': \"0\",\n 'status': '1',\n})\nprint(res)\n"
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateGetDepositHistoryRequest'
example:
id: '-1'
method: private/get-deposit-history
api_key: YOUR_API_KEY
sig: DIGITAL_SIGNATURE
nonce: '1587846358253'
params:
currency: XRP
start_ts: '1587846300000'
end_ts: '1587846358253'
page_size: '2'
page: '0'
status: '1'
responses:
'200':
description: Success.
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateGetDepositHistoryResponse'
example:
id: '11'
method: private/get-deposit-history
code: '0'
result:
deposit_list:
- currency: XRP
fee: '1.0'
create_time: '1607063412000'
id: '2220'
update_time: '1607063460000'
amount: '100'
address: 2NBqqD5GRJ8wHy1PYyCXTe9ke5226FhavBf?1234567890
status: '1'
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateGetDepositHistoryResponse'
example:
id: '1'
method: private/get-deposit-history
code: '40001'
message: BAD_REQUEST
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateGetDepositHistoryResponse'
example:
id: '1'
method: private/get-deposit-history
code: '40101'
message: UNAUTHORIZED
'408':
description: Request timeout.
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateGetDepositHistoryResponse'
example:
id: '1'
method: private/get-deposit-history
code: '40801'
message: REQUEST_TIMEOUT
'429':
description: Too many requests.
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateGetDepositHistoryResponse'
example:
id: '1'
method: private/get-deposit-history
code: '42901'
message: TOO_MANY_REQUESTS
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateGetDepositHistoryResponse'
example:
id: '1'
method: private/get-deposit-history
code: '50001'
message: INTERNAL_SERVER_ERROR
/private/get-withdrawal-history:
post:
tags:
- Crypto Wallet
x-apply-to:
- rest
summary: private/get-withdrawal-history
description: Fetches withdrawal history. If you do not see the option when viewing your API Keys, this feature is not yet available for you.
operationId: privateGetWithdrawalHistory
x-codeSamples:
- lang: JavaScript
label: JavaScript
source: "const ccxt = require('ccxt');\nconst exchange = new ccxt.cryptocom({\n apiKey: 'YOUR_API_KEY',\n secret: 'YOUR_SECRET',\n enableRateLimit: true,\n});\nconst res = await exchange.v1PrivatePostPrivateGetWithdrawalHistory({\n currency: 'XRP',\n start_ts: \"1587846300000\",\n end_ts: \"1587846358253\",\n page_size: \"2\",\n page: \"0\",\n status: '1',\n});\nconsole.log(res);\n"
- lang: Python
label: Python
source: "import ccxt\nexchange = ccxt.cryptocom({\n 'apiKey': 'YOUR_API_KEY',\n 'secret': 'YOUR_SECRET',\n 'enableRateLimit': True,\n})\nres = exchange.v1_private_post_private_get_withdrawal_history({\n 'currency': 'XRP',\n 'start_ts': \"1587846300000\",\n 'end_ts': \"1587846358253\",\n 'page_size': \"2\",\n 'page': \"0\",\n 'status': '1',\n})\nprint(res)\n"
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateGetWithdrawalHistoryRequest'
example:
id: '-1'
method: private/get-withdrawal-history
api_key: YOUR_API_KEY
sig: DIGITAL_SIGNATURE
nonce: '1587846358253'
params:
currency: XRP
start_ts: '1587846300000'
end_ts: '1587846358253'
page_size: '2'
page: '0'
status: '1'
responses:
'200':
description: Success.
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateGetWithdrawalHistoryResponse'
example:
id: '11'
method: private/get-withdrawal-history
code: '0'
result:
withdrawal_list:
- currency: XRP
client_wid: my_withdrawal_002
fee: '1.0'
create_time: '1607063412000'
id: '2220'
update_time: '1607063460000'
amount: '100'
address: 2NBqqD5GRJ8wHy1PYyCXTe9ke5226FhavBf?1234567890
status: '1'
txid: ''
network_id: null
'400':
description: Bad request.
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateGetWithdrawalHistoryResponse'
example:
id: '1'
method: private/get-withdrawal-history
code: '40001'
message: BAD_REQUEST
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateGetWithdrawalHistoryResponse'
example:
id: '1'
method: private/get-withdrawal-history
code: '40101'
message: UNAUTHORIZED
'408':
description: Request timeout.
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateGetWithdrawalHistoryResponse'
example:
id: '1'
method: private/get-withdrawal-history
code: '40801'
message: REQUEST_TIMEOUT
'429':
description: Too many requests.
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateGetWithdrawalHistoryResponse'
example:
id: '1'
method: private/get-withdrawal-history
code: '42901'
message: TOO_MANY_REQUESTS
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateGetWithdrawalHistoryResponse'
example:
id: '1'
method: private/get-withdrawal-history
code: '50001'
message: INTERNAL_SERVER_ERROR
components:
schemas:
PrivateGetDepositHistoryRequest:
$ref: exchange-schema.generated.yaml#/components/schemas/PrivateGetDepositHistoryRequest
PrivateGetCurrencyNetworksRequest:
$ref: exchange-schema.generated.yaml#/components/schemas/PrivateGetCurrencyNetworksRequest
PrivateGetDepositAddressRequest:
$ref: exchange-schema.generated.yaml#/components/schemas/PrivateGetDepositAddressRequest
PrivateGetCurrencyNetworksResponse:
$ref: exchange-schema.generated.yaml#/components/schemas/PrivateGetCurrencyNetworksResponse
PrivateCreateWithdrawalRequest:
$ref: exchange-schema.generated.yaml#/components/schemas/PrivateCreateWithdrawalRequest
PrivateGetWithdrawalHistoryResponse:
$ref: exchange-schema.generated.yaml#/components/schemas/PrivateGetWithdrawalHistoryResponse
PrivateCreateWithdrawalResponse:
$ref: exchange-schema.generated.yaml#/components/schemas/PrivateCreateWithdrawalResponse
PrivateGetDepositHistoryResponse:
$ref: exchange-schema.generated.yaml#/components/schemas/PrivateGetDepositHistoryResponse
PrivateGetWithdrawalHistoryRequest:
$ref: exchange-schema.generated.yaml#/components/schemas/PrivateGetWithdrawalHistoryRequest
PrivateGetDepositAddressResponse:
$ref: exchange-schema.generated.yaml#/components/schemas/PrivateGetDepositAddressResponse
x-additional-descriptions:
- name: Prediction Reference Data
slug: prediction-reference-data
x-guide: prediction-reference-data
tags:
# --- truncated at 32 KB (41 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/crypto-com/refs/heads/main/openapi/crypto-com-crypto-wallet-api-openapi.yml