The AML questionnaire is required for external transfers and withdrawals. Some fields are conditional based on the presence or value of other fields.
Questionnaire type
Use the correct key for your operation:
Operation Key External transfer API transferAmlQuestionnaireWithdrawal API withdrawalAmlQuestionnaire
Field reference
Max character length for all fields: 256.
Field Description originatorTypeWho initiated the withdrawal: MY_ORGANIZATION or MY_CLIENT originatorNameName of the client withdrawing funds (required if originatorType: MY_CLIENT) originatorCountryISO 3166-1 alpha-2 country code of the originator (required if MY_CLIENT) originatorStreetAddressStreet address of the originator (required if MY_CLIENT) originatorPostalCodePostal code of the originator (required if MY_CLIENT) originatorCityCity of the originator (required if MY_CLIENT) originatorStateProvinceState/province of the originator (required if MY_CLIENT) destinationTypeWhere the funds will be held: FINANCIAL_INSTITUTION or SELFHOSTED_WALLET institutionNameName of the destination institution (required if FINANCIAL_INSTITUTION) institutionCountryCountry of the destination institution (required if FINANCIAL_INSTITUTION) selfhostedDescriptionDescription of the self-hosted wallet (required if SELFHOSTED_WALLET) recipientTypeWho receives the funds: DESTINATION_INSTITUTION, MY_ORGANIZATION, PERSON, or ENTITY recipientFirstNameRecipient first name (required if PERSON) recipientLastNameRecipient last name (required if PERSON) recipientFullNameRecipient full name (required if ENTITY) recipientCountryISO 3166-1 alpha-2 country code of the recipient (required if PERSON or ENTITY) recipientStreetAddressStreet address of recipient (required if recipientCity is sent) recipientCityCity of recipient (required if recipientStreetAddress is sent) recipientPostalCodePostal code of recipient (optional) recipientStateProvinceState/province of recipient (optional) purposePurpose of the withdrawal (see values below) useTrustedDestinationAmlSet true to use reduced AML for trusted destinations
How to fill the questionnaire
Step 1: Fill destinationType
Where is the destination wallet hosted?
FINANCIAL_INSTITUTION — The wallet owner does not hold the private key; a third party does (e.g., Coinbase, Kraken). Required fields: institutionName, institutionCountry. See the full VASP list .
SELFHOSTED_WALLET — The wallet owner holds the private key (e.g., MetaMask, Trust Wallet, Ledger, Trezor, Electrum, Exodus). Required field: selfhostedDescription.
Step 2: Fill recipientType
Who will receive the funds?
DESTINATION_INSTITUTION — The financial institution specified in institutionName.
MY_ORGANIZATION — The same organization initiating the withdrawal.
PERSON — Required: recipientFirstName, recipientLastName, recipientCountry. Optional: recipientStreetAddress, recipientPostalCode, recipientCity, recipientStateProvince.
ENTITY — Required: recipientFullName, recipientCountry. Required if recipientCity sent: recipientStreetAddress. Required if recipientStreetAddress sent: recipientCity. Optional: recipientPostalCode, recipientStateProvince.
Step 3: Fill originatorType
Who initiated this withdrawal?
MY_ORGANIZATION — Your API key initiated the withdrawal and assets are not being moved on behalf of an end client.
MY_CLIENT — Your API key is acting as a financial institution moving assets on a client’s behalf. The following fields are then required: originatorName, originatorCountry, originatorStreetAddress, originatorPostalCode, originatorCity, originatorStateProvince.
Step 4: Fill purpose
TRADING_SETTLEMENT | LENDING | INVESTMENT | EXPENSES | FEE_PAYMENT | GRANT_PAYMENT | PRIZE_AWARD | GIFT | REIMBURSEMENT | REBALANCE | INTRA_COMPANY
Examples
Transfer AML (to trusted destination)
Withdrawal AML
Withdrawal AML (trusted destination)
// example data — not for client use
{
"source" : {
"id" : "{WALLET ID}" ,
"type" : "WALLET"
},
"destination" : {
"id" : "{ADDRESS}" ,
"type" : "ADDRESS"
},
"assetType" : "ETHHOODI" ,
"amount" : "1500" ,
"transferMemo" : "Test Memo" ,
"idempotentId" : "006a3d80a4854e64a218cef6005b12315" ,
"transferAmlQuestionnaire" : {
"purpose" : "INVESTMENT" ,
"originatorType" : "MY_ORGANIZATION"
}
}
Institution / country mapping
These are recommended mappings. Verify current values independently, as they may change.
Institution Country Altonomy SG Amber Group SG Anchorage Digital Bank US B2C2 UK Binance HK Binance.US US BitGo US BitKub TH Bittrex US Bitwage US Circle US Coinbase US CoinList US Copper GB Cross Tower US Cross Tower Bermuda BM Cumberland US Deribit PA DV Chain US FalconX US Fidelity US Fireblocks US Floating Point Group US Flow Traders NL FXCH IE Galaxy Digital US Gemini US Genesis US GSR HK Hex Trust HK Huobi SC Jane Street US Kraken US NYDIG US OKX SC OSL HK PrimeTrust US Tokenomy SG Wintermute UK Zap Solutions, Inc. US
Changelog
Date Change Details 2026-01-20 Copper country code updated institutionCountry → GB2024-04-04 Self-hosted wallet destination type UNHOSTED_WALLET renamed → SELFHOSTED_WALLET2024-04-04 Self-hosted wallet description field unhostedDescription renamed → selfhostedDescription2024-04-04 recipientStreetAddress requirementNow required if recipientCity is sent 2024-04-04 recipientCity requirementNow required if recipientStreetAddress is sent