Overview

A transaction refers to the transfer of digital currency from the source address to the destination address, primarily comprising two categories of transactions: transfer and receiving, also known as withdrawal and deposit.

Withdrawal Transactions

When you initiate the transfer of digital currency from Custody through the app or API, this transaction is referred to as a withdrawal. Withdrawal involves the process of transferring digital currency from your address to another target address. This may involve withdrawal operations initiated by you on the Custody platform, sending digital currency to an external address.

Deposit Transactions

When digital currency is transferred to your address from another address, this transaction is a deposit. Deposit involves the process of transferring digital currency from an external address to your Custody address. This may occur when external users or platforms deposit digital currency to your Custody address.

  • By clearly distinguishing between withdrawal and deposit, you can have a clearer understanding of the flow and transfer process of digital currency on the Custody platform, aiding in accurate recording and monitoring of your digital assets.

Withdrawal Status

1. KYT Verification In Progress (1010)

After initiating a withdrawal, if you have opened and configured withdrawal addresses and KYT (Know Your Transaction) for the currency, the withdrawal enters the “KYT Verification Pending” status. The MPC Workspace generates a KYT verification order to verify the KYT risk/service timeout of the withdrawal transaction. After manual confirmation, it enters the withdrawal approval stage.

2.KYT Verification Rejected (2101)

If a wallet member chooses to reject the transaction during KYT verification, the process terminates, and the transaction is in the KYT verification rejected status.

3.Withdrawal Approval Process (1000)

If withdrawal wallets and currencies are configured with approval policies, it enters the withdrawal approval process. After reaching the approval threshold set in the approval process, the withdrawal approval process ends, and it enters the signature process. If there is no approval configuration, it directly enters the unapproved state.

4.Transaction Approval Rejected (2100)

If the withdrawal wallet and cryptocurrency have approval policies configured, it will enter the withdrawal approval process. If the transaction does not meet the approval threshold set in the approval process, the approval is rejected, and the process ends.

5.Signing Process (1100)

All MPC wallets go through the signing process. In this process, the private key holder signs the transaction using local private key shards in conjunction with server private key shards. If the status is “Pending Signature” and the signature broadcast is rejected, it enters the “Rejected (2100)” state, ending the process, or if the signature is successful, it proceeds to the transaction broadcasting process.

6. Broadcast Transaction Process (1200)

After signing is completed, the wallet starts broadcasting the transaction, and the order status becomes “Payment in Progress.” It waits for the blockchain to process the transaction.

7. Payment Completed Status (2000)

When the transaction is successfully confirmed on the blockchain, the withdrawal is completed, and the status becomes “Payment Completed.” The withdrawal ends.

7. User Canceled Status (2200)

The initiator canceled the transaction order, terminating the process.

8. Transaction Failed Status (2400)

If the blockchain transaction fails, the status is “Transaction Failed,” and the funds for this withdrawal will not be consumed, but gas fees for broadcasting to the chain has been consumed and will not be refunded.

9. Transaction Lost (2300)

When a transaction is pending blockchain processing, certain actions can replace the transaction nonce, resulting in the original transaction order being discarded. While in pending status, re-signing to cancel the payment will result in the status “Transaction Lost,” ending this withdrawal.

Deposit Status

1. Unconfirmed Status (1000)

When other addresses transfer to your MPC wallet address, the initial status is “Unconfirmed”. After the transaction reaches the required number of confirmations, the status will change to “Confirmed”.

2. Pending KYT Verification Status (1010)

If the deposit address and coin have KYT (Know Your Transaction) enabled and configured, the deposit transaction will enter the “KYT Verification” status. The wallet generates a KYT verification order and submits it to the KYT service provider for verification. Manual processing may be required at this stage, at which point the status is “KYT Manual Processing”.

3. Pending KYT Manual Processing Status (1020)

If the KYT service provider returns a risk level that requires manual processing, the deposit status will be “KYT Manual Processing”. Once manual processing is completed, it moves to the next phase.

4. Pending Traceability / Ensuring Transaction Security (1800)

The transaction has been confirmed on the blockchain and KYT processing is complete. The system will retrace the transaction to ensure that the assets reach the required number of block confirmations for the deposit to be credited.

5. Pending Traceability Verification / Traceability Successful, Pending System Verification (1900)

The transaction has completed traceability, and the system is currently verifying the processed transaction. The Custody system recommends crediting users at this stage.

6. Transaction Completed (2000)

Once the transaction assets reach the blockchain confirmation number required for withdrawal, the transaction is completed, and the deposit process ends.

7. Failed/Abnormal Status (3000)

If the transaction order is abnormal, such as in special cases like a mainnet rollback, the transaction will end in a “Failed/Abnormal” final state.