> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dynamic.xyz/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Start Crypto.com payment

> Create a Crypto.com payment and return the payment payload (URL and optional QR code)



## OpenAPI

````yaml https://app.dynamic.xyz/api-docs/public-api.yaml post /sdk/{environmentId}/onramps/cryptoDotCom/payment
openapi: 3.0.1
info:
  title: Dashboard API
  description: Dashboard API documentation
  version: 1.0.0
servers:
  - url: https://app.dynamicauth.com/api/v0
  - url: https://app.dynamic.xyz/api/v0
  - url: http://localhost:3333/api/v0
security: []
tags:
  - name: Analytics
    description: Query usage analytics and event counts for your environment.
  - name: SDK
    description: SDK-facing endpoints consumed by embedded Dynamic clients.
  - name: Organizations
    description: >-
      Manage organizations — the top-level container for all environments and
      projects.
  - name: Projects
    description: Manage projects that group related environments under an organization.
  - name: Environments
    description: >-
      Manage environments (live and sandbox) where your authentication
      configuration lives.
  - name: Users
    description: List, search, and manage authenticated users within an environment.
  - name: Invites
    description: >-
      Manage invitation links that grant specific external users access to your
      environment.
  - name: Tokens
    description: >-
      Create and manage API tokens used to authenticate requests to the Dynamic
      API.
  - name: Origins
    description: >-
      Configure allowed origins (CORS) for SDK and API access to your
      environment.
  - name: Allowlists
    description: >-
      Manage allowlists to control which wallet addresses or email addresses can
      access your environment.
  - name: Wallets
    description: View and manage wallets linked to users in your environment.
  - name: Members
    description: Manage team members and their roles within an organization.
  - name: Sessions
    description: View and revoke active user sessions within an environment.
  - name: Settings
    description: Read and update environment-level configuration settings.
  - name: Exchanges
    description: >-
      Configure exchange integrations (Coinbase, Binance, etc.) for fiat on-ramp
      within your environment.
  - name: Providers
    description: >-
      List, enable, disable, and configure authentication providers (OAuth,
      email, wallet, SMS, etc.) for your environment.
  - name: Captcha
    description: >-
      Configure captcha verification (provider, site key, secret key) for your
      environment.
  - name: Gates
    description: >-
      Define access gates that restrict environment entry to users who meet
      specific criteria.
  - name: Chains
    description: >-
      Manage the blockchain networks available for wallet connection in your
      environment.
  - name: Exports
    description: Export user and wallet data from your environment as downloadable files.
  - name: Events
    description: Browse the event log of actions performed within your environment.
  - name: Webhooks
    description: >-
      Create and manage webhooks to receive real-time events (user.created,
      wallet.linked, etc.) at your endpoint.
  - name: Custom Fields
    description: >-
      Define and manage custom metadata fields collected from users at sign-up
      or login.
  - name: MfaSettings
    description: >-
      Configure multi-factor authentication (MFA) policies for your
      organization.
  - name: Mfa
    description: Manage MFA enrollment and verification for individual users.
  - name: CustomHostnames
    description: >-
      Configure custom hostnames for white-labeling the Dynamic authentication
      experience.
  - name: TestAccount
    description: >-
      Manage test accounts used for automated testing and QA within an
      environment.
  - name: NameServices
    description: >-
      Configure name service integrations (ENS, Unstoppable Domains, etc.) for
      human-readable wallet addresses.
  - name: GlobalWallets
    description: >-
      Manage global wallets shared across multiple environments in an
      organization.
  - name: GlobalWalletConnections
    description: Configure which environments can access and use global wallets.
  - name: GlobalWalletAccessControl
    description: Control which users and roles can access and operate global wallets.
  - name: UserApiTokens
    description: >-
      Create and manage user-scoped API tokens for programmatic access on behalf
      of a user.
  - name: Waas
    description: Wallet-as-a-Service endpoints for creating and managing embedded wallets.
  - name: WalletConnect
    description: Configure WalletConnect integration settings for your environment.
  - name: Checkout
    description: >-
      Accept crypto payments and deposits from any wallet. Settle in any token
      you choose.
  - name: Flow
    description: >-
      Accept crypto payments, deposits, and withdrawals. Amount and destination
      are fixed server-side at create; the post-create lifecycle is driven with
      a capability session token.
  - name: FlowAnalytics
    description: >-
      Query aggregated analytics and paginated transaction lists for the Flow
      product.
  - name: Custom Networks
    description: >-
      Add and manage custom EVM-compatible networks beyond the built-in chain
      list.
  - name: Chainalysis
    description: >-
      Configure Chainalysis integration for blockchain address screening and
      risk assessment.
  - name: Visits
    description: Track and query user visit activity within your environment.
  - name: ExternalJwt
    description: >-
      Configure external JWT providers so existing auth tokens can be used with
      Dynamic.
  - name: SDK Views
    description: >-
      Manage SDK view configurations that customize the appearance of Dynamic
      modals and flows.
  - name: DeeplinkUrls
    description: Configure deep link URLs for mobile app integration with the Dynamic SDK.
  - name: OrganizationSettings
    description: >-
      Read and update organization-level settings such as approval workflow
      configuration.
  - name: AdminActions
    description: >-
      Manage admin action requests that require approval from another
      administrator.
  - name: ClientGrant
    description: |
      OAuth 2.0 Device Authorization Grant flow (RFC 8628) used by first-party
      Dynamic clients (CLI, MCP server, demo apps, IDE plugins) to obtain a
      revocable, 30-day client JWT without ever seeing the user's dashboard
      session token.
  - name: AuthorizedClients
    description: |
      Manage first-party clients (CLI / MCP / demo / IDE plugins) authorized
      to act as a dashboard user. Surfaced under Profile → Authorized Clients.
