Stellar Payments API

Endpoints related to payments. An SDP payment is an individual payment from an organization to a receiver. Each payment is part of a disbursement and occurs on the Stellar network. Granular payment status is stored in the SDP database and can be viewed in real-time on the SDP dashboard.

Operations 6

GET /payments List All Payments #
POST /payments Create Direct Payment #
GET /payments/{id} Retrieve a Payment #
PATCH /payments/retry Retry Payments #
PATCH /payments/{id}/status Update Payment Status #
GET /transactions/{transaction_hash}/payments Retrieve a Transaction's Payments #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/stellar-payments-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

stellar-payments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Stellar Payments API
  termsOfService: https://stellar.org/terms-of-service
  version: '1.0'
  description: 'Operations tagged Payments across 2 of this provider''s published API definitions: stellar-disbursement-platform-api.yml, stellar-horizon-api.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://horizon-testnet.stellar.org
  description: The Testnet Network
- url: https://horizon-futurenet.stellar.org
  description: The Futurenet network
tags:
- name: Payments
  description: Endpoints related to payments. An SDP payment is an individual payment from an organization to a receiver. Each payment is part of a disbursement and occurs on the Stellar network. Granular payment status is stored in the SDP database and can be viewed in real-time on the SDP dashboard.
paths:
  /payments:
    get:
      tags:
      - Payments
      summary: List All Payments
      description: Returns all individual payments matching the request criteria. This endpoint supports pagination, and filtering on payment status, type, receiver ID, and timestamp. Each payment has details on the transaction itself, receiver, disbursement, asset, status history, and blockchain information.
      operationId: ListAllPayments
      parameters:
      - name: page
        in: query
        description: The page requested.
        required: false
        style: form
        explode: true
        schema:
          type: number
          default: 1
      - name: q
        in: query
        description: Search payments by ID, external_payment_id, receiver wallet address, or disbursement name.
        required: false
        style: form
        explode: true
        schema:
          type: string
      - name: type
        in: query
        description: Type of payments
        required: false
        style: form
        explode: true
        schema:
          type: string
          enum:
          - DIRECT
          - DISBURSEMENT
      - name: page_limit
        in: query
        description: Define how many results will be returned in the response.
        required: false
        style: form
        explode: true
        schema:
          type: number
          default: 20
      - name: status
        in: query
        description: Exact match on the status of the payment.
        required: false
        style: form
        explode: true
        schema:
          type: string
          enum:
          - DRAFT
          - READY
          - PENDING
          - PAUSED
          - SUCCESS
          - FAILED
          - CANCELED
        example: DRAFT
      - name: receiver_id
        in: query
        description: UUID that represents a receiver in the database
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: b6b667ad-6cc2-46cf-9be7-561daace7d48
      - name: created_at_after
        in: query
        description: 'Only return payments that are created after this date. Format: YYYY-MM-DD'
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: '2006-01-02'
      - name: created_at_before
        in: query
        description: 'Only return payments that are created before this date. Format: YYYY-MM-DD'
        required: false
        style: form
        explode: true
        schema:
          type: string
        example: '2006-01-02'
      - name: sort
        in: query
        description: Field used to sort payments
        required: false
        style: form
        explode: true
        schema:
          type: string
          default: updated_at
          enum:
          - updated_at
          - created_at
      - name: direction
        in: query
        description: Direction for sorting payments.
        required: false
        style: form
        explode: true
        schema:
          type: string
          default: desc
          enum:
          - asc
          - desc
      responses:
        '200':
          description: A paginated list of payments
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentPagination'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  extras:
                    type: object
                    properties:
                      status:
                        type: number
                      message:
                        type: string
                example:
                  error: Not authorized
                  extras:
                    status: 401
                    message: Not authorized
              example:
                error: Not authorized
                extras:
                  status: 401
                  message: Not authorized
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                example:
                  error: Forbidden
              example:
                error: Forbidden
      security:
      - BearerAuth: []
    post:
      tags:
      - Payments
      summary: Create Direct Payment
      description: Creates a new direct payment that is immediately sent to the specified receiver if they have a valid registered wallet. Direct payments bypass the disbursement workflow and are processed instantly.
      operationId: CreateDirectPayment
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDirectPaymentRequest'
        required: true
      responses:
        '201':
          description: Direct payment created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payment'
        '400':
          description: Bad Request
          $ref: '#/components/responses/BadRequestResponse'
        '401':
          description: Unauthorized
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          description: Forbidden
          $ref: '#/components/responses/ForbiddenResponse'
        '404':
          description: Not Found
          $ref: '#/components/responses/NotFoundResponse'
      security:
      - BearerAuth: []
    servers:
    - url: ''
  /payments/{id}:
    get:
      tags:
      - Payments
      summary: Retrieve a Payment
      description: Fetches detailed information on a specific payment by  `id `.
      operationId: RetrieveAPayment
      parameters:
      - name: id
        in: path
        description: ID of the `Payment`.
        required: true
        style: simple
        explode: false
        schema:
          type: string
      responses:
        '200':
          description: Payment details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payment'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  extras:
                    type: object
                    properties:
                      status:
                        type: number
                      message:
                        type: string
                example:
                  error: Not authorized
                  extras:
                    status: 401
                    message: Not authorized
              example:
                error: Not authorized
                extras:
                  status: 401
                  message: Not authorized
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                example:
                  error: Forbidden
              example:
                error: Forbidden
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  extras:
                    type: object
                    properties:
                      status:
                        type: number
                      message:
                        type: string
                example:
                  error: Not found
                  extras:
                    status: 404
                    message: Payment not found
              example:
                error: Not found
                extras:
                  status: 404
                  message: Payment not found
      security:
      - BearerAuth: []
    servers:
    - url: ''
  /payments/retry:
    patch:
      tags:
      - Payments
      summary: Retry Payments
      description: Retries failed payments by ID.
      operationId: RetryPayments
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - payment_ids
              properties:
                payment_ids:
                  type: array
                  items:
                    type: string
            example:
              payment_ids:
              - 9f687f8f-1f8f-4c8a-8e0f-1e67ed7c1330
              - 6c2b9f20-53fd-4f1b-b7e2-9a2b1eb1d7c0
        required: true
      responses:
        '200':
          description: Payments retried successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageResponse'
              example:
                message: Payments retried successfully
        '400':
          description: Bad Request
          $ref: '#/components/responses/BadRequestResponse'
        '401':
          description: Unauthorized
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          description: Forbidden
          $ref: '#/components/responses/ForbiddenResponse'
      security:
      - BearerAuth: []
    servers:
    - url: ''
  /payments/{id}/status:
    patch:
      tags:
      - Payments
      summary: Update Payment Status
      description: Cancels a payment by setting its status to `CANCELED`.
      operationId: UpdatePaymentStatus
      parameters:
      - name: id
        in: path
        description: ID of the `Payment`.
        required: true
        style: simple
        explode: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - status
              properties:
                status:
                  type: string
                  enum:
                  - CANCELED
            example:
              status: CANCELED
        required: true
      responses:
        '200':
          description: Payment updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageResponse'
              example:
                message: Payment canceled
        '400':
          description: Bad Request
          $ref: '#/components/responses/BadRequestResponse'
        '401':
          description: Unauthorized
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          description: Forbidden
          $ref: '#/components/responses/ForbiddenResponse'
        '404':
          description: Not Found
          $ref: '#/components/responses/NotFoundResponse'
      security:
      - BearerAuth: []
    servers:
    - url: ''
  /transactions/{transaction_hash}/payments:
    get:
      tags:
      - Payments
      summary: Retrieve a Transaction's Payments
      description: This endpoint returns the payments of a specific transaction.
      operationId: RetrieveATransactionsPayments
      parameters:
      - $ref: '#/components/parameters/HashParam'
      - $ref: '#/components/parameters/CursorParam'
      - $ref: '#/components/parameters/OrderParam'
      - $ref: '#/components/parameters/LimitParam'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/Links'
                - $ref: '#/components/schemas/Payment_2'
              examples:
                RetrieveATransactionsPayments:
                  $ref: '#/components/examples/RetrieveATransactionsPayments'
    servers:
    - url: https://horizon-testnet.stellar.org
      description: The Testnet Network
    - url: https://horizon-futurenet.stellar.org
      description: The Futurenet network
components:
  schemas:
    PaymentStatus:
      type: string
      description: The status of the payment
      enum:
      - DRAFT
      - READY
      - PENDING
      - PAUSED
      - SUCCESS
      - FAILED
      - CANCELED
    PaymentPagination:
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/Payment'
    DisbursementStatus:
      type: string
      enum:
      - DRAFT
      - READY
      - STARTED
      - PAUSED
      - COMPLETED
    RegistrationContactType:
      type: string
      enum:
      - EMAIL
      - PHONE_NUMBER
      - EMAIL_AND_WALLET_ADDRESS
      - PHONE_NUMBER_AND_WALLET_ADDRESS
    MessageResponse:
      required:
      - message
      type: object
      properties:
        message:
          type: string
    DisbursementLite:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the disbursement
          format: uuid
          example: c51ba1d5-52d3-412f-a59c-6ef32d59ab43
        name:
          type: string
          description: The name of the disbursement
          example: disbursement-june-29
        receiver_registration_message_template:
          type: string
          description: 'The custom template used to send invitations to receivers. The `default` message isn''t returned. In the message''s content it''s possible to add the following template variables: `{{.OrganizationName}}` which is the Organization Name configured and `{{.RegistrationLink}}` which is the link generated by SDP to send to the receiver (in case this is not present in the message, it''s automatically appended at the end).'
          example: You have a payment waiting for you from {{.OrganizationName}}. Click {{.RegistrationLink}} to register.
        registration_contact_type:
          $ref: '#/components/schemas/RegistrationContactType'
        status:
          $ref: '#/components/schemas/DisbursementStatus'
        verification_field:
          $ref: '#/components/schemas/VerificationField'
        status_history:
          $ref: '#/components/schemas/DisbursementStatusHistory'
        file_name:
          type: string
          example: disbursement-feb-03-2023.csv
        created_at:
          type: string
          description: The creation timestamp of the disbursement
          format: date-time
          example: '2023-06-30T01:22:57.831975Z'
        updated_at:
          type: string
          description: The last update timestamp of the disbursement
          format: date-time
          example: '2023-06-30T01:22:58.316511Z'
    CreateDirectPaymentRequest:
      type: object
      required:
      - amount
      - asset
      - receiver
      - wallet
      properties:
        amount:
          type: string
          description: The payment amount
        asset:
          type: object
          properties:
            id:
              type: string
              description: Asset ID (use either id or type)
            type:
              type: string
              enum:
              - native
              - classic
              - contract
              - fiat
              description: Asset type (use either id or type)
            code:
              type: string
              description: Asset code (required for classic and fiat assets)
            issuer:
              type: string
              description: Asset issuer address (required for classic assets)
            contract_id:
              type: string
              description: Contract ID (required for contract assets)
          description: Asset reference - specify either id or type with required fields
        receiver:
          type: object
          properties:
            id:
              type: string
              description: Receiver ID
            email:
              type: string
              description: Receiver email address
            phone_number:
              type: string
              description: Receiver phone number
            wallet_address:
              type: string
              description: Receiver wallet address (Stellar account or contract)
          description: Receiver reference - specify exactly one identifier
        wallet:
          type: object
          properties:
            id:
              type: string
              description: Wallet ID
            address:
              type: string
              description: Wallet address (Stellar account or contract)
          description: Wallet reference - specify either id or address
        external_payment_id:
          type: string
          description: Optional external payment identifier
    ReceiverWalletLite:
      type: object
      properties:
        id:
          type: string
          example: 803031d4-1d04-4879-b6d9-dc5641f9988e
        receiver:
          $ref: '#/components/schemas/ReceiverLite'
        wallet:
          $ref: '#/components/schemas/WalletLite'
        stellar_address:
          type: string
          example: GCXAJ3XJ3VK3JFH3QMDFOSKM2NMMZBSO3VIT6EUPQWSDW2J74M23RRSL
        stellar_memo:
          type: string
        stellar_memo_type:
          type: string
        sep24_transaction_id:
          type: string
        created_at:
          type: string
          example: '2023-02-03T10:45:51.000Z'
        updated_at:
          type: string
          example: '2023-02-03T10:45:51.000Z'
        invitation_sent_at:
          type: string
          example: '2023-02-09T10:45:51.000Z'
        status:
          $ref: '#/components/schemas/ReceiversWalletStatus'
        status_history:
          type: array
          items:
            $ref: '#/components/schemas/ReceiversWalletStatusHistoryEntry'
        otp_confirmed_at:
          type: string
          format: date-time
          example: '2023-02-10T10:45:51Z'
        otp_confirmed_with:
          type: string
    DisbursementStatusHistory:
      type: array
      items:
        $ref: '#/components/schemas/DisbursementStatusHistoryEntry'
    Pagination:
      type: object
      properties:
        next:
          type: string
          example: ?page=3&page_limit=2
        prev:
          type: string
          example: ?page=1&page_limit=2
        pages:
          type: integer
          example: 8
        total:
          type: integer
          example: 16
    DisbursementStatusHistoryEntry:
      type: object
      properties:
        user_id:
          type: string
          example: 3f351b9e-ed0f-40fa-a314-14757b42dab1
        status:
          $ref: '#/components/schemas/DisbursementStatus'
        timestamp:
          type: string
          format: date-time
          example: '2023-02-03T10:45:51Z'
    ReceiverLite:
      type: object
      properties:
        id:
          type: string
          example: 029e2ed0-feb6-4c40-8b47-0836a85741a2
    PaymentStatusHistory:
      type: array
      description: An aggregated list of metadata objects containing the statuses and the timestamp of when these status changes occurred.
      items:
        $ref: '#/components/schemas/PaymentStatusHistoryEntry'
    WalletLite:
      type: object
      properties:
        id:
          type: string
          example: 5ada9ed5-455a-4782-a0ee-160767e0deb1
        name:
          type: string
          example: Vibrant Assist
        homepage:
          type: string
          example: https://vibrantapp.com
        sep_10_client_domain:
          type: string
          example: api-dev.vibrantapp.com
        deep_link_schema:
          type: string
          example: https://vibrantapp.com/sdp-dev
        enabled:
          type: boolean
          example: true
        user_managed:
          type: boolean
          example: false
    PaymentStatusHistoryEntry:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/PaymentStatus'
        status_message:
          type: string
        timestamp:
          type: string
          format: date-time
          example: '2023-02-03T10:45:51Z'
    Asset:
      type: object
      properties:
        id:
          type: string
          example: ffaec4b3-46b0-4db4-a4c4-6c3508057705
        code:
          type: string
          description: Asset code
          example: USDC
        issuer:
          type: string
          description: Asset issuer address
          example: GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5
        created_at:
          type: string
          format: date-time
          example: '2023-02-03T10:45:51Z'
        updated_at:
          type: string
          format: date-time
          example: '2023-02-03T10:45:51Z'
        deleted_at:
          type: string
          format: date-time
          example: '2023-06-03T10:55:51Z'
      description: The Stellar asset object
    ReceiversWalletStatus:
      type: string
      enum:
      - DRAFT
      - READY
      - REGISTERED
      - FLAGGED
    Payment:
      type: object
      properties:
        id:
          type: string
          example: ddf22f55-3259-4822-a4e2-ce01334997f4
        amount:
          type: string
          description: The amount of the payment
          example: '100.00'
        stellar_transaction_id:
          type: string
          description: The ID of the transaction in the Stellar network. It can be used tio track the payment in the Stellar network using [Stellar Laboratory](https://laboratory.stellar.org/), or [StellarExpert](https://stellar.expert/).
          example: 0b339d1c89d314186b8147c2af4c9a9ed5bbdbcd7ada8d138633907649b
        circle_transfer_request_id:
          type: string
          description: The Circle transfer request ID. It is only present when the payment was made using Circle.
          example: 74a68b6a-3f67-424b-b8b0-e593a19d7463
        stellar_operation_id:
          type: string
        status:
          $ref: '#/components/schemas/PaymentStatus'
        status_history:
          $ref: '#/components/schemas/PaymentStatusHistory'
        type:
          type: string
          description: The type of the payment.
          enum:
          - DISBURSEMENT
          - DIRECT
        disbursement:
          $ref: '#/components/schemas/DisbursementLite'
        asset:
          $ref: '#/components/schemas/Asset'
        receiver_wallet:
          $ref: '#/components/schemas/ReceiverWalletLite'
        external_payment_id:
          type: string
          description: Optional external payment identifier provided by the client.
          example: payment-001
        created_at:
          type: string
          format: date-time
          example: '2023-02-03T10:45:51Z'
        updated_at:
          type: string
          format: date-time
          example: '2023-02-03T10:45:51Z'
    VerificationField:
      type: string
      enum:
      - DATE_OF_BIRTH
      - YEAR_MONTH
      - PIN
      - NATIONAL_ID_NUMBER
    ReceiversWalletStatusHistoryEntry:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/ReceiversWalletStatus'
        timestamp:
          type: string
          format: date-time
          example: '2023-02-10T10:45:51Z'
    AccountMerge:
      type: object
      properties:
        _links:
          type: object
          properties:
            self:
              $ref: '#/components/schemas/link'
            transaction:
              $ref: '#/components/schemas/link'
            effects:
              $ref: '#/components/schemas/link'
            succeeds:
              $ref: '#/components/schemas/link'
            precedes:
              $ref: '#/components/schemas/link'
          required:
          - self
          - transaction
          - effects
          - succeeds
          - precedes
        id:
          $ref: '#/components/schemas/id'
        paging_token:
          type: string
        transaction_successful:
          type: boolean
        source_account:
          $ref: '#/components/schemas/address'
        type:
          type: string
          example: account_merge
        type_i:
          type: number
          example: 8
        created_at:
          type: string
        transaction_hash:
          type: string
        account:
          $ref: '#/components/schemas/address'
        into:
          $ref: '#/components/schemas/address'
      required:
      - id
      - paging_token
      - transaction_successful
      - source_account
      - type
      - type_i
      - created_at
      - transaction_hash
      - account
      - into
    host_function_parameter:
      type: object
      properties:
        value:
          type: string
        type:
          type: string
      required:
      - value
      - type
    PathPaymentStrictSend:
      type: object
      properties:
        _links:
          type: object
          properties:
            self:
              $ref: '#/components/schemas/link'
            transaction:
              $ref: '#/components/schemas/link'
            effects:
              $ref: '#/components/schemas/link'
            succeeds:
              $ref: '#/components/schemas/link'
            precedes:
              $ref: '#/components/schemas/link'
          required:
          - self
          - transaction
          - effects
          - succeeds
          - precedes
        id:
          $ref: '#/components/schemas/id'
        paging_token:
          type: string
        transaction_successful:
          type: boolean
        source_account:
          $ref: '#/components/schemas/address'
        type:
          type: string
          example: path_payment_strict_send
        type_i:
          type: number
          example: 13
        created_at:
          type: string
        transaction_hash:
          type: string
        asset_type:
          type: string
          enum:
          - native
          - credit_alphanum4
          - credit_alphanum12
        asset_code:
          type: string
        asset_issuer:
          $ref: '#/components/schemas/address'
        from:
          $ref: '#/components/schemas/address'
        to:
          $ref: '#/components/schemas/address'
        amount:
          type: string
        path:
          type: array
          items:
            type: object
            properties:
              asset_type:
                type: string
                enum:
                - native
                - credit_alphanum4
                - credit_alphanum12
              asset_code:
                type: string
              asset_issuer:
                $ref: '#/components/schemas/address'
        source_amount:
          type: string
        source_max:
          type: string
        source_asset_type:
          type: string
        source_asset_code:
          type: string
        source_asset_issuer:
          $ref: '#/components/schemas/address'
      required:
      - id
      - paging_token
      - transaction_successful
      - source_account
      - type
      - type_i
      - created_at
      - transaction_hash
      - from
      - to
      - amount
      - path
      - source_amount
      - source_asset_type
    asset_balance_change:
      type: object
      properties:
        asset_type:
          type: string
        asset_code:
          enum:
          - native
          - credit_alphanum4
          - credit_alphanum12
        asset_issuer:
          $ref: '#/components/schemas/address'
        type:
          type: string
          enum:
          - transfer
          - mint
          - clawback
          - burn
        from:
          type: string
        to:
          type: string
        amount:
          type: string
      required:
      - asset_type
      - type
      - amount
    InvokeHostFunction:
      type: object
      properties:
        _links:
          type: object
          properties:
            self:
              $ref: '#/components/schemas/link'
            transaction:
              $ref: '#/components/schemas/link'
            effects:
              $ref: '#/components/schemas/link'
            succeeds:
              $ref: '#/components/schemas/link'
            precedes:
              $ref: '#/components/schemas/link'
          required:
          - self
          - transaction
          - effects
          - succeeds
          - precedes
        id:
          $ref: '#/components/schemas/id'
        paging_token:
          type: string
        transaction_successful:
          type: boolean
        source_account:
          $ref: '#/components/schemas/address'
        type:
          type: string
          example: invoke_host_function
        type_i:
          type: number
          example: 0
        created_at:
          type: string
        transaction_hash:
          type: string
        function:
          type: string
        parameters:
          type: array
          items:
            $ref: '#/components/schemas/host_function_parameter'
        address:
          type: string
        salt:
          type: string
        asset_balance_changes:
          type: array
          items:
            $ref: '#/components/schemas/asset_balance_change'
      required:
      - id
      - paging_token
      - transaction_successful
      - source_account
      - type
      - type_i
      - created_at
      - transaction_hash
      - function
    Links:
      type: object
      properties:
        _links:
          type: object
          properties:
            self:
              $ref: '#/components/schemas/link'
            next:
              $ref: '#/components/schemas/link'
            prev:
              $ref: '#/components/schemas/link'
    PathPaymentStrictReceive:
      type: object
      properties:
        _links:
          type: object
          properties:
            self:
              $ref: '#/components/schemas/link'
            transaction:
              $ref: '#/components/schemas/link'
            effects:
              $ref: '#/components/schemas/link'
            succeeds:
              $ref: '#/components/schemas/link'
            precedes:
              $ref: '#/components/schemas/link'
          required:
          - self
          - transaction
          - effects
          - succeeds
          - precedes
        id:
          $ref: '#/components/schemas/id'
        paging_token:
          type: string
        transaction_successful:
          type: boolean
        source_account:
          $ref: '#/components/schemas/address'
        type:
          type: string
          example: path_payment_strict_receive
        type_i:
          type: number
          example: 2
        created_at:
          type: string
        transaction_hash:
          type: string
        asset_type:
          type: string
          enum:
          - native
          - credit_alphanum4
          - credit_alphanum12
        asset_code:
          type: string
        asset_issuer:
          $ref: '#/components/schemas/address'
        from:
          $ref: '#/components/schemas/address'
        to:
          $ref: '#/components/schemas/address'
        amount:
          type: string
        path:
          type: array
          items:
            type: object
            properties:
              asset_type:
                type: string
                enum:
                - native
                - credit_alphanum4
                - credit_alphanum12
              asset_code:
                type: string
              a

# --- truncated at 32 KB (46 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/stellar/refs/heads/main/openapi/stellar-payments-api-openapi.yml