GuidesRecipesAPI ReferenceChangelog
Guides

Add External Wallets

Register customer, counterparty, or bank-level external crypto wallets on the Cybrid platform.

Overview

Add customer or counterparty self-custody or hosted crypto external wallets to the Cybrid platform using the POST /api/external_wallets endpoint. Once registered, you can withdraw crypto assets to these wallets.

Types of external wallets

TypeDescription
Customer WalletsAttached to a specific customer; only usable by that customer.
Counterparty WalletsAttached to a specific counterparty of a customer or bank.
Partner (Bank-Level) WalletsAttached to a bank; usable by any customer of that bank.

Create external wallets

POST /api/external_wallets

  • Customer wallet — provide customer_guid to associate the wallet with a specific customer.
  • Counterparty wallet — provide counterparty_guid (the counterparty can belong to a bank or customer).
  • Partner wallet — omit both customer_guid and counterparty_guid. Useful for omnibus wallets receiving all withdrawals.
{
  "name": "<wallet name>",
  "customer_guid": "<customer guid>",
  "asset": "<asset>",
  "address": "<blockchain wallet address>",
  "tag": "<string>"
}
{
  "name": "<wallet name>",
  "counterparty_guid": "<counterparty guid>",
  "asset": "<asset>",
  "address": "<blockchain wallet address>",
  "tag": "<string>"
}
{
  "name": "<wallet name>",
  "asset": "<asset>",
  "address": "<blockchain wallet address>",
  "tag": "<string>"
}

Wallet screening

All wallets undergo screening to determine their risk level:

  • High risk — automatically rejected. The wallet state is failed with failure_code: "prohibited_address".
  • Medium risk — sent for manual review by the Compliance team. See review targets for timelines. After review, the wallet is accepted or rejected.
  • Low risk — automatically accepted.

Monitor wallet status via GET /api/external_wallets/{external_wallet_guid}:

{
  "guid": "<wallet guid>",
  "name": "<wallet name>",
  "asset": "<asset>",
  "environment": "<production/sandbox>",
  "bank_guid": "<bank guid>",
  "customer_guid": "<customer guid>",
  "counterparty_guid": null,
  "address": "<blockchain wallet address>",
  "tag": null,
  "created_at": "<datetime>",
  "updated_at": "<datetime>",
  "state": "failed",
  "failure_code": "prohibited_address"
}