Install
openclaw skills install apechain-readerAdvanced multi-chain wallet analyzer with USD pricing, collection names, ENS support, and sophisticated bot detection across 8 EVM networks. Use when you need to: (1) analyze wallet profiles with USD valuations and natural language summaries, (2) inspect smart contract details and token information, (3) track NFT portfolios with resolved collection names, (4) examine transaction history and transfer patterns, (5) detect potential bot accounts through advanced behavioral analysis, (6) perform due diligence on addresses with comprehensive insights, (7) investigate cross-chain activity with ENS domain support. Supports ApeChain (primary), Ethereum, Base, Arbitrum, Polygon, Optimism, Avalanche, and BNB Chain with automatic retry logic and human-readable output.
openclaw skills install apechain-readerAn advanced multi-chain wallet analyzer that provides detailed wallet profiles with USD pricing, human-readable NFT collection names, ENS domain support, and sophisticated bot detection across 8 major EVM networks.
--pretty flag for human-readable outputThis skill requires Node.js (v16+). No additional dependencies needed - uses built-in fetch API.
# Verify Node.js version
node --version
Basic wallet lookup on ApeChain:
node scripts/wallet-lookup.js 0x8dd6390be6dc732c92b161b9793a3948b56c0126
Same query with human-readable output:
node scripts/wallet-lookup.js 0x8dd6390be6dc732c92b161b9793a3948b56c0126 --pretty
Cross-chain lookup on Ethereum:
node scripts/wallet-lookup.js 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 --chain ethereum --pretty
All commands support --chain <name> (defaults to apechain) and --pretty flag for human-readable output.
Purpose: Complete wallet profile with balance, transaction count, and NFT activity summary
node scripts/wallet-lookup.js <address> [--chain <name>] [--pretty]
Returns: Native token balance, transaction count, NFT activity (received/sent), collection count, top holdings
Example Output (JSON):
{
"address": "0x8dd6390be6dc732c92b161b9793a3948b56c0126",
"chain": "ApeChain",
"chainId": 33139,
"isContract": false,
"balance": { "APE": 10.1398 },
"transactionCount": 6352,
"nftActivity": { "received": 2, "sent": 1 },
"nftCollectionsHeld": 1,
"topHoldings": [
{ "contract": "0x6f2a21a8b9cf699d7d3a713a9d7cfbb9e9760f97", "count": 2 }
],
"explorer": "https://apescan.io/address/0x8dd6390be6dc732c92b161b9793a3948b56c0126"
}
Example Output (Pretty):
🔍 Wallet: 0x8dd6390be6dc732c92b161b9793a3948b56c0126
⛓️ Chain: ApeChain (33139)
💰 Balance: 10.1398 APE
📊 Transactions: 6,352
🎨 NFT Activity: 2 received, 1 sent
📦 Collections: 1
🔗 Explorer: https://apescan.io/address/0x8dd6390be6dc732c92b161b9793a3948b56c0126
Purpose: Detailed smart contract analysis including type detection and metadata
node scripts/contract-info.js <address> [--chain <name>] [--pretty]
Returns: Contract type (ERC-20/721/1155), name, symbol, total supply, decimals, owner
Use Cases: Token research, contract verification, due diligence
Purpose: Recent transfer activity with timestamps and transaction details
node scripts/tx-history.js <address> [--chain <name>] [--limit <number>] [--pretty]
Returns: Recent ERC-20 and NFT transfers with direction (IN/OUT), timestamps, contract addresses
Use Cases: Activity analysis, transaction tracking, wallet monitoring
Purpose: Current NFT collection with detailed token information
node scripts/nft-holdings.js <address> [--chain <name>] [--collection <contract>] [--pretty]
Returns: NFTs currently held, grouped by collection, token IDs, transfer statistics
Use Cases: NFT portfolio analysis, collection tracking, investment research
Purpose: Advanced behavioral analysis to identify potential automated accounts
node scripts/bot-detect.js <address> [--chain <name>] [--pretty]
Returns: Bot score (0-100), verdict classification, detailed breakdown of scoring factors
Scoring Factors:
Score Interpretation:
Use Cases: Due diligence, airdrop filtering, community verification
See references/CHAINS.md for comprehensive chain information including reliability status and performance characteristics.
All scripts support two output modes:
Structured data ideal for programmatic consumption and agent workflows:
node scripts/wallet-lookup.js <address>
# Returns formatted JSON
Clean, emoji-enhanced output for human review:
node scripts/wallet-lookup.js <address> --pretty
# Returns formatted text with emojis and clear sections
No environment variables required. The skill uses public RPC endpoints configured in scripts/lib/rpc.js.
To use custom RPC endpoints, modify the CHAINS object in scripts/lib/rpc.js:
const CHAINS = {
apechain: {
id: 33139,
rpc: "your-custom-rpc-url",
name: "ApeChain",
symbol: "APE",
explorer: "https://apescan.io"
},
// ... other chains
};
{"error": "Invalid address format. Address must be 0x followed by 40 hexadecimal characters"}
{"error": "Unsupported chain \"invalidchain\". Supported chains: apechain, ethereum, base, arbitrum, polygon, optimism, avalanche, bsc"}
{"error": "RPC request timed out after 10000ms"}
# If RPC timeouts occur, try different chain:
node scripts/wallet-lookup.js <address> --chain ethereum
# For intermittent chains, retry usually succeeds:
node scripts/wallet-lookup.js <address> --chain polygon
--limit parameter to reduce transaction history size# Analyze multiple addresses
for addr in 0xaddr1 0xaddr2 0xaddr3; do
echo "=== Analysis for $addr ==="
node scripts/wallet-lookup.js $addr --pretty
node scripts/bot-detect.js $addr --pretty
echo
done
# Check same address across multiple chains
for chain in apechain ethereum base arbitrum; do
echo "=== $chain ==="
node scripts/wallet-lookup.js 0x8dd6390be6dc732c92b161b9793a3948b56c0126 --chain $chain --pretty
done
# Focus on specific NFT collection
node scripts/nft-holdings.js <address> --collection 0x<contract> --pretty
Need help? Check the references directory for detailed documentation or run any command without arguments for usage instructions.