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 are different. Additionally, some payment rails may have stricter requirements regarding the address field – for example, by also requiring the region field.

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)

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.

See also how to validate an account name (CoP/VoP) when adding a counterparty.


You can add:

Add a Revolut counterparty

If a counterparty has a Revolut account, you can provide their Revtag 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.
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"
}'

To see more example requests and responses:


Alternatively, add a Revolut counterparty by providing their full details.

Test accounts for Sandbox

In the Sandbox environment, you cannot add real people and businesses as Revolut counterparties. To simulate Create a counterparty requests, use one of the test accounts.

Add a UK counterparty

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

FieldSubfields
(if applicable)
DescriptionFormatExample
account_noThe bank account number of the counterpartyText12345678
sort_codeThe sort code of the counterparty's accountText223344
address*The details of the counterparty's address

Note
The address field is optional, however, if you do provide it, the address subfields specified here are required.
Object

{
"city":"London",
"street_line1":"20 Upping St",
"country":"GB",
"postcode":"SW1A 2AB"
}
cityText
street_line1
or
street_line2
Text
countryText
postcodeText
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"
}
}'

To see more example requests and responses:

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.

See an example for an IBAN bank account.

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"
}'

To see more example requests and responses:

Required details depending on the country

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

Fields for US USD accounts

FieldDescriptionFormatExample
account_noBank account numberText13719713158835300
routing_numberRouting transit numberText082000510
addressAddress detailsObjectExample

Fields for IBAN countries

FieldDescriptionFormatExample
ibanIBANTextFR1420041010050500013M02606
bic*BIC

*For SEPA transfers, it's optional.
TextPSSTFRPPLILBIC
address*Address details

*For eurozone countries or CH, when using EUR as the currency, it's optional.
ObjectExample

Fields for SWIFT

FieldDescriptionFormatExample
account_noBank account numberText1234567890
bicBICTextBOJPJPJT123
addressAddress detailsObjectExample

Fields for SWIFT MX

FieldDescriptionFormatExample
clabeCLABEText032180000118359719
bicBank BICTextBDEMMXMMXXX
addressAddress detailsObjectExample

Fields for IN INR accounts

FieldDescriptionFormatExample
account_noBank account numberText123456789
ifscIFSCTextSBIN0005943
addressAddress detailsObjectExample

Fields for AU AUD accounts

FieldSubfields
(if applicable)
DescriptionFormatExample
account_noThe bank account number of the counterpartyText011623852
bsb_codeThe Bank State Branch (BSB) code; a six-digit number used to identify the bank or other financial institution and its branchText007621
address*The details of the counterparty's address

Note
The address field is optional, however, if you do provide it, the address subfields specified here are required.
Object

{
"city":"Sydney",
"street_line1":"21 Woolfe St",
"country":"AU",
"postcode":"NSW 2000"
}
cityText
street_line1
or
street_line2
Text
countryText
postcodeText

What's next

Now that you've added counterparties to transact with, learn how to send money.

Was this page helpful?