Counterparty Validation

There is validation on the Create counterparty API.

Mandatory Fields by Counterparty Type

Below is a breakdown of the mandatory fields by counterparty type and payment rail. '✅' denotes that a field is mandatory for a given counterparty type and rail.

🇺🇸 United States - FIAT_US

Field name Rail(s)
Fedwire ACH
customer_id
counterparty_type ✅ (FIAT_US) ✅ (FIAT_US)
supported_rails ✅ (FEDWIRE) ✅ (ACH)
description
Profile
profile_type
name
email
telephone_number
tax_reference_number
date_of_birth
unit_number
address_line1
address_line2
address_line3
city
state
postal_code
country_code
line_of_business
relationship_to_customer
Account information
type
asset_type_id
account_number
routing_number
swift_bic
institution_name
unit_number
address_line1
address_line2
address_line3
city
state
postal_code
country_code

🇺🇸 United States - FIAT_US_LINKED

Field name Rail(s)
ACH
customer_id
counterparty_type ✅ (FIAT_US_LINKED)
supported_rails ✅ (ACH)
description
Profile
profile_type
name
email
telephone_number
tax_reference_number
date_of_birth
unit_number
address_line1
address_line2
address_line3
city
state
postal_code
country_code
line_of_business
relationship_to_customer
Account information
type
asset_type_id
account_number
routing_number
swift_bic
institution_name
unit_number
address_line1
address_line2
address_line3
city
state
postal_code
country_code

🇨🇦 Canada - FIAT_CA

Field name Rail(s)
SWIFT EFT
customer_id
counterparty_type ✅ (FIAT_CA) ✅ (FIAT_CA)
supported_rails ✅ (SWIFT) ✅ (EFT)
description
Profile
profile_type
name
email
telephone_number
tax_reference_number
date_of_birth
unit_number
address_line1
address_line2
address_line3
city
state
postal_code
country_code
line_of_business
relationship_to_customer
Account information
type
asset_type_id
account_number
institution_number
transit_number
swift_bic
institution_name
unit_number
address_line1
address_line2
address_line3
city
state
postal_code
country_code

🇪🇺 Europe - FIAT_EU

Field name Rail(s)
SWIFT SEPA CT
customer_id
counterparty_type ✅ (FIAT_EU) ✅ (FIAT_EU)
supported_rails ✅ (SWIFT) ✅ (SEPA_CT)
description
Profile
profile_type
name
email
telephone_number
tax_reference_number
date_of_birth
unit_number
address_line1
address_line2
address_line3
city
state
postal_code
country_code
line_of_business
relationship_to_customer
Account information
type
asset_type_id
account_number
iban
swift_bic
institution_name
unit_number
address_line1
address_line2
address_line3
city
state
postal_code
country_code

🇬🇧 Great Britain (UK) - FIAT_GB

Field name Rail(s)
SWIFT Faster Payments (soon)
customer_id
counterparty_type ✅ (FIAT_GB) ✅ (FIAT_GB)
supported_rails ✅ (SWIFT) ✅ (FPS)
description
Profile
profile_type
name
email
telephone_number
tax_reference_number
date_of_birth
unit_number
address_line1
address_line2
address_line3
city
state
postal_code
country_code
line_of_business
relationship_to_customer
Account information
type
asset_type_id
account_number
iban
swift_bic
institution_name
unit_number
address_line1
address_line2
address_line3
city
state
postal_code
country_code

🇮🇳 India - FIAT_IN

Field name Rail(s)
SWIFT IMPS
customer_id
counterparty_type ✅ (FIAT_IN) ✅ (FIAT_IN)
supported_rails ✅ (SWIFT) ✅ (IMPS)
description
Profile
profile_type
name
email
telephone_number
tax_reference_number
date_of_birth
unit_number
address_line1
address_line2
address_line3
city
state
postal_code
country_code
line_of_business
relationship_to_customer
Account information
type
asset_type_id
account_number
swift_bic
ifsc
institution_name
unit_number
address_line1
address_line2
address_line3
city
state
postal_code
country_code

🇲🇽 Mexico - FIAT_MX

Field name Rail(s)
SWIFT
customer_id
counterparty_type ✅ (FIAT_MX)
supported_rails ✅ (SWIFT)
description
Profile
profile_type
name
email
unit_number
address_line1
address_line2
address_line3
city
state
postal_code
country_code
line_of_business
relationship_to_customer
Account information
type
asset_type_id
clabe
swift_bic
institution_name
unit_number
address_line1
address_line2
address_line3
city
state
postal_code
country_code

🌎 Account Number Jurisdictions

