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

# List available payment methods



## OpenAPI

````yaml GET /payments/v1/payment-method-config
openapi: 3.0.0
info:
  title: Ramps & Swaps
  version: 1.0.0
servers:
  - url: https://api.moonpay.com
security: []
tags:
  - name: Account details
    description: >-
      Get your account details, including the verification status and the
      current fees.
  - name: On-ramp
    description: Get quotes and transaction details for buying cryptocurrencies.
  - name: Off-ramp
    description: Get quotes and transaction details for selling cryptocurrencies.
  - name: Swaps
    description: Get quotes and transaction details for swapping cryptocurrencies.
  - name: Data
    description: >-
      Get currently supported countries, currencies, and payment methods. Also
      check the customers's IP address restrictions.
  - name: DefiToken
    description: Retrieve token data and token lists for DeFi assets.
paths:
  /payments/v1/payment-method-config:
    get:
      tags:
        - Data
      summary: List available payment methods and their capabilities/limits
      parameters:
        - in: header
          name: Authorization
          required: true
          schema:
            type: string
            example: Api-Key <secret>
          description: 'Secret API key. Format: Api-Key sk_live_...'
        - in: query
          name: currencyCode
          required: true
          schema:
            type: string
            example: USD
          description: ISO-4217 currency code (e.g., USD, EUR).
        - in: query
          name: countryCode
          required: true
          schema:
            type: string
            example: USA
          description: >-
            ISO3 country code of residence (e.g., USA, GBR, PRT). Used to
            determine region when provided.
        - in: query
          name: stateOfResidence
          required: false
          schema:
            type: string
            example: NY
          description: >
            State of residence (ISO2). **Required when `countryCodeOfResidence`
            = US**.
        - in: query
          name: transactionType
          required: true
          schema:
            type: string
            enum:
              - buy
              - sell
          description: Transaction type.
      responses:
        '200':
          description: >-
            Array of available payment methods and their status for the
            requested region.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentMethodsResponse'
              examples:
                sample:
                  value:
                    - type: credit_debit_card
                      displayName: Debit Card
                      iconUrl: >-
                        https://static.moonpay.com/widget/payment_methods/CardGeneric.svg
                      availability:
                        active: true
                        unavailableReason: null
                      capabilities:
                        supportsRecurring: true
                        settlementSpeed: instant
                      limits:
                        perTransaction:
                          limit: 10000
                          currencyCode: USD
                        daily:
                          limit: 10000
                          currencyCode: USD
                        monthly:
                          limit: 50000
                          currencyCode: USD
                      scheduledMaintenances: []
                    - type: bank_transfer
                      displayName: Bank Transfer
                      iconUrl: >-
                        https://static.moonpay.com/widget/payment_methods/BankTransfer.svg
                      availability:
                        active: false
                        unavailableReason: Temporarily unavailable in region
                      capabilities:
                        supportsRecurring: false
                        settlementSpeed: 1_3_days
                      limits:
                        perTransaction:
                          limit: 25000
                          currencyCode: USD
                        daily:
                          limit: 25000
                          currencyCode: USD
                        monthly:
                          limit: 50000
                          currencyCode: USD
                      scheduledMaintenances:
                        - startAt: '2025-11-20T01:00:00Z'
                          endAt: '2025-11-20T03:00:00Z'
                          impact: degraded
                          lastUpdated: '2025-11-12T10:00:00Z'
                          statusPageUrl: https://status.moonpay.com/incidents/abc123
        '400':
          description: Invalid or missing parameters (e.g., region could not be resolved).
        '401':
          description: Unauthenticated (missing/invalid API key).
        '403':
          description: Forbidden.
        '500':
          description: Internal server error.
components:
  schemas:
    PaymentMethodsResponse:
      type: array
      items:
        $ref: '#/components/schemas/PaymentMethod'
    PaymentMethod:
      type: object
      required:
        - type
        - displayName
        - iconUrl
        - availability
        - capabilities
        - limits
        - scheduledMaintenances
      properties:
        type:
          type: string
          description: Transaction payment method type.
          example: credit_debit_card
        displayName:
          type: string
          example: Credit and Debit Card
        iconUrl:
          type: string
          format: uri
          nullable: true
          example: https://static.moonpay.com/widget/payment_methods/CardGeneric.svg
        availability:
          $ref: '#/components/schemas/PaymentMethodAvailabilityResponse'
        capabilities:
          $ref: '#/components/schemas/PaymentMethodCapabilitiesResponse'
        limits:
          $ref: '#/components/schemas/PaymentMethodAllLimitsResponse'
        scheduledMaintenances:
          type: array
          items:
            $ref: '#/components/schemas/ScheduledMaintenanceResponse'
    PaymentMethodAvailabilityResponse:
      type: object
      required:
        - active
      properties:
        active:
          type: boolean
          example: true
        unavailableReason:
          type: string
          nullable: true
          description: Optional reason when `active=false`.
          example: maintenance
    PaymentMethodCapabilitiesResponse:
      type: object
      required:
        - supportsRecurring
        - settlementSpeed
      properties:
        supportsRecurring:
          type: boolean
          example: true
        settlementSpeed:
          type: string
          enum:
            - instant
            - same_day
            - 1_3_days
            - 3_5_days
          example: instant
    PaymentMethodAllLimitsResponse:
      type: object
      properties:
        perTransaction:
          $ref: '#/components/schemas/PaymentMethodLimitResponse'
        daily:
          $ref: '#/components/schemas/PaymentMethodLimitResponse'
        monthly:
          $ref: '#/components/schemas/PaymentMethodLimitResponse'
    ScheduledMaintenanceResponse:
      type: object
      required:
        - startAt
        - endAt
        - impact
      properties:
        startAt:
          type: string
          format: date-time
          example: '2025-11-20T01:00:00Z'
        endAt:
          type: string
          format: date-time
          example: '2025-11-20T03:00:00Z'
        impact:
          type: string
          enum:
            - none
            - partial
            - degraded
            - unavailable
          example: degraded
        lastUpdated:
          type: string
          format: date-time
          nullable: true
          example: '2025-11-12T10:00:00Z'
        statusPageUrl:
          type: string
          format: uri
          nullable: true
          example: https://status.moonpay.com/incidents/abc123
    PaymentMethodLimitResponse:
      type: object
      required:
        - limit
        - currencyCode
      properties:
        limit:
          type: number
          nullable: true
          description: The numeric limit for the interval.
          example: 500000
        currencyCode:
          type: string
          description: ISO-4217 currency code for the limit value.
          example: USD

````