NFT Transfers


This API transfers (i.e., moves) an NFT token from one wallet to another wallet. This assumes that the from wallet holds the token or else, the transaction will fail on the chain.

EVM NFT transfer

On EVM based chains, the API only supports transferring tokens that have been minted using Mint an NFT API.

Solana NFT transfer

On Solana, the API supports transferring any deployed NFT token on the chain whether it was minted using MetaKeep API or not.

Note that some marketplaces on Solana co-sign the NFT transfer transaction. In such cases, transferring the NFT using this API will fail. Instead, you should get the partially signed transaction from the marketplace and use Sign Transaction from MetaKeep SDK to sign and broadcast the transaction.


Solana compressed NFTs are supported

You don't need to worry if your NFT is compressed or not. The API will invisibly handle it for you :)

Invoking without from user

If you don't provide a from user in the request body, the token will be transferred from your developer account and a transaction will be raised and submitted to the Queue on the blockchain. MetaKeep, behind the scenes, employs several strategies to make sure transactions succeed, and at the lowest cost.

You can get the status of this blockchain transaction by querying for transaction status by copying the transactionId from this API response and querying it in Transaction Status API.


Replaying this API

Once you get a status response as QUEUED, replaying this API doesn't give you the latest status; Replaying the same API with the same Idempotency-Key results in the same response, always with status-QUEUED. You must query the Transaction Status API for the latest status.

As you would learn from the Transaction Status API docs, if a transaction failed, MetaKeep would have exhausted all feasible smart AI-based strategies to recover from failure, that would have been attempted by humans, and the "FAILED" status, if shown, is final.

Invoking with a from user

If you provide a from user in the request body, you will get a consentToken back and you will have to use Get Consent flow to finish the transfer. Here, the developer is agreeing to pick up the gas fee on execution so that the user doesn't have to know/understand the concept of gas. MetaKeep, behind the scenes, employs several strategies to make sure transactions succeed, and at the lowest cost.

  "status": "USER_CONSENT_NEEDED",
  "consentToken": "CrgBAQIDAHgtrXLM7Takfd-ccn6FAthYppUrIuoEMsncIpxm4af4uUh4Cikr2YkEzasNQr9433Z-V73Hw=="

Priority Fee(aka Compute Price on Solana)

The API automatically takes care of setting the right priority fee for the NFT transfer on both EVM and Solana.


Api Error Status

You can find error status returned by the api here.

© Copyright 2024, Passbird Research Inc.

Click Try It! to start a request and see the response here!