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

# Diameter Counterparties: Register and Manage Recipients

> Counterparties represent the recipients of wire payments. Pre-registering them avoids compliance delays and speeds up payment processing.

A counterparty is the recipient of a wire payment that one of your end users sends. Pre-registering counterparties lets Diameter run compliance checks ahead of time, so payments can be routed faster when they are eventually initiated.

## Counterparty Types

Diameter supports two counterparty types:

| Type | Required Name Fields |
| - | - |
| `INDIVIDUAL` | `firstName`, `lastName` |
| `ORGANIZATION` | `fullName` |

## Wire Information

Every counterparty must include a `wireInformation` object with the recipient's banking details:

| Field | Description |
| - | - |
| `bankName` | Name of the recipient's bank |
| `accountNumber` | Recipient's bank account number |
| `routingNumberType` | `ABA` (domestic) or `BIC` (international) |
| `routingNumber` | ABA routing number or BIC/SWIFT code |
| `address` | Recipient's registered address |

### Intermediary Routing (International Wires)

For international wires that use BIC routing, Diameter **automatically resolves the intermediary routing number** on your behalf. You do not need to supply `intermediaryRoutingNumber` in your request.

## Bank Partner Registration

Each counterparty is registered with one partner bank at creation time. The `bankPartners` array on the counterparty response shows the registration status per bank:

```json theme={null}
{
  "bankPartners": [
    { "bank": "PORTAGE", "status": "ACTIVE" },
    { "bank": "SLOVAK_SAVINGS_BANK", "status": "ACTIVE" }
  ]
}
```

| Status | Meaning |
| - | - |
| `ACTIVE` | Counterparty is approved and ready to receive payments via this bank |
| `BLOCKED` | Counterparty has been blocked by the partner bank |

### Adding a Counterparty to a Second Bank

If you want to use an existing counterparty with a second partner bank, call the onboard endpoint rather than creating a new counterparty record:

```http theme={null}
PATCH /v1/counter-parties/{id}/onboard
```

## Endpoints

| Method | Endpoint | Description |
| - | - | - |
| `POST` | `/v1/counter-parties` | Create a new counterparty |
| `GET` | `/v1/counter-parties` | List all counterparties |
| `GET` | `/v1/counter-parties/{id}` | Retrieve a specific counterparty |
| `PATCH` | `/v1/counter-parties/{id}/onboard` | Onboard an existing counterparty to a second bank |

## Best Practices

> [card] Pre-register recipients
>
> Create counterparties **before** initiating payments. This allows compliance checks to complete in advance and avoids holding up time-sensitive transfers.

> [card] Use inline creditors for one-offs
>
> For ad-hoc or infrequent recipients, supply inline `creditor` data directly in the [payment request](https://diameterpay.mintlify.site/concepts/payments.md#inline-creditor) instead of pre-registering. Available from API v0.11.0.

## Compliance Restrictions

> [!WARNING]
>
> Counterparties in prohibited countries (for example, Afghanistan — `AF`) cannot be created. Attempting to create such a counterparty will return an error, and any payment targeting a blocked counterparty will fail at the compliance screening stage.

## Name Field Encoding

> [!WARNING]
>
> The `firstName`, `lastName`, and `fullName` fields must contain **ASCII characters only**. Non-ASCII characters, including accented letters and non-Latin scripts, are not accepted and will cause a validation error.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.