Crypto Watcher
v1.0.0Monitor ETH wallets and DeFi positions across chains with alerts for balance changes, gas prices, health factors, and large token transfers.
Security Scan
OpenClaw
Benign
high confidencePurpose & Capability
Name/intent (wallet and DeFi monitoring) matches required files and behavior: the CLI reads a local config of public wallet addresses, queries public RPC endpoints, CoinGecko, and DefiLlama, and reports balances and gas. The included dependency (viem) is appropriate for Ethereum RPC interactions.
Instruction Scope
Runtime instructions and the SKILL.md align with the implementation. The CLI reads/writes only ~/.config/crypto-watcher/config.json (to store watched addresses), calls public APIs/RPCs, and prints output. It does not request private keys, system tokens, or unrelated files.
Install Mechanism
The package includes source, package.json and package-lock but no explicit install spec in the skill metadata. That is not malicious but means dependencies (viem, etc.) must be installed by the runtime environment before the CLI will run. The dependency sources are standard npm packages (viem and its dependencies) listed in package-lock.json.
Credentials
The skill declares no required environment variables, and the code does not read environment secrets. All external endpoints used are public (CoinGecko, DefiLlama, public RPC URLs). No credentials, tokens, or private keys are requested or stored.
Persistence & Privilege
The skill is not always-enabled and does not modify other skills or system-wide settings. It does persist its own config at ~/.config/crypto-watcher/config.json, which is appropriate for its purpose.
Assessment
This skill appears to do what it says: monitor public wallet addresses and DeFi info. Before installing, consider: (1) the CLI will make outbound network calls to public RPCs and APIs (CoinGecko, DefiLlama) — run it in an environment you trust; (2) it stores watched addresses in ~/.config/crypto-watcher/config.json (no private keys) — do not store private keys or seed phrases there; (3) there is no install spec in the skill metadata, so ensure dependencies (node, compatible node version, and npm-installed dependencies like viem) are available in your runtime; (4) if you need stronger assurance, review or run the code in an isolated environment (container) to observe network behavior. Overall, no unexplained permissions or credential access were found.Like a lobster shell, security has layers — review code before you run it.
latest
crypto-watcher
Monitor crypto wallets and DeFi positions. Get alerts when things change.
Features
- Wallet tracking: ETH + token balances across chains
- DeFi positions: LP positions, lending health, staking rewards
- Gas alerts: Notify when gas is cheap for transactions
- Whale alerts: Large transfers on watched tokens
Usage
Setup
# Add a wallet to watch
crypto-watcher add 0x1234...abcd --name "main" --chains eth,arb,base
# Configure alerts
crypto-watcher config --gas-alert 20 --balance-change 5%
Commands
# Check all positions
crypto-watcher status
# Check specific wallet
crypto-watcher status main
# Gas prices
crypto-watcher gas
# DeFi positions (via DefiLlama)
crypto-watcher defi 0x1234...abcd
Heartbeat Integration
Add to HEARTBEAT.md:
### Crypto Check
- Run `crypto-watcher status --quiet`
- Alert if any position health < 1.5 or balance dropped > 10%
- Check gas, alert if < 15 gwei (good time for L1 txs)
Config
~/.config/crypto-watcher/config.json:
{
"wallets": [
{
"address": "0x...",
"name": "main",
"chains": ["eth", "arb", "base"]
}
],
"alerts": {
"gasThreshold": 20,
"balanceChangePercent": 5,
"healthFactorMin": 1.5
}
}
Data Sources
- Balances: Public RPCs (no API key needed)
- DeFi: DefiLlama API (free)
- Gas: eth_gasPrice RPC call
- Prices: CoinGecko API (free tier)
Chains Supported
| Chain | ID | RPC |
|---|---|---|
| Ethereum | eth | https://eth.llamarpc.com |
| Arbitrum | arb | https://arb1.arbitrum.io/rpc |
| Base | base | https://mainnet.base.org |
| Optimism | op | https://mainnet.optimism.io |
| Polygon | matic | https://polygon-rpc.com |
Comments
Loading comments...
