# Create a counterparty

To make a funds transfer or payment, add the counterparty that you intend to transact with.

Depending on which country a counterparty account is based in, the [fields that you need to specify](#required-details-depending-on-the-country) are different.
Additionally, some payment rails may have stricter requirements regarding the `address` field – for example, by also requiring the `region` field.

:::tip [Address field recommendations]
We recommend that you use **all** available address fields (including `street_line1`, `region` and `city`) when creating a counterparty.
This significantly reduces the risk of any disruption to payments made via the API.
:::

Ensure that you use the correct field to define the counterparty's **name**, which depends on how you add it:

- **Revtag**: `name`
- **Other account details**: `individual_name` (personal accounts) or `company_name` (business accounts)

[See the API reference: Create a counterparty](/docs/api/business#add-counterparty)

:::tip [Add via payout link instead]
Create a payout link and share it with the recipient.
When claiming the payout, the recipient fills in their details, which you can then save as a counterparty.
To learn more, see [Payout links](/docs/guides/manage-accounts/transfers/payout-links).
:::

See also how to [validate an account name (CoP/VoP)](/docs/guides/manage-accounts/counterparties/confirmation-of-payee) when adding a counterparty.

---

You can add:

- [Revolut counterparties](#add-a-revolut-counterparty) using Revtags
- [UK counterparties](#add-a-uk-counterparty) using account number and sort code
- [International counterparties](#add-an-international-counterparty) using [required account details](#required-details-depending-on-the-country) as per the counterparty's region

## Add a Revolut counterparty

If a counterparty has a Revolut account, you can provide their [Revtag](https://help.revolut.com/help/transfers/internal-transfers/username-payments/revtags/) and name.

:::note
- The **name** that you provide must match or closely match the actual name associated with the account that you're trying to add.
  Otherwise, the creation fails and a 404 error is returned.
- You can add only one counterparty with a given **Revtag**. If you try to use the same Revtag to add another counterparty, you'll get an error.
:::

- ![$Production]

  ```shell
  curl -X POST https://b2b.revolut.com/api/1.0/counterparty \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <your access token>' \
    -d '{
          "profile_type": "personal",
          "name": "John Doe",
          "revtag": "johndoe"
        }'
  ```

- ![$Sandbox]

  ```shell
  curl -X POST https://sandbox-b2b.revolut.com/api/1.0/counterparty \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <your access token>' \
    -d '{
          "profile_type": "personal",
          "name": "John Doe",
          "revtag": "johndoe"
        }'
  ```

To see more example requests and responses:

[See the API reference: Create a counterparty](/docs/api/business#add-counterparty)

Alternatively, add a Revolut counterparty by providing their [full details](#required-details-depending-on-the-country).

### Test accounts for Sandbox

In the Sandbox environment, you cannot add real people and businesses as Revolut counterparties.
To simulate [Create a counterparty](/docs/api/business#add-counterparty) requests, use one of the [test accounts](/docs/api/business#tag-counterparties).

## Add a UK counterparty

If a counterparty has a UK bank account, the following details are required:

| Field        | Description                                 | Format                                        | Example    |
| ------------ | ------------------------------------------- | --------------------------------------------- | ---------- |
| `account_no` | The bank account number of the counterparty | Text                                          | `12345678` |
| `sort_code`  | The sort code of the counterparty's account | Text                                          | `223344`   |
| `address`*   | The details of the counterparty's address   | [Object](/docs/api/business#add-counterparty) | See below  |

\*The `address` field is optional; however, if you provide it, the address subfields below are **required**.

| Subfield                         | Format |
| -------------------------------- | ------ |
| `city`                           | Text   |
| `street_line1` or `street_line2` | Text   |
| `country`                        | Text   |
| `postcode`                       | Text   |

```json
{
  "city": "London",
  "street_line1": "20 Upping St",
  "country": "GB",
  "postcode": "SW1A 2AB"
}
```

- ![$Production]

  ```shell
  curl -X POST https://b2b.revolut.com/api/1.0/counterparty \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <your access token>' \
    -d '{
          "company_name": "John Smith Co.",
          "bank_country": "GB",
          "currency": "GBP",
          "account_no": "12345678",
          "sort_code": "223344",
          "address": {
            "city":"London",
            "street_line1":"20 Upping St",
            "country":"GB",
            "postcode":"SW1A 2AB"
          }
        }'
  ```

- ![$Sandbox]

  ```shell
  curl -X POST https://sandbox-b2b.revolut.com/api/1.0/counterparty \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <your access token>' \
    -d '{
          "company_name": "John Smith Co.",
          "bank_country": "GB",
          "currency": "GBP",
          "account_no": "12345678",
          "sort_code": "223344",
          "address": {
            "city":"London",
            "street_line1":"20 Upping St",
            "country":"GB",
            "postcode":"SW1A 2AB"
          }
        }'
  ```

To see more example requests and responses:

[See the API reference: Create a counterparty](/docs/api/business#add-counterparty)

## Add an international counterparty

If a counterparty has a non-UK bank account, depending on the country that the account is based in, you must specify the [required fields](#required-details-depending-on-the-country).

See an example for an [IBAN](#fields-for-iban-countries) bank account.

- ![$Production]

  ```shell
  curl -X POST https://b2b.revolut.com/api/1.0/counterparty \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <your access token>' \
    -d '{
          "company_name": "John Smith Co.",
          "bank_country": "FR",
          "currency": "EUR",
          "iban": "FR1420041010050500013M02606"
        }'
  ```

- ![$Sandbox]

  ```shell
  curl -X POST https://sandbox-b2b.revolut.com/api/1.0/counterparty \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <your access token>' \
    -d '{
          "company_name": "John Smith Co.",
          "bank_country": "FR",
          "currency": "EUR",
          "iban": "FR1420041010050500013M02606"
        }'
  ```

To see more example requests and responses:

[See the API reference: Create a counterparty](/docs/api/business#add-counterparty)

## Required details depending on the country {#add-counterparty-full-details}

Check the following tables for the different **required** fields depending on the country.

### Fields for US USD accounts

| Field            | Description            | Format                                        | Example                                        |
| ---------------- | ---------------------- | --------------------------------------------- | ---------------------------------------------- |
| `account_no`     | Bank account number    | Text                                          | `13719713158835300`                            |
| `routing_number` | Routing transit number | Text                                          | `082000510`                                    |
| `address`        | Address details        | [Object](/docs/api/business#add-counterparty) | [Example](/docs/api/business#add-counterparty) |

### Fields for IBAN countries

| Field      | Description                                                                                              | Format                                        | Example                                        |
| ---------- | -------------------------------------------------------------------------------------------------------- | --------------------------------------------- | ---------------------------------------------- |
| `iban`     | [IBAN](https://www.iban.com/structure)                                                                   | Text                                          | `FR1420041010050500013M02606`                  |
| `bic`*     | BIC<br/><br/>_*For SEPA transfers, it's optional._                                                       | Text                                          | `PSSTFRPPLILBIC`                               |
| `address`* | Address details<br/><br/>_*For eurozone countries or CH, when using EUR as the currency, it's optional._ | [Object](/docs/api/business#add-counterparty) | [Example](/docs/api/business#add-counterparty) |

### Fields for SWIFT

| Field        | Description         | Format                                        | Example                                        |
| ------------ | ------------------- | --------------------------------------------- | ---------------------------------------------- |
| `account_no` | Bank account number | Text                                          | `1234567890`                                   |
| `bic`        | BIC                 | Text                                          | `BOJPJPJT123`                                  |
| `address`    | Address details     | [Object](/docs/api/business#add-counterparty) | [Example](/docs/api/business#add-counterparty) |

### Fields for SWIFT MX

| Field     | Description     | Format                                        | Example                                        |
| --------- | --------------- | --------------------------------------------- | ---------------------------------------------- |
| `clabe`   | CLABE           | Text                                          | `032180000118359719`                           |
| `bic`     | Bank BIC        | Text                                          | `BDEMMXMMXXX`                                  |
| `address` | Address details | [Object](/docs/api/business#add-counterparty) | [Example](/docs/api/business#add-counterparty) |

### Fields for IN INR accounts

| Field        | Description         | Format                                        | Example                                        |
| ------------ | ------------------- | --------------------------------------------- | ---------------------------------------------- |
| `account_no` | Bank account number | Text                                          | `123456789`                                    |
| `ifsc`       | IFSC                | Text                                          | `SBIN0005943`                                  |
| `address`    | Address details     | [Object](/docs/api/business#add-counterparty) | [Example](/docs/api/business#add-counterparty) |

### Fields for AU AUD accounts

| Field        | Description                                                                                                                  | Format                                        | Example     |
| ------------ | ---------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- | ----------- |
| `account_no` | The bank account number of the counterparty                                                                                  | Text                                          | `011623852` |
| `bsb_code`   | The Bank State Branch (BSB) code; a six-digit number used to identify the bank or other financial institution and its branch | Text                                          | `007621`    |
| `address`*   | The details of the counterparty's address                                                                                    | [Object](/docs/api/business#add-counterparty) | See below   |

\*The `address` field is optional; however, if you provide it, the address subfields below are **required**.

| Subfield                         | Format |
| -------------------------------- | ------ |
| `city`                           | Text   |
| `street_line1` or `street_line2` | Text   |
| `country`                        | Text   |
| `postcode`                       | Text   |

```json
{
  "city": "Sydney",
  "street_line1": "21 Woolfe St",
  "country": "AU",
  "postcode": "NSW 2000"
}
```

## What's next

Now that you've added counterparties to transact with, learn how to [send money](/docs/guides/manage-accounts/transfers/send-money).