Crypto.com Crypto Wallet API

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.

Operations 5

POST /private/create-withdrawal private/create-withdrawal #
POST /private/get-currency-networks private/get-currency-networks #
POST /private/get-deposit-address private/get-deposit-address #
POST /private/get-deposit-history private/get-deposit-history #
POST /private/get-withdrawal-history private/get-withdrawal-history #

Documentation

Specifications

Other Resources

Work with this as data

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 Specification

crypto-com-crypto-wallet-api-openapi.yml Raw ↑
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