Interact with EVM-compatible blockchains using Foundry's cast tool for querying balances, calling contracts, sending transactions, and blockchain exploration. Use when needing to interact with Ethereum Virtual Machine networks via command-line, including reading contract state, sending funds, executing contract functions, or inspecting blockchain data.
npx claudepluginhub joshuarweaver/cascade-business-ops --plugin kukapay-crypto-skillsThis skill uses the workspace's default tool permissions.
This skill enables interaction with EVM-compatible blockchains through Foundry's `cast` command-line tool. It covers common blockchain operations like balance queries, contract calls, transaction sending, and network inspection.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Checks Next.js compilation errors using a running Turbopack dev server after code edits. Fixes actionable issues before reporting complete. Replaces `next build`.
This skill enables interaction with EVM-compatible blockchains through Foundry's cast command-line tool. It covers common blockchain operations like balance queries, contract calls, transaction sending, and network inspection.
To use this skill, you need Foundry installed, which provides the cast command.
Follow the official installation guide: https://getfoundry.sh/introduction/installation
Install Foundryup:
curl -L https://foundry.paradigm.xyz | bash
Source your shell configuration or start a new terminal:
source ~/.bashrc # or ~/.zshrc
Install Foundry:
foundryup
Verify installation:
cast --version
For other platforms or detailed instructions, see the full guide at https://getfoundry.sh/introduction/installation
cast command available)--rpc-url or environment variables)To interact with different EVM networks, you need reliable RPC endpoints. Use ChainList's API at https://chainlist.org/rpcs.json to get a comprehensive JSON list of RPC URLs for all supported chains.
Fetch the RPC data:
curl -s https://chainlist.org/rpcs.json | jq '.[] | select(.chainId == 1)' # For Ethereum (chain ID 1)
Look for RPC URLs that are:
Popular choices (extracted from ChainList):
For production use, consider paid RPC services like Alchemy, Infura, or QuickNode for higher reliability and rate limits.
Always verify the chain ID matches your intended network to avoid connecting to wrong chains.
Get ETH balance of an address:
cast balance <address> --rpc-url <rpc_url>
Get ERC20 token balance:
cast call <token_contract> "balanceOf(address)(uint256)" <address> --rpc-url <rpc_url>
Call a view/pure function:
cast call <contract_address> "<function_signature>" [args...] --rpc-url <rpc_url>
Example - get token total supply:
cast call 0xA0b86a33E6441e88C5F2712C3E9b74B6F3f5a8b8 "totalSupply()(uint256)" --rpc-url <rpc_url>
Send ETH:
cast send --private-key <pk> --rpc-url <rpc_url> <to_address> --value <amount_in_wei>
Call contract function (write):
cast send --private-key <pk> --rpc-url <rpc_url> <contract_address> "<function_signature>" [args...]
Get latest block number:
cast block-number --rpc-url <rpc_url>
Get block details:
cast block <block_number> --rpc-url <rpc_url>
Get transaction details:
cast tx <tx_hash> --rpc-url <rpc_url>
Deploy a contract:
cast send --private-key <pk> --rpc-url <rpc_url> --create <bytecode> [constructor_args...]
Decode hex data:
cast --to-ascii <hex_string>
cast --to-dec <hex_string>
export ETH_RPC_URL=https://eth-mainnet.alchemyapi.io/v2/YOUR_API_KEY
cast balance 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045
cast balance <address> --rpc-url https://polygon-rpc.com/
cast balance <address> --rpc-url http://127.0.0.1:8545
Use shell loops for multiple queries:
for addr in addr1 addr2 addr3; do
echo "Balance of $addr: $(cast balance $addr --rpc-url $RPC_URL)"
done
Estimate gas for a transaction:
cast estimate --rpc-url <rpc_url> <to_address> --value <amount>
For complex contracts, save ABI to file and use:
cast call --abi <abi_file> <contract> <function> [args...]