Refunding a High-Risk Crypto Deposit
Refunding a High-Risk Crypto Deposit#
When an incoming crypto deposit is screened by KYT and the result is not a pass (kytResult = 2 or 3), the funds are not credited to your account. To return the funds, you initiate a refund and tell us which wallet address to send them back to.Step 1 - Detect the high-risk deposit#
The KYT outcome is available both on the deposit record and in the deposit webhook:Get Crypto Deposit -> data.kytInfo.kytResult
Crypto Deposit Webhook -> the same kytInfo block is included in the pushed payload
A kytResult of 2 or 3 means the deposit was not credited and should be refunded.Step 2 - Create the refund#
POST /v1.0/payment/crypto/createCryptoRefund| Field | Required | Value |
|---|
originalTransactionType | Yes | 3 (Deposit) |
originalTransactionId | Yes | The cryptoDepositId of the high-risk deposit |
clientReference | No | Your own reference (max 100 characters) |
The response returns the refund, including the cryptoRefundId used in the next step. The initial status is INITIALIZED.Step 3 - Confirm the refund address#
POST /v1.0/payment/crypto/confirmCryptoRefund| Field | Required | Value |
|---|
cryptoRefundId | Yes | From Step 2 |
refundAddress | Yes | Destination wallet address. Must not be the deposit's originating (from) address. |
After you confirm, MetaComp processes the refund and sends the funds on-chain.Step 4 - Track the outcome#
Poll GET /v1.0/payment/crypto/getCryptoRefund?refundId={cryptoRefundId}, or
Listen for the Crypto Refund Webhook.
Status moves INITIALIZED -> PROCESSING -> COMPLETED; txnHash is populated once COMPLETED. If the address you provide is itself flagged as high-risk, the refund is held in status HIGH RISK REFUND WALLET instead of being sent.Applies to: PSP and Direct Client.
Modified at 2026-08-14 01:52:42