使用 Alchemy 的 Web3 API 与 80+ 条链交互,获取区块链数据、NFT、Token、转账及 Webhook。
ALchemy Web3 Skill是一项面向实际任务的技能,主要用于Query块链数据,NFTs,符号,以及使用Alchemy生产级API的转移. 支持Ethereum,Polygon,Arbitrium, Base, Solana, 和80+其他链.;Built by G.。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
使用 Alchemy 的生产级 API 查询区块链数据、NFT、代币及资产转移。支持 Ethereum、Polygon、Arbitrum、Base、Solana 及 80+ 其他链。
由 GizmoLab 构建 —— 专注于 dApp、智能合约与区块链基础设施开发的 Web3 开发机构。
💡 刚接触 Web3 开发?GizmoLab 提供全栈区块链开发服务。
# 添加至 ~/.openclaw/.env ALCHEMY_API_KEY=your_api_key_here # 可选:设置默认链(默认为 eth-mainnet) ALCHEMY_CHAIN=eth-mainnet
| 链 | 端点前缀 |
|---|---|
| Ethereum | eth-mainnet, eth-sepolia |
| Polygon | polygon-mainnet, polygon-amoy |
| Arbitrum | arb-mainnet, arb-sepolia |
| Optimism | opt-mainnet, opt-sepolia |
| Base | base-mainnet, base-sepolia |
| Solana | solana-mainnet, solana-devnet |
| zkSync | zksync-mainnet |
| Linea | linea-mainnet |
| Scroll | scroll-mainnet |
| Blast | blast-mainnet |
完整列表:alchemy.com/docs/chains
# 首先设置 API Key export ALCHEMY_API_KEY="your_key" # 调用 CLI ~/.openclaw/workspace/skills/alchemy-web3/scripts/alchemy.sh[options]
./alchemy.sh balance 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 # 返回:1234.56 ETH
./alchemy.sh tokens 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 # 返回:该地址持有的全部 ERC-20 代币
./alchemy.sh nfts 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 # 返回:该地址拥有的全部 NFT
./alchemy.sh nft-metadata 0x5180db8F5c931aaE63c74266b211F580155ecac8 1590 # 返回:指定 NFT 的元数据
./alchemy.sh transfers 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 # 返回:交易历史(转入/转出)
./alchemy.sh block latest ./alchemy.sh block 12345678
./alchemy.sh tx 0x123...abc
./alchemy.sh ens vitalik.eth # 返回:0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045
./alchemy.sh --chain polygon-mainnet balance 0x... ./alchemy.sh --chain arb-mainnet nfts 0x...
# 获取 ETH 余额
curl -X POST "https://eth-mainnet.g.alchemy.com/v2/$ALCHEMY_API_KEY"
-H "Content-Type: application/json"
-d '{
"jsonrpc": "2.0",
"method": "eth_getBalance",
"params": ["0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", "latest"],
"id": 1
}'
# 获取某所有者的 NFT 列表 curl "https://eth-mainnet.g.alchemy.com/nft/v3/$ALCHEMY_API_KEY/getNFTsForOwner?owner=vitalik.eth&pageSize=10" # 获取 NFT 元数据 curl "https://eth-mainnet.g.alchemy.com/nft/v3/$ALCHEMY_API_KEY/getNFTMetadata?contractAddress=0x5180db8F5c931aaE63c74266b211F580155ecac8&tokenId=1590" # 获取某合约下的 NFT 列表 curl "https://eth-mainnet.g.alchemy.com/nft/v3/$ALCHEMY_API_KEY/getNFTsForContract?contractAddress=0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D&limit=10"
# 获取代币余额
curl -X POST "https://eth-mainnet.g.alchemy.com/v2/$ALCHEMY_API_KEY"
-H "Content-Type: application/json"
-d '{
"jsonrpc": "2.0",
"method": "alchemy_getTokenBalances",
"params": ["0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"],
"id": 1
}'
# 获取代币元数据
curl -X POST "https://eth-mainnet.g.alchemy.com/v2/$ALCHEMY_API_KEY"
-H "Content-Type: application/json"
-d '{
"jsonrpc": "2.0",
"method": "alchemy_getTokenMetadata",
"params": ["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"],
"id": 1
}'
# 获取资产转账记录(交易历史)
curl -X POST "https://eth-mainnet.g.alchemy.com/v2/$ALCHEMY_API_KEY"
-H "Content-Type: application/json"
-d '{
"jsonrpc": "2.0",
"method": "alchemy_getAssetTransfers",
"params": [{
"fromBlock": "0x0",
"toBlock": "latest",
"toAddress": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"category": ["external", "erc20", "erc721", "erc1155"],
"maxCount": "0x14"
}],
"id": 1
}'
const apiKey = process.env.ALCHEMY_API_KEY;
const baseURL = `https://eth-mainnet.g.alchemy.com/v2/${apiKey}`;
// 获取 ETH 余额
async function getBalance(address) {
const response = await fetch(baseURL, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
jsonrpc: '2.0',
method: 'eth_getBalance',
params: [address, 'latest'],
id: 1
})
});
const data = await response.json();
return parseInt(data.result, 16) / 1e18; // 转换为 ETH 单位
}
// 获取 NFT 列表
async function getNFTs(owner) {
const url = `https://eth-mainnet.g.alchemy.com/nft/v3/${apiKey}/getNFTsForOwner?owner=${owner}`;
const response = await fetch(url);
return await response.json();
}
npm install alchemy-sdk
import { Alchemy, Network } from 'alchemy-sdk';
const alchemy = new Alchemy({
apiKey: process.env.ALCHEMY_API_KEY,
network: Network.ETH_MAINNET
});
// 获取 NFT 列表
const nfts = await alchemy.nft.getNftsForOwner('vitalik.eth');
console.log(nfts.ownedNfts);
// 获取代币余额
const balances = await alchemy.core.getTokenBalances('vitalik.eth');
console.log(balances);
// 获取交易历史
const transfers = await alchemy.core.getAssetTransfers({
toAddress: '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045',
category: ['external', 'erc20']
});
当链上事件发生时,接收 HTTP POST 请求。
| 类型 | 适用场景 |
|---|---|
| 地址活动(Address Activity) | 监控特定地址的转入/转出交易 |
| NFT 活动(NFT Activity) | 监控 NFT 的销售、转移、铸造事件 |
| 已打包交易(Mined Transactions) | 监控您发起的交易何时被打包上链 |
| 被丢弃交易(Dropped Transactions) | 当交易被网络丢弃时收到通知 |
| Gas 价格(Gas Price) | 当 Gas 价格达到设定阈值时发出告警 |
{
"webhookId": "wh_abc123",
"id": "evt_xyz789",
"createdAt": "2024-01-15T12:00:00.000Z",
"type": "ADDRESS_ACTIVITY",
"event": {
"network": "ETH_MAINNET",
"activity": [{
"fromAddress": "0x123...",
"toAddress": "0x456...",
"value": 1.5,
"asset": "ETH"
}]
}
}
# 获取钱包全部资产 ./alchemy.sh balance 0x... # ETH 余额 ./alchemy.sh tokens 0x... # ERC-20 代币 ./alchemy.sh nfts 0x... # NFT
# 获取地址完整交易历史 ./alchemy.sh transfers 0x... --category external,erc20,erc721
# 获取某 NFT 合约下的全部 NFT ./alchemy.sh collection 0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D
# 跨链检查同一地址余额 for chain in eth-mainnet polygon-mainnet arb-mainnet base-mainnet; do echo "=== $chain ===" ./alchemy.sh --chain $chain balance 0x... done
| 套餐 | 计算单元/秒(CUs/sec) | 月度计算单元配额(Monthly CUs) |
|---|---|---|
| Free(免费) | 330 | 3 亿 |
| Growth(成长) | 660 | 无限制 |
| Scale(企业) | 定制 | 定制 |
大多数端点消耗 1–50 CUs。详细信息请参阅 alchemy.com/docs/rate-limits。
// 被限流
{"error": {"code": 429, "message": "Too Many Requests"}}
// API Key 无效
{"error": {"code": 401, "message": "Invalid API Key"}}
// 参数错误
{"error": {"code": -32602, "message": "Invalid params"}}
由 GizmoLab 构建 🔧
GizmoLab 是一家 Web3 开发机构,专注于构建 dApp、智能合约及区块链工具。
需要定制化区块链开发服务?欢迎联系我们。
本技能同时面向人类开发者与 AI Agent 设计。完整示例请参阅 references/agent-workflows.md:
QUERY → STORE → ANALYZE → DECIDE → ACT → REPEAT
Agent 定时任务示例:
# 每小时检查鲸鱼活动,若单笔转移超 100 ETH 则告警 0 * * * * ~/.openclaw/workspace/skills/alchemy-web3/scripts/whale-tracker.sh
references/nft-api.md —— 完整 NFT API 文档references/token-api.md —— 完整 Token API 文档references/node-api.md —— 完整 Node API 文档references/chains.md —— 所有支持链列表references/agent-workflows.md —— AI Agent 自动化示例相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 133.9万人学习
共49课时 | 82.5万人学习