1. Wallet as a Service(WaaS)
Bitycle Business
English
  • English
  • Turkish
  • Getting started
  • Bitycle Widget
    • introduction
    • demo
    • widgets
      • Advance Chart
      • Full Chart
      • Overview Chart
      • Fear & Greed
      • Technical Analysis
      • Mini Chart
      • Trends
      • Compare
      • Treemap
      • Ticker
      • Digest(AI)
      • News
      • Info
  • Bitycle Lab
    • Introduction
    • Wallet as a Service(WaaS)
      • Introduction
      • Tokens List
        GET
      • Get Balance
        GET
      • Request Ramzlink
        POST
      • Get Ramzlink Status
        GET
      • Request Wallet (VIP)
        POST
      • Callback New Payment
        POST
      • Inquiry payment with trxRefId
        POST
      • Request Withdrawal (VIP)
        POST
      • Get single Withdrawal
        GET
      • Get Deposits
        GET
      • Get Withdrawals
        GET
      • Buy TRON Energy & Bandwidth
        POST
      • Inquiry payment without trxRefId
        POST
    • Blockchain Indexer
      • introduction
      • Blockchain List
      • Contract Info
      • Get Balances
    • Security&Privacy
      • introduction
      • Check Blocked Wallets
      • Add to watch list
      • Get watch list
      • Delete from watch list
      • Get address label
      • Get address information
    • Node as a Service(NaaS)
      • introduction
    • Tokenization
      • introduction
    • Decentralized Storage(IPFS)
      • introduction
    • Hyperledger Services
      • introduction
  • Bitycle Cap
    • introduction
    • Coins
      • introduction
      • Coin List
      • Coin Info
      • Coin Price
      • coin exchange listings
    • Markets
      • introduction
      • Market Price
      • Markets Price
      • Markets List
      • Markets frame info
      • market sparklines
    • exchanges
      • introduction
      • CEX Aggregator(Buy&Sell)
        • introduction
        • get tradable markets
        • get tradable markets price
        • send otc order
        • get orders
        • get balances
      • Exchanges List
      • Exchange Info
      • Exchange Coins Listing
      • Exchange Markets Listing
  • Schemas
    • wallet
  1. Wallet as a Service(WaaS)

Request Withdrawal (VIP)

POST
/v1/webservice/withdraw
To use the Bitycle Pay withdrawal service, first obtain your apiKey and secretKey from the Bitycle Pay support team.
Each withdrawal request must include a unique withdrawUniqueId. This ID is used to prevent duplicate withdrawals and protect your users' funds.
For example, your application may successfully submit a withdrawal request, but due to a network error or timeout, it may not receive the response. If your application retries the request, it must use the same withdrawUniqueId. Bitycle Pay will recognize that the request has already been submitted and prevent it from being processed twice.
Therefore, generate a unique ID for every new withdrawal and reuse the same ID whenever retrying that specific withdrawal.
Bitycle Pay also uses HMAC-SHA256 authentication to securely verify every withdrawal request.

Sample node.js code:#

import axios from 'axios';
import crypto from "crypto"

const apiKey = 'b20c...b54a';
const secreteKey = 'c81a8...344ed';

const timestamp = Date.now();
const merchantCode = 'e3aa...ba9a';
const amount = '1200'
const token = 'USDT';
const walletAddress = '0xFB0F...2cAc';
const chain='BSC';
const withdrawUniqueId='4789290084';

const signature = crypto.createHmac("sha256",secreteKey).update(`${apiKey}${merchantCode}${timestamp}${withdrawUniqueId}${amount}${chain}${token}${walletAddress}`).digest("hex");

const response = await axios.post('https://chainhub.bitycle.com/v1/webservice/withdraw',{
    amount: amount,
    token: token,
    walletAddress: walletAddress,
    chain:chain,
    withdrawUniqueId:withdrawUniqueId,
    description:"Widthraw 1200 USDT for user 56739"
},{
    headers:{
        'x-api-key': apiKey,
        'x-timestamp': timestamp,
        'x-signature': signature
    }
});

console.log("response: ",response);

Sample python code#

import requests
import hmac
import hashlib
import time

# API credentials
api_key = 'b20c...0fb54a'
secret_key = 'c81a...44ed'

# Request parameters
timestamp = str(int(time.time() * 1000))  # Convert current time to milliseconds
merchant_code = 'e3aa...14dba9a'
amount = '1200'
token = 'USDT'
wallet_address = '0xFB0...22cAc'
chain='BSC'
withdrawUniqueId='4789290084'

# Creating the signature
message = f"{api_key}{merchant_code}{timestamp}{withdrawUniqueId}{amount}{chain}{token}{wallet_address}"
signature = hmac.new(secret_key.encode(), message.encode(), hashlib.sha256).hexdigest()

# Sending the POST request
response = requests.post('https://chainhub.bitycle.com/v1/webservice/withdraw', json={
    'amount': amount,
    'token': token,
    'walletAddress': wallet_address,
    'chain': chain,
    'withdrawUniqueId':withdrawUniqueId
    'description': "Widthraw 1200 USDT for user 56739",
}, headers={
    'x-api-key': api_key,
    'x-timestamp': timestamp,
    'x-signature': signature
})

print("Response: ", response.json())

Request

Header Params

Body Params application/jsonRequired

Examples

Responses

🟢200Success
application/json
Bodyapplication/json

Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://chainhub.bitycle.com/v1/webservice/withdraw' \
--header 'x-api-key: apiKey' \
--header 'x-timestamp: timestamp' \
--header 'x-signature: signature' \
--header 'Content-Type: application/json' \
--data '{
    amount: "1200",
    token: "USDT",
    walletAddress: "0x0ad32...45a6",
    chain: "BSC",
    withdrawUniqueId: "4789290084",
    description: "Widthraw 1200 USDT for user 56739"
}'
Response Response Example
{
    message: "Withdraw request registered successfully",
    data: { 
        withdrawId: 293670
    }
}
Modified at 2026-07-22 07:32:00
Previous
Inquiry payment with trxRefId
Next
Get single Withdrawal
Built with