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.

danger
  • For UTA users, please note that Bybit will merge SPOT account into UNIFIED account (est.end of Feb), so please adjust your withdrawal logic by transferring funds to FUND account first, then call withdraw API.
  • How do I know if my account is a UTA account? Call this endpoint, and if uta=1, then it is a UTA account.
caution
  • Make sure you have whitelisted your wallet address here
  • Can query 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 /asset/v3/private/withdraw/create

Request Parameters

ParameterRequiredTypeComments
cointruestringcoin name
chaintruestringchain name
addresstruestringWithdraw address. Please note that the address is case sensitive, so use the exact same address added in address book
tagfalsestringNeed to fill in if there is a memo/tag when adding the wallet address. Note: please do not set a tag/memo in the address book if the chain does not support tag
amounttruestringwithdraw amounts. The minimum withdrawal amount can be obtained from the Coin Info Query API
timestamptrueintegerCurrent timestamp
forceChainfalseintegerForce to withdraw on chain or not.
  • 0(default):If parsed as internal address, then internal transfer
  • 1:Force withdraw on chain
accountTypefalsestringSelect the wallet to be withdrawn from
  • SPOT(default):spot wallet
  • 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
  • Response Parameters

    ParameterTypeComments
    idstringWithdrawal ID

    Request Example

    POST /asset/v3/private/withdraw/create HTTP/1.1
    Host: api-testnet.bybit.com
    X-BAPI-SIGN: xxxxxxxxxxx
    X-BAPI-API-KEY: xxxxxxxxxxx
    X-BAPI-TIMESTAMP: 1671172758674
    X-BAPI-RECV-WINDOW: 50000
    Content-Type: application/json
    Content-Length: 193

    {
    "coin": "USDT",
    "chain": "ETH",
    "address": "xxxxxxxxxxx",
    "tag": null,
    "amount": "10",
    "timestamp": 1670919612851,
    "forceChain": 1,
    "accountType": "FUND"
    }

    Response Example

    {
    "retCode": 0,
    "retMsg": "success",
    "result": {
    "id": "xxxxxxxxxxx"
    },
    "retExtInfo": {},
    "time": 1671172180550
    }