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

# Customer Reference ID

> Attach your own customer or account identifier to vault accounts, wallets, and transactions, so your AML/KYT provider can identify the owner of funds in its own system.

Customer Reference ID (`customerRefId`) is an optional identifier you attach through the API. Fireblocks forwards it to your connected AML/KYT provider, so you can match a transaction, wallet, or account to your own customer or internal record inside the provider's system.

It is a reference field only. It is not a Trigger (Screening Policy) condition and does not affect any Outcome (Post-Screening Policy). It is not shared with the counterparty or receiving institution: only your own AML/KYT provider sees it. It is available through the API only, not the Console.

## Choose a value

Fireblocks does not store client PII. Use an anonymized token, such as a UUID, that you map to the customer in your own systems.

The value must match `^[-_:a-zA-Z0-9]*$`: letters, digits, hyphens, underscores, and colons only. There is no documented length limit.

## Where to set it

| Level | When | Endpoint |
| - | - | - |
| Vault account | When you create it | `customerRefId` in [`POST /vault/accounts`](/api-reference/vaults/create-a-new-vault-account) |
| Vault account | After it exists | [`POST /vault/accounts/{vaultAccountId}/set_customer_ref_id`](/api-reference/vaults/set-an-amlkyt-id-for-a-vault-account) |
| Deposit address | When you create it, or after | [`POST /vault/accounts/{vaultAccountId}/{assetId}/addresses/{addressId}/set_customer_ref_id`](/api-reference/vaults/assign-aml-customer-reference-id) |
| Internal wallet | After it exists | [Set customer reference ID for an internal wallet](/api-reference/internal-wallets/set-an-amlkyt-customer-reference-id-for-internal-wallet) |
| External wallet | After it exists | [`POST /external_wallets/{walletId}/set_customer_ref_id`](/api-reference/external-wallets/set-an-aml-customer-reference-id-for-an-external-wallet) |
| Transaction | When you create it, per destination | `customerRefId` on each destination in [`POST /transactions`](/api-reference/transactions/create-a-new-transaction) |

Setting it on a vault account or deposit address requires the Admin or Non-Signing Admin role.

## Which value applies

A transaction can inherit a value from several levels. For each transaction, Fireblocks uses the first value it finds, in this order:

1. The transaction's own destination value.
2. For incoming transactions, the deposit address's value.
3. The vault account's value.
4. An external or unmanaged wallet's value.
5. A workspace-wide default, if one is set.

If none of these is set, Fireblocks uses the literal value `DEFAULT`.

## Examples

Setting it on a vault account:

```json theme={"system"}
POST /v1/vault/accounts
{
  "name": "MyVaultAccount",
  "customerRefId": "customer-1234"
}
```

Setting it per destination on a transaction:

```json theme={"system"}
POST /v1/transactions
{
  "destinations": [
    {
      "amount": "0.5",
      "customerRefId": "customer-1234"
    }
  ]
}
```
