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

# Adresses

> Apprenez a creer des adresses dediees pour que vos clients deposent des stablecoins

<Note>
  En resume<br />
  Les adresses dediees vous permettent de creer des adresses blockchain uniques pour chaque client. Ces adresses peuvent recevoir des stablecoins sur plusieurs chaines compatibles EVM, avec des depots automatiquement balayes vers votre portefeuille principal.
</Note>

<img src="https://mintcdn.com/blockradar/fWg7SGpNBqmitg8P/images/addresses.png?fit=max&auto=format&n=fWg7SGpNBqmitg8P&q=85&s=3a8328c64ff10aaf622737fb39ae61f6" alt="Addresses" width="3446" height="2234" data-path="images/addresses.png" />

## Prerequis

Avant de generer des adresses, assurez-vous d'avoir :

<Steps>
  <Step title="Cle API">
    Obtenez votre cle API depuis le [Tableau de bord Blockradar](https://dashboard.blockradar.co). Naviguez vers **Developers** pour en generer une.
  </Step>

  <Step title="Portefeuille Principal Cree">
    Creez au moins un portefeuille principal via l'[API Creer Portefeuille](/fr/api-reference/wallets/create-wallet) ou le tableau de bord. Vous aurez besoin du `walletId` pour generer des adresses.
  </Step>

  <Step title="Portefeuille Finance">
    Financez votre portefeuille principal avec des tokens natifs (ETH, BNB, MATIC, etc.) pour couvrir les frais de gas des operations de balayage automatique.
  </Step>

  <Step title="Webhook Configure">
    Configurez votre URL de webhook sur le portefeuille principal pour recevoir les notifications de depot. Voir [Webhooks](/fr/essentials/webhooks) pour les details de configuration.
  </Step>
</Steps>

## Comment Ca Fonctionne

Les adresses dediees sont une fonctionnalite cruciale sur Blockradar qui vous permet de creer des adresses uniques pour vos clients. Ces adresses permettent a vos clients de deposer des stablecoins dans votre application fintech de maniere fluide.

Lorsque vous creez une adresse dediee pour un client, il peut utiliser cette seule adresse pour deposer des stablecoins sur plusieurs blockchains compatibles EVM.

Par exemple, si vous avez des portefeuilles principaux Ethereum, Binance Smart Chain, Polygon et Base crees, chaque adresse que vous generez via l'un de ces portefeuilles principaux peut etre utilisee pour recevoir des stablecoins sur n'importe laquelle des [blockchains et actifs pris en charge](/fr/essentials/integrations). Cela garantit que vous n'avez pas a vous soucier que votre client envoie des stablecoins sur la mauvaise blockchain.

De plus, lorsque des stablecoins sont deposes dans une adresse particuliere, les actifs sont automatiquement deplaces vers l'adresse du portefeuille principal de la chaine.

<Note>A part Tron et Solana, les adresses generees a partir d'un portefeuille peuvent etre utilisees pour deposer des stablecoins sur d'autres blockchains qui ont le parametre de blockchain `isEvmCompatible: true`.</Note>

## Explication des Parametres d'Adresse

Lors de la creation ou de la mise a jour d'une adresse, vous pouvez utiliser les parametres optionnels suivants pour personnaliser son comportement :

| Parametre               | Type                | Defaut  | Description                                                                                                                   |
| ----------------------- | ------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------- |
| `disableAutoSweep`      | Boolean (Optionnel) | `false` | Si defini sur `true`, le balayage automatique des fonds depuis cette adresse est desactive.                                   |
| `enableGaslessWithdraw` | Boolean (Optionnel) | `false` | Si defini sur `true`, permet les retraits sans que l'utilisateur ait a payer directement les frais de gas.                    |
| `metadata`              | Object (Optionnel)  | `null`  | Metadonnees personnalisees que vous pouvez attacher a l'adresse pour votre propre reference ou suivi.                         |
| `name`                  | String (Optionnel)  | `null`  | Un nom lisible pour l'adresse, utile pour l'identification dans votre tableau de bord ou logs.                                |
| `showPrivateKey`        | Boolean (Optionnel) | `false` | Si defini sur `true`, la cle privee de cette adresse sera retournee dans la reponse de l'API. **A utiliser avec precaution.** |

<Warning>
  Les parametres `disableAutoSweep`, `enableGaslessWithdraw` et `showPrivateKey` remplaceront les parametres correspondants dans la configuration du portefeuille principal pour cette adresse specifique. Cela permet un controle granulaire au niveau de l'adresse, independamment des parametres par defaut du portefeuille.
</Warning>

<Note>
  **Notes :**

  * Tous ces parametres sont optionnels ; vous n'avez besoin d'inclure que ceux pertinents pour votre cas d'utilisation.
  * L'activation de `showPrivateKey` peut exposer des informations sensibles. N'utilisez cela que dans des environnements securises et de confiance.
  * Soyez prudent avec `showPrivateKey` car l'exposition des cles privees peut compromettre la securite.
</Note>

## Creer une Adresse Dediee

Vous pouvez generer une adresse dediee pour votre client en utilisant soit le [tableau de bord Blockradar](https://dashboard.blockradar.co), soit l'API, selon votre flux de travail et vos besoins d'integration.

### 1. Utilisation du Tableau de Bord

Le tableau de bord Blockradar fournit une interface simple et conviviale pour generer de nouvelles adresses.

<img className="block" src="https://mintcdn.com/blockradar/fWg7SGpNBqmitg8P/images/generate-address1.png?fit=max&auto=format&n=fWg7SGpNBqmitg8P&q=85&s=1742fc74afb39319ca55b9204113ddf4" alt="Generate address" width="3456" height="1910" data-path="images/generate-address1.png" />

<Note>
  Cette capture d'ecran demontre le processus de generation d'une nouvelle adresse via le tableau de bord Blockradar. Cette methode est ideale pour la creation manuelle d'adresses ou pour les equipes qui preferent une interface graphique.
</Note>

### 2. Utilisation de l'API

Pour la generation d'adresses programmatique ou automatisee, vous pouvez utiliser l'**API de Creation d'Adresse Dediee**.
Cela est utile pour integrer la creation d'adresses dans vos propres applications ou systemes backend.

Pour creer une adresse dediee pour un client, envoyez une requete **`POST`** a notre [API de Creation d'Adresse Dediee](/fr/api-reference/addresses/generate-address).

<CodeGroup>
  ```bash address.cmd theme={null}
  curl --request POST \
    --url https://api.blockradar.co/v1/wallets/{walletId}/addresses \
    --header 'Content-Type: application/json' \
    --header 'x-api-key: <api-key>' \
    --data '{
    "disableAutoSweep": "OPTIONAL_BOOLEAN",
    "enableGaslessWithdraw": "OPTIONAL_BOOLEAN",
    "metadata": "OPTIONAL_METADATA",
    "name": "OPTIONAL_ADDRESS_NAME",
    "showPrivateKey": "OPTIONAL_BOOLEAN"
  }'
  ```

  ```js address.js theme={null}
  const options = {
    method: 'POST',
    headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
    body: '{"metadata":"OPTIONAL_METADATA","name":"OPTIONAL_ADDRESS_NAME"}'
  };

  fetch('https://api.blockradar.co/v1/wallets/{walletId}/addresses', options)
    .then(response => response.json())
    .then(response => console.log(response))
    .catch(err => console.error(err));
  ```

  ```php address.php theme={null}
  <?php

  $curl = curl_init();

  curl_setopt_array($curl, [
    CURLOPT_URL => "https://api.blockradar.co/v1/wallets/{walletId}/addresses",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_POSTFIELDS => "{\n  \"metadata\": \"OPTIONAL_METADATA\",\n  \"name\": \"OPTIONAL_ADDRESS_NAME\"\n}",
    CURLOPT_HTTPHEADER => [
      "Content-Type: application/json",
      "x-api-key: <api-key>"
    ],
  ]);

  $response = curl_exec($curl);
  $err = curl_error($curl);

  curl_close($curl);

  if ($err) {
    echo "cURL Error #:" . $err;
  } else {
    echo $response;
  }
  ```
</CodeGroup>

### Reponse

```json theme={null}
{
  "data": {
    "address": "0xe1037B45b48390285e5067424053fa35c478296b",
    "blockchain": {
      "createdAt": "2024-05-14T11:53:33.095Z",
      "derivationPath": "m/44'/60'/0'/0",
      "id": "85ffc132-3972-4c9e-99a5-5cf0ccb688bf",
      "isActive": true,
      "isEvmCompatible": true,
      "logoUrl": "https://res.cloudinary.com/blockradar/image/upload/v1716800081/crypto-assets/ethereum-eth-logo_idraq2.png",
      "name": "ethereum",
      "slug": "ethereum",
      "symbol": "eth",
      "tokenStandard": "ERC20",
      "updatedAt": "2024-06-14T22:32:11.983Z"
    },
    "configurations": {
      "aml": {
        "message": "Address is not sanctioned",
        "provider": "ofac",
        "status": "success"
      },
      "disableAutoSweep": false,
      "enableGaslessWithdraw": false,
      "showPrivateKey": false
    },
    "createdAt": "2024-10-23T11:13:40.446Z",
    "derivationPath": "m/44'/60'/0'/0/87",
    "id": "0a69c48a-6c6f-422c-bd6a-70de3306a3ac",
    "isActive": true,
    "metadata": {
      "user_id": 1
    },
    "name": "Customer 1",
    "network": "testnet",
    "type": "INTERNAL",
    "updatedAt": "2024-10-23T11:13:40.446Z"
  },
  "message": "Address generated successfully",
  "statusCode": 200
}
```

## Liste Blanche d'Adresses

Cette fonctionnalite vous permet d'ajouter une adresse externe a la liste blanche pour etre surveillee en fonction des exigences du portefeuille.

Vous avez deja des portefeuilles emis par un autre fournisseur ? Vous pouvez toujours les connecter a Blockradar et surveiller les depots sans modifier votre configuration existante.

### **Parametres du Corps**

| Cle                     | Requis | Type    | Description                                                                                          |
| ----------------------- | ------ | ------- | ---------------------------------------------------------------------------------------------------- |
| `name`                  | false  | string  | Le nom de l'adresse.                                                                                 |
| `address`               | true   | string  | L'adresse du portefeuille.                                                                           |
| `metadata`              | false  | object  | Metadonnees supplementaires pour l'adresse. Cela fera partie de toute transaction liee a celle-ci.   |
| `showPrivateKey`        | false  | boolean | Si vous voulez que la cle privee de l'adresse fasse partie de la reponse.                            |
| `disableAutoSweep`      | false  | boolean | Desactiver le balayage automatique des actifs envoyes a l'adresse vers votre portefeuille principal. |
| `enableGaslessWithdraw` | false  | boolean | Activer les transactions sans gas depuis cette adresse.                                              |
| `privateKey`            | false  | string  | La cle privee associee a l'adresse. Requise pour executer des actions de maniere securisee.          |

<CodeGroup>
  ```bash address.cmd theme={null}
  curl --request POST \
    --url https://api.blockradar.co/v1/wallets/{walletId}/addresses/whitelist \
    --header 'Content-Type: application/json' \
    --header 'x-api-key: <api-key>' \
    --data '{
    "address": "0x742d35Cc6634C0532925a3b8D4C9db96C4b4d8b6",
    "name": "Whitelisted Address",
    "metadata": {"purpose": "external_monitoring", "source": "manual"},
    "showPrivateKey": false,
    "disableAutoSweep": false,
    "enableGaslessWithdraw": true,
    "privateKey": "0x1234567890abcdef..."
  }'
  ```

  ```js address.js theme={null}
  const options = {
    method: 'POST',
    headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
    body: '{"address":"ADDRESS_TO_WHITELIST","metadata":"OPTIONAL_METADATA","name":"OPTIONAL_ADDRESS_NAME"}'
  };

  fetch('https://api.blockradar.co/v1/wallets/{walletId}/addresses/whitelist', options)
    .then(response => response.json())
    .then(response => console.log(response))
    .catch(err => console.error(err));
  ```

  ```php address.php theme={null}
  <?php

  $curl = curl_init();

  curl_setopt_array($curl, [
    CURLOPT_URL => "https://api.blockradar.co/v1/wallets/{walletId}/addresses/whitelist",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_POSTFIELDS => "{\n  \"address\": \"ADDRESS_TO_WHITELIST\",\n  \"metadata\": \"OPTIONAL_METADATA\",\n  \"name\": \"OPTIONAL_ADDRESS_NAME\"\n}",
    CURLOPT_HTTPHEADER => [
      "Content-Type: application/json",
      "x-api-key": <api-key>
    ],
  ]);

  $response = curl_exec($curl);
  $err = curl_error($curl);

  curl_close($curl);

  if ($err) {
    echo "cURL Error #:" . $err;
  } else {
    echo $response;
  }
  ```
</CodeGroup>

### Reponse

```json theme={null}
{
  "data": {
    "address": "0x3375154fa32Cb434B044E73a2582C4D2E6518AE4",
    "blockchain": {
      "createdAt": "2024-05-27T08:31:14.966Z",
      "derivationPath": "m/44'/60'/0'/0",
      "id": "74733889-4ecd-403e-9840-94e87c043f24",
      "isActive": true,
      "isEvmCompatible": true,
      "logoUrl": "https://res.cloudinary.com/blockradar/image/upload/v1716800080/crypto-assets/Base_Network_Logo_vqyh7r.png",
      "name": "base",
      "slug": "base",
      "symbol": "eth",
      "tokenStandard": null,
      "updatedAt": "2024-10-27T07:52:16.115Z"
    },
    "configurations": {
      "aml": {
        "message": "Address is not sanctioned",
        "provider": "ofac",
        "status": "success"
      }
    },
    "createdAt": "2024-11-11T16:57:19.160Z",
    "derivationPath": null,
    "id": "b87901a2-45c1-4d2d-8ee7-205ef0c4ddf1",
    "isActive": true,
    "metadata": null,
    "name": "External address",
    "network": "testnet",
    "type": "EXTERNAL",
    "updatedAt": "2024-11-11T16:57:19.160Z"
  },
  "message": "Address whitelisted successfully",
  "statusCode": 200
}
```

## Tests

<Note>Les adresses generees via un portefeuille principal testnet ne peuvent recevoir des actifs que sur le testnet.</Note>

Voici une liste d'endroits ou vous pouvez obtenir des actifs testnet pour tester :

* **Ethereum** - Obtenez des USDC de test ici : [Circle](https://faucet.circle.com/)
* **Binance Smart Chain** - Obtenez des USDT de test ici : [Binance](https://www.bnbchain.org/en/testnet-faucet)
* **Polygon** - Obtenez des USDC de test ici : [Circle](https://faucet.circle.com/)
* **Base** - Obtenez des USDC de test ici : [Circle](https://faucet.circle.com/)
* **Tron** - Obtenez des USDT de test ici : [Nileex](https://nileex.io/join/getJoinPage)
* **Solana** - Obtenez des USDC de test ici : [Circle](https://faucet.circle.com)
* **Optimism** - Obtenez des USDC de test ici : [Circle](https://faucet.circle.com)
* **Arbitrum** - Obtenez des USDC de test ici : [Circle](https://faucet.circle.com)
* **Celo** - Obtenez des USDC de test ici : [Circle](https://faucet.circle.com)

<br />

<br />

Happy hacking! 💚
