Crypto.com · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the Crypto.com Exchange REST API v1

6 actions 6 updates security extends openapi/crypto-com-exchange-openapi.yml
Derived by API Evangelist Built from the contracts Crypto.com publishes. Crypto.com did not publish this file.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-agentic-accessx-apievangelist-profilex-apievangelist-reviewedx-contact-docssecuritySchemesx-rate-limitsx-error-catalogx-idempotency

Targets 5

$.info
$.components
$.paths['/private/create-order'].post
$.paths['/private/create-withdrawal'].post
$.paths['/private/cancel-all-orders'].post

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the Crypto.com Exchange REST API v1
  version: 1.0.0
extends: openapi/crypto-com-exchange-openapi.yml
x-generated: '2026-08-11'
x-method: generated
x-source: >-
  Derived from https://exchange-developer.crypto.com/exchange/v1/docs/api/rest-common-api-reference and
  the artifacts in this repository. Never applied to the harvested spec in openapi/_original/.
x-rationale: >-
  The published spec is unusually complete on content - 95 operations, every one tagged with a unique
  operationId, a summary, a description and 200/400/408/429/500 responses, 221 component schemas and 560
  in-spec examples - but it declares NO components.securitySchemes and no top-level security, even though
  85 of the 95 operations document a 401 response. An agent reading only the contract cannot discover how
  to authenticate. These actions add the auth contract and the runtime semantics that live only in prose.
actions:
  - target: $.info
    update:
      x-apievangelist-profile: https://apievangelist.com/providers/crypto-com
      x-apievangelist-reviewed: '2026-08-11'
      x-contact-docs: https://exchange-developer.crypto.com/exchange/v1/docs/api/rest-common-api-reference

  - target: $.components
    update:
      securitySchemes:
        ExchangeHmacSignature:
          type: apiKey
          in: header
          name: api_key
          description: >-
            NOT a header in practice - documented here because OpenAPI 3.0 has no vocabulary for a
            body-carried HMAC signature. Private methods carry api_key, sig and nonce inside the JSON
            request body. sig is the hex-encoded HMAC-SHA256 of
            (method + id + api_key + parameter_string + nonce), keyed with the API secret, where
            parameter_string is the request params sorted by key ascending and concatenated as key+value
            with no separators. nonce is a millisecond epoch timestamp and is rejected with reason code
            40102 INVALID_NONCE if it differs from server time by more than 60 seconds. Keys are issued in
            the Exchange User Center, default to read-only, and may be bound to an IP allowlist.
          x-signing-string: method + id + api_key + parameter_string + nonce
          x-algorithm: HMAC-SHA256, hex-encoded
          x-carried-in: request-body
          x-docs: https://exchange-developer.crypto.com/exchange/v1/docs/api/rest-common-api-reference

  - target: $.info
    update:
      x-rate-limits:
        source: rate-limits/crypto-com-rate-limits.yml
        response_headers: none
        exhaustion:
          http_status: 429
          code: 42901
        note: >-
          Limits are published as numbers only. No X-RateLimit-*, RateLimit-* or Retry-After header is
          returned, so a client must model the limits rather than read them.
      x-error-catalog:
        source: errors/crypto-com-error-codes.yml
        format: proprietary
        note: >-
          The in-body `code` is authoritative alongside the HTTP status. Two failure-shaped outcomes
          (40401 NOT_FOUND, 43012 SELF_TRADE_PREVENTION) are returned with HTTP 200.
      x-idempotency:
        supported: false
        note: >-
          The Exchange order path has no idempotency key. client_oid gives duplicate REJECTION
          (204 DUPLICATE_CLORDID / 40006 DUPLICATE_REQUEST), not idempotent replay. Crypto.com Pay,
          a different API, does accept an Idempotency-Key header on refunds.
      x-sandbox:
        server: https://uat-api.3ona.co/exchange/v1
        note: Already declared in servers[]; recorded here for artifact cross-linking.
      x-deprecation-policy:
        url: https://exchange-developer.crypto.com/exchange/v1/docs/api/rest-breaking-change-schedule
        sunset_header: false
        note: Dated HTML schedule only; no RFC 8594 Sunset/Deprecation headers and no deprecated operations.

  - target: $.paths['/private/create-order'].post
    update:
      x-agentic-access:
        action-class: acting
        consequence: physical
        audit: required
        note: >-
          Places a live order against real funds. Crypto.com's own CLI classifies this at the `mutate`
          safety tier, requiring acknowledged=true over MCP and --yes on the command line.

  - target: $.paths['/private/create-withdrawal'].post
    update:
      x-agentic-access:
        action-class: acting
        consequence: physical
        audit: required
        human-in-the-loop: required
        note: >-
          Moves assets off the platform. Crypto.com's own CLI classifies this at the `dangerous` safety
          tier, which the MCP server refuses entirely unless started with --allow-dangerous.

  - target: $.paths['/private/cancel-all-orders'].post
    update:
      x-agentic-access:
        action-class: acting
        consequence: safety-critical
        audit: required
        human-in-the-loop: required
        note: >-
          Bulk, irreversible cancellation. Classified `dangerous` in the provider's own tool catalog.

Work with this as data

Every overlay 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 openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • 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 overlay
curl "https://apis.io/api/v1/overlays/crypto-com-exchange-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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.