paths:
  /sdk/{environmentId}/onramps/cryptoDotCom/payment:
    post:
      tags:
        - SDK
      summary: Start Crypto.com payment
      description: >-
        Create a Crypto.com payment and return the payment payload (URL and
        optional QR code)
      operationId: createCryptoDotComPayment
      parameters:
        - $ref: '#/components/parameters/environmentId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CryptoDotComPaymentCreateRequest'
      responses:
        '200':
          description: Crypto.com payment payload
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CryptoDotComPaymentResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '404':
          description: Not found
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
        - bearerAuth: []
components:
  parameters:
    environmentId:
      in: path
      name: environmentId
      required: true
      description: ID of the environment
      schema:
        $ref: '#/components/schemas/uuid'
  schemas:
    CryptoDotComPaymentCreateRequest:
      type: object
      required:
        - amount
        - currency
        - walletAddress
        - chain
      properties:
        amount:
          type: number
          description: >-
            A positive integer representing how much to collect in the smallest
            currency unit (e.g., 100 cents to collect $1.00). Refer to [Pricing
            Currencies](https://pay-docs.crypto.com/#api-reference-resources-payments-pricing-currencies)
            for the smallest unit for each currency.
          example: 100
        currency:
          type: string
          description: >-
            Three-letter currency code for the payment amount (pricing
            currency). Must be a supported fiat currency / cryptocurrency. Refer
            to [Pricing
            Currencies](https://pay-docs.crypto.com/#api-reference-resources-payments-pricing-currencies)
            for the currency code.
          example: USD
        description:
          $ref: '#/components/schemas/NonEmptyStringWith255MaxLengthAndSpecialChars'
        metadata:
          type: object
          description: >-
            Set of key-value pairs that you can attach to an object. This can be
            useful for storing additional information about the object in a
            structured format.
        orderId:
          $ref: '#/components/schemas/NonEmptyStringWith50MaxLength'
        subMerchantId:
          $ref: '#/components/schemas/NonEmptyStringWith255MaxLength'
        walletAddress:
          $ref: '#/components/schemas/WalletPublicKey'
        networkId:
          $ref: '#/components/schemas/NonEmptyStringWith50MaxLength'
        chain:
          $ref: '#/components/schemas/ChainEnum'
        merchantName:
          $ref: '#/components/schemas/NonEmptyStringWith255MaxLengthAndSpecialChars'
    CryptoDotComPaymentResponse:
      type: object
      required:
        - id
        - amount
        - currency
        - paymentUrl
        - qrCode
        - status
      properties:
        id:
          $ref: '#/components/schemas/uuid'
        amount:
          type: number
          description: >-
            A positive integer representing how much to collect in the smallest
            currency unit (e.g., 100 cents to collect $1.00). Refer to [Pricing
            Currencies](https://pay-docs.crypto.com/#api-reference-resources-payments-pricing-currencies)
            for the smallest unit for each currency.
          example: 2500
        currency:
          type: string
          description: >-
            Three-letter currency code for the payment amount (pricing
            currency). Must be a supported fiat currency / cryptocurrency. Refer
            to [Pricing
            Currencies](https://pay-docs.crypto.com/#api-reference-resources-payments-pricing-currencies)
            for the currency code.
          example: USD
        amountRefunded:
          type: number
          description: >-
            Amount in cents refunded (can be less than the amount of the payment
            if a partial refund was issued).
          example: 0
        created:
          type: number
          description: >-
            Time at which the object was created. Measured in seconds since the
            Unix epoch.
          example: 1555098161
        cryptoCurrency:
          type: string
          description: The cryptocurrency to be collected for this payment.
        cryptoAmount:
          type: string
          description: The amount of cryptocurrency to be collected for this payment.
          example: '1894.8'
        customerId:
          type: string
          description: >-
            ID of the customer created in Crypto.com Pay Merchant Dashboard, if
            exists.
          example: '1234567890'
        paymentUrl:
          type: string
          description: >-
            The URL of the payment page that customers will navigate to in order
            to make the payment.
          example: >-
            https://js.crypto.com/sdk/payments/checkout/set_wallet?publishableKey=XXX&sdkMeta=YYY
        qrCode:
          description: QR code image data for the payment
          type: string
        returnUrl:
          type: string
          description: >-
            The URL for payment page to redirect back to when the payment
            becomes succeeded.
          example: http://YOUR_WEBSITE.com/orders/123/complete
        cancelUrl:
          type: string
          description: >-
            The URL for payment page to redirect to when the payment is failed
            or cancelled.
          example: http://YOUR_WEBSITE.com/orders/123/fail
        description:
          type: string
          description: An arbitrary string attached to the object.
          example: Crypto.com Tee (Unisex)
        liveMode:
          type: boolean
          description: >-
            Has the value true if the object exists in live mode or the value
            false if the object exists in test mode.
          example: false
        metadata:
          type: object
          description: >-
            Set of key-value pairs that you can attach to an object. This can be
            useful for storing additional information about the object in a
            structured format.
        orderId:
          type: string
          description: >-
            Merchant provided order ID for this payment. Merchants can view the
            associated order ID of each payment on the Merchant Dashboard.
            Crypto.com Pay does not verify or guarantee the uniqueness of the
            values in this field.
          example: 640cf83d-a316-4030-9878-71be1d98b737
        recipient:
          type: string
          description: The name of the merchant collecting this payment.
          example: Crypto.com Shop
        refunded:
          type: boolean
          description: >-
            Whether the charge has been fully refunded. If the charge is only
            partially refunded, this attribute will still be false.
          example: false
        status:
          type: string
          description: >-
            The status of the payment is either pending (pending payment),
            succeeded (payment captured), or cancelled.
          example: pending
        expiredAt:
          type: number
          description: >-
            Time at which the payment expires. Measured in seconds since the
            Unix epoch.
          example: 1555098461
    uuid:
      type: string
      pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
      minLength: 36
      maxLength: 36
      example: 95b11417-f18f-457f-8804-68e361f9164f
    NonEmptyStringWith255MaxLengthAndSpecialChars:
      type: string
      pattern: ^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-'()\[\]*]+(?<=\S)$
      maxLength: 255
      example: An example name
    NonEmptyStringWith50MaxLength:
      type: string
      pattern: ^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-'|]+(?<=\S)$
      example: An example name
      maxLength: 50
    NonEmptyStringWith255MaxLength:
      type: string
      pattern: ^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-'|]+(?<=\S)$
      maxLength: 255
      example: An example name
    WalletPublicKey:
      type: string
      pattern: ^[A-Za-z0-9_-]{18,100}$
      description: >-
        Valid blockchain wallet address, must be an alphanumeric string
        (underscores allowed for chains like Midnight, hyphens allowed for
        chains using base64url-encoded addresses like TON)
      example: '0xbF394748301603f18d953C90F0b087CBEC0E1834'
      maxLength: 255
    ChainEnum:
      type: string
      enum:
        - ETH
        - EVM
        - FLOW
        - SOL
        - ALGO
        - STARK
        - COSMOS
        - BTC
        - ECLIPSE
        - SUI
        - SPARK
        - TRON
        - APTOS
        - TON
        - STELLAR
        - ALEO
        - TEMPO
        - MIDNIGHT
    BadRequest:
      type: object
      properties:
        error:
          description: Human-readable error message
          type: string
    InternalServerError:
      type: object
      properties:
        error:
          description: Human-readable error message
          type: string
          example: Internal Server Error
  responses:
    BadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BadRequest'
    InternalServerError:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/InternalServerError'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````