What is my user actually approving?
wallet developer · signing previewA dApp hands your wallet an Aptos transaction and a friendly label: "claim rewards". The confirmation screen you build is the last thing the user sees before their APT can move. You want it to say, in plain words, exactly what this payload does — not what the dApp calls it.
Before you render the prompt, run the payload through the Move analyzer. It decodes the entry function, its type argument, and its arguments — no execution, no signature.
import @choosek/kinetics → call analyzeMoveTransaction(payload)type arg 0x1::aptos_coin::AptosCoin · args [ 0x9f2c…e70a, 50 APT ]