Withdraw API

Updated on

GET Get Withdrawals By Withdraw ID

GET /api/v1/private/withdraw/getWithdrawById

Request Parameters

Name Location Type Required Description
accountId query string Yes Account ID
withdrawIdList query string Yes List of withdraw IDs to retrieve. Used to batch fetch withdraw records by their IDs

Response Example

200 Response

{
    "code": "SUCCESS",
    "data": [
        {
            "id": "563516408235819790",
            "userId": "543429922866069763",
            "accountId": "543429922991899150",
            "coinId": "1000",
            "amount": "10.000000",
            "ethAddress": "0x1fB51aa234287C3CA1F957eA9AD0E148Bb814b7A",
            "erc20Address": "0x...",
            "clientWithdrawId": "client_withdraw_123",
            "riskSignature": {
                "r": "0x...",
                "s": "0x...",
                "v": "0x..."
            },
            "l2Nonce": "123456789",
            "l2ExpireTime": "1734352781355",
            "l2Signature": {
                "r": "0x...",
                "s": "0x...",
                "v": "0x..."
            },
            "extraType": "",
            "extraDataJson": "",
            "status": "SUCCESS_L2_APPROVED",
            "collateralTransactionId": "563516408265179918",
            "censorTxId": "830852",
            "censorTime": "1734352781355",
            "censorFailCode": "",
            "censorFailReason": "",
            "l2TxId": "1022403",
            "l2RejectTime": "0",
            "l2RejectCode": "",
            "l2RejectReason": "",
            "l2ApprovedTime": "1734353551654",
            "createdTime": "1734352781355",
            "updatedTime": "1734353551715"
        }
    ],
    "msg": null,
    "errorParam": null,
    "requestTime": "1734664486740",
    "responseTime": "1734664486761",
    "traceId": "b3086f53c2d4503f6a4790b80f0e534b"
}
 

Response

Status Code Status Code Description Description Data Model
200 OK default response Result

GET Get Withdrawals By Client Withdraw ID

GET /api/v1/private/withdraw/getWithdrawByClientWithdrawId

Request Parameters

Name Location Type Required Description
accountId query string Yes Account ID
clientWithdrawIdList query string Yes List of client-defined withdraw IDs. Used to batch fetch withdraw records by client-specified IDs

Response Example

200 Response

{
    "code": "SUCCESS",
    "data": [
        {
            "id": "563516408235819790",
            "userId": "543429922866069763",
            "accountId": "543429922991899150",
            "coinId": "1000",
            "amount": "10.000000",
            "ethAddress": "0x1fB51aa234287C3CA1F957eA9AD0E148Bb814b7A",
            "erc20Address": "0x...",
            "clientWithdrawId": "client_withdraw_123",
            "riskSignature": {
                "r": "0x...",
                "s": "0x...",
                "v": "0x..."
            },
            "l2Nonce": "123456789",
            "l2ExpireTime": "1734352781355",
            "l2Signature": {
                "r": "0x...",
                "s": "0x...",
                "v": "0x..."
            },
            "extraType": "",
            "extraDataJson": "",
            "status": "SUCCESS_L2_APPROVED",
            "collateralTransactionId": "563516408265179918",
            "censorTxId": "830852",
            "censorTime": "1734352781355",
            "censorFailCode": "",
            "censorFailReason": "",
            "l2TxId": "1022403",
            "l2RejectTime": "0",
            "l2RejectCode": "",
            "l2RejectReason": "",
            "l2ApprovedTime": "1734353551654",
            "createdTime": "1734352781355",
            "updatedTime": "1734353551715"
        }
    ],
    "msg": null,
    "errorParam": null,
    "requestTime": "1734664486740",
    "responseTime": "1734664486761",
    "traceId": "b3086f53c2d4503f6a4790b80f0e534b"
}
 

Response

Status Code Status Code Description Description Data Model
200 OK default response Result

GET Get Active Withdrawals with Pagination

GET /api/v1/private/withdraw/getActiveWithdraw

Request Parameters

Name Location Type Required Description
accountId query string Yes Account ID
size query string No Number of items to retrieve. Must be greater than 0 and less than or equal to 100. Default: 100
offsetData query string No Pagination offset. If empty or not provided, the first page is retrieved
filterCoinIdList query string No Filter withdrawals by specified coin IDs. If not provided, all coin withdrawals are retrieved
filterStatusList query string No Filter withdrawals by specified statuses. If not provided, all status withdrawals are retrieved
filterStartCreatedTimeInclusive query string No Filter withdrawals created after or at the specified start time (inclusive). If not provided or 0, retrieves records from the earliest time
filterEndCreatedTimeExclusive query string No Filter withdrawals created before the specified end time (exclusive). If not provided or 0, retrieves records up to the latest time

