Transact with NFTs - MPC

Transfer ERC-721 and ERC-1155 NFTs from MPC Ethereum and Polygon wallets. See the Guide.

  1. Transfer an ERC-721 or ERC-1155 NFT from an MPC wallet. You must set the amount to 0 and isTss to true for MPC wallets. Use the tokenData object to specify the token contract address, token type (ERC721 or ERC1155), token ID, and token quantity. Set the type to transfertoken. CryptoPunks are not compatible with MPC wallets. Only V2 forwarder wallets can make outgoing NFT transactions.

    API Reference

// 1. Send NFT Transaction
// Use the JavaScript SDK for this step (see JavaScript tab)
Response
// 1. Send NFT Transaction Response (ECDSA)
export type TxRequest = {
  txRequestId: string;
  walletId: string;
  walletType: WalletType;
  version: number;
  enterpriseId?: string;
  state: TxRequestState;
  date: string;
  userId: string;
  intent: unknown;
  pendingApprovalId?: string;
  policiesChecked: boolean;
  signatureShares?: SignatureShareRecord[];
  pendingTxHashes?: string[];
  txHashes?: string[];
  unsignedMessages?: UnsignedMessageTss[];
  unsignedTxs: UnsignedTransactionTss[];
  transactions?: {
    state: TransactionState;
    unsignedTx: UnsignedTransactionTss;
    signatureShares: SignatureShareRecord[];
  }[];
  messages?: {
    state: TransactionState;
    signatureShares: SignatureShareRecord[];
    combineSigShare?: string;
    txHash?: string;
  }[];
  apiVersion?: TxRequestVersion;
  latest: boolean;
};

// 1. Send NFT Transaction Response (Non-ECDSA)
{
  sendQueue?: SendQueueDocument;
  status: string;
  transfer?: TransferDocument;
  transfers?: TransferDocument[];
  tx?: string;
  txid?: string;
}

{ txRequestId: '<uuid>' }

{
  sendQueue?: SendQueueDocument;
  status: string;
  transfer?: TransferDocument;
  transfers?: TransferDocument[];
  tx?: string;
  txid?: string;
}