withdraw
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.
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 . |
memo | string | Optional. Adds a transaction memo for compatible coins (e.g. Tendermint ecosystem). |
max | bool | Optional. Withdraw the maximum available amount. |
fee | object | Optional. A standard FeeInfo object. |
from | object | HD wallets only. A standard WithdrawFromInfo object. |
ibc_source_channel | string | Tendermint IBC transfers only. The source channel for the IBC transaction. |
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 API 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 |
Withdraw
POST
withdraw{
"userpass": "RPC_UserP@SSW0RD",
"mmrpc": "2.0",
"method": "withdraw",
"params": {
"coin": "KMD",
"to": "RJTYiYeJ8eVvJ53n2YbrVmxWNNMVZjDGLh",
"amount": "10"
},
"id": 0
}
Withdraw
POST
withdraw{
"userpass": "RPC_UserP@SSW0RD",
"mmrpc": "2.0",
"method": "withdraw",
"params": {
"coin": "MCL",
"to": "RNBA756iaFCx2Uhya3pvCufbeyovAaknJL",
"amount": 1.025,
"from": {
"derivation_path": "m/44'/141'/0'/0/0"
}
},
"id": 0
}
Withdraw
POST
withdraw{
"userpass": "RPC_UserP@SSW0RD",
"mmrpc": "2.0",
"method": "withdraw",
"params": {
"coin": "VRSC",
"to": "RNBA756iaFCx2Uhya3pvCufbeyovAaknJL",
"amount": 1.025,
"from": {
"account_id": 0,
"chain": "External",
"address_id": 2
}
},
"id": 0
}
Withdraw
POST
withdraw{
"mmrpc": "2.0",
"userpass": "RPC_UserP@SSW0RD",
"method": "withdraw",
"params": {
"coin": "DOC",
"to": "R9o9xTocqr6CeEDGDH6mEYpwLoMz6jNjMW",
"amount": "1.0",
"fee": {
"type": "UtxoFixed",
"amount": "0.1"
}
},
"id": 0
}
Withdraw
POST
withdraw{
"mmrpc": "2.0",
"userpass": "RPC_UserP@SSW0RD",
"method": "withdraw",
"params": {
"coin": "DOC",
"to": "R9o9xTocqr6CeEDGDH6mEYpwLoMz6jNjMW",
"amount": "1.0",
"fee": {
"type": "UtxoPerKbyte",
"amount": "1"
}
},
"id": 0
}
Withdraw
POST
withdraw{
"mmrpc": "2.0",
"userpass": "RPC_UserP@SSW0RD",
"method": "withdraw",
"params": {
"coin": "ETH",
"to": "0xbab36286672fbdc7b250804bf6d14be0df69fa28",
"amount": 10
},
"id": 0
}
Withdraw
POST
withdraw{
"mmrpc": "2.0",
"userpass": "RPC_UserP@SSW0RD",
"method": "withdraw",
"params": {
"coin": "COIN_NAME",
"to": "RECIPIENT_ADDRESS",
"amount": "AMOUNT",
"fee": {
"type": "EthGas",
"gas_price": "3.5",
"gas": 55000
}
},
"id": 0
}
Withdraw
POST
withdraw{
"mmrpc": "2.0",
"userpass": "RPC_UserP@SSW0RD",
"method": "withdraw",
"params": {
"coin": "ETH",
"to": "0xbab36286672fbdc7b250804bf6d14be0df69fa28",
"max": true
},
"id": 0
}
Withdraw
POST
withdraw{
"mmrpc": "2.0",
"userpass": "RPC_UserP@SSW0RD",
"method": "withdraw",
"params": {
"coin": "QRC20",
"to": "qHmJ3KA6ZAjR9wGjpFASn4gtUSeFAqdZgs",
"amount": 10
},
"id": 0
}
Withdraw
POST
withdraw{
"mmrpc": "2.0",
"userpass": "RPC_UserP@SSW0RD",
"method": "withdraw",
"params": {
"coin": "QRC20",
"to": "qHmJ3KA6ZAjR9wGjpFASn4gtUSeFAqdZgs",
"amount": 10,
"fee": {
"type": "Qrc20Gas",
"gas_limit": 250000,
"gas_price": 40
}
},
"id": 0
}
Withdraw
POST
withdraw{
"mmrpc": "2.0",
"userpass": "RPC_UserP@SSW0RD",
"method": "withdraw",
"params": {
"coin": "IRIS",
"to": "iaa16drqvl3u8sukfsu4lm3qsk28jr3fahja9vsv6k",
"amount": 13,
"memo": "It was a bright cold day in April, and the clocks were striking thirteen.",
"fee": {
"type": "CosmosGas",
"gas_price": 0.05,
"gas_limit": 150000
}
},
"id": 0
}
Using the Cosmos Ecosystem IBC protocol, you can withdraw coins from one chain to another. This example shows a withdrawal from Cosmos to Osmosis.
Withdraw
POST
withdraw{
"mmrpc": "2.0",
"userpass": "RPC_UserP@SSW0RD",
"method": "withdraw",
"params": {
"coin": "ATOM",
"to": "osmo16drqvl3u8sukfsu4lm3qsk28jr3fahjac4rdw4",
"amount": 0.1,
"memo": "In the blackest of your moments, wait with no fear.",
"ibc_source_channel": "channel-141",
"fee": {
"type": "CosmosGas",
"gas_price": 0.05,
"gas_limit": 150000
}
},
"id": 0
}
The ibc_source_channel
value above is for demonstration only. For more information regarding how to set a valid value, see our guide to finding the right IBC channel.
{
"mmrpc": "2.0",
"error": "Error parsing request: unknown variant `Tendermint`, expected one of `UtxoFixed`, `UtxoPerKbyte`, `EthGas`, `Qrc20Gas`, `CosmosGas`",
"error_path": "dispatcher",
"error_trace": "dispatcher:109]",
"error_type": "InvalidRequest",
"error_data": "unknown variant `Tendermint`, expected one of `UtxoFixed`, `UtxoPerKbyte`, `EthGas`, `Qrc20Gas`, `CosmosGas`",
"id": 0
}
{
"mmrpc": "2.0",
"error": "Error parsing request: invalid type: string \"0.1\", expected f64",
"error_path": "dispatcher",
"error_trace": "dispatcher:109]",
"error_type": "InvalidRequest",
"error_data": "invalid type: string \"0.1\", expected f64",
"id": 0
}
{
"mmrpc": "2.0",
"error": "Invalid fee policy: Expected 'UtxoFixed' or 'UtxoPerKbyte' fee types, found EthGas",
"error_path": "utxo_common",
"error_trace": "utxo_common:1371]",
"error_type": "InvalidFeePolicy",
"error_data": "Expected 'UtxoFixed' or 'UtxoPerKbyte' fee types, found EthGas",
"id": 0
}