Skip to main content

Withdraw

Withdraw assets from your Bybit account. You can make an off-chain transfer if the target wallet address is from Bybit. This means that no blockchain fee will be charged.

tip
  • Make sure you have whitelisted your wallet address here
  • Request by the master UID's api key only
formula

feeType=0:

  • withdrawPercentageFee != 0: handlingFee = inputAmount / (1 - withdrawPercentageFee) * withdrawPercentageFee + withdrawFee
  • withdrawPercentageFee = 0: handlingFee = withdrawFee

feeType=1:

  • withdrawPercentageFee != 0: handlingFee = withdrawFee + (inputAmount - withdrawFee) * withdrawPercentageFee
  • withdrawPercentageFee = 0: handlingFee = withdrawFee

HTTP Request

POST /v5/asset/withdraw/create

Request Parameters

ParameterRequiredTypeComments
cointruestringCoin, uppercase only
chainfalsestringChain
  • forceChain=0 or 1: this field is required
  • forceChain=2: this field can be null
addresstruestring
  • forceChain=0 or 1: fill wallet address, and make sure you add address in the address book first. Please note that the address is case sensitive, so use the exact same address added in address book
  • forceChain=2: fill Bybit UID, and it can only be another Bybit main account UID. Make sure you add UID in the address book first
tagfalsestringTag
  • Required if tag exists in the wallet address list.
  • Note: please do not set a tag/memo in the address book if the chain does not support tag
amounttruestringWithdraw amount
timestamptrueintegerCurrent timestamp (ms). Used for preventing from withdraw replay
forceChainfalseintegerWhether or not to force an on-chain withdrawal
  • 0(default): If the address is parsed out to be an internal address, then internal transfer
  • 1: Force the withdrawal to occur on-chain
  • 2: Use UID to withdraw
accountTypefalsestringSelect the wallet to be withdrawn from
  • SPOT:spot wallet (default)
  • FUND:Funding wallet
feeTypefalseintegerHandling fee option
  • 0(default): input amount is the actual amount received, so you have to calculate handling fee manually
  • 1: input amount is not the actual amount you received, the system will help to deduct the handling fee automatically
requestIdfalsestringCustomised ID, globally unique, it is used for idempotent verification
  • A combination of letters (case sensitive) and numbers, which can be pure letters or pure numbers and the length must be between 1 and 32 digits
  • beneficiaryfalseObjectTravel rule info, only required for kyc=KOR (korean) users
    > vaspEntityIdtruestringReceiver exchange entity Id. Please call this endpoint to get this ID
    > beneficiaryNamefalsestringReceiver exchange user KYC name, like John Wilson or Wilson John
  • Please refer to target exchange kyc name
  • When vaspEntityId="others", this field can be null
  • Response Parameters

    ParameterTypeComments
    idstringWithdrawal ID

    Request Example

    POST /v5/asset/withdraw/create HTTP/1.1
    Host: api-testnet.bybit.com
    X-BAPI-API-KEY: XXXXX
    X-BAPI-TIMESTAMP: 1672196570254
    X-BAPI-RECV-WINDOW: 5000
    X-BAPI-SIGN: XXXXX
    Content-Type: application/json

    {
    "coin": "USDT",
    "chain": "ETH",
    "address": "0x99ced129603abc771c0dabe935c326ff6c86645d",
    "amount": "24",
    "timestamp": 1672196561407,
    "forceChain": 0,
    "accountType": "FUND"
    }

    Response Example

    {
    "retCode": 0,
    "retMsg": "success",
    "result": {
    "id": "10195"
    },
    "retExtInfo": {},
    "time": 1672196571239
    }