Install
openclaw skills install skylens-transaction-analysisInspects one EVM transaction with Skylens APIs and returns human-readable trace, balance, storage, and nonce changes. Use when the user asks for tx-level investigation on supported chains (for example Ethereum) via `get-trace`, `balance-change`, `state-change`, or `nonce-change`.
openclaw skills install skylens-transaction-analysisUse {skillDir}/scripts/skylens.py to inspect one transaction with Skylens APIs.
Use this skill when the user wants transaction-level investigation for a single EVM transaction on a supported chain. Typical triggers:
get-trace to identify key calls/contracts.list-source-files for suspicious contract addresses to enumerate available files.get-source-file with selected --FILE_INDEX (and optional --OUTPUT) to fetch source code.state-change for suspicious contract addresses (storage deltas).nonce-change for addresses that sent/triggered actions.balance-change for holder asset impact.get-trace: readable execution trace (paged)balance-change: balance deltas for one holderstate-change: storage slot changes for one addressnonce-change: nonce before/after for one addresslist-source-files: list contract source files (or AST-only files) by txget-source-file: get one contract file by index from list-source-fileseth, bsc, polygon, optimism, arb, base, blast, avalanche, scroll, linea, sonic, kaia, world, unichain, hyperliquid, plasma
tx_hash: full hash with 0xchain: must be one of supported chains aboveaddress / holder: case-insensitive, accepts with or without 0xget-traceCLI:
{skillDir}/scripts/skylens.py get-trace --TX <tx_hash> --CHAIN <chain> --OFFSET 0 --SIZE 100
Output:
[offset, offset+size).Output format:
{index}({depth}) {op} {description} [source: ...]
Source suffix (optional):
source: [c: {contractAddress}, f:{fileIdx}, s:{start}, o:{length}]
Current event variants:
callEventcreateEventstorageAccessEventlogEventkeccak256Eventbalance-changeCLI:
{skillDir}/scripts/skylens.py balance-change --TX <tx_hash> --CHAIN <chain> --HOLDER <address>
Output:
holder.Printed shapes:
BalanceOf Native ETH: holder=... before=... after=... delta=...BalanceOf Token: token=... holder=... before=... after=... delta=...BalanceOf NFT: collection=... holder=... before=... after=... delta=...state-changeCLI:
{skillDir}/scripts/skylens.py state-change --TX <tx_hash> --CHAIN <chain> --ADDRESS <address>
Output:
address only.Printed shape:
Storage: address=... slot=0x... before=... after=...
nonce-changeCLI:
{skillDir}/scripts/skylens.py nonce-change --TX <tx_hash> --CHAIN <chain> --ADDRESS <address>
Output:
address.Printed shape:
Nonce: address=... before=... after=...
list-source-filesCLI:
{skillDir}/scripts/skylens.py list-source-files --TX <tx_hash> --CHAIN <chain> --ADDRESS <contract_address>
Output:
get-source-file.Printed shape:
Contract: ...Files: ...[index] fileName (artifact=..., available=source|none)get-source-fileCLI:
{skillDir}/scripts/skylens.py get-source-file --TX <tx_hash> --CHAIN <chain> --ADDRESS <contract_address> --FILE_INDEX <index> [--OUTPUT <file_path>]
Output:
--OUTPUT is provided, saves source content to that path.