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

# External Wallet Screening

Every external wallet must now pass compliance screening before it can receive funds. New wallets are screened from launch, and existing wallets must be re-submitted before **Wednesday, November 11, 2026**, or they will stop working.

<Warning>
  Re-submit every existing external wallet you still use before **Wednesday, November 11, 2026**. Any wallet that hasn't cleared screening by then is deactivated.
</Warning>

## Key dates

| When | What happens |
| :- | :- |
| From launch | New wallets are screened and stay inactive until `CLEARED`. Flagged wallets are blocked immediately. Existing wallets keep working. |
| Until Wednesday, November 11, 2026 | Re-submit every existing wallet you still use. |
| From Wednesday, November 11, 2026 | Any wallet that hasn't cleared is deactivated. |

## What this means for you

### New wallets

* A wallet created with `POST /v3/external-wallets` starts inactive (`active: false`, `screeningStatus: UNDER_REVIEW`).
* It turns on only when it is `CLEARED`. Wait for `CLEARED` before using it as a transfer destination or as `destination.externalWalletId` on a virtual account.
* Any transfer to a wallet that isn't active is rejected.

### Existing wallets

* They keep working as usual until Wednesday, November 11, 2026.
* Re-submit each one you still use before then (see below). It stays active while under review.
* From Wednesday, November 11, 2026, any wallet that isn't `CLEARED` is deactivated. To use it again, register it with a new `referenceId` and wait for it to clear.

### Flagged wallets

* A `FLAGGED` wallet is deactivated immediately, at any time, including existing wallets before November 11.
* It is blocked from all transactions and can't be linked to a virtual account.

## Re-submit an existing wallet

Send the original registration request again, unchanged. The wallet keeps its `id` and keeps working while it is screened.

<Steps>
  <Step title="Call the create endpoint again">
    Call `POST /v3/external-wallets`.
  </Step>

  <Step title="Send the original values">
    Send the **same** `counterPartyId`, `referenceId`, `address`, `chain` and `nickname` as the original registration. If you didn't send a `nickname` originally, leave it out.
  </Step>

  <Step title="Confirm the wallet is under review">
    The response returns the **same wallet** `id` with `screeningStatus: UNDER_REVIEW` and `active: true`.
  </Step>

  <Step title="Wait for the webhook">
    Wait for the `EXTERNAL_WALLET.UPDATED` webhook. `CLEARED` means you're done; `FLAGGED` means the wallet is now deactivated.
  </Step>
</Steps>

**Request**

```shell theme={null}
curl -X POST https://sandbox.hifi.com/v3/external-wallets \
  -H "Idempotency-Key: <unique-key>" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "counterPartyId": "<original counterPartyId>",
    "referenceId": "<original referenceId>",
    "address": "<original address>",
    "chain": "<original chain>",
    "nickname": "<original nickname, if any>"
  }'
```

<Info>
  Changing the address, chain or nickname returns a `409` conflict on `referenceId`. Deleted wallets can't be re-submitted; register them again with a new `referenceId`.
</Info>

## Screening status and webhooks

The external wallet object now includes `screeningStatus` next to `active`. Use `active` to decide whether a wallet can be used.

| `screeningStatus` | Meaning | `active` |
| :- | :- | :- |
| `UNDER_REVIEW` | Screening in progress, or held for manual review by our compliance team | `false` for new wallets; `true` for re-submitted existing wallets until November 11 |
| `CLEARED` | Passed screening | `true` |
| `FLAGGED` | Failed screening; blocked from all transactions | `false` |
| `NOT_SCREENED` | The chain isn't supported for screening yet | `true` |
| `null` | Registered before this change and not yet re-submitted | `true` until Wednesday, November 11, 2026 |

When a wallet's status changes, we send an `EXTERNAL_WALLET.UPDATED` webhook with the updated external wallet object.

<Note>
  No webhook is sent when wallets are deactivated on November 11. Check `active` on your wallets after that date.
</Note>

## Virtual accounts

A virtual account with `destination.externalWalletId` follows that wallet's status. If the wallet is blocked, deposits are not delivered.

* You can only set `destination.externalWalletId` to an **active** wallet. For a new wallet, wait for `CLEARED`.
* If the linked wallet is later flagged, deactivated on November 11, or deleted, new deposits **fail** instead of being delivered.
* A failed deposit's onramp ends as `FIAT_FAILED` with error `EXTERNAL_WALLET_INACTIVE` ("External wallet is not active"), and you'll get the usual onramp status webhook. No crypto is sent.
* To keep receiving deposits, update the virtual account to point to a wallet that has cleared.
* Virtual accounts with `destination.walletId` (a [HIFI Wallet](/v3/core/wallets/hifi-wallet)) are not affected.

## Testing and common errors

You can test the full flow in sandbox now. The wallet `nickname` picks the result:

| `nickname` | Result |
| :- | :- |
| `FLAGGED` | `FLAGGED`, wallet stays inactive |
| Anything else, or none | `CLEARED`, wallet turns on |

| Response | What it means | What to do |
| :- | :- | :- |
| `503` "Unable to register the external wallet right now. Please try again later." | Screening couldn't be started; no wallet was created | Retry the same request |
| `409` conflict on `referenceId` | That `referenceId` is already used with a different address, chain or nickname | Use a new `referenceId`, or re-send the original values |
| Transfer rejected: wallet not active | The wallet is under review, flagged, or deactivated | Check `screeningStatus`; wait for `CLEARED` or register a new wallet |

## Getting Help

* 📧 **Email:** [support@hifi.com](mailto:support@hifi.com)
* 💬 **Slack:** Message us in our shared Slack channel

## Related Resources

* [External Wallet](/v3/core/wallets/external-wallet) - Register and manage external wallets
* [Wallets Overview](/v3/core/wallets/overview) - Wallets resources
* [Webhooks](/v3/core/webhooks/webhooks) - Receive wallet status updates


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