Withdraw NFTs
To withdraw NFTs, you must activate the coin which holds the NFTs first.
The withdraw_nft
method will return signed raw transaction hex which must be broadcast using the send_raw_transaction method to complete the withdrawal.
Parameter | Type | Description |
---|---|---|
type | string | The contract type of the NFT to withdraw. Either withdraw_erc721 or withdraw_erc1155 |
withdraw_data | object | A standard WithdrawNftData object. |
Parameter | Type | Description |
---|---|---|
amount | string | Amount of tokens to withdraw. |
tx_hex | string | Raw hex of signed transaction. Use this with the send_raw_transaction RPC to broadcast the transaction. |
tx_hash | string | Transaction ID of the withdrawl. |
from | array | List of source addresses. |
to | array | List of destination addresses. |
contract_type | string | Contract type. ERC721 or ERC1155 . |
token_address | string | Token address. |
token_id | string | Token ID. |
fee_details | object | A standard WithdrawFee object. |
coin | string | Coin name. One of AVALANCHE , BSC , ETH , FANTOM , or POLYGON . |
block_height | integer | Block height of the transaction. If the value is 0 , the transaction is unconfirmed. |
timestamp | integer | Timestamp of the block containing the withdrawl transaction in unix epoch format. |
internal_id | integer | Used for internal transaction identification, for some coins it may be equal to transaction hash. |
transaction_type | string | This will always be NftTransfer . |
Withdraw NFTs
POST
withdraw_nft{
"userpass": "RPC_UserP@SSW0RD",
"method": "withdraw_nft",
"mmrpc": "2.0",
"params": {
"type": "withdraw_erc721",
"withdraw_data": {
"chain": "POLYGON",
"to": "0xaB95D01Bc8214E4D993043E8Ca1B68dB2c946498",
"token_address": "0x73a5299824cd955af6377b56f5762dc3ca4cc078",
"token_id": "1"
}
}
}
If you are sending 2 or more NFTs, you must use the withdraw_erc1155
withdraw type.
Withdraw NFTs
POST
withdraw_nft{
"userpass": "RPC_UserP@SSW0RD",
"method": "withdraw_nft",
"mmrpc": "2.0",
"params": {
"type": "withdraw_erc1155",
"withdraw_data": {
"chain": "POLYGON",
"to": "0xaB95D01Bc8214E4D993043E8Ca1B68dB2c946498",
"token_address": "0x73a5299824cd955af6377b56f5762dc3ca4cc078",
"token_id": "1"
}
}
}
If you would like to withdraw all NFTs from a token_address, you must use the withdraw_erc1155
withdraw type and set max
to true
.
Withdraw NFTs
POST
withdraw_nft{
"userpass": "RPC_UserP@SSW0RD",
"method": "withdraw_nft",
"mmrpc": "2.0",
"params": {
"type": "withdraw_erc1155",
"withdraw_data": {
"chain": "POLYGON",
"to": "0x27Ad1F808c1ef82626277Ae38998AfA539565660",
"token_address": "0x2953399124f0cbb46d2cbacd8a89cf0599974963",
"token_id": "110473361632261669912565539602449606788298723469812631769659886404530570536720",
"max": true
}
}
}
View the source code at: https://github.com/KomodoPlatform/komodo-defi-framework/blob/main/mm2src/coins/nft.rs