# Why have both txn.sender() and txn.asset\_sender() in PyTEAL?

**URL:** <https://forum.algorand.co/t/why-have-both-txn-sender-and-txn-asset-sender-in-pyteal/4729>\
**Category:** Uncategorized\
**Tags:** teal\
**Created:** [October 21, 2021, 4:32pm UTC](https://forum.algorand.co/t/why-have-both-txn-sender-and-txn-asset-sender-in-pyteal/4729 "2021-10-21T16:32:18Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![jannotti](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.algorand.co/jannotti/32/688_2.png) [@jannotti](https://forum.algorand.co/u/jannotti)\
**Post date:** [October 21, 2021, 5:11pm UTC](https://forum.algorand.co/t/why-have-both-txn-sender-and-txn-asset-sender-in-pyteal/4729/2 "2021-10-21T17:11:54Z")

</div>

They are different. The Sender is the sender of the transaction and, often, the account the assets will come from. But not for clawback. In a clawback transaction, AssetSender, is set (normally it’s zero). The Sender is the account with clawback authority. But the assets move from AssetSender to AssetReceiver.

---

_[View the full topic](https://forum.algorand.co/t/why-have-both-txn-sender-and-txn-asset-sender-in-pyteal/4729)._
