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

# Create single-currency payments

> Send a payment in a single currency to either a recipient or another Equals account.

<Info>
  Currently, you can only make payments from the parent budget, not from any sub-budgets.
</Info>

## How it works

The following diagram describes the different steps required to send funds externally with Equals. Click on the image to enlarge it.

<img src="https://mintcdn.com/equalsmoney-0d00329a/Gcy_W3pNLgh52Qmj/images/diagram-outbound-payment-flow.svg?fit=max&auto=format&n=Gcy_W3pNLgh52Qmj&q=85&s=def5b3b65eebf16a608ca765ce8f0798" alt="Diagram showing the steps required to send funds externally" width="3616" height="3316" data-path="images/diagram-outbound-payment-flow.svg" />

## Create a single-currency payment

<Note>
  **POST** `/v2/orders/trade`
</Note>

### Before you start

To send a single-currency payment, you first need to [create a quote](/pages/payments/create-quotes) where:

* `type.from` is set to `balance`
* `type.to` is set to `payment`, `multiple`, or `forward`
* `sourceCurrency` and `targetCurrency` are set to the same currency
* at least one of `sourceCurrency.amount` or `targetCurrency.amount` is provided
* `sourceCurrency.currency.budgetId` and `targetCurrency.currency.budgetId` are set to the ID of the parent budget

For example, to create a quote for a 10 `GBP` payment to an external recipient:

<CodeGroup>
  ```bash Sample request theme={null}
  curl -i -X POST \
    'https://api.equalsmoney.com/v2/orders/quote?accountId=F12345' \
    -H 'Authorization: ApiKey YOUR_API_KEY_HERE' \
    -H 'Content-Type: application/json' \
    -d '{
      "sourceCurrency": {
        "amount": 10,
        "currency": {
          "budgetId": "b489ea2c-0dd1-4fb1-b345-de5a596a5527",
          "currencyCode": "GBP"
        }
      },
      "targetCurrency": {
        "currency": {
          "budgetId": "b489ea2c-0dd1-4fb1-b345-de5a596a5527",
          "currencyCode": "USD"
        }
      },
      "settlementDate": "20231001",
      "type": {
        "from": "balance",
        "to": "payment"
      }
    }'
  ```

  ```bash Request structure theme={null}
  curl -i -X POST \
    'https://api.equalsmoney.com/v2/orders/quote?accountId={accountId}' \
    -H 'Authorization: ApiKey YOUR_API_KEY_HERE' \
    -H 'Content-Type: application/json' \
    -d '{
      "sourceCurrency": {
        "amount": number,
        "currency": {
          "budgetId": string",
          "currencyCode": "string"
        }
      },
      "targetCurrency": {
        "currency": {
          "budgetId": "string",
          "currencyCode": "string"
        }
      },
      "settlementDate": "string",
      "type": {
        "from": "string",
        "to": "string"
      }
    }'
  ```
</CodeGroup>

### Request

Use this request to create a single-currency payment, using the `orderId` and `quoteRequestId` returned when you [created a quote](/pages/payments/create-quotes).

<CodeGroup>
  ```bash Sample request theme={null}
  curl -i -X POST \
    'https://api.equalsmoney.com/v2/orders/trade?accountId=F12345' \
    -H 'Authorization: ApiKey YOUR_API_KEY_HERE' \
    -H 'Content-Type: application/json' \
    -d '{
      "orderId": "M35TVZVMB4NYPO",
      "quoteRequestId": "UFTDF36PC1YHKDB61QC4V4324ATF9KCDPV",
      "payments": {
        "amount": 10,
        "currency": {
          "budgetId": "b489ea2c-0dd1-4fb1-b345-de5a596a5527",
          "currencyCode": "GBP"
        },
        "recipientId": "7d238pq10",
        "internalReference": "PAYX-123",
        "externalReference": "PAYX-123"
      }
    }'
  ```

  ```bash Request structure theme={null}
  curl -i -X POST \
    'https://api.equalsmoney.com/v2/orders/trade?accountId={accountId}' \
    -H 'Authorization: ApiKey YOUR_API_KEY_HERE' \
    -H 'Content-Type: application/json' \
    -d '{
      "orderId": "string",
      "quoteRequestId": "string",
      "payments": {
        "amount": number,
        "currency": {
          "budgetId": "string",
          "currencyCode": "string"
        },
        "recipientId": "string",
        "internalReference": "string",
        "externalReference": "string"
      }
    }'
  ```
</CodeGroup>

#### Query parameters

<ParamField body="accountId" type="string" required>
  The ID of the account that you're creating a single-currency payments for.

  Allowable values: An existing `accountId`
</ParamField>

#### Request body schema

<ParamField body="orderId" type="string" required>
  The ID of the order that was returned in the quote request.

  Allowable values: An existing `orderId` (≤ 36 characters)
</ParamField>

<ParamField body="quoteRequestId" type="string" required>
  The ID of the quote request that was returned in the quote request.

  Allowable values: An existing `quoteRequestId` (≤ 36 characters)
</ParamField>

<ParamField body="payments" type="object" required>
  Details about the payment that you're making.

  Allowable values: A valid `payments` object containing the following fields: `amount`, `currency`, `recipientId` , `internalReference`, `externalReference`

  <Expandable title="payments properties">
    <ParamField body="payments.amount" type="number" required>
      The payment amount.

      Allowable values: A valid number
    </ParamField>

    <ParamField body="payments.currency" type="object" required>
      Details about the payment's currency.

      Allowable values: A valid `currency` object containing the following fields: `budgetId`, `currencyCode`
    </ParamField>

    <ParamField body="payments.recipientId" type="string" required>
      The ID of the recipient that you're sending the payment to.

      Allowable values: An existing `recipientId`
    </ParamField>

    <ParamField body="payments.internalReference" type="string">
      The payment reference that you see.

      Allowable values: ≤ 256 characters
    </ParamField>

    <ParamField body="payments.externalReference" type="string">
      The payment reference that the recipient sees.

      Allowable values: ≤ 256 characters
    </ParamField>
  </Expandable>
</ParamField>

### Response

If your request is successful, you'll receive a `200` response.

<CodeGroup>
  ```json Sample response theme={null}
  {
    "orderId": "M35TVZVMB4NYPO",
    "bank": "BANK",
    "settlement": {
      "date": "20231001",
      "price": {
        "amount": 10,
        "currency": "GBP"
      },
      "charges": {
        "fee": 0,
        "margin": 0,
        "other": 0
      }
    },
    "trade": {
      "rate": 0,
      "inverseRate": 0,
      "from": {
        "amount": 10,
        "currency": "GBP"
      },
      "to": {
        "amount": 10,
        "currency": "GBP"
      }
    }
  }
  ```

  ```json Response structure theme={null}
  {
    "orderId": "string",
    "bank": "string",
    "settlement": {
      "date": "string",
      "price": {
        "amount": number,
        "currency": "string"
      },
      "charges": {
        "fee": number,
        "margin": number,
        "other": number
      }
    },
    "trade": {
      "rate": number,
      "inverseRate": number,
      "from": {
        "amount": number,
        "currency": "string"
      },
      "to": {
        "amount": number,
        "currency": "string"
      }
    }
  }
  ```
</CodeGroup>

<Warning>
  For customers where the external reference affects account ownership validation:

  If the provided external reference doesn’t match the one associated with the recipient, an error will occur. To resolve this, resubmit the request with the correct external reference, or create a new recipient with the preferred external reference.
</Warning>

For more detailed information about this request and its response, [see the API reference](/api-reference/payments/create-an-order).
