> ## 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.

# Resolve Payment Method Requirements

> Resolves a dynamic payment-method field using its `x-resolution` definition. See [Dynamic Forms](/en/guides/dynamic-forms).

Nous recommandons d'utiliser le `sessionId` renvoyé par l'endpoint des taux v2
tout au long de la découverte des méthodes de paiement, de la résolution des
exigences, du devis et de l'exécution. Il est optionnel : si vous l'omettez,
envoyez à la place les champs d'origine (actif, devise, montant, `amountSide`
et routage du fournisseur). Lorsque la réponse des exigences contient un
contrat `resolution` de premier niveau, soumettez les valeurs du formulaire
avec ses champs `method`, `url`, `body` et `inputPath` plutôt que de
reconstruire les champs de routage du fournisseur côté client.

La réponse conserve l'identifiant de session et son expiration. Si la session
expire ou si sa route de fournisseur devient indisponible, demandez un nouveau
taux et recommencez le flux.


## OpenAPI

````yaml post /v2/wallets/{id}/withdraw/fiat/payment-method/resolve
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-method/resolve:
    post:
      tags:
        - Withdraw Fiat V2
      summary: Resolve Payment Method Requirements
      description: >-
        Resolves a dynamic payment-method field using its `x-resolution`
        definition. See [Dynamic Forms](/en/guides/dynamic-forms).
      operationId: WithdrawFiatV2Controller_resolvePaymentMethod
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
            format: uuid
          description: Wallet identifier.
          example: 4465468a-3c36-4536-918a-91d689e18a74
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResolvePaymentMethodDto'
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentMethodResolutionResponse'
              example:
                statusCode: 200
                message: Payment method resolved successfully
                data:
                  paymentMethod: bank_transfer
                  data:
                    accountNumber: '0123456789'
                    accountName: Ada Okafor
                    bankCode: '999'
                  metadata:
                    institutionId: bank_999
components:
  schemas:
    ResolvePaymentMethodDto:
      type: object
      properties:
        sessionId:
          type: string
          format: uuid
          description: Session ID returned by the v2 rates endpoint.
        assetId:
          type: string
          description: Stablecoin asset identifier.
          example: ae455f23-3824-4125-baab-d158315cbcbd
          format: uuid
          deprecated: true
        currency:
          type: string
          description: ISO 4217 payout currency.
          example: NGN
          minLength: 3
          maxLength: 3
          deprecated: true
        amount:
          type: string
          description: Withdrawal amount as a decimal string.
          example: '100.00'
          pattern: ^\d+(\.\d+)?$
          deprecated: true
        paymentMethod:
          type: string
          description: Payment-method id.
          example: bank_transfer
        paymentMethodData:
          type: object
          description: Current form values required by the x-resolution request.
          example:
            accountNumber: '0123456789'
            bankCode: '999'
        provider:
          type: string
          description: Provider slug selected earlier in the flow.
          example: example-provider
          deprecated: true
      required:
        - paymentMethod
        - paymentMethodData
    PaymentMethodResolutionResponse:
      type: object
      properties:
        statusCode:
          type: integer
          example: 200
        message:
          type: string
          description: Human-readable result.
          example: Payment method resolved successfully
        data:
          $ref: '#/components/schemas/PaymentMethodResolution'
      required:
        - statusCode
        - message
        - data
    PaymentMethodResolution:
      type: object
      properties:
        paymentMethod:
          type: string
          description: Resolved payment method identifier.
          example: bank_transfer
        data:
          type: object
          nullable: true
          additionalProperties: true
          description: Normalized values to merge into paymentMethodData.
        metadata:
          type: object
          nullable: true
          additionalProperties: true
        sessionId:
          type: string
          format: uuid
        sessionExpiresAt:
          type: string
          format: date-time
      required:
        - paymentMethod
        - sessionId
        - sessionExpiresAt
  securitySchemes:
    apiKey:
      type: apiKey
      name: x-api-key
      in: header

````