Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/avenoxai/avenoxskills/chainscannpx skills add avenoxai/avenoxskills --skill chainscangit clone --depth 1 https://github.com/avenoxai/avenoxskillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/avenoxai/avenoxskills/chainscan)<a href="https://agentmods.dev/skills/avenoxai/avenoxskills/chainscan"><img src="https://agentmods.dev/badge/skills/avenoxai/avenoxskills/chainscan.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00157 | $0.03575 |
| Opus 5 | $0.00078 | $0.01788 |
| Sonnet 5 | $0.00031 | $0.00715 |
| Haiku 4.5 | $0.00016 | $0.00358 |
Grade C, and why
chainscan scanned grade C with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Downloads and executes remote codehighSupply chain
curl | sh runs whatever the server returns today, which is not necessarily what it returned when this was reviewed.
curl -s "https://api.etherscan.io/v2/api?chainid=<CHAIN>&module=contract&action=getabi&address=<ADDR>&apikey={{vault:ETHERSCAN_API_KEY}}" | python3 -m json.tool Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -s "https://api.etherscan.io/v2/api?chainid=<CHAIN>&module=contract&action=getabi&address=<ADDR>&apikey={{vault:ETHERSCAN_API_KEY}}" | python3 -m json.tool How it starts
The opening of the file, as written. The whole thing — 267 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Chainscan — Etherscan V2 unified explorer skill
Query any major EVM chain's block explorer via the Etherscan V2 unified API, with Foundry cast as a fallback for paid-tier endpoints. One Etherscan.io API key works across every supported chain through V2 — BscScan/PolygonScan/etc. keys do not work and are no longer needed.
Etherscan V1 was deprecated 2025-08-15. V2 is the only API path going forward.
Configuration
Base URL: https://api.etherscan.io/v2/api
API key: {{vault:ETHERSCAN_API_KEY}}
Auth pattern: &apikey={{vault:ETHERSCAN_API_KEY}}
Chain selector: &chainid=<id> (REQUIRED on every call — no default)
Free tier: 3 req/sec, 100k req/day
Chain ID quick reference
Most-used chains:
| Chain | chainid | Native | Default RPC |
|---|---|---|---|
| Ethereum mainnet | 1 |
ETH | https://eth.llamarpc.com |
| BSC | 56 |
BNB | https://bsc-dataseed.binance.org |
| Polygon | 137 |
MATIC | https://polygon-rpc.com |
| Arbitrum One | 42161 |
ETH | https://arb1.arbitrum.io/rpc |
| Optimism | 10 |
ETH | https://mainnet.optimism.io |
| Base | 8453 |
ETH | https://mainnet.base.org |
| Avalanche C-chain | 43114 |
AVAX | https://api.avax.network/ext/bc/C/rpc |
| Sepolia | 11155111 |
ETH | https://ethereum-sepolia-rpc.publicnode.com |
| Base Sepolia | 84532 |
ETH | https://sepolia.base.org |
| Arbitrum Sepolia | 421614 |
ETH | https://sepolia-rollup.arbitrum.io/rpc |
Full list: see references/chains.md.
Free-tier endpoint availability
This is the most important table to internalize. Many endpoints are gated behind paid plans on non-Ethereum chains.
| Endpoint | ETH (1) | Polygon (137) | Arbitrum (42161) | BSC (56) | Base (8453) | OP (10) | Avalanche (43114) |
|---|---|---|---|---|---|---|---|
getabi |
YES | YES | YES | YES | YES | YES | YES |
getsourcecode |
YES | YES | YES | YES | YES | YES | YES |
verifysourcecode |
YES | YES | YES | YES | YES | YES | YES |
checkverifystatus |
YES | YES | YES | YES | YES | YES | YES |
getcontractcreation |
YES | YES | YES | NO | NO | NO | NO |
balance, txlist, tokentx, getLogs, gas, prices |
YES | YES | YES | NO | NO | NO | NO |
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago First seen · 267 lines · 157 tokens per session scan C ab3687570478
chainscan is a skill published in the GitHub repository avenoxai/avenoxskills (48 stars, last pushed 27d ago), licensed MIT. It adds 157 tokens to every session and 3,575 once invoked, about $0.0008 per session on Opus 5. A static security scan graded it C with 2 findings (downloads and executes remote code, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
alchemy-webhooks
Receive and verify Alchemy Notify webhooks. Use when setting up Alchemy webhook handlers, debugging X-Alchemy-Signature verification, or handling onchain events like ADDRESSACTIVITY, NFTACTIVITY, or GRAPHQL (Custom Webhook).
fireblocks-webhooks
Receive and verify Fireblocks webhooks. Use when setting up Fireblocks webhook handlers, debugging Fireblocks-Webhook-Signature verification (detached JWS / RS512 / JWKS), or handling digital-asset events like transaction.created, transaction.status.updated, or transaction.approvalstatus.updated.
utila-webhooks
Receive and verify Utila webhooks. Use when setting up Utila webhook handlers, debugging x-utila-signature RSA/PSS verification, or handling Utila digital-asset events like TRANSACTIONCREATED, TRANSACTIONSTATEUPDATED, WALLETCREATED, WALLETADDRESSCREATED, and TRANSACTIONAMLSCREENINGRESULTREADY.
agent-uat
AI 에이전트가 마크다운 시나리오를 읽고 사용자와 인터랙티브하게 실행하여 WAIaaS 기능을 메인넷/테스트넷에서 검증하는 시스템이다.
opensea-api
Interact with the OpenSea NFT marketplace API. Use when fetching NFT metadata, collection info, listings, offers, events, or building NFT applications with OpenSea's REST and Stream APIs.
blockchain-auditor
Security audit smart contracts for exploitable vulnerabilities from an unprivileged context. Use when analyzing Solidity contracts, reviewing bytecode, testing exploits on forks, or searching for ways to extract funds without owner access. Covers verified and unverified contracts, bytecode disassembly, vulnerability…