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

# Payment method types for a corridor

> Indicative payment methods for one corridor. **African:** ``country`` (required). ``currency`` is optional and must match the catalog when sent; response ``context`` always includes both. Optional ``order_type`` (``OnRamp`` or ``OffRamp``); omit to get both ``onramp`` and ``offramp`` buckets. **International bank:** ``currency`` = EUR or USD (required). Do not pass ``country``. EUR/USD onramp returns ``bank``; offramp uses international bank when configured. **international bank payout markets** (e.g. FR + EUR offramp): ``country`` + ``currency``; returns rails such as ``BankSepa`` and ``BankSwift`` with ``type`` set to international bank ``PaymentMethodType``. local fiat rail African ``mobile_money`` and ``bank`` rows include a ``networks[]`` list (``id``, ``name``, ``min_amount``, ``max_amount``, ``currency``) for client-side amount gating. Binding check: quote endpoint.

Indicative payment methods for one corridor.

### African corridors

* **`country`** — required
* **`currency`** — optional; must match the catalog when sent; response `context` always includes both
* **`order_type`** — `OnRamp` or `OffRamp`; omit to get both `onramp` and `offramp` buckets

### International bank

* **`currency`** = EUR or USD (required)
* Do **not** pass `country`
* EUR/USD onramp returns `bank`
* Offramp uses international bank when configured

### International bank payout markets

Example: FR + EUR offramp — pass `country` + `currency`. Returns rails such as `BankSepa` and `BankSwift` with `type` set to the international bank `PaymentMethodType`.

### Local fiat (African)

`mobile_money` and `bank` rows include a **`networks[]`** list (`id`, `name`, `min_amount`, `max_amount`, `currency`) for client-side amount gating.

<Note>
  Binding check: [`POST /partner/orders/quote`](/partner/orders/quote).
</Note>


## OpenAPI

````yaml /api-reference/openapi.json get /partner/payment-methods
openapi: 3.1.0
info:
  title: Element Pay Partner API
  description: >-
    Provider-neutral fiat ↔ crypto ramps for partners. Discover corridors,
    create a binding quote, accept it, and receive webhooks. African local fiat
    (mobile money and bank) is auto-routed by corridor.
  version: 1.0.0
servers:
  - url: https://sandbox.elementpay.net/api/v1
    description: Sandbox
security:
  - APIKeyHeader: []
tags:
  - name: partner
    description: >-
      Corridor discovery, indicative rates, binding quotes, and order acceptance
      (including account currency conversion).
    x-group: Partner
  - name: partner-customers
    description: >-
      Vault KYC: requirements, create, list, get/update, documents, and submit
      (pcus_*).
    x-group: Customers
  - name: partner-customer-accounts
    description: >-
      Customer accounts and funding: open/list/get rails, deposit instructions,
      stablecoin sends, and same-currency fiat book transfers.
    x-group: Customer accounts
paths:
  /partner/payment-methods:
    get:
      tags:
        - partner
      summary: Payment method types for a corridor
      description: >-
        Indicative payment methods for one corridor. **African:** ``country``
        (required). ``currency`` is optional and must match the catalog when
        sent; response ``context`` always includes both. Optional ``order_type``
        (``OnRamp`` or ``OffRamp``); omit to get both ``onramp`` and ``offramp``
        buckets. **International bank:** ``currency`` = EUR or USD (required).
        Do not pass ``country``. EUR/USD onramp returns ``bank``; offramp uses
        international bank when configured. **international bank payout
        markets** (e.g. FR + EUR offramp): ``country`` + ``currency``; returns
        rails such as ``BankSepa`` and ``BankSwift`` with ``type`` set to
        international bank ``PaymentMethodType``. local fiat rail African
        ``mobile_money`` and ``bank`` rows include a ``networks[]`` list
        (``id``, ``name``, ``min_amount``, ``max_amount``, ``currency``) for
        client-side amount gating. Binding check: quote endpoint.
      operationId: partner_payment_methods_partner_payment_methods_get
      parameters:
        - name: country
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: ISO country (required for African corridors, e.g. KE).
            title: Country
          description: ISO country (required for African corridors, e.g. KE).
        - name: currency
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Optional for African (validated against catalog). Required for
              international_bank (EUR/USD).
            title: Currency
          description: >-
            Optional for African (validated against catalog). Required for
            international_bank (EUR/USD).
        - name: order_type
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: OnRamp or OffRamp; omit for both onramp and offramp buckets.
            examples:
              - OnRamp
              - OffRamp
            title: Order Type
          description: OnRamp or OffRamp; omit for both onramp and offramp buckets.
      responses:
        '200':
          description: Payment methods for the requested corridor
          content:
            application/json:
              schema:
                type: object
                required:
                  - status
                  - message
                properties:
                  status:
                    type: string
                    enum:
                      - success
                  message:
                    type: string
                  data:
                    type: object
              example:
                status: success
                message: Partner payment methods (indicative)
                data:
                  context:
                    country: KE
                    currency: KES
                  onramp:
                    - type: mobile_money
                      status: active
                      networks:
                        - id: 7ea6df5c-6bba-46b2-a7e6-f511959e7edb
                          name: Safaricom M-PESA
                          min_amount: 100
                          max_amount: 250000
                          currency: KES
                    - type: bank
                      status: active
                      networks: []
                  offramp:
                    - type: mobile_money
                      status: active
                      networks: []
                    - type: bank
                      status: active
                      networks: []
        '400':
          description: Bad request (missing corridor parameters or rail resolution failed)
          content:
            application/json:
              schema:
                type: object
                required:
                  - status
                  - message
                properties:
                  status:
                    type: string
                    enum:
                      - error
                  message:
                    type: string
                  data:
                    type:
                      - object
                      - 'null'
                    properties:
                      field:
                        type: string
                      country:
                        type: string
                      currency:
                        type: string
                      upstream_http_status:
                        type: integer
              example:
                status: error
                message: >-
                  Provide country for African corridors (e.g. KE) or currency
                  for international bank (EUR/USD).
                data: null
        '422':
          description: Validation error (corridor not supported or invalid parameters)
          content:
            application/json:
              schema:
                type: object
                required:
                  - status
                  - message
                properties:
                  status:
                    type: string
                    enum:
                      - error
                  message:
                    type: string
                  data:
                    type:
                      - object
                      - 'null'
                    properties:
                      field:
                        type: string
                      country:
                        type: string
                      currency:
                        type: string
                      upstream_http_status:
                        type: integer
              example:
                status: error
                message: Corridor not supported on this environment.
                data:
                  currency: EUR
                  country: FR
        '502':
          description: Upstream discovery temporarily unavailable
          content:
            application/json:
              schema:
                type: object
                required:
                  - status
                  - message
                properties:
                  status:
                    type: string
                    enum:
                      - error
                  message:
                    type: string
                  data:
                    type:
                      - object
                      - 'null'
                    properties:
                      field:
                        type: string
                      country:
                        type: string
                      currency:
                        type: string
                      upstream_http_status:
                        type: integer
              example:
                status: error
                message: Quote request failed
                data:
                  upstream_http_status: 502
              examples:
                upstream_unavailable:
                  summary: Discovery upstream error
                  value:
                    status: error
                    message: Quote request failed
                    data:
                      upstream_http_status: 502
      security:
        - APIKeyHeader: []
components:
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key

````