async def withdraw(self, code, amount, address, tag=None, params={}):
    '\n        make a withdrawal\n        :param str code: unified currency code\n        :param float amount: the amount to withdraw\n        :param str address: the address to withdraw to\n        :param str|None tag:\n        :param dict params: extra parameters specific to the bitvavo api endpoint\n        :returns dict: a `transaction structure <https://docs.ccxt.com/en/latest/manual.html#transaction-structure>`\n        '
    (tag, params) = self.handle_withdraw_tag_and_params(tag, params)
    self.check_address(address)
    (await self.load_markets())
    currency = self.currency(code)
    request = {'symbol': currency['id'], 'amount': self.currency_to_precision(code, amount), 'address': address}
    if (tag is not None):
        request['paymentId'] = tag
    response = (await self.privatePostWithdrawal(self.extend(request, params)))
    return self.parse_transaction(response, currency)
make a withdrawal
:param str code: unified currency code
:param float amount: the amount to withdraw
:param str address: the address to withdraw to
:param str|None tag:
:param dict params: extra parameters specific to the bitvavo api endpoint
:returns dict: a `transaction structure <https://docs.ccxt.com/en/latest/manual.html#transaction-structure>`
async def withdraw(self, code, amount, address, tag=None, params={}):
    '\n        make a withdrawal\n        :param str code: unified currency code\n        :param float amount: the amount to withdraw\n        :param str address: the address to withdraw to\n        :param str|None tag:\n        :param dict params: extra parameters specific to the bitvavo api endpoint\n        :returns dict: a `transaction structure <https://docs.ccxt.com/en/latest/manual.html#transaction-structure>`\n        '
    (tag, params) = self.handle_withdraw_tag_and_params(tag, params)
    self.check_address(address)
    (await self.load_markets())
    currency = self.currency(code)
    request = {'symbol': currency['id'], 'amount': self.currency_to_precision(code, amount), 'address': address}
    if (tag is not None):
        request['paymentId'] = tag
    response = (await self.privatePostWithdrawal(self.extend(request, params)))
    return self.parse_transaction(response, currency)