🇭🇰 FIAT_HK (Hong Kong), 🇸🇬 FIAT_SG (Singapore), 🇨🇳 FIAT_CN (China), 🇵🇦 FIAT_PA, (Panama), 🇲🇾 FIAT_MY (Malaysia), 🇯🇵 FIAT_JP (Japan), 🇧🇸 FIAT_BS (Bahamas)

Field name Rail(s)
SWIFT
customer_id
counterparty_type
supported_rails ✅ (SWIFT)
description
Profile
profile_type
name
email
telephone_number
tax_reference_number
date_of_birth
unit_number
address_line1
address_line2
address_line3
city t
state
postal_code
country_code
line_of_business
relationship_to_customer
Account information
type
asset_type_id
account_number
swift_bic
institution_name
unit_number
address_line1
address_line2
address_line3
city
state
postal_code
country_code

🌎 IBAN Jurisdictions

🇲🇽 FIAT_AE (United Arab Emirates), 🇨🇭 FIAT_CH (Switzerland), 🇧🇷 FIAT_BR (Brazil), 🇸🇦 FIAT_SA (Saudi Arabia), 🇪🇬 FIAT_EG (Egypt), 🇬🇹 FIAT_GT (Guatamala), 🇶🇦 FIAT_QA (Qatar), 🇧🇭 FIAT_BH (Bahrain), 🇨🇷 FIAT_CR (Costa Rica), 🇹🇷 FIAT_TR (Turkey), 🇬🇱 FIAT_GL (Greenland), 🇵🇱 FIAT_PL (Poland)

Field name Rail(s)
SWIFT
customer_id
counterparty_type
supported_rails ✅ (SWIFT)
description
Profile
profile_type
name
email
telephone_number
tax_reference_number
date_of_birth
unit_number
address_line1
address_line2
address_line3
city
state
postal_code
country_code
line_of_business
relationship_to_customer
Account information
type
asset_type_id
iban
swift_bic
institution_name
unit_number
address_line1
address_line2
address_line3
city
state
postal_code
country_code

🏦 Intermediary Institution Information (Swift)

If you wish a counterparty with the Swift rail to receive funds via an intermediary institution you must include the intermediary_information block. This block is optional, however if you do provide intermediary information the mandatory fields for that block is as follows.

Field name Rail(s)
SWIFT
[Counterparty profile & account information]
Intermediary information
institution_type
swift_bic
institution_name
unit_number
address_line1
address_line2
address_line3
city
state
postal_code
country_code

🌐 Crypto

Field name Rail(s)
CRYPTO
customer_id
counterparty_type ✅ (CRYPTO)
supported_rails ✅ (CRYPTO)
description
Profile
profile_type
name
email
unit_number
address_line1
address_line2
address_line3
city
state
postal_code
country_code
line_of_business
relationship_to_customer
Wallet information
wallet_type
asset_type_id
blockchain_address
institution_name ✅ *
unit_number
address_line1 ✅ *
address_line2
address_line3
city ✅ *
state ✅ *
postal_code ✅ *
country_code ✅ *

* Mandatory if wallet_type = INSTITUTION

Validation Rules

All fields

  • No leading or trailing spaces - values with preceding or trailing spaces will be trimmed to remove spaces.
  • No language quirks - values containing letters with language accents (e.g. à) will result in an error.
  • Limited special character support - only certain special characters are valid. Values with unsupported special characters (e.g. =) will result in an error.

Valid special characters - .,’&-()@[space]#/:+

Field specific

Field name Validation rules
customer_id
counterparty_type Valid enum
supported_rails
description
Profile
profile_type Valid enum
name
email Valid email
telephone_number E.164 format -> +[country code][subscriber phone number]
tax_reference_number
date_of_birth
unit_number
address_line1 Length <= 35
address_line2 Length <= 35
address_line3
city Length <= 21
state IF US -> ISO_3166-2:US
postal_code IF US -> Length = 5 OR Length = 5-4
country_code ISO 3166-2
line_of_business Valid enum
relationship_to_customer Valid enum
Account information
type Valid enum
asset_type_id Valid enum
account_number
clabe
iban
routing_number Numbers only Length = 9
institution_number
transit_number
swift_bic Length = 8 OR Length = 11 ISO 9362
institution_name Length <= 35
unit_number
address_line1 Length <= 35
address_line2 Length <= 35
address_line3
city Length <= 21
state IF US -> ISO_3166-2:US
postal_code IF US -> Length = 5 OR Length = 5-4
country_code ISO 3166-2
Wallet information
wallet_type Valid enum
asset_type_id Valid enum
blockchain_address
institution_name Length <= 35
unit_number
address_line1 Length <= 35
address_line2 Length <= 35
address_line3
city Length <= 21
state IF US -> ISO_3166-2:US
postal_code IF US -> Length = 5 OR Length = 5-4
country_code ISO 3166-2
© 2023 Layer2 Financial Inc. All Rights Reserved.