Response Example

200 Response

{
    "code": "SUCCESS",
    "data": {
        "dataList": [
            {
                "id": "563516408235819790",
                "userId": "543429922866069763",
                "accountId": "543429922991899150",
                "coinId": "1000",
                "amount": "10.000000",
                "ethAddress": "0x1fB51aa234287C3CA1F957eA9AD0E148Bb814b7A",
                "erc20Address": "0x...",
                "clientWithdrawId": "client_withdraw_123",
                "riskSignature": {
                    "r": "0x...",
                    "s": "0x...",
                    "v": "0x..."
                },
                "l2Nonce": "123456789",
                "l2ExpireTime": "1734352781355",
                "l2Signature": {
                    "r": "0x...",
                    "s": "0x...",
                    "v": "0x..."
                },
                "extraType": "",
                "extraDataJson": "",
                "status": "SUCCESS_L2_APPROVED",
                "collateralTransactionId": "563516408265179918",
                "censorTxId": "830852",
                "censorTime": "1734352781355",
                "censorFailCode": "",
                "censorFailReason": "",
                "l2TxId": "1022403",
                "l2RejectTime": "0",
                "l2RejectCode": "",
                "l2RejectReason": "",
                "l2ApprovedTime": "1734353551654",
                "createdTime": "1734352781355",
                "updatedTime": "1734353551715"
            }
        ],
        "nextPageOffsetData": ""
    },
    "msg": null,
    "errorParam": null,
    "requestTime": "1734664486740",
    "responseTime": "1734664486761",
    "traceId": "b3086f53c2d4503f6a4790b80f0e534b"
}
 

Response

Status Code Status Code Description Description Data Model
200 OK default response Result

GET Get Withdraw Available Amount

GET /api/v1/private/withdraw/getWithdrawAvailableAmount

Request Parameters

Name Location Type Required Description
accountId query string Yes Account ID
coinId query string Yes Coin ID to check available withdrawal amount

Response Example

200 Response

{
    "code": "SUCCESS",
    "data": {
        "availableAmount": "100.000000"
    },
    "msg": null,
    "errorParam": null,
    "requestTime": "1734664486740",
    "responseTime": "1734664486761",
    "traceId": "b3086f53c2d4503f6a4790b80f0e534b"
}
 

Response

Status Code Status Code Description Description Data Model
200 OK default response Result

POST Create Withdraw

POST /api/v1/private/withdraw/createWithdraw

Request Parameters

Name Location Type Required Description
accountId body string Yes Account ID
coinId body string Yes Currency ID
amount body string Yes Withdraw amount (decimal format)
ethAddress body string Yes Ethereum address for the withdrawal
erc20Address body string Yes ERC20 token contract address
clientWithdrawId body string Yes Client-defined ID for idempotency verification
riskSignature body string Yes Risk control signature (128 characters fixed length)
l2Nonce body string Yes L2 signature nonce. First 32 bits of sha256(client_withdraw_id)
l2ExpireTime body string Yes L2 signature expiration time in milliseconds. For signature generation/verification, use hours: l2_expire_time / 3600000
l2Signature body string Yes L2 signature submitted (128 characters fixed length)
extraType body string Yes Additional type for upper-layer business use
extraDataJson body string No Extra data in JSON format, defaults to empty string

Request Body Schema

{
    "accountId": "543429922991899150",
    "coinId": "1000",
    "amount": "10.000000",
    "ethAddress": "0x1fB51aa234287C3CA1F957eA9AD0E148Bb814b7A",
    "erc20Address": "0x...",
    "clientWithdrawId": "client_withdraw_123",
    "riskSignature": "0x...",
    "l2Nonce": "123456789",
    "l2ExpireTime": "1734352781355",
    "l2Signature": "0x...",
    "extraType": "",
    "extraDataJson": ""
}
 

Response Example

200 Response

{
    "code": "SUCCESS",
    "data": {
        "withdrawId": "563516408235819790"
    },
    "msg": null,
    "errorParam": null,
    "requestTime": "1734664486740",
    "responseTime": "1734664486761",
    "traceId": "b3086f53c2d4503f6a4790b80f0e534b"
}
 

Response

Status Code Status Code Description Description Data Model
200 OK default response Result

Data Models

WithdrawList

