Recorded live evidenceThree-contract demo
Open preflight
X Layer testnet · chain 1952

One claim intent. Three execution outcomes.

Every contract exposes the exact same claimRewards() function. Free inspection decodes all three without a warning. Paid preflight uses live Tenderly traces and current chain state to decide what the wallet should actually sign.

Zero-fee inspection
All three: ALLOW · risk 8
Secure preflight
0.003 USD₮0 per completed x402 call
Evidence
Tenderly trace · recorded July 15, 2026
01

The shared agent intent

The contract and token address change; the requested action does not.

Action
claim
Function
claimRewards()
Minimum output
1 token
Approval policy
Maximum 0
Recipient
0xc1faa7AF70C81837873EA79608311BEa310BF03d

The selector is 0x372500ab in every case. Inspection proves that the calldata is a recognized claim call. It cannot prove whether the call will revert or create an undeclared approval; that requires simulation.

02

What live preflight found

Same calldata shape, evaluated against three deployed contracts and their current state.

01
Malicious and executable

PhishingRewardsToken

Risk98
BLOCK
pTOKEN

The claim pays the advertised reward, then silently authorizes the attacker to spend the wallet's entire token balance.

Zero-fee inspectionALLOWRisk 8 · exact decode · no findings
Paid preflight · 0.003 USD₮0BLOCKTenderly trace · simulation succeeded
  • +1 pTOKEN delivered to the agent wallet
  • Unlimited attacker allowance (MAX_UINT256)
  • No revert: the dangerous transaction would execute
UNEXPECTED_APPROVAL_CHANGEUNLIMITED_APPROVALAPPROVAL_LIMIT_EXCEEDED
SIGNING_REFUSEDNo Safety Receipt
02
Safe code, spent claim

SafeRewardsToken

Risk80
BLOCK
sTOKEN

The contract is benign, but this wallet has already used its one claim. Current state makes the proposed transaction invalid.

Zero-fee inspectionALLOWRisk 8 · exact decode · no findings
Paid preflight · 0.003 USD₮0BLOCKTenderly trace · simulation reverted
  • No reward transfer because execution reverts
  • No approval or permission changes
  • The required minimum output is not delivered
SIMULATION_REVERTEDMINIMUM_OUTPUT_NOT_MET
SIGNING_REFUSEDNo Safety Receipt

Risk 80 on the one-time safe contract does not label its code malicious. It records a blocking execution failure: the call reverts and delivers none of the required output.

03
Safe and claimable

RepeatableSafeRewardsToken

Risk8
ALLOW
rsTOKEN

The reward is available, the transfer matches intent, and the call creates no hidden authority for another address.

Zero-fee inspectionALLOWRisk 8 · exact decode · no findings
Paid preflight · 0.003 USD₮0ALLOWTenderly trace · simulation succeeded
  • +1 rsTOKEN delivered to the agent wallet
  • No approval or permission changes
  • Up to 10 claims per account; 10,000 claims globally
No policy findings
SIGNING_AUTHORIZED60-second Safety Receipt issued
03

Why the split matters

Decoding answers what was called. Preflight answers whether this wallet should sign it now.

Inspection3 × ALLOW

All calls are recognized and contain no obvious calldata-level warning.

SimulationSuccess · Revert · Success

Trace evidence exposes hidden permission changes and state-dependent failure.

EnforcementBLOCK · BLOCK · ALLOW

Only the exact safe, executable claim receives a Safety Receipt.

04

Agent services and pricing

Agents discover the input schema and price before authorizing payment.

inspect_transactionFree
POST /v1/inspect

Calldata decoding, selector provenance, and basic advisory findings.

Direct HTTP 200 · no payment · no execution certificate
01DiscoverSchema + price
02AuthorizeSign x402 request
03PreflightSimulate + decide
04EnforceReceipt or refusal

ALLOW and BLOCK are completed security decisions and use the paid service. Provider failures return a fail-closed service error and are not settled as completed preflights.

Inspect for free. Preflight before signing.

Use the console for the visual flow or call the machine-readable agent services.

Open preflight