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

# Create a payout transaction

> Use this endpoint to create a payout transaction. You can find sample code in our public Postman collection, or build it in the adjacent API explorer. The link to our postman collection is: [https://www.postman.com/meldeng/workspace/meld-io-public-api-collection](https://www.postman.com/meldeng/workspace/meld-io-public-api-collection)

**IDEMPOTENT REQUESTS**: Please refer to [Idempotency Key](https://docs.meld.io/docs/idempotency-key)

**ERRORS**: Please refer to [Error Responses](https://docs.meld.io/docs/fiat-error-responses)



## OpenAPI

````yaml /openapi/payments-20260203.json post /payments/transactions/payout
openapi: 3.1.0
info:
  title: PAYMENTS
  termsOfService: urn:tos
  license:
    name: Apache 2.0
    url: https://springdoc.org
  version: '2026-02-03'
  description: ''
servers:
  - url: https://api-sb.meld.io
    description: Meld API sandbox
  - url: https://api.meld.io
    description: Meld API production
security: []
tags:
  - name: Payment
    description: ''
paths:
  /payments/transactions/payout:
    post:
      tags:
        - Transactions
      summary: Create a payout transaction
      description: >-
        Use this endpoint to create a payout transaction. You can find sample
        code in our public Postman collection, or build it in the adjacent API
        explorer. The link to our postman collection is:
        [https://www.postman.com/meldeng/workspace/meld-io-public-api-collection](https://www.postman.com/meldeng/workspace/meld-io-public-api-collection)


        **IDEMPOTENT REQUESTS**: Please refer to [Idempotency
        Key](https://docs.meld.io/docs/idempotency-key)


        **ERRORS**: Please refer to [Error
        Responses](https://docs.meld.io/docs/fiat-error-responses)
      operationId: /payouts-transactions-create
      parameters:
        - name: X-Idempotency-Key
          in: header
          required: false
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PayoutTransactionRequest'
            example:
              sourceAmount: '10.50'
              sourceCurrencyCode: USD
        required: true
      responses:
        '201':
          description: Payout transaction created successfully
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PaymentTransactionResponse20230401'
        '400':
          description: 'Bad Request : check request values and format'
        '401':
          description: Invalid credentials
        '403':
          description: Unauthenticated or authenticated with insufficient access
        '425':
          description: It is too early for a retry
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    PayoutTransactionRequest:
      type: object
      properties:
        customerId:
          type: string
          description: Meld's internal Id for the Customer
        description:
          type: string
          description: A description about the transaction
        externalCustomerId:
          type: string
          description: >-
            Your (optional) Id for this customer, for example an id or reference
            from your database which you may supply during customer creation
        paymentMethod:
          description: >-
            PaymentMethod objects represent your customer's receiving payment
            instrument
          allOf:
            - $ref: '#/components/schemas/PaymentMethodInput'
        serviceProvider:
          type: string
          description: The service provider used for this transaction.
          enum:
            - ACROSS
            - AEROPAY
            - AKOYA
            - ALCHEMYPAY
            - APPLEPAY
            - AUTHORIZENET
            - BANXA
            - BILIRA
            - BINANCECONNECT
            - BINANCEPAY
            - BLOCKCHAINDOTCOM
            - BOOMFI
            - BRAINTREE
            - BRALE
            - BTCDIRECT
            - CASHAPP
            - CHECKOUT
            - CIRCLE
            - COINBASEPAY
            - COINFLOW
            - DUENETWORK
            - ELDORADO
            - FINICITY
            - FLASHNET
            - FONBNK
            - GUARDARIAN
            - HARBOUR
            - KOYWE
            - KRYPTONIM
            - MERCURYO
            - MESH
            - MESO
            - MOONPAY
            - MOOV
            - MX
            - NMI
            - NOAH
            - ONMETA
            - ONRAMPMONEY
            - PAYBIS
            - PAYPAL
            - PLAID
            - RAMP
            - REVOLUT
            - ROBINHOOD
            - ROUTERPROTOCOL
            - SALTEDGE
            - SALTEDGEPARTNERS
            - SARDINE
            - SHIFT4
            - SHOPIFY
            - SIMPLEX
            - SKRILLCRYPTO
            - SQUARE
            - STRIPE
            - SUMSUB
            - SWAPPED
            - TANGOCARD
            - TELLER
            - TOPPER
            - TRANSAK
            - TREMENDOUS
            - TRANSFI
            - UNLIMIT
            - WYRE
            - XANPOOL
            - YELLOWCARD
            - YODLEE
        serviceProviderDetails:
          type: object
          additionalProperties: {}
          description: >-
            Provider specific details which may can be provided for this
            transaction, if supported by the Service Provider.
        sourceAmount:
          type: string
          description: Amount intended to be sent by this payout
          example: '10.50'
          minLength: 1
        sourceCurrencyCode:
          type: string
          description: >-
            Three-letter ISO currency code, in lowercase. Must be a supported
            currency
          example: USD
          minLength: 1
      required:
        - sourceAmount
        - sourceCurrencyCode
    PaymentTransactionResponse20230401:
      type: object
      properties:
        transaction:
          description: Payment transaction information
          allOf:
            - $ref: '#/components/schemas/PaymentTransactionOutput20230401'
    ErrorResponse:
      type: object
      properties:
        code:
          type: string
        displayMessage:
          type: string
        errors:
          type: array
          items:
            type: string
        message:
          type: string
        requestId:
          type: string
        serviceProviderDetails:
          type: object
          additionalProperties: {}
        timestamp:
          type: string
          format: date-time
    PaymentMethodInput:
      type: object
      description: PaymentMethod objects represent your customer's payment instruments
      properties:
        details:
          $ref: '#/components/schemas/PaymentMethodDetails'
        type:
          type: string
          description: >-
            Payment method type used for this transaction, some methods may only
            apply for some providers, e.g. PLAID_TRANSFER_AUTHORIZATION for
            PLAID
          enum:
            - ACH
            - CARD
            - MELD_PAYMENT_TOKEN
            - PLAID_TRANSFER_AUTHORIZATION
          minLength: 1
      required:
        - details
        - type
    PaymentTransactionOutput20230401:
      type: object
      properties:
        accountId:
          type: string
          description: Your account Id
        countryCode:
          type: string
          description: The ISO 3166 2-digit country code.
        createdAt:
          type: string
          format: date-time
          description: An ISO 8601 DateTime at which the object was created.
        cryptoDetails:
          description: Details of the crypto currency purchase, sale, or transfer
          allOf:
            - $ref: '#/components/schemas/CryptoDetails'
        customer:
          description: Your customer's details
          allOf:
            - $ref: '#/components/schemas/CustomerOutput'
        description:
          type: string
          description: >-
            An arbitrary string which you can attach to this transaction. It is
            displayed when in the web interface alongside the charge.
        destinationAmount:
          type: number
          description: >-
            The destination amount of the transaction, e.g. the amount of crypto
            currency purchased
        destinationCurrencyCode:
          type: string
          description: Three-letter ISO currency code. Must be a supported currency
        externalCustomerId:
          type: string
          description: >-
            Your unique identifier for your customer. If maintaining your own
            customer management system this can also be used for tracking
            customer activity.
        externalReferenceId:
          type: string
          description: Your optional reference id provided during transaction creation
        externalSessionId:
          type: string
          description: The external Id of the session.
        externalSubaccountCustomerId:
          type: string
          description: >-
            Optional external identifier for the sub-account customer this
            transaction belongs to. Used for tracking when multiple businesses
            operate under one Meld account. A sub-account customer must be
            created first before it can be referenced.
        fiatAmountInUsd:
          type: number
          description: The fiat amount of the transaction in usd
        id:
          type: string
          description: Unique identifier for this transaction
        isImported:
          type: boolean
          description: Return ***True*** if this transaction was initiated outside Meld
        isPassthrough:
          type: boolean
          description: Return ***True*** if the passthrough credentials were used
        key:
          type: string
          description: >-
            Pagination key, may be used with the "after" parameter in search
            requests.  Only set and relevant for paginated calls
        multiFactorAuthorizationStatus:
          type: array
          description: >-
            The transaction required multi-factor authentication methods, and
            their current status. When required, must be approved for the
            purchase tobe completed successfully.
          items:
            $ref: '#/components/schemas/MultiFactorAuthorizationStatusOutput'
          uniqueItems: true
        orderId:
          type: string
          description: >-
            Unique identifier for the order associated with this transaction,
            when applicable
        parentPaymentTransactionId:
          type: string
          description: The Id of the associated object for this line item
        passthroughReference:
          type: string
          description: >-
            The unique reference you use to identify the partner on whose behalf
            you created this transaction.  This might be a String or UUID in
            your system to identify a merchant or partner.  This is needed so
            that you can associate passthrough transactions to your partners who
            may not be registered with Meld
        paymentDetails:
          description: payment details
          allOf:
            - $ref: '#/components/schemas/PaymentDetails'
        paymentMethodType:
          type: string
          description: Payment Method type used for this transaction.
        serviceProvider:
          type: string
          description: The service provider used for this transaction
        serviceProviderCreatedAt:
          type: string
          format: date-time
          description: >-
            The ISO 8601 DateTime when the transaction was created on the
            service provider's side
        serviceProviderDetails:
          type: object
          additionalProperties: {}
          description: The service provider's details
        serviceProviderTransactionUrl:
          type: string
          description: A link to the resource on the Service Provider, may not be present
        serviceTransactionId:
          type: string
          description: The service provider's unique identifier for this transaction
        sessionClientTags:
          type: object
          additionalProperties:
            type: string
          description: A map of client tags
        sessionId:
          type: string
          description: The Id of the session.
        sourceAmount:
          type: number
          description: The amount of the transaction
        sourceCurrencyCode:
          type: string
          description: Three-letter ISO currency code. Must be a supported currency
        status:
          type: string
          description: The current status of the transaction
        subaccountCustomerId:
          type: string
          description: >-
            Optional Meld customer id used to track the business sub-account
            this transaction belongs to when multiple businesses operate under
            one Meld account.
        transactionType:
          type: string
          description: The transaction's type
        updatedAt:
          type: string
          format: date-time
          description: >-
            Time at which the object was last updated. Measured in seconds since
            the Unix epoch.
      required:
        - createdAt
        - id
        - serviceProvider
        - sessionId
        - status
        - transactionType
        - updatedAt
    PaymentMethodDetails:
      description: >-
        [Details of the payment method used for this
        transaction](https://docs.meld.io/docs/payment-methods-and-tokenization)
      discriminator:
        propertyName: type
      oneOf:
        - title: CardDetails
          allOf:
            - $ref: '#/components/schemas/CardDetails'
        - title: AchDetails
          allOf:
            - $ref: '#/components/schemas/AchDetails'
        - title: MeldPaymentTokenDetails
          allOf:
            - $ref: '#/components/schemas/MeldPaymentTokenDetails'
    CryptoDetails:
      type: object
      properties:
        blockchainTransactionId:
          type: string
          description: The transaction id on the blockchain
        chainId:
          type: string
          description: >-
            A unique identifier that represents a blockchain network. The
            chainId of a particular network is standard everywhere.
        institution:
          type: string
          description: >-
            The institution used to execute the transaction. Only applicable for
            transfers currently.
        networkFee:
          type: number
          description: >-
            This fee is paid to cryptocurrency miners, which are the systems
            that process the transactions
        networkFeeInUsd:
          type: number
          description: This network fee in USD
        offrampDestinationWalletAddress:
          type: string
          description: The offramp destination wallet address
        partnerFee:
          type: number
          description: The partner fee amount
        partnerFeeInUsd:
          type: number
          description: The partner fee in USD
        swapFee:
          type: number
          description: >-
            The swap fee amount charged by the swap provider for ramp+swap
            transactions
        swapFeeInUsd:
          type: number
          description: The swap fee in USD
        totalFee:
          type: number
          description: The total amount of fees that will be charged
        totalFeeInUsd:
          type: number
          description: The total fee in USD
        transactionFee:
          type: number
          description: >-
            The fee amount charged by the service provider to process your
            customer's purchase
        transactionFeeInUsd:
          type: number
          description: The transaction fee in USD
        walletAddress:
          type: string
          description: Your customer's crypto wallet
    CustomerOutput:
      type: object
      properties:
        accountId:
          type: string
          description: Your Account Id
        addresses:
          type: array
          description: Your Customer's addresses, such as billing, shipping, etc.
          items:
            $ref: '#/components/schemas/CustomerAddressOutput'
        email:
          type: string
          description: Your Customer's email address
        externalId:
          type: string
          description: >-
            Your optionally supplied Id for your Customer, e.g. a Customer Id in
            your system
        id:
          type: string
          description: Meld's internal Id for the Customer
        name:
          description: Your Customer's name
          allOf:
            - $ref: '#/components/schemas/CustomerName'
        phone:
          type: string
          description: Your Customer's phone number
        serviceProviders:
          type: object
          additionalProperties:
            type: string
          description: >-
            A map of Service Providers and service provider IDs for this
            Customer
        status:
          type: string
          description: ACTIVE or INACTIVE, may not be set
    MultiFactorAuthorizationStatusOutput:
      type: object
      properties:
        method:
          type: string
          description: How the card details were authorized
          enum:
            - SMS
            - CARD
            - EMAIL
            - THREE_DS
        submitted:
          type: boolean
          description: Return ***True*** if the information was submitted
        successful:
          type: boolean
          description: Return ***True*** if the submitted information is a match
        url:
          type: string
          description: URL used to perform authorization (if applicable)
    PaymentDetails:
      type: object
      properties:
        authAmount:
          type: number
          description: >-
            The amount authorized to be charged (must be greater than the amount
            intended to be collected.) Note that the number of digits with a
            decimal point varies with the currency. Reference the list of active
            codes of official ISO 4217 currency names.
        captureAmount:
          type: number
          description: >-
            The amount captured (can be less than the amount intended to be
            collected.) Note that the number of digits with a decimal point
            varies with the currency. Reference the list of active codes of
            official ISO 4217 currency names.
    CardDetails:
      type: object
      description: Credit card details
      properties:
        cvc:
          type: string
          description: Card CVC
          example: '123'
          minLength: 1
        expiration:
          description: Expiration date
          allOf:
            - $ref: '#/components/schemas/CardExpiration'
        name:
          type: string
          description: The cardholder's name
        number:
          type: string
          description: Card number
          example: '4111111111111111'
          minLength: 1
      required:
        - cvc
        - number
    AchDetails:
      type: object
      description: ACH details
      properties:
        accountNumber:
          type: string
          description: Account number
          minLength: 1
        accountType:
          type: string
          description: Bank account type
          enum:
            - BUSINESS_CHECKING
            - CHECKING
            - SAVINGS
        name:
          description: Account name
          allOf:
            - $ref: '#/components/schemas/Name'
        routingNumber:
          type: string
          description: Routing number
          minLength: 1
      required:
        - accountNumber
        - accountType
        - routingNumber
    MeldPaymentTokenDetails:
      type: object
      description: Meld payment token details
      properties:
        meldPaymentToken:
          type: string
          description: Meld Payment Token
          minLength: 1
      required:
        - meldPaymentToken
    CustomerAddressOutput:
      type: object
      properties:
        addressDetails:
          description: Address details
          allOf:
            - $ref: '#/components/schemas/CustomerAddressDetails'
        type:
          type: string
          description: Address type such as BILLING, SHIPPING, RESIDENCE, etc.
          enum:
            - BILLING
            - SHIPPING
            - RESIDENCE
    CustomerName:
      type: object
      properties:
        firstName:
          type: string
          description: Your customer's first name
        lastName:
          type: string
          description: Your customer's last name
    CardExpiration:
      type: object
      properties:
        month:
          type: integer
          format: int32
          description: Integer value for the expiration month
        year:
          type: integer
          format: int32
          description: Integer value for the expiration year
    Name:
      type: object
      properties:
        firstName:
          type: string
          minLength: 1
        lastName:
          type: string
          minLength: 1
      required:
        - firstName
        - lastName
    CustomerAddressDetails:
      type: object
      properties:
        addressDetailsFields:
          type: object
          writeOnly: true
        city:
          type: string
          description: City, district, suburb, town, or village
        country:
          type: string
          description: Two-letter country code (ISO 3166-1 alpha-2)
        firstName:
          type: string
          description: The first name on the address
        lastName:
          type: string
          description: The last name on the address
        lineOne:
          type: string
          description: Address line 1 (e.g., street, PO Box, or company name)
        lineTwo:
          type: string
          description: Address line 2 (e.g., apartment, suite, unit, or building)
        postalCode:
          type: string
          description: ZIP or postal code
        region:
          type: string
          description: State, county, province, or region
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      x-default: BASIC <Meld API Key>

````