Name Type Required Constraints Description Notes
code string false none Status Code Returns "SUCCESS" on success; otherwise, it indicates failure.
data WithdrawModel[] false none Withdraw List Array of withdraw records
errorParam object false none Error Parameters Error message parameter information
requestTime string(timestamp) false none Server Request Time Time at which the server received the request
responseTime string(timestamp) false none Server Response Time Time at which the server sent the response
traceId string false none Trace ID Invocation trace ID

PageDataWithdraw

Name Type Required Constraints Description Notes
dataList WithdrawModel[] false none Data List Array of withdraw records
nextPageOffsetData string false none Next Page Offset Offset for retrieving the next page. If no next page data, empty string.

WithdrawModel

Name Type Required Constraints Description Notes
id string(int64) false none Withdraw ID Unique identifier for the withdraw record
userId string(int64) false none User ID ID of the owning user
accountId string(int64) false none Account ID ID of the owning account
coinId string(int64) false none Coin ID ID of the collateral coin
amount string false none Withdraw Amount Amount of the withdrawal
ethAddress string false none Ethereum Address Ethereum address for the withdrawal
erc20Address string false none ERC20 Contract Address Contract address of the withdrawn token
clientWithdrawId string false none Client Withdraw ID Client-defined ID for idempotency verification
riskSignature L2SignatureModel false none Risk Signature Risk control signature
l2Nonce string(int64) false none L2 Nonce L2 signature nonce. First 32 bits of sha256(client_withdraw_id)
l2ExpireTime string(int64) false none L2 Expire Time L2 signature expiration time in milliseconds
l2Signature L2SignatureModel false none L2 Signature L2 signature submitted
extraType string false none Extra Type Additional type for upper-layer business use
extraDataJson string false none Extra Data JSON Extra data in JSON format
status string false none Withdraw Status Current status of the withdrawal
collateralTransactionId string(int64) false none Collateral Transaction ID Associated collateral transaction ID when status is SUCCESS_XXX/FAILED_L2_REJECT/FAILED_L2_REJECT_APPROVED
censorTxId string(int64) false none Censor Transaction ID Censorship processing sequence number when status is SUCCESS_XXX/FAILED_XXX
censorTime string(int64) false none Censor Time Censorship processing time when status is SUCCESS_XXX/FAILED_XXX
censorFailCode string false none Censor Fail Code Censorship failure code
censorFailReason string false none Censor Fail Reason Censorship failure reason
l2TxId string(int64) false none L2 Transaction ID Layer 2 transaction ID
l2RejectTime string(int64) false none L2 Reject Time Layer 2 rejection time
l2RejectCode string false none L2 Reject Code Layer 2 rejection code
l2RejectReason string false none L2 Reject Reason Layer 2 rejection reason
l2ApprovedTime string(int64) false none L2 Approved Time Layer 2 approval time
createdTime string(int64) false none Created Time Record creation time
updatedTime string(int64) false none Updated Time Record last update time

L2SignatureModel

Name Type Required Constraints Description Notes
r string false none Signature R Component Bigint represented as hex string
s string false none Signature S Component Bigint represented as hex string
v string false none Signature V Component Bigint represented as hex string

GetWithdrawAvailableAmount

Name Type Required Constraints Description Notes
code string false none Status Code Returns "SUCCESS" on success; otherwise, it indicates failure.
data GetWithdrawAvailableAmountModel false none Available Amount Response Response data for available withdrawal amount
errorParam object false none Error Parameters Error message parameter information
requestTime string(timestamp) false none Server Request Time Time at which the server received the request
responseTime string(timestamp) false none Server Response Time Time at which the server sent the response
traceId string false none Trace ID Invocation trace ID

GetWithdrawAvailableAmountModel

Name Type Required Constraints Description Notes
availableAmount string false none Available Amount Available amount for withdrawal (decimal format)

CreateWithdraw

Name Type Required Constraints Description Notes
code string false none Status Code Returns "SUCCESS" on success; otherwise, it indicates failure.
data CreateWithdrawModel false none Create Withdraw Response Response data for withdraw creation
errorParam object false none Error Parameters Error message parameter information
requestTime string(timestamp) false none Server Request Time Time at which the server received the request
responseTime string(timestamp) false none Server Response Time Time at which the server sent the response
traceId string false none Trace ID Invocation trace ID

CreateWithdrawModel

Name Type Required Constraints Description Notes
withdrawId string(int64) false none Withdraw ID ID of the created withdraw record

Was this article helpful?

0 out of 2 found this helpful