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

# Initiate Payment By Fiat Currency

> Create a payment transaction for a specific fiat currency

<Note>
  **Auth method: Basic (Access ID)** — this endpoint only requires your
  `x-access-id` header. No request signing is needed. See
  [Authentication](/api-reference/authentication#basic-access-id-authentication).
</Note>

## Path Parameters

<ParamField path="currency" type="string" required>
  Currency code for the payment

  **Example:** `"ngn"`
</ParamField>

## Headers

<ParamField header="x-access-id" type="string" required>
  Your API access ID provided by Tender

  **Example:** `"your-access-id-here"`
</ParamField>

<ParamField header="Content-Type" type="string" required>
  Media type of the request body

  **Example:** `"application/json"`
</ParamField>

## Body

<ParamField body="amount" type="string" required>
  Payment amount in the specified currency

  **Example:** `"1.023"`
</ParamField>

<ParamField body="chain" type="string" required>
  Blockchain network to use for the transaction

  **Example:** `"avalanche"`
</ParamField>

<ParamField body="currency" type="string" required>
  Cryptocurrency for the payment

  **Example:** `"avalanche"`
</ParamField>

<ParamField body="reference" type="string">
  Optional reference or transaction ID for your own tracking purposes

  **Example:** `"ORDER-12345"`
</ParamField>

<ParamField body="meta" type="object">
  Optional metadata attached to the payment

  <Expandable title="meta properties">
    <ParamField body="meta.customerEmail" type="string">
      The customer's email address

      **Example:** `"customer@example.com"`
    </ParamField>
  </Expandable>
</ParamField>

## Response

<ResponseField name="status" type="string" required>
  Status of the API request

  **Example:** `"success"`
</ResponseField>

<ResponseField name="message" type="string" required>
  Human-readable message describing the result

  **Example:** `"success"`
</ResponseField>

<ResponseField name="data" type="object" required>
  The initiated payment transaction details

  <Expandable title="data properties">
    <ResponseField name="type" type="string">
      Transaction type

      **Example:** `"receive"`
    </ResponseField>

    <ResponseField name="chain" type="string">
      Blockchain network used

      **Example:** `"avalanche"`
    </ResponseField>

    <ResponseField name="chainId" type="string">
      Internal chain identifier

      **Example:** `"64f782bb4278fc475eb30e29"`
    </ResponseField>

    <ResponseField name="walletAddress" type="string">
      Destination wallet address for payment

      **Example:** `"0x40b95eddeeac0776ebefc3963bb9ba7d22cbd065"`
    </ResponseField>

    <ResponseField name="amount" type="string">
      Amount in cryptocurrency

      **Example:** `"0.023741"`
    </ResponseField>

    <ResponseField name="usdAmount" type="string">
      Equivalent amount in USD

      **Example:** `"1.02"`
    </ResponseField>

    <ResponseField name="coinAmount" type="string">
      Amount in the specified cryptocurrency

      **Example:** `"0.023741"`
    </ResponseField>

    <ResponseField name="fee" type="number">
      Transaction fee in cryptocurrency

      **Example:** `0.00023741007194244602`
    </ResponseField>

    <ResponseField name="feeUSD" type="number">
      Transaction fee in USD

      **Example:** `0.0102`
    </ResponseField>

    <ResponseField name="feeSent" type="boolean">
      Whether the fee has been sent

      **Example:** `false`
    </ResponseField>

    <ResponseField name="rate" type="number">
      Exchange rate used for conversion

      **Example:** `43.09`
    </ResponseField>

    <ResponseField name="agentId" type="string">
      Agent receiving the payment

      **Example:** `"6538eaaebdec6d1a21978e6a"`
    </ResponseField>

    <ResponseField name="merchantId" type="string">
      Merchant ID associated with the transaction

      **Example:** `"6538e8f9bdec6d1a21978a64"`
    </ResponseField>

    <ResponseField name="currency" type="string">
      Currency identifier

      **Example:** `"64fc4cda43812c15552311d7"`
    </ResponseField>

    <ResponseField name="agentAmount" type="string">
      Amount in agent's local currency

      **Example:** `"1.023"`
    </ResponseField>

    <ResponseField name="agentRate" type="string">
      Exchange rate for agent's currency

      **Example:** `"1"`
    </ResponseField>

    <ResponseField name="agentCurrency" type="string">
      Agent's local currency code

      **Example:** `"usd"`
    </ResponseField>

    <ResponseField name="txId" type="string">
      Unique transaction identifier

      **Example:** `"66aec7de809b7f45c42a49f9"`
    </ResponseField>
  </Expandable>
</ResponseField>


## OpenAPI

````yaml POST /v1/api/payment/initiate/{currency}
openapi: 3.1.0
info:
  title: Tender API
  description: Tender Developer API for cryptocurrency payments and agent management
  version: 1.0.0
  contact:
    name: Tender Support
    url: https://tender.cash
servers:
  - url: https://secureapi.tender.cash
    description: Production Server
  - url: https://sandbox-api.tender.cash
    description: Sandbox Server
security:
  - SignedAuth: []
tags:
  - name: Agents
    description: Manage agents and sub-businesses
  - name: Transactions
    description: Payment and transaction operations
  - name: System
    description: System information and configuration
  - name: Webhooks
    description: Webhook management and logs
  - name: On-ramp
    description: Fiat-to-crypto on-ramp operations
  - name: Payouts
    description: Send crypto from merchant balance to a wallet address or payout account
  - name: Subwallets
    description: Provision and manage crypto wallet infrastructure for your end-users
paths:
  /v1/api/payment/initiate/{currency}:
    post:
      tags:
        - Transactions
      summary: Initiate Payment By Fiat Currency
      description: Create a new payment transaction for a specific fiat currency
      operationId: initiatePaymentByFiatCurrency
      parameters:
        - name: currency
          in: path
          required: true
          description: Fiat currency code (e.g., ngn, usd)
          schema:
            type: string
        - name: x-access-id
          in: header
          required: true
          description: Your API access ID provided by Tender
          schema:
            type: string
          example: your-access-id-here
        - name: Content-Type
          in: header
          required: true
          description: Media type of the request body
          schema:
            type: string
          example: application/json
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InitiatePaymentByFiatCurrencyRequest'
            example:
              amount: '100.00'
              chain: ethereum
              currency: usdc
              meta:
                customerEmail: customer@example.com
      responses:
        '200':
          description: Payment initiated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InitiatePaymentResponse'
      security:
        - AccessIdAuth: []
components:
  schemas:
    InitiatePaymentByFiatCurrencyRequest:
      type: object
      required:
        - amount
        - chain
        - currency
      properties:
        amount:
          type: string
          description: Payment amount in fiat currency
          example: '1.023'
        chain:
          type: string
          description: Blockchain network
          example: avalanche
        currency:
          type: string
          description: Cryptocurrency to receive
          example: avalanche
        reference:
          type: string
          description: Optional reference or transaction ID for your own tracking purposes
          example: ORDER-12345
        meta:
          type: object
          description: Optional metadata attached to the payment
          properties:
            customerEmail:
              type: string
              format: email
              description: The customer's email address
              example: customer@example.com
    InitiatePaymentResponse:
      type: object
      properties:
        status:
          type: string
        message:
          type: string
        data:
          type: object
          properties:
            type:
              type: string
            chain:
              type: string
            chainId:
              type: string
            amount:
              type: string
            agentId:
              type: string
            merchantId:
              type: string
            usdAmount:
              type: string
            coinAmount:
              type: string
            fee:
              type: number
            feeUSD:
              type: number
            feeSent:
              type: boolean
            rate:
              type: number
            walletAddress:
              type: string
            walletAddressIndex:
              type: integer
            currency:
              type: string
            activationFee:
              type: number
            activationFeeUSD:
              type: number
            contractAddress:
              type: string
              nullable: true
            agentAmount:
              type: string
            agentRate:
              type: string
            agentCurrency:
              type: string
            txId:
              type: string
  securitySchemes:
    SignedAuth:
      type: apiKey
      in: header
      name: authorization
      description: >-
        Signed (HMAC) authentication. Required headers: x-access-id,
        x-request-id (UUID v4), x-timestamp (ISO 8601), and authorization
        (Base64 HMAC-SHA256 signature of {timeStamp, requestId, accessId} using
        your access secret).
    AccessIdAuth:
      type: apiKey
      in: header
      name: x-access-id
      description: >-
        Basic (Access ID) authentication. Only the x-access-id header is
        required; no request signing.

````