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

# Create invoice

> Create an invoice for USD settlement. Requires a `fundingSource` of either `DEPOSIT` or `WALLET`.

- **DEPOSIT** (NGNX only): Returns a virtual NGN bank account to pay into, along with the exact NGN amount. The virtual account is valid for 30 minutes. Invoice status starts as `PENDING`.
- **WALLET** (NGNX, USDC, USDT): Debits the required amount from your wallet immediately. No virtual account is created. Invoice status is set to `APPROVED` instantly.



## OpenAPI

````yaml /api-reference/openapi.json post /invoices
openapi: 3.0.0
info:
  title: Obiex API
  version: 1.0.0
  description: >-
    Welcome to the Obiex API Documentation, your guide to building amazing
    payment experiences with our powerful APIs.


    Start by reviewing the overview of each folder to understand how the APIs
    function and interact. This will help you get the most out of our platform
    and easily integrate its features into your applications.
servers:
  - url: https://api.obiex.finance/v1
security: []
paths:
  /invoices:
    post:
      tags:
        - Invoice Settlement
      summary: Create invoice
      description: >-
        Create an invoice for USD settlement. Requires a `fundingSource` of
        either `DEPOSIT` or `WALLET`.


        - **DEPOSIT** (NGNX only): Returns a virtual NGN bank account to pay
        into, along with the exact NGN amount. The virtual account is valid for
        30 minutes. Invoice status starts as `PENDING`.

        - **WALLET** (NGNX, USDC, USDT): Debits the required amount from your
        wallet immediately. No virtual account is created. Invoice status is set
        to `APPROVED` instantly.
      parameters:
        - name: x-api-key
          in: header
          required: false
          deprecated: false
          schema: {}
        - name: x-api-signature
          in: header
          required: false
          deprecated: false
          schema: {}
        - name: x-api-timestamp
          in: header
          required: false
          deprecated: false
          schema: {}
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            examples:
              DEPOSIT (NGNX):
                summary: DEPOSIT — pay via virtual NGN bank account
                value:
                  targetAmount: 1000
                  source: NGNX
                  target: USD
                  fundingSource: DEPOSIT
                  purposeOfPayment: Payment for software development services
                  invoiceDocument: >-
                    https://res.cloudinary.com/afrivelle/image/upload/v1718000000/invoice_abc123.pdf
                  destination:
                    accountName: Acme Corp Account
                    accountNumber: '12345678901'
                    swiftCode: FIBKUS33XXX
                    bankName: First International Bank
                    bankCode: FIBK
                    bankCountry: US
                    bankAddress: 123 Main Street, New York, NY 10001
                    beneficiaryName: Acme Corp
                    beneficiaryAddress: 456 Business Ave, San Francisco, CA 94105
                    beneficiaryCountryCode: US
                    beneficiaryCountryOfResidence: United States
              WALLET (USDC):
                summary: WALLET — debit from USDC wallet immediately
                value:
                  targetAmount: 1000
                  source: USDC
                  target: USD
                  fundingSource: WALLET
                  purposeOfPayment: Payment for software development services
                  invoiceDocument: >-
                    https://res.cloudinary.com/afrivelle/image/upload/v1718000000/invoice_abc123.pdf
                  destination:
                    accountName: Acme Corp Account
                    accountNumber: '12345678901'
                    swiftCode: FIBKUS33XXX
                    bankName: First International Bank
                    bankCode: FIBK
                    bankCountry: US
                    bankAddress: 123 Main Street, New York, NY 10001
                    beneficiaryName: Acme Corp
                    beneficiaryAddress: 456 Business Ave, San Francisco, CA 94105
                    beneficiaryCountryCode: US
                    beneficiaryCountryOfResidence: United States
              WALLET (USDT):
                summary: WALLET — debit from USDT wallet immediately
                value:
                  targetAmount: 1000
                  source: USDT
                  target: USD
                  fundingSource: WALLET
                  purposeOfPayment: Payment for software development services
                  invoiceDocument: >-
                    https://res.cloudinary.com/afrivelle/image/upload/v1718000000/invoice_abc123.pdf
                  destination:
                    accountName: Acme Corp Account
                    accountNumber: '12345678901'
                    swiftCode: FIBKUS33XXX
                    bankName: First International Bank
                    bankCode: FIBK
                    bankCountry: US
                    bankAddress: 123 Main Street, New York, NY 10001
                    beneficiaryName: Acme Corp
                    beneficiaryAddress: 456 Business Ave, San Francisco, CA 94105
                    beneficiaryCountryCode: US
                    beneficiaryCountryOfResidence: United States
              WALLET (NGNX):
                summary: WALLET — debit from NGNX wallet immediately
                value:
                  targetAmount: 1000
                  source: NGNX
                  target: USD
                  fundingSource: WALLET
                  purposeOfPayment: Payment for software development services
                  invoiceDocument: >-
                    https://res.cloudinary.com/afrivelle/image/upload/v1718000000/invoice_abc123.pdf
                  destination:
                    accountName: Acme Corp Account
                    accountNumber: '12345678901'
                    swiftCode: FIBKUS33XXX
                    bankName: First International Bank
                    bankCode: FIBK
                    bankCountry: US
                    bankAddress: 123 Main Street, New York, NY 10001
                    beneficiaryName: Acme Corp
                    beneficiaryAddress: 456 Business Ave, San Francisco, CA 94105
                    beneficiaryCountryCode: US
                    beneficiaryCountryOfResidence: United States
      responses:
        '200':
          description: Invoice created successfully
          content:
            application/json:
              schema:
                type: object
              examples:
                DEPOSIT (NGNX):
                  summary: DEPOSIT response — virtual account provided, status PENDING
                  value:
                    message: Ok
                    data:
                      invoiceId: a3f1c2d4-8b0e-4f3a-9c7d-1e2b3a4c5d6e
                      status: PENDING
                      rate: 1625
                      reference: INV-REF-2026-001
                      amountToDeposit: 1625000
                      targetAmount: 1000
                      sourceCurrency: NGNX
                      targetCurrency: USD
                      virtualAccountDetails:
                        accountName: Obiex / Acme Corp
                        accountNumber: '9012345678'
                        bankName: Providus Bank
                        expiresAt: '2026-06-10T11:30:00.000Z'
                WALLET (USDC):
                  summary: >-
                    WALLET response — wallet debited, status APPROVED, no
                    virtual account
                  value:
                    message: Ok
                    data:
                      invoiceId: b7e2d1c3-9a0f-4e2b-8d6c-2f3a4b5c6d7e
                      status: APPROVED
                      rate: 1
                      reference: null
                      amountToDeposit: 1000
                      targetAmount: 1000
                      sourceCurrency: USDC
                      targetCurrency: USD
                      virtualAccountDetails: null
      security:
        - ApiKeyAuth: []
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````