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

# Get Payment Methods

> Returns payment methods and a deduplicated requirements registry. Resolve each method's requirementsRef against the registry to obtain its dynamic form schema.



## OpenAPI

````yaml get /v2/wallets/{id}/withdraw/fiat/payment-methods
openapi: 3.0.3
info:
  title: Blockradar Documentation
  description: >-
    The OpenAPI specification of the Blockradar API that enables fintechs and
    developers to seamlessly integrate stablecoin deposits and payments into
    their products.
  version: 1.0.0
  contact: {}
servers:
  - url: https://api.blockradar.co
security:
  - apiKey: []
tags:
  - name: Rewards
    description: >-
      Non-custodial yield (Earn) on stablecoins via DeFi (Aave) strategies.
      Deposit, withdraw, preview fees, and read positions and earnings at the
      business, wallet, and sub-address level. Amounts are returned net of the
      platform fee, which applies only to interest earned.
  - name: Wallet
    description: >-
      Wallet Management System


      Comprehensive wallet management API for multi-blockchain operations. This
      system handles wallet creation, configuration, balance monitoring, and
      integration with various blockchain networks.


      Core Functionality:


      - Multi-blockchain wallet creation and management

      - Balance monitoring and asset tracking

      - Auto-settlement rule configuration

      - Gateway wallet integration

      - Address generation and management

      - Transaction monitoring and processing
  - name: Addresses
    description: >-
      Address Management System


      Comprehensive blockchain address management API for operations. This
      system handles address creation, validation, monitoring, and management
      across multiple blockchain networks.


      Core Functionality:


      - Multi-blockchain address generation

      - Address validation and verification

      - Balance monitoring and tracking

      - Transaction history management

      - Address labeling and organization

      - Integration with wallet systems

      - Real-time address monitoring
  - name: Asset
  - name: Transactions
  - name: Withdraw
    description: >-
      The Withdraw feature allows you to programmatically withdraw stablecoins
      from your master wallet with ease
  - name: Withdraw Fiat
  - name: Signing
    description: >-
      Signing service for plain text messages, raw transactions, and EIP-712
      typed data. Message signing, transaction signing, and sign-and-broadcast
      are available on EVM, Tron, Solana, and Stellar. Typed data signing
      (EIP-712, including EIP-2612 Permit and EIP-3009
      TransferWithAuthorization) is EVM-only.
  - name: Swap
    description: >-
      The Swap feature enables users to exchange one stabelcoin asset for
      another across different blockchains. This feature provides a seamless way
      to convert between different stablecoins while maintaining security and
      compliance standards.
  - name: Liquidity Pool
  - name: Virtual Accounts
    description: >-
      Virtual Accounts API provides endpoints for managing virtual bank accounts
      linked to master wallets or child addresses. This API enables businesses
      to:


      - Create virtual accounts for customers to receive payments

      - Retrieve virtual account details

      - Activate/deactivate virtual accounts


      **Virtual Account Types:**


      Virtual accounts support different types with varying behaviors:


      1. **AUTO_FUNDING** (Default):

          - Automatically mints stablecoin when fiat payments are received

          - Transfers the stablecoin to the linked wallet/address immediately

          - Best for real-time payment processing


      **How It Works - Auto-Funding Flow (AUTO_FUNDING type only):**


      When a customer sends fiat currency to a virtual account with type
      AUTO_FUNDING:


      1. **Payment Receipt**: The payment is received in the virtual account

      2. **Automatic Minting**: The system automatically mints the stablecoin
      equivalent

      3. **Blockchain Transfer**: The minted stablecoin is transferred to the
      virtual account's linked wallet or address


      **Note**: The auto-funding flow only applies to virtual accounts with type
      `AUTO_FUNDING`.

      Other types have different processing behaviors.


      ## Prerequisites


      Before creating virtual accounts, ensure:


      - **Compliance requirements must be completed** (see [Compliance
      Requirements](http://localhost:3000/essentials/virtual-accounts#compliance-requirements)
      section below)

      - **Virtual accounts feature must be enabled** for your business (reach
      out to [support@blockradar.co](https://mailto:support@blockradar.co) or
      use live chat on the dashboard to enable the feature after compliance
      approval)

      - **Environment-aware routing** - testnet requests use only testnet routes
      and wallets, while mainnet requests use only mainnet routes and wallets

      - **Master Wallet must support stablecoin asset** - Your account plan must
      include stablecoin access (upgrade from Dashboard → Settings →
      Subscription if needed)


      **Supported Currency:**


      - Fiat: NGN (Nigerian Naira)

      - Stablecoin: cNGN - minted automatically on blockchain (for AUTO_FUNDING
      type)
  - name: Auto Settlements
    description: >-
      Creates a new auto settlement rule for a wallet. Auto settlement
      automatically transfers/swap assets based on configured rules when certain
      conditions are met.


      Rules can be configured for:


      - Source blockchain and assets

      - Destination blockchain and asset

      - Amount ranges (min/max)

      - Slippage tolerance

      - Gateway vs non-gateway wallets


      Gateway rules are required for testnet wallets and must have matching
      source/destination assets.
  - name: Smart Contract
    description: >-
      This API provides endpoints for interacting with smart contracts on the
      blockchain. It allows for reading contract data, executing contract
      functions, and estimating network fees.
  - name: Gateway
    description: >-
      The Gateway feature enables you to programmatically deposit USDC into a
      unified, chain-abstracted balance and instantly mint USDC on any supported
      blockchain, streamlining crosschain transfers and eliminating manual
      bridging steps and rebalancing complexities.
  - name: Payment Links
    description: >-
      The Payment Pages API provides a quick and secure way to collect payment
      for servcies.
  - name: Beneficiaries
    description: >-
      This API allows you to create beneficiaries with automatic settlements to
      your external wallets on a periodic basis.


      Example frequencies: INSTANT, DAILY, WEEKLY, MONTHLY, YEARLY
  - name: AML
    description: >-
      The AML (Anti Money Laundering) API provides a quick way for you to check
      if an address is blacklisted or sanctioned
  - name: Asset Recovery
    description: >-
      Enables the recovery (salvage) of both native blockchain assets and tokens
      from a specified sender address to a recipient address. This feature
      supports emergency fund recovery and asset consolidation operations.
  - name: Miscellaneous
    description: >-
      The Miscellaneous API are supporting APIs that can be used to provide more
      details to other APIs.
  - name: Asset1
  - name: Blockchain
  - name: Webhooks
    description: >-
      Webhooks allow you to set up a notification system that can be used to
      receive updates on certain requests made to the Blockradar API.

      To see full list and instructions
      [https://docs.blockradar.co/essentials/webhooks](https://docs.blockradar.co/essentials/webhooks)


      ##
  - name: Deposit
  - name: Withdraw1
  - name: Swap1
  - name: Gateway1
paths:
  /v2/wallets/{id}/withdraw/fiat/payment-methods:
    get:
      tags:
        - Withdraw Fiat V2
      summary: Get Payment Methods
      description: >-
        Returns payment methods and a deduplicated requirements registry.
        Resolve each method's requirementsRef against the registry to obtain its
        dynamic form schema.
      operationId: WithdrawFiatV2Controller_getPaymentMethods
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
            format: uuid
          description: Wallet identifier.
          example: 4465468a-3c36-4536-918a-91d689e18a74
        - name: sessionId
          required: false
          in: query
          schema:
            type: string
            format: uuid
          description: >-
            Session returned by the v2 rates endpoint. Recommended; makes the
            original routing values authoritative.
        - name: assetId
          required: false
          in: query
          schema:
            type: string
            format: uuid
          description: >-
            Stablecoin asset identifier returned by the supported-assets
            endpoint.
          example: ae455f23-3824-4125-baab-d158315cbcbd
        - name: currency
          required: false
          in: query
          schema:
            type: string
            minLength: 3
            maxLength: 3
          description: ISO 4217 fiat currency code.
          example: NGN
        - name: amount
          required: false
          in: query
          schema:
            type: string
            pattern: ^\d+(\.\d+)?$
          description: Decimal amount encoded as a string to preserve precision.
          example: '100.00'
        - name: country
          required: false
          in: query
          schema:
            type: string
          description: ISO 3166-1 alpha-2 country code.
          example: NG
        - name: paymentMethodCategory
          required: false
          in: query
          schema:
            type: string
          description: Optional high-level payment-method category.
          example: bank
        - name: provider
          required: false
          in: query
          schema:
            type: string
          description: >-
            Optional provider slug. Omit it to let Blockradar select an eligible
            provider.
          example: example-provider
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentMethodListResponse'
              example:
                statusCode: 200
                message: Payment methods fetched successfully
                data:
                  paymentMethods:
                    - id: bank_transfer
                      supportsPaymentMethodResolution: true
                      type: bank_transfer
                      country: NG
                      fiatCurrency: NGN
                      paymentMethodCategory: bank
                      paymentMethodType: bank_transfer
                      processingSeconds: 60
                      fee: '1500.00'
                      requirementsRef: >-
                        7d9b1a4fc73d369e57894c2e229a4e26a9f2382352ab2528562febd0a484a30b
                      providers:
                        - id: example-provider
                          name: Example Provider
                          type: bank_transfer
                          metadata: null
                  requirements:
                    7d9b1a4fc73d369e57894c2e229a4e26a9f2382352ab2528562febd0a484a30b:
                      schema:
                        $schema: http://json-schema.org/draft-07/schema#
                        type: object
                        properties:
                          accountIdentifier:
                            type: string
                            title: Account identifier
                        required:
                          - accountIdentifier
                      metadata: null
                      resolution:
                        trigger: submit
                        method: POST
                        url: >-
                          /v2/wallets/4465468a-3c36-4536-918a-91d689e18a74/withdraw/fiat/payment-method/resolve
                        body:
                          sessionId: 13a36c1c-f4a6-4e49-a582-2ecded2559bc
                          paymentMethod: bank_transfer
                        inputPath: paymentMethodData
                  sessionId: 13a36c1c-f4a6-4e49-a582-2ecded2559bc
                  sessionExpiresAt: '2026-09-15T15:20:00.000Z'
components:
  schemas:
    PaymentMethodListResponse:
      type: object
      properties:
        statusCode:
          type: integer
          example: 200
        message:
          type: string
          description: Human-readable result.
          example: Payment methods fetched successfully
        data:
          $ref: '#/components/schemas/PaymentMethodDiscovery'
      required:
        - statusCode
        - message
        - data
    PaymentMethodDiscovery:
      type: object
      properties:
        paymentMethods:
          type: array
          items:
            $ref: '#/components/schemas/PaymentMethod'
        requirements:
          type: object
          description: Shared requirements keyed by each payment method's requirementsRef.
          additionalProperties:
            $ref: '#/components/schemas/SharedPaymentMethodRequirements'
        sessionId:
          type: string
          format: uuid
          description: Withdrawal session to use for all subsequent requests.
        sessionExpiresAt:
          type: string
          format: date-time
      required:
        - paymentMethods
        - requirements
        - sessionId
        - sessionExpiresAt
    PaymentMethod:
      type: object
      properties:
        id:
          type: string
          description: Value to submit as paymentMethod.
          example: bank_transfer
        supportsPaymentMethodResolution:
          type: boolean
          example: true
          description: >-
            Whether dynamic fields can be resolved through the resolution
            endpoint.
        type:
          type: string
          description: Payment method type.
          example: bank_transfer
          nullable: true
        country:
          type: string
          description: ISO 3166-1 alpha-2 country code.
          example: NG
          nullable: true
        fiatCurrency:
          type: string
          description: ISO 4217 fiat currency code.
          example: NGN
          nullable: true
        paymentMethodCategory:
          type: string
          description: High-level category used for filtering.
          example: bank
          nullable: true
        paymentMethodType:
          type: string
          description: Provider-normalized payment method type.
          example: bank_transfer
          nullable: true
        processingSeconds:
          type: integer
          nullable: true
          example: 60
        fee:
          type: string
          description: Estimated fee in the selected fiat currency.
          example: '1500.00'
          nullable: true
        providers:
          type: array
          items:
            $ref: '#/components/schemas/PaymentMethodProvider'
        requirementsRef:
          type: string
          nullable: true
          description: >-
            Reference to this method's entry in the response requirements
            registry.
      required:
        - id
        - supportsPaymentMethodResolution
    SharedPaymentMethodRequirements:
      type: object
      properties:
        schema:
          $ref: '#/components/schemas/Draft07Schema'
        metadata:
          type: object
          nullable: true
          additionalProperties: true
        resolution:
          allOf:
            - $ref: '#/components/schemas/DynamicFormSubmissionResolution'
          nullable: true
      required:
        - schema
    PaymentMethodProvider:
      type: object
      properties:
        id:
          type: string
          description: Provider identifier or slug.
          example: example-provider
        name:
          type: string
          description: Provider display name.
          example: Example Provider
        type:
          type: string
          description: Provider-specific method type.
          example: bank_transfer
          nullable: true
        metadata:
          type: object
          nullable: true
          additionalProperties: true
      required:
        - id
        - name
    Draft07Schema:
      type: object
      description: >-
        A JSON Schema Draft 07 document. Render and validate this schema before
        submitting additionalData or paymentMethodData.
      additionalProperties: true
      properties:
        $schema:
          type: string
          description: JSON Schema dialect URI.
          example: http://json-schema.org/draft-07/schema#
        type:
          type: string
          description: Root JSON type.
          example: object
        properties:
          type: object
          additionalProperties: true
        required:
          type: array
          items:
            type: string
      required:
        - $schema
    DynamicFormSubmissionResolution:
      type: object
      description: Backend-authored transport for submitting a completed dynamic form.
      properties:
        trigger:
          type: string
          enum:
            - submit
        method:
          type: string
          enum:
            - POST
            - PATCH
        url:
          type: string
        body:
          type: object
          additionalProperties: true
        inputPath:
          type: string
      required:
        - trigger
  securitySchemes:
    apiKey:
      type: apiKey
      name: x-api-key
      in: header

````