一键导入
base-blockchain
Query Base (Ethereum L2) blockchain data — wallet balances, token info, transactions, gas analysis, contract inspection. No API key required.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Query Base (Ethereum L2) blockchain data — wallet balances, token info, transactions, gas analysis, contract inspection. No API key required.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Compress conversation context — summarize the current session, extract key decisions and facts, then compact history to free up context window.
Generate insights about your Claude Code usage — what topics you work on most, common patterns, productivity trends.
Route Claude Code work by complexity, risk, and tool needs. Use when deciding how much reasoning depth a task needs, whether to read project memory first, whether the task should be decomposed, and whether the work is lightweight, standard, or investigation-heavy.
Query Polymarket prediction markets for probability data and research insights on real-world events.
Search and retrieve academic papers from arXiv using their free REST API. No API key needed.
Monitor and summarize blog posts, RSS feeds, and web content for research and staying current with topics.
| name | base-blockchain |
| description | Query Base (Ethereum L2) blockchain data — wallet balances, token info, transactions, gas analysis, contract inspection. No API key required. |
| version | 1.0.0 |
| author | hermes-CCC (ported from Hermes Agent by NousResearch) |
| license | MIT |
| metadata | {"hermes":{"tags":["Base","Blockchain","Crypto","Web3","EVM","L2","Ethereum","DeFi"],"related_skills":["solana"]}} |
Query Base (Ethereum L2) on-chain data enriched with USD pricing. No API key needed — uses public RPC + CoinGecko.
Mainnet: https://mainnet.base.org
Testnet: https://sepolia.base.org
Chain ID: 8453 (mainnet) / 84532 (testnet)
import urllib.request, json
RPC = "https://mainnet.base.org"
def rpc_call(method, params=[]):
payload = json.dumps({"jsonrpc":"2.0","method":method,"params":params,"id":1}).encode()
req = urllib.request.Request(RPC, data=payload, headers={"Content-Type":"application/json"})
with urllib.request.urlopen(req) as r:
return json.loads(r.read())["result"]
def get_eth_balance(address):
hex_balance = rpc_call("eth_getBalance", [address, "latest"])
return int(hex_balance, 16) / 1e18
addr = "0xYourWalletAddress"
print(f"Balance: {get_eth_balance(addr):.6f} ETH")
# balanceOf(address) = keccak256 first 4 bytes = 0x70a08231
def get_token_balance(token_addr, wallet_addr, decimals=18):
data = "0x70a08231" + wallet_addr[2:].zfill(64)
result = rpc_call("eth_call", [{"to": token_addr, "data": data}, "latest"])
return int(result, 16) / (10 ** decimals)
# USDC on Base (6 decimals)
usdc = "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
print(f"USDC: {get_token_balance(usdc, addr, decimals=6):.2f}")
def get_tx(tx_hash):
return rpc_call("eth_getTransactionByHash", [tx_hash])
def get_tx_receipt(tx_hash):
return rpc_call("eth_getTransactionReceipt", [tx_hash])
tx = get_tx("0xabc123...")
print(f"From: {tx['from']}")
print(f"To: {tx['to']}")
print(f"Value: {int(tx['value'],16)/1e18} ETH")
def get_gas_price():
hex_gas = rpc_call("eth_gasPrice")
gwei = int(hex_gas, 16) / 1e9
return gwei
print(f"Gas price: {get_gas_price():.2f} Gwei")
# Estimate gas for a transfer
def estimate_gas(from_addr, to_addr, value_eth):
return rpc_call("eth_estimateGas", [{
"from": from_addr,
"to": to_addr,
"value": hex(int(value_eth * 1e18))
}])
def get_eth_price_usd():
url = "https://api.coingecko.com/api/v3/simple/price?ids=ethereum&vs_currencies=usd"
with urllib.request.urlopen(url) as r:
return json.loads(r.read())["ethereum"]["usd"]
price = get_eth_price_usd()
balance = get_eth_balance(addr)
print(f"Portfolio: ${balance * price:.2f} USD")
def get_latest_block():
return rpc_call("eth_getBlockByNumber", ["latest", False])
block = get_latest_block()
print(f"Block: {int(block['number'],16)}")
print(f"Txs: {len(block['transactions'])}")
# Check if address is a contract
def is_contract(address):
code = rpc_call("eth_getCode", [address, "latest"])
return code != "0x"
# Read contract storage slot
def get_storage(address, slot):
return rpc_call("eth_getStorageAt", [address, hex(slot), "latest"])
For detailed tx history, use Basescan API (free key at basescan.org):
BASESCAN = "https://api.basescan.org/api"
# Get tx list for address
params = f"?module=account&action=txlist&address={addr}&apikey=YOUR_KEY"