EntryPoint IntelligenceERC-4337 on Avalanche C-Chain Data to 2026-10-25

Examples v06-pimlico-erc20-paymaster-safe

v06-pimlico-erc20-paymaster-safe

v0.6 succeeded 1 operation

Bundler 0x4337…8084 Unattributed bundler #3 (EOA) (third-party label: Pimlico) evidence level: hint submitted one v0.6 UserOperation: account 0xea18…d0d4 asked to 2 calls (erc20_approve x2); the op succeeded; gas sponsored by 0x6666…c68b Pimlico singleton paymaster (EntryPoint v0.6) evidence level: primary source.

Transaction
0x0c9f5c6d48bbbf7261d1464920524feab7235362817dd6620e9602a93e225dd4 explained →
Block
97,848,166
Outer status
success grade: observed
UserOperations
1 in 1 handleOps call
Selector
0x1fad948c
How to read the evidence markers

Evidence levels (how strong an address label is)

  • evidence level: primary source The vendor or protocol itself publishes this exact address
  • evidence level: self-description What the contract says about itself via a getter; contracts can claim any name
  • evidence level: cluster Shares a key, getter or bytecode with labelled addresses: same machinery, not proof of the same operator
  • evidence level: hint Ranking, explorer tag, metadata or third-party label: a clue, never proof
  • evidence level: unlabelled No registry label. In running text, an address without a marker has no label.

Evidence grades (how a value was obtained), strongest first

grade: observed grade: decoded grade: recomputed grade: recovered grade: contract read grade: inferred grade: unknown

Weaker grades are set in italics. Hover or focus a marker for its definition; full definitions.

Who was involved

Bundler
0x4337…8084 Unattributed bundler #3 (EOA) (third-party label: Pimlico) evidence level: hint
sent and paid for the outer transaction · grade: observed
Called contract
0x5ff1…2789 EntryPoint v0.6 evidence level: primary source
grade: observed
EntryPoint
0x5ff1…2789 EntryPoint v0.6 evidence level: primary source
v0.6 handleOps · grade: decoded
Beneficiary
0x4337…8084 Unattributed bundler #3 (EOA) (third-party label: Pimlico) evidence level: hint
the beneficiary argument of handleOps · same address as the bundler · grade: decoded

Operations: what was asked, what happened

Operation 1

v0.6 succeeded index 0

Account 0xea18…d0d4 asked to 2 calls (erc20_approve x2); the op succeeded; gas sponsored by 0x6666…c68b Pimlico singleton paymaster (EntryPoint v0.6) evidence level: primary source.

Who was involved

Smart account
0xea18…d0d4 evidence level: unlabelled
the sender field of UserOperationEvent · grade: observed
Account code
0x29fc…c762 SafeL2 singleton v1.4.1 evidence level: primary source
contract code and storage read at block 97848166 · proxy with singleton in slot 0 (Safe-style) · grade: contract read
Paymaster
0x6666…c68b Pimlico singleton paymaster (EntryPoint v0.6) evidence level: primary source
the operation's paymasterAndData field · grade: decoded
Signer key
0x3ec6…e6b6 evidence level: unlabelled
signature scheme SafeOp v0.6 legacy uint256, an EOA (secp256k1) key; matches the on-chain owner getter getOwners()=['0x3ec61c2a7f7c420d7f2a3ebc24d46af393f6e6b6', '0x1181a3b87451fd678af986d51d047766ebc1921e']; getThreshold()=1; Safe fallback handler=0xa581c4a4db7175302464ff3c06380bc3270b4037 evidence level: primary source -> signer IS a listed owner at block 97848166. A key, not a person. · grade: contract read

What was asked

Entry function on the account: executeUserOp(address,uint256,bytes,uint8) grade: decoded

  1. Call 1 bundle of sub-calls via 0x9641…02e2 Safe MultiSendCallOnly v1.4.1 evidence level: primary source (DELEGATECALL: runs that code inside the account)

    target 0x9641…02e2 Safe MultiSendCallOnly v1.4.1 evidence level: primary source · function multiSend(bytes) grade: decoded · via a Safe module execution · DELEGATECALL

  2. Call 2 allow 0x50c4…5909 to spend an UNLIMITED amount of token 0x9702…a8c7 USDt (native, Tether) evidence level: primary source

    target 0x9702…a8c7 USDt (native, Tether) evidence level: primary source · function approve(address,uint256) grade: decoded · via a Safe multiSend batch

  3. Call 3 allow 0x6666…c68b Pimlico singleton paymaster (EntryPoint v0.6) evidence level: primary source to spend 180920 base units of token 0x9702…a8c7 USDt (native, Tether) evidence level: primary source (= 0.18092 USDt; token symbol and decimals read from the contract at block 97848166) (that address is this op's paymaster)

    target 0x9702…a8c7 USDt (native, Tether) evidence level: primary source · function approve(address,uint256) grade: decoded · via a Safe multiSend batch

What happened

The outer transaction reported success grade: observed; this UserOperation succeeded grade: observed.

  • Call 1 a container (see its sub-calls) grade: decodedcontainer; see its sub-calls
  • Call 2 ran (its logs show it) grade: observedan Approval from the account to this spender appears in this op's segment (allowance may since be spent)
  • Call 3 ran (its logs show it) grade: observedan Approval from the account to this spender appears in this op's segment (allowance may since be spent)

Token movements logged during this operation:

Money for this operation

The EntryPoint charged this operation 0.001289 AVAX (actualGasCost) grade: observed, taken from paymaster deposit 0x6666666666667849c56f2850848ce1c4da65c68b Pimlico singleton paymaster (EntryPoint v0.6) evidence level: primary source grade: inferred and paid to the beneficiary grade: inferred.

Sponsorship: ERC-20 paymaster: the user pays the paymaster in a token grade: observed

Token charged in postOp: 13386 base units of 0x9702…a8c7 USDt (native, Tether) evidence level: primary source, sent to 0xd8ba…f21c evidence level: unlabelled grade: observed. the token payment goes where the paymaster's config says; it need not be the paymaster address

Money

Outer receipt fee (bundler → chain)
0.001423 AVAX
gas used × effective gas price, paid once
Σ actualGasCost (deposits → beneficiary)
0.001289 AVAX
1 operation charge

The outer fee (what the bundler paid the network) and the per-op charges (what the EntryPoint collected from deposits and paid to the beneficiary) are different quantities. They are listed, never added together; their difference is not 'bundler profit'.

The logs

Receipt logs (9), in order, with the lifecycle phase each belongs to
#EmitterEventPhase
00x5ff1…2789 EntryPoint v0.6 evidence level: primary sourceBeforeExecutionboundary
10xea18…d0d4 evidence level: unlabelledSafeModuleTransactionexecution
20x9702…a8c7 USDt (native, Tether) evidence level: primary sourceApprovalexecution
30x9702…a8c7 USDt (native, Tether) evidence level: primary sourceApprovalexecution
40xea18…d0d4 evidence level: unlabelledExecutionFromModuleSuccessexecution
50x9702…a8c7 USDt (native, Tether) evidence level: primary sourceTransferexecution
60x9702…a8c7 USDt (native, Tether) evidence level: primary sourceApprovalexecution
70x6666…c68b Pimlico singleton paymaster (EntryPoint v0.6) evidence level: primary sourceUserOperationSponsoredexecution
80x5ff1…2789 EntryPoint v0.6 evidence level: primary sourceUserOperationEventexecution

What we can't tell

  • The signer is a key (address) recovered from the signature. It does not tell you which person, company or bot controls that key.
  • A paymaster paid the gas charge, but that does not mean the user paid nothing: the paymaster may bill the user off-chain or in a token (see sponsorship mode).
  • The beneficiary is only where gas compensation was sent; it is not the user, and it is not proof of who runs the bundler.
  • UserOp success=true only means the account's call did not revert at the top level. Accounts and batch executors can catch inner failures, so individual legs can still have failed.
  • Names (token symbols, labels) are metadata unless their evidence level says otherwise.
  • The outer fee is what the bundler paid the network for the whole transaction; it cannot be split fairly across ops or legs, and comparing it with the per-op charges does not give bundler profit.

Rendered from the explain record (schema epi.explain/v1). Address labels and levels come from the current registry. How evidence grades and levels work →