Skip to main content
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.
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.

Key dates

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.
1

Call the create endpoint again

Call POST /v3/external-wallets.
2

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.
3

Confirm the wallet is under review

The response returns the same wallet id with screeningStatus: UNDER_REVIEW and active: true.
4

Wait for the webhook

Wait for the EXTERNAL_WALLET.UPDATED webhook. CLEARED means you’re done; FLAGGED means the wallet is now deactivated.
Request
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.

Screening status and webhooks

The external wallet object now includes screeningStatus next to active. Use active to decide whether a wallet can be used. When a wallet’s status changes, we send an EXTERNAL_WALLET.UPDATED webhook with the updated external wallet object.
No webhook is sent when wallets are deactivated on November 11. Check active on your wallets after that date.

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) are not affected.

Testing and common errors

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

Getting Help

  • 📧 Email: support@hifi.com
  • 💬 Slack: Message us in our shared Slack channel