Hi there. I’ve a NFT created by addressAccount. The manager address is addressAccount and reserve, freeze, clawback address are set to a particular escrow_Account. I want to move NFT from addressAccount to a newAccount by sending an axfer transaction signed by escrow_account (i.e. reserve address) but I am getting asset NFT missing from addressAccount.
Is the reserve address able to move NFT even if the manager is addressAccount?
If you want to force move an asset that is done by a clawback transfer transaction, if you own the clawback address, of course. However, the receiver still needs to be opted in. As it stands the escrow is the owner of those addresses, as well as the creator (creator != manager) so you should make sure that the asset (NFT) is still held by the escrow account or for the matter of fact the account you want to transfer the asset from. On asset creation from an escrow account the asset is held by the escrow and not by the address calling the app (not held by the addressAccount) I have not encountered that error before, but it seems that either there is a problem with the addresses -to and -from are messed up, the addressAccount does not have the asset in its wallet or the NFT was not created to begin with.
Transaction flow should look like this: escrow creates asset (NFT) → addressAccount does an opt in for the asset → asset transfer from escrow to addressAccount → newAccount opt-in → asset transfer from addressAccount to newAccount
Thanks for your valuable opinion! I’ll just ask another question about NFT exchange. I’ve a NFT created by A buyed by B and then sold to another generic C account. Is there a way on Algorand (for a generic system or account) to know who is the helder of that NFT ?
on a terminal you can use
commands like:
goal asset info --assetid #numberofasset
this however wont show the holder just the other parameters and if it was issued (sent to another account)
goal account info -a #addressofaccount shows all asset an account holds
if you want to look up a asset you gotta install an indexer on the node (the node needs to be configured in archival) or use a public end point such as