attribution makes this relationship explicit.
Example
Fields
string
required
The Ethereum
tx.from — the address that paid for gas and submitted the transaction. This is always present and corresponds directly to the raw transaction origin.string | null
The subject that authorized the action, when inferred. Often the same as
tx_signer in straightforward transactions. May differ in delegated execution patterns such as Safe modules or relayer setups.string | null
The subject that economically acted — the address that received or sent the primary value. In routed or delegated transactions, this will differ from
tx_signer and represents the true beneficial actor.When they differ
In many real-world transactions,tx_signer and operating_subject are not the same address. Common patterns where they diverge:
Aggregator (1inch, Paraswap, 0x)
Aggregator (1inch, Paraswap, 0x)
The user signs the transaction and the aggregator contract routes the swap through one or more liquidity pools.
tx_signer is the user’s EOA, while operating_subject is identified as the aggregator contract that orchestrated the value flow.Smart wallet (Safe / Gnosis)
Smart wallet (Safe / Gnosis)
An EOA calls the Safe contract, which executes the actual action on behalf of the multisig owners.
tx_signer is the EOA that submitted the transaction, while operating_subject is the Safe contract address that held and moved the funds.MEV bot
MEV bot
The bot’s EOA submits the transaction (and pays gas), but the profit accrues to a separate bot contract.
tx_signer is the EOA, while operating_subject is the bot contract that captured the arbitrage or sandwich profit.Relationship to classification.actor
classification.actor is the elected economic actor for the transaction as a whole — it is equivalent to attribution.operating_subject when available. If classification.actor_matches_signer is false, inspect attribution to understand the full delegated relationship between the submitting address and the address that economically acted.
Usage guidance
- Use
operating_subjectas the primary identity anchor for economic actions. - Use
tx_signerwhen you need to attribute gas costs or submission responsibility. - Use
authority_subjectwhen modeling authorization chains — for example, in smart wallet or relayer contexts where the authorizing party is neither the submitter nor the contract.