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

# Recipient e destination

> Crea un recipient di terze parti e l'endpoint bancario o wallet che riceve un payout.

Usa un conto cliente quando il cliente possiede l'endpoint. Usa un recipient e una destination quando un'altra persona o azienda riceve i fondi.

Il recipient registra chi riceve i fondi. La destination registra dove li riceve.

## 1. Crea il recipient

Crea un individuo o un business con [`POST /v3/customers/{customerId}/recipients`](/api-reference/recipients/post-v3-customers-by-customer-id-recipients). Invia questi header:

```http theme={null}
X-API-Key: ${SWIPELUX_API_KEY}
Idempotency-Key: recipient-create-001
Content-Type: application/json
```

```json theme={null}
{
  "type": "individual",
  "relationship": "contractor",
  "firstName": "Jason",
  "lastName": "Swipelux",
  "email": "jason@swipelux.com",
  "phone": "+14155551234",
  "address": {
    "streetLine1": "1 Market Street",
    "city": "San Francisco",
    "state": "CA",
    "postalCode": "94105",
    "country": "US"
  },
  "label": "Jason contractor"
}
```

Includi l'indirizzo prima di creare una destination fiat. Salva il `data.id` del recipient restituito come `RECIPIENT_ID` e conserva il suo stato corrente.

## 2. Aggiungi una destination

Crea l'endpoint con [`POST /v3/customers/{customerId}/recipients/{recipientId}/destinations`](/api-reference/recipients/post-v3-customers-by-customer-id-recipients-by-recipient-id-destinations). Usa una nuova chiave per questa destination prevista:

```http theme={null}
X-API-Key: ${SWIPELUX_API_KEY}
Idempotency-Key: recipient-destination-create-001
Content-Type: application/json
```

<Tabs>
  <Tab title="Destination bancaria">
    ```json theme={null}
    {
      "type": "ach",
      "currency": "USD",
      "details": {
        "routingNumber": "021000021",
        "accountNumber": "123456789",
        "accountType": "checking",
        "bankName": "Example Bank",
        "accountHolderName": "Jason Swipelux",
        "country": "US"
      }
    }
    ```
  </Tab>

  <Tab title="Destination wallet">
    ```json theme={null}
    {
      "type": "wallet",
      "currency": "USDC",
      "ownership": {
        "type": "self_custodied"
      },
      "details": {
        "network": "base",
        "address": "0x1111111111111111111111111111111111111111"
      }
    }
    ```
  </Tab>
</Tabs>

Usa `self_custodied` solo quando il recipient controlla il wallet. Segui la variante corrente dell'API Reference quando il wallet e' detenuto da un altro custode.

Salva il `data.id` della destination restituito come `DESTINATION_ID` e conserva il suo stato corrente.

## 3. Attendi la readiness della destination

Leggi [`GET /v3/customers/{customerId}/recipients/{recipientId}/destinations/{destinationId}`](/api-reference/recipients/get-v3-customers-by-customer-id-recipients-by-recipient-id-destinations-by-destination-id) prima di creare un quote.

Prosegui solo quando lo stato corrente della destination consente il payout e la sua valuta, metodo e network corrispondono al movimento previsto. Gli stati di recipient e destination sono indipendenti.

Usa l'ID di destination `dst_` nel quote di payout. L'ID `rcp_` del recipient identifica il record del proprietario e non e' una destination di quote.

Successivamente, porta la destination ready in [Invia fondi](/it/integration/send-funds).


## Related topics

- [Migrare a v3](/it/api-reference/versioning/migrate-to-v3.md)
- [Quote e transfer](/it/integration/quotes-and-transfers.md)
- [Metodi di pagamento](/it/knowledge-base/compliance/payment-methods.md)
- [Invia fondi](/it/integration/send-funds.md)
- [Go live](/it/integration/go-live.md)
