# withdraw

withdraw coin to (amount max)

The withdraw method generates, signs, and returns a transaction that transfers the amount of coin to the address indicated in the to argument.

This method generates a raw transaction which should then be broadcast using send_raw_transaction.

# Arguments

Structure Type Description
coin string the name of the coin the user desires to withdraw
to string coins are withdrawn to this address
amount string (numeric) the amount the user desires to withdraw, ignored when max=true
max bool withdraw the maximum available amount
fee.type string type of transaction fee; possible values: UtxoFixed, UtxoPerKbyte, EthGas
fee.amount string (numeric) fee amount in coin units, used only when type is UtxoFixed (fixed amount not depending on tx size) or UtxoPerKbyte (amount per Kbyte)
fee.gas_price string (numeric) used only when fee type is EthGas; sets the gas price in gwei units
fee.gas number (integer) used only when fee type is EthGas; sets the gas limit for transaction

# Response

Structure Type Description
from array of strings coins are withdrawn from this address; the array contains a single element, but transactions may be sent from several addresses (UTXO coins)
to array of strings coins are withdrawn to this address; this may contain the my_address address, where change from UTXO coins is sent
my_balance_change string (numeric) the expected balance of change in my_address after the transaction broadcasts
received_by_me string (numeric) the amount of coins received by my_address after the transaction broadcasts; the value may be above zero when the transaction requires that the Komodo DeFi Framework send change to my_address
spent_by_me string (numeric) the amount of coins spent by my_address; this value differ from the request amount, as the transaction fee is added here
total_amount string (numeric) the total amount of coins transferred
fee_details object the fee details of the generated transaction; this value differs for utxo and ETH/ERC20 coins, check the examples for more details
tx_hash string the hash of the generated transaction
tx_hex string transaction bytes in hexadecimal format; use this value as input for the send_raw_transaction method
coin string the name of the coin the user wants to withdraw
kmd_rewards object (optional) an object containing information about accrued rewards; always exists if the coin is KMD
kmd_rewards.amount string (numeric, optional) the amount of accrued rewards
kmd_rewards.claimed_by_me bool (optional) whether the rewards been claimed by me

# 📌 Examples

# Command (BTC, KMD, and other BTC-based forks)

curl --url "http://127.0.0.1:7783" --data "{
    \"method\":\"withdraw\",
    \"coin\":\"KMD\",
    \"to\":\"RJTYiYeJ8eVvJ53n2YbrVmxWNNMVZjDGLh\",
    \"amount\":\"10\",
    \"userpass\":\"$userpass\"
}"

# Command (BTC, KMD, and other BTC-based forks, fixed fee)

curl --url "http://127.0.0.1:7783" --data "{
    \"method\":\"withdraw\",
    \"coin\":\"RICK\",
    \"to\":\"R9o9xTocqr6CeEDGDH6mEYpwLoMz6jNjMW\",
    \"amount\":\"1.0\",
    \"fee\": {
        \"type\":\"UtxoFixed\",
        \"amount\":\"0.1\"
    }
}"

# Command (BTC, KMD, and other BTC-based forks, 1 RICK per Kbyte)

curl --url "http://127.0.0.1:7783" --data "{
    \"method\":\"withdraw\",
    \"coin\":\"RICK\",
    \"to\":\"R9o9xTocqr6CeEDGDH6mEYpwLoMz6jNjMW\",
    \"amount\":\"1.0\",
    \"fee\": {
        \"type\":\"UtxoPerKbyte\",
        \"amount\":\"1\"
    }
}"

# Command (ETH, ERC20, and other ETH-based forks)

curl --url "http://127.0.0.1:7783" --data "{
    \"method\":\"withdraw\",
    \"coin\":\"ETH\",
    \"to\":\"0xbab36286672fbdc7b250804bf6d14be0df69fa28\",
    \"amount\":10,
    \"userpass\":\"$userpass\"
}"

# Command (ETH, ERC20, and other ETH-based forks, with gas fee)

curl --url "http://127.0.0.1:7783" --data "{
    \"userpass\":\"$userpass\",
    \"method\":\"withdraw\",
    \"coin\":\"COIN_NAME\",
    \"to\":\"RECIPIENT_ADDRESS\",
    \"amount\":\"AMOUNT\",
    \"fee\": {
        \"type\":\"EthGas\",
        \"gas_price\":\"3.5\",
        \"gas\":55000
    }
}"

# Command (max = true)

curl --url "http://127.0.0.1:7783" --data "{
    \"method\":\"withdraw\",
    \"coin\":\"ETH\",
    \"to\":\"0xbab36286672fbdc7b250804bf6d14be0df69fa28\",
    \"max\":true,
    \"userpass\":\"$userpass\"
}"

# Command (QRC20)

curl --url "http://127.0.0.1:7783" --data "{
    \"method\":\"withdraw\",
    \"coin\":\"QRC20\",
    \"to\":\"qHmJ3KA6ZAjR9wGjpFASn4gtUSeFAqdZgs\",
    \"amount\":10,
    \"userpass\":\"$userpass\"
}"

# Command (QRC20, with gas fee)

curl --url "http://127.0.0.1:7783" --data "{
    \"userpass\":\"$userpass\",
    \"method\":\"withdraw\",
    \"coin\":\"QRC20\",
    \"to\":\"qHmJ3KA6ZAjR9wGjpFASn4gtUSeFAqdZgs\",
    \"amount\":10,
    \"fee\": {
        \"type\":\"Qrc20Gas\",
        \"gas_limit\":250000,
        \"gas_price\":40
    }
}"