Skip to main content
In a simple transfer, the wallet that signed the transaction and the wallet that received value are the same person. But in aggregator swaps, smart contract wallets, and MEV bots, the signer and the economic actor are different addresses. 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:
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.
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.
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

When building compliance tools or identity attribution, never rely solely on tx_signer. Always check attribution.operating_subject for the true economic actor.
  • Use operating_subject as the primary identity anchor for economic actions.
  • Use tx_signer when you need to attribute gas costs or submission responsibility.
  • Use authority_subject when modeling authorization chains — for example, in smart wallet or relayer contexts where the authorizing party is neither the submitter nor the contract.