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

# Wallet to Bank (Payout)

> Pay out from a wallet to a payee's **bank account** (ACH push or
digital-check auto-deposit). A `payout` payment.

Identify the destination with `payee_destination_id` (recommended) or
the legacy `payee_payment_method_id`. Funds move `available → escrow` on
submit and settle via webhook.



## OpenAPI

````yaml POST /v1/platform/payments/wallet-to-bank
openapi: 3.1.0
info:
  title: Finogate Platform API v1
  version: 0.1.0
servers:
  - url: https://api-sandbox.finogates.com
    description: Sandbox
  - url: https://api.finogates.com
    description: Production
security: []
tags:
  - name: auth
  - name: users
  - name: payees
  - name: verification
  - name: bank accounts
  - name: card processing
  - name: digital-assets
  - name: international
  - name: onboarding
  - name: pending-applications
  - name: wallets
  - name: payments
  - name: catalog
  - name: webhooks
  - name: phone-numbers
  - name: sms
  - name: calls
  - name: listings
  - name: embed-tokens
paths:
  /v1/platform/payments/wallet-to-bank:
    post:
      tags:
        - payments
      summary: Wallet → Bank (payout)
      description: |-
        Pay out from a wallet to a payee's **bank account** (ACH push or
        digital-check auto-deposit). A `payout` payment.

        Identify the destination with `payee_destination_id` (recommended) or
        the legacy `payee_payment_method_id`. Funds move `available → escrow` on
        submit and settle via webhook.
      operationId: create_wallet_to_bank_payment_v1_platform_payments_wallet_to_bank_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentWalletPayoutCreate'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommonResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - _AuthenticatedBearer: []
components:
  schemas:
    PaymentWalletPayoutCreate:
      properties:
        wallet_id:
          type: string
          format: uuid
          title: Wallet Id
          description: >-
            Source wallet UUID — the tenant's master wallet or one of the user's
            wallets. Server validates tenant ownership and ``currency`` and
            resolves the owner from it.
          examples:
            - a1b2c3d4-e5f6-7890-abcd-ef1234567890
        user_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: User Id
          description: >-
            Optional safety cross-check — when sent, must match the owner of
            ``wallet_id``.
          examples:
            - b3a9b622-cc63-4d3c-aad6-2d8e29e6f9d4
        amount:
          type: number
          exclusiveMinimum: 0
          title: Amount
          description: Amount in major currency units (e.g. dollars).
          examples:
            - 100.5
        currency:
          type: string
          maxLength: 3
          minLength: 3
          title: Currency
          description: ISO 4217 currency code.
          default: USD
          examples:
            - USD
        idempotency_key:
          type: string
          maxLength: 120
          minLength: 1
          title: Idempotency Key
          description: Unique key to ensure idempotent payment creation.
          examples:
            - pay_req_20260604_abc123
        metadata:
          additionalProperties: true
          type: object
          title: Metadata
          description: Arbitrary key-value metadata to attach to the payment.
          examples:
            - order_id: ORD-12345
        product_id:
          type: string
          format: uuid
          title: Product Id
          description: UUID of the payout product (rail + provider route).
          examples:
            - d4e5f6a7-b8c9-0123-4567-890abcdef012
        payee_destination_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Payee Destination Id
          description: >-
            UUID of the payee's destination (recommended). The canonical field
            for ACH-push and digital-check auto-deposit. Either this or
            ``payee_payment_method_id`` is required.
          examples:
            - c8d9e0f1-a2b3-4567-89ab-cdef01234567
        payee_payment_method_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Payee Payment Method Id
          description: >-
            **Deprecated** legacy payee target — use ``payee_destination_id``
            instead. Still accepted: either this or ``payee_destination_id`` is
            required — send one, not both.
          deprecated: true
          examples:
            - f6a7b8c9-d0e1-2345-6789-0abcdef01234
      type: object
      required:
        - wallet_id
        - amount
        - idempotency_key
        - product_id
      title: PaymentWalletPayoutCreate
      description: >-
        Pay out from a wallet to a payee's bank account
        (``intent_type=payout``).
    CommonResponse:
      properties:
        status_code:
          type: integer
          title: Status Code
          description: HTTP status code for the response.
        data:
          title: Data
          description: Payload or error details.
        query_generated_time:
          type: integer
          title: Query Generated Time
          description: >-
            UTC timestamp (milliseconds since epoch) when response was
            generated.
      type: object
      required:
        - status_code
        - data
        - query_generated_time
      title: CommonResponse
      description: |-
        Standard response wrapper for single-object responses and errors.

        Generic over the payload type. A route that declares
        ``CommonResponse[SomeModel]`` gets the real ``data`` schema rendered in
        OpenAPI/Swagger; a bare ``CommonResponse`` leaves ``data`` untyped.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    _AuthenticatedBearer:
      type: oauth2
      flows:
        password:
          scopes: {}
          tokenUrl: /v1/platform/auth/token

````