PROCESSING and theDEPOSIT_WHITELIST_* webhook at all — neitherDEPOSIT_WHITELIST_REQUIRED nor DEPOSIT_WHITELIST_CREDITED. You are notified by the ordinaryDEPOSIT_ORDER_NOTIFICATION when the deposit completes.PROCESSING until that sweep finishes, and becomes SUCCESSSUCCESS as soon as the review passes.Idempotency-Key header on writes. AllSUCCESS is not the signal that funds are spendable.PROCESSING with the money already available (auto-collection still running), and itPROCESSING with the money locked (review not finished). To know whether funds are usable, readcreditStatus from GET /v1/wallet/transactions/{transactionId}, or read the available balance fromGET /v1/wallet/asset-balance.Order status | whiteListStatus | creditStatus | Money spendable? |
|---|---|---|---|
PROCESSING | init | PENDING | No — submit payer details |
PROCESSING | pending | PENDING | No — under review |
PROCESSING | rejected | PENDING | No — resubmit |
PROCESSING | approved | CREDITED | Yes — sweep still running |
SUCCESS | approved | CREDITED | Yes |
GET /v1/wallet/deposit-whitelist/options — fetch the VASP / provider list. That is the endpoint'sPOST /v1/wallet/deposit-whitelist/addresses — submit the address and the payer details. Send theSG). There is no country enum to look up.GET /v1/wallet/deposit-whitelist/addresses/{id} — check the outcome:PROCESSING — under reviewACTIVE — approvedFAILED — rejected. Call POST /v1/wallet/deposit-whitelist/addresses/{id}/disable, then register aGET /v1/wallet/deposit-address):PROCESSING and the funds are in the unavailable balance of theDEPOSIT_WHITELIST_REQUIRED. Supply the payerGET /v1/wallet/history?whiteListStatus=init (or rejected) for the workACTIVE — the deposit does not enter the whitelist flow. NoDEPOSIT_WHITELIST_* webhook is sent, and the deposit credits as an ordinary one. Wait forDEPOSIT_ORDER_NOTIFICATION, or poll GET /v1/wallet/transactions/{transactionId}.DEPOSIT_WHITELIST_CREDITED tells you theGET /v1/wallet/asset-balance has increased. WithPROCESSING while the funds are swept to the mainSUCCESS and you receive DEPOSIT_ORDER_NOTIFICATION, whose payload now carries whiteListStatus. YouGET /v1/wallet/history or GET /v1/wallet/transactions/{transactionId}.PROCESSING and the funds are in the unavailable balance of theDEPOSIT_WHITELIST_REQUIRED; you can also readGET /v1/wallet/history?whiteListStatus=init for the deposits awaiting details.GET /v1/wallet/deposit-whitelist/options for the provider list.POST /v1/wallet/deposit-whitelist/transactions/{transactionId}/submit — submit the payer details. DoGET /v1/wallet/transactions/{transactionId} — track progress, including whiteListStatus.DEPOSIT_WHITELIST_CREDITED and the available balance of the receivingPROCESSING.DEPOSIT_WHITELIST_FAILED with whiteListStatus rejected. The order staysPROCESSING and the funds stay in the unavailable balance. Fix what failMessage reports and submitSUCCESS and you receiveDEPOSIT_ORDER_NOTIFICATION.DEPOSIT_WHITELIST_* webhook whatsoever — not REQUIRED, not CREDITED. The only notification isDEPOSIT_ORDER_NOTIFICATION when the order closes. Do not gate booking a repeat deposit on a whitelistcorrespondentType | Mandatory | Must NOT be sent |
|---|---|---|
ENTITY | fullName, countryCode, companyAddress | firstName, lastName, birthday, residentialAddress |
INDIVIDUAL | firstName, lastName, birthday (yyyy-MM-dd), countryCode, residentialAddress | fullName |
walletType | Also mandatory |
|---|---|
VASP | provider — must be a name from GET /v1/wallet/deposit-whitelist/options |
OTHERS | othersPleaseSpecify, max 255 characters |
SELF_HOSTED | — |
walletLabel max 50 characters; symbol may be empty when addressType is UNIVERSAL;memo only where the network uses one.countryCode is an ISO 3166-1 alpha-2 code such as SG. The platform converts it to whatever countrycountryInfo was withdrawn — do not send it. An unrecognised codeprovider returns 10000103.statusGET /v1/wallet/history, GET /v1/wallet/transactions/{transactionId} and the deposit webhooks.| Value | Meaning |
|---|---|
PROCESSING | Deposit in progress — awaiting whitelist, under review, or credited but not yet swept |
SUCCESS | Deposit fully complete, including auto-collection where enabled |
FAIL | Deposit failed |
creditStatus, orGET /v1/wallet/asset-balance.whiteListStatusDEPOSIT_ORDER_NOTIFICATION, DEPOSIT_WHITELIST_* and Collect Order Updated. Values are lowercase.| Value | Meaning |
|---|---|
init | Travel Rule details not submitted yet |
pending | Submitted, under review |
approved | Passed — the gate is cleared. The order may still be PROCESSING |
rejected | Rejected, resubmit required |
submitStatuswas withdrawn. UsewhiteListStatuseverywhere.
creditStatus| Value | Meaning |
|---|---|
PENDING | Not yet in the available balance of the receiving wallet |
CREDITED | In the available balance of the receiving wallet. The order may still be PROCESSING |
BLOCKED | Could not be credited — contact support |
status| Value | Meaning |
|---|---|
PROCESSING | Submitted, under review |
ACTIVE | Approved |
FAILED | Rejected |
eventId.| Event | Meaning | Order status | Notes |
|---|---|---|---|
WALLET_ADDRESS_UPDATED | Source address changed state | — | |
DEPOSIT_WHITELIST_REQUIRED | Payer details needed | PROCESSING | Sent only while the source address is not yet whitelisted |
DEPOSIT_WHITELIST_FAILED | Review rejected, resubmit; funds still unavailable | PROCESSING | Payload carries whiteListStatus rejected |
DEPOSIT_WHITELIST_CREDITED | Review passed for this deposit; funds now in the available balance of the receiving wallet | usually PROCESSING; can be SUCCESS without auto-collection | Only for deposits that went through the whitelist flow |
DEPOSIT_ORDER_NOTIFICATION | Deposit fully complete (existing event) | SUCCESS | New: carries whiteListStatus, normally approved |
Collect Order Updated | Collection / payment-link order updated (existing event) | as today | New: carries whiteListStatus |
ACTIVE emits none of the three DEPOSIT_WHITELIST_* events.DEPOSIT_ORDER_NOTIFICATION is the only notification you receive.DEPOSIT_WHITELIST_* events are delivered by a single entry — Deposit Whitelist Notification —eventType; the envelope and data shape are identical, and onlyfailMessage (on FAILED) and creditTime (on CREDITED) are conditional.DEPOSIT_WHITELIST_REQUIRED or DEPOSIT_WHITELIST_FAILED, work the queue withGET /v1/wallet/history?whiteListStatus=init|rejected and call the submit endpoint. NoDEPOSIT_ORDER_NOTIFICATION is emitted during on-chain confirmation.DEPOSIT_ORDER_NOTIFICATION is terminal — treat DEPOSIT_WHITELIST_CREDITED as "the money is200 and business status 200:{
"status": 200,
"code": null,
"msg": "OK",
"traceId": "…",
"data": {}
}status 500 with a code from the table at the bottom of this page.| Scenario | Method | Path |
|---|---|---|
| Provider list | GET | /v1/wallet/deposit-whitelist/options |
| Register source address | POST | /v1/wallet/deposit-whitelist/addresses |
| List source addresses | GET | /v1/wallet/deposit-whitelist/addresses |
| Source address detail | GET | /v1/wallet/deposit-whitelist/addresses/{id} |
| Disable source address | POST | /v1/wallet/deposit-whitelist/addresses/{id}/disable |
| Submit for a received deposit | POST | /v1/wallet/deposit-whitelist/transactions/{transactionId}/submit |
| Transaction detail | GET | /v1/wallet/transactions/{transactionId} |
| Method | Path | Purpose / change |
|---|---|---|
| GET | /v1/wallet/deposit-address | Deposit address |
| POST | /v1/wallet/create/sub | Create a sub-wallet |
| GET | /v1/wallet/asset-balance | Available / unavailable balance |
| GET | /v1/wallet/history | New: whiteListStatus filter and response field. Replaces the pending list |
| GET | /v1/wallet/transactions/{transactionId} | New: transaction detail carrying whiteListStatus. Replaces the case endpoint |
| GET | /v2/stable/collect/order-status | New: whiteListStatus in the response |
| Webhook | DEPOSIT_ORDER_NOTIFICATION | New: whiteListStatus |
| Webhook | Collect Order Updated | New: whiteListStatus |
POST /v1/wallet/add-withdraw-whitelist. This page is| Item | Replacement |
|---|---|
GET /v1/wallet/deposit-whitelist/pending-list | GET /v1/wallet/history with whiteListStatus |
GET /v1/wallet/deposit-whitelist/cases/{transactionId} | GET /v1/wallet/transactions/{transactionId} |
submitStatus | whiteListStatus, with lowercase init / pending / approved / rejected |
Country enum in /options | Send countryCode as an ISO 3166-1 alpha-2 code |
countryInfo in requests | Not needed — derived from countryCode server-side |
code is an 8-digit string from WalletErrorCode.code | Meaning | Safe to retry unchanged? |
|---|---|---|
10000100 | Transaction not found, or not owned by the caller | No — re-read GET /v1/wallet/history?whiteListStatus=init |
10000101 | Review already completed for this deposit | No — nothing left to do |
10000102 | Payer details incomplete | No — add the missing fields |
10000103 | Field value not accepted, including an invalid countryCode or unknown provider | No — use an ISO 3166-1 alpha-2 code and a provider from /options |
10000104 | Cannot submit right now | Yes, later — poll the status. Do not edit the details and retry immediately |
10000105 | Duplicate request | No — read the original result |
10000106 | Source address supplied or changed for a received deposit | No — drop walletAddress / network / memo / symbol / txHash |