explain_before_sign
Lumen Pre-Sign Check. Use before signing any EVM transaction or EIP-712 message: returns {summary, flags[], verdict} with verdict looks_ok | review | do_not_sign_unless_intended. Flags unlimited approve/increaseAllowance, EIP-2612 Permit and Permit2 (typed data and on-chain), setApprovalForAll, unknown spender, admin calls (upgradeTo/transferOwnership), zero-price Seaport orders, long deadlines, chain mismatch and x402 payTo mismatch; decodes multicall/aggregate3 inner calls one level. Example: USDC approve(spender, 2^256-1) -> do_not_sign_unless_intended, UNLIMITED_APPROVAL. Agent policy: abort on do_not_sign_unless_intended, escalate review. Informational, not a security guarantee; looks_ok does not mean safe; no simulation. $0.002, no signup, free tier 20/h; not charged if the call errors.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| chainId | No | Chain the wallet is on; used for chain-mismatch checks | |
| calldata | No | Shortcut: calldata hex when you have no tx object | |
| typedData | No | EIP-712 typed data {domain, types, primaryType, message} (Permit, Permit2, EIP-3009, Seaport…) | |
| transaction | No | Unsigned EVM transaction | |
| expected_pay_to | No | For x402/EIP-3009 payments: the payTo you expect; mismatch is flagged |