jpskill.com
🛠️ 開発・MCP コミュニティ

Alchemy Web3 API 連携

alchemy-web3

80以上のブロックチェーンに対応し、ブロックチェーンデータ、NFT、トークン、送金、Webhookなど、AlchemyのWeb3 APIと連携するためのSkillです。

📜 元の英語説明(参考)

Interact with Alchemy's Web3 APIs for blockchain data, NFTs, tokens, transfers, and webhooks across 80+ chains.

🇯🇵 日本人クリエイター向け解説

一言でいうと

80以上のブロックチェーンに対応し、ブロックチェーンデータ、NFT、トークン、送金、Webhookなど、AlchemyのWeb3 APIと連携するためのSkillです。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o alchemy-web3.zip https://jpskill.com/download/5954.zip && unzip -o alchemy-web3.zip && rm alchemy-web3.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/5954.zip -OutFile "$d\alchemy-web3.zip"; Expand-Archive "$d\alchemy-web3.zip" -DestinationPath $d -Force; ri "$d\alchemy-web3.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して alchemy-web3.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → alchemy-web3 フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-17
取得日時
2026-05-18
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

Alchemy Web3 Skill

AlchemyのプロダクショングレードAPIを使用して、ブロックチェーンデータ、NFT、トークン、および転送を照会します。Ethereum、Polygon、Arbitrum、Base、Solana、その他80以上のチェーンをサポートしています。

GizmoLabが構築 — dApps、スマートコントラクト、ブロックチェーンインフラストラクチャを専門とするWeb3開発エージェンシーです。

セットアップ

1. APIキーの取得

  1. alchemy.comでサインアップします(無料枠が利用可能です)。
  2. ターゲットチェーン用のアプリを作成します。
  3. APIキーをコピーします。

💡 Web3開発は初めてですか?GizmoLabは、フルスタックのブロックチェーン開発サービスを提供しています。

2. 設定

# ~/.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

CLIの使用方法

# まずAPIキーを設定してください
export ALCHEMY_API_KEY="your_key"

# CLIを使用
~/.openclaw/workspace/skills/alchemy-web3/scripts/alchemy.sh <command> [options]

コマンド

ETH残高の取得

./alchemy.sh balance 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045
# 戻り値: 1234.56 ETH

トークン残高の取得

./alchemy.sh tokens 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045
# 戻り値: アドレスが保有するすべてのERC-20トークン

オーナーのNFTの取得

./alchemy.sh nfts 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045
# 戻り値: アドレスが所有するすべてのNFT

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

ENSの解決

./alchemy.sh ens vitalik.eth
# 戻り値: 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045

チェーンの切り替え

./alchemy.sh --chain polygon-mainnet balance 0x...
./alchemy.sh --chain arb-mainnet nfts 0x...

直接APIの例

ノードAPI (JSON-RPC)

# 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 API

# オーナーの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"

トークンAPI

# トークン残高の取得
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
  }'

転送API

# アセット転送の取得 (トランザクション履歴)
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
  }'

JavaScript/Node.jsの例

Fetchの使用 (Node 18+)

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();
}

Alchemy SDKの使用

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
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Alchemy Web3 Skill

Query blockchain data, NFTs, tokens, and transfers using Alchemy's production-grade APIs. Supports Ethereum, Polygon, Arbitrum, Base, Solana, and 80+ other chains.

Built by GizmoLab — Web3 development agency specializing in dApps, smart contracts, and blockchain infrastructure.

Setup

1. Get API Key

  1. Sign up at alchemy.com (free tier available)
  2. Create an app for your target chain
  3. Copy your API key

💡 New to Web3 development? GizmoLab offers full-stack blockchain development services.

2. Configure

# Add to ~/.openclaw/.env
ALCHEMY_API_KEY=your_api_key_here

# Optional: Set default chain (defaults to eth-mainnet)
ALCHEMY_CHAIN=eth-mainnet

Quick Reference

Supported Chains

Chain Endpoint Prefix
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

Full list: alchemy.com/docs/chains

CLI Usage

# Set your API key first
export ALCHEMY_API_KEY="your_key"

# Use the CLI
~/.openclaw/workspace/skills/alchemy-web3/scripts/alchemy.sh <command> [options]

Commands

Get ETH Balance

./alchemy.sh balance 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045
# Returns: 1234.56 ETH

Get Token Balances

./alchemy.sh tokens 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045
# Returns: All ERC-20 tokens held by address

Get NFTs for Owner

./alchemy.sh nfts 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045
# Returns: All NFTs owned by address

Get NFT Metadata

./alchemy.sh nft-metadata 0x5180db8F5c931aaE63c74266b211F580155ecac8 1590
# Returns: Metadata for specific NFT

Get Asset Transfers

./alchemy.sh transfers 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045
# Returns: Transaction history (in/out)

Get Block Info

./alchemy.sh block latest
./alchemy.sh block 12345678

Get Transaction

./alchemy.sh tx 0x123...abc

Resolve ENS

./alchemy.sh ens vitalik.eth
# Returns: 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045

Switch Chain

./alchemy.sh --chain polygon-mainnet balance 0x...
./alchemy.sh --chain arb-mainnet nfts 0x...

Direct API Examples

Node API (JSON-RPC)

# Get ETH balance
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 API

# Get NFTs for owner
curl "https://eth-mainnet.g.alchemy.com/nft/v3/$ALCHEMY_API_KEY/getNFTsForOwner?owner=vitalik.eth&pageSize=10"

# Get NFT metadata
curl "https://eth-mainnet.g.alchemy.com/nft/v3/$ALCHEMY_API_KEY/getNFTMetadata?contractAddress=0x5180db8F5c931aaE63c74266b211F580155ecac8&tokenId=1590"

# Get NFTs for collection
curl "https://eth-mainnet.g.alchemy.com/nft/v3/$ALCHEMY_API_KEY/getNFTsForContract?contractAddress=0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D&limit=10"

Token API

# Get token balances
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
  }'

# Get token metadata
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
  }'

Transfers API

# Get asset transfers (transaction history)
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
  }'

JavaScript/Node.js Examples

Using Fetch (Node 18+)

const apiKey = process.env.ALCHEMY_API_KEY;
const baseURL = `https://eth-mainnet.g.alchemy.com/v2/${apiKey}`;

// Get ETH Balance
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; // Convert to ETH
}

// Get NFTs
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();
}

Using Alchemy SDK

npm install alchemy-sdk
import { Alchemy, Network } from 'alchemy-sdk';

const alchemy = new Alchemy({
  apiKey: process.env.ALCHEMY_API_KEY,
  network: Network.ETH_MAINNET
});

// Get NFTs
const nfts = await alchemy.nft.getNftsForOwner('vitalik.eth');
console.log(nfts.ownedNfts);

// Get token balances
const balances = await alchemy.core.getTokenBalances('vitalik.eth');
console.log(balances);

// Get transaction history
const transfers = await alchemy.core.getAssetTransfers({
  toAddress: '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045',
  category: ['external', 'erc20']
});

Webhooks (Real-time Notifications)

Receive HTTP POST requests when onchain events happen.

Webhook Types

Type Use Case
Address Activity Track transfers to/from specific addresses
NFT Activity Track NFT sales, transfers, mints
Mined Transactions Track when your txs are mined
Dropped Transactions Get notified if tx is dropped
Gas Price Alert on gas price thresholds

Create Webhook (Dashboard)

  1. Go to dashboard.alchemy.com/webhooks
  2. Click "Create Webhook"
  3. Select type and configure
  4. Add your endpoint URL

Webhook Payload Example

{
  "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"
    }]
  }
}

Common Patterns

Portfolio Tracker

# Get all assets for a wallet
./alchemy.sh balance 0x...      # ETH balance
./alchemy.sh tokens 0x...       # ERC-20 tokens
./alchemy.sh nfts 0x...         # NFTs

Transaction History

# Get full tx history for address
./alchemy.sh transfers 0x... --category external,erc20,erc721

NFT Collection Analysis

# Get all NFTs in a collection
./alchemy.sh collection 0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D

Multi-chain Query

# Check same address across chains
for chain in eth-mainnet polygon-mainnet arb-mainnet base-mainnet; do
  echo "=== $chain ==="
  ./alchemy.sh --chain $chain balance 0x...
done

Rate Limits

Plan Compute Units/sec Monthly CUs
Free 330 300M
Growth 660 Unlimited
Scale Custom Custom

Most endpoints cost 1-50 CUs. Check alchemy.com/docs/rate-limits for details.

Error Handling

// Rate limited
{"error": {"code": 429, "message": "Too Many Requests"}}

// Invalid API key
{"error": {"code": 401, "message": "Invalid API Key"}}

// Invalid params
{"error": {"code": -32602, "message": "Invalid params"}}

Resources


About

Built by GizmoLab 🔧

GizmoLab is a Web3 development agency building dApps, smart contracts, and blockchain tools.

Need custom blockchain development? Get in touch

AI Agent Workflows

The skill is designed for both human developers AND AI agents. See references/agent-workflows.md for complete examples:

  • Whale Tracker — Monitor large wallets for moves
  • Portfolio Monitor — Track balances across chains
  • NFT Floor Alert — Alert on price drops
  • Token Change Detector — Detect incoming/outgoing tokens
  • Gas Optimizer — Wait for low gas to transact
  • Mint Detector — Watch for new NFT mints
  • Dashboard Generator — Auto-generate wallet dashboards

Agent Pattern

QUERY → STORE → ANALYZE → DECIDE → ACT → REPEAT

Example cron job for an agent:

# Every hour, check whale activity and alert if >100 ETH moved
0 * * * * ~/.openclaw/workspace/skills/alchemy-web3/scripts/whale-tracker.sh

See Also

  • references/nft-api.md - Full NFT API reference
  • references/token-api.md - Full Token API reference
  • references/node-api.md - Full Node API reference
  • references/chains.md - All supported chains
  • references/agent-workflows.md - AI agent automation examples