alchemy-cli について
alchemy-cliは、EVM、Solana、クロスチェーン操作のコマンドを備え、JSON形式で出力する、ブロックチェーン作業とローカル自動化向けのCLIです。エージェントによるオンチェーン照会、管理、トランザクション署名を想定し、本番アプリケーションコードへの利用は推奨されていません。
主な機能
- 01EVMとSolanaのオンチェーンデータ照会
- 02トークン・NFT・ポートフォリオ情報の取得
- 03トランザクションのシミュレーションと署名操作
- 04クロスチェーンブリッジ操作
- 05JSON出力と認証管理
活用シーン
- 01残高・トランザクション・ブロックの照会
- 02トークンやNFTの保有状況の確認
- 03オンチェーントランザクションのシミュレーションと送信
- 04ターミナルからのブロックチェーン管理
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ alchemyplatform/ skills --skill alchemy-cliインストール後、Claude Code で/alchemy-cliを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yamlLICENSE.txt
詳細
Alchemy CLI
Alchemy CLI(@alchemy/cli)を使用して、ターミナルからブロックチェーンのライブクエリ、管理作業、トランザクションの署名、ローカルの自動化を行います。CLI では、チェーン(evm、solana、xchain)ごと、製品領域(wallet、app、webhook、auth、config)ごとにコマンドが分類されており、各コマンドは構造化された JSON を出力します。
このスキルを使う場面
次のすべてに該当する場合は、alchemy-cli を使用してください。
- ユーザーがエージェントによるライブ作業(このセッションでエージェントが今すぐ実行するライブクエリ、分析、管理作業、ローカルの自動化)を求めている
@alchemy/cliがローカルにインストールされている、または CLI と MCP サーバーの両方が利用可能、またはどちらも利用できない(その場合は CLI をインストールしてください。インストールを参照)
CLI は、エージェントによるライブ作業でのローカルフォールバック実行環境として推奨されます。CLI と MCP のどちらを使うか迷った場合は、CLI を優先してください。
別のスキルを使う場面
| 状況 | 代わりに使うスキル |
|---|---|
| MCP がすでにクライアントに接続されており、CLI がローカルにインストールされていない | alchemy-mcp |
| Alchemy API キーを使って、このエージェントセッションの外部で実行されるアプリケーションコードを構築する | alchemy-api |
| API キーなしでアプリケーションコードを構築する場合、自己の費用を賄う必要がある自律型エージェントを構築する場合、または x402/MPP を明示的に希望する場合 | agentic-gateway |
このスキルを使って、本番アプリケーションコードを作成しないでください。CLI コマンドはエージェントによるライブ作業用であり、リリースするソフトウェアへの組み込み用ではありません。
インストール
npm i -g @alchemy/cli
CLI がインストールされておらず、ユーザーがエージェントによるライブ作業を求めている場合は、インストールしてください。生の curl/HTTP 呼び出しにはフォールバックしないでください。それらは alchemy-api が対象とする API キーの使用経路です。
初期設定
セッションの開始時にこれを実行し、すべてのコマンド、フラグ、認証方法、エラーコード、使用例を含む完全なコマンド仕様を取得します。
alchemy --json --no-interactive agent-prompt
ウォレットを対象とするエージェント作業では、ウォレット、EVM、Solana、クロスチェーンのコマンドとセッション署名者の機能セットのみを記載した、より限定的な仕様を使用してください。
alchemy --json --no-interactive agent-prompt --scope wallet
CLI がまだインストールされていない場合でも、同じ仕様が必要であれば、認証不要の npx 版を使用できます。
npx -y @alchemy/cli@latest --json --no-interactive agent-prompt --scope wallet
実行ルール
- すべてのコマンドで必ず
--json --no-interactiveを指定してください - 終了コードが 0 の場合は、stdout を JSON として解析してください
- 終了コードが 0 以外の場合は、stderr を JSON として解析してください
--json --no-interactiveを指定せずにalchemy単体を実行しないでください- タスクに対応する
alchemyCLI コマンドがある場合は、curl や生の HTTP を決して使わないでください。それはこのスキルではなく、alchemy-api(API キー)を使う経路です - 本番アプリケーションコードの生成に CLI を決して使わないでください。リリースするコードについては
alchemy-apiまたはagentic-gatewayに引き継いでください - オンチェーン操作(
evm send、evm contract call、evm approve、evm swap、xchain bridge、solana send)では、まずalchemy --json --no-interactive wallet status --verifyを実行してセッションが引き続き有効であることを確認し、その後、ブロードキャスト前に--dry-runを使ってください。スポンサーポリシー(--gas-policy-id、--fee-policy-id)は手数料の制御であり、ウォレットの支出上限ではないものとして扱ってください。
事前確認
最初のコマンドを実行する前に、次の両方のチェックを実行してください。
alchemy --json --no-interactive doctor
alchemy --json --no-interactive evm gas
doctor(別名:alchemy config status)は、設定済みの項目と、修正手順の一覧である nextCommands を報告します。最上位の OK 表示だけを根拠にしないでください。セッションが設定済みと報告されているにもかかわらず、認証トークンから API キーが生成されていないために、RPC コマンドが AUTH_REQUIRED で失敗する既知の誤検知があります。
evm gas は、この問題を検出するための軽量な RPC スモークテストです。{"gasPrice": "0x...", ...} が返された場合、RPC は正しく接続されています。{"error": {"code": "AUTH_REQUIRED", ...}} が返された場合は、alchemy auth login(API キーを取得して保存します)または alchemy config set api-key <key> を実行し、その後 evm gas を再実行して確認してください。
doctor が設定の不足を報告した場合は、まず nextCommands に従ってから、evm gas を実行して確認してください。
認証の設定
最も手早く認証するには、ブラウザーログインを使用します。
alchemy auth login
ブラウザーから CLI の localhost コールバックにアクセスできないヘッドレス環境(SSH、GitHub Codespaces、CI、サンドボックス)では、OAuth 2.0 デバイス認可グラントフローを強制します。
alchemy auth login --device-code
通常の alchemy auth は、非対話型セッションを自動検出し、デバイスコードモードに切り替えます。@alchemy/cli 0.18.0 以降が必要です。
ブラウザーが開き、OAuth フローが完了すると、API キー(RPC/Data 用)と Admin API へのアクセスの両方が内部で設定されます。別途アクセスキーを設定する手順はなくなりました。alchemy auth login の直後から、管理コマンド(alchemy app ...)を使用できます。
認証状態を確認するには:alchemy auth status
ログアウトするには:alchemy auth logout
その他の認証方法
| 方法 | 設定コマンド | 環境変数 | 使用先 |
|---|---|---|---|
| ブラウザーログイン | alchemy auth login(ヘッドレス環境では --device-code を追加) | -- | すべてのコマンド(RPC/Data と Admin の両方をカバー) |
| API キー | alchemy config set api-key <key> | ALCHEMY_API_KEY | RPC/Data コマンド(evm rpc、evm data、evm tx、solana rpc など) |
| Webhook キー | alchemy config set webhook-api-key <key> | ALCHEMY_WEBHOOK_API_KEY | webhook |
| エージェントウォレットセッション | alchemy wallet connect --mode session --instance-name <label>(ダッシュボードで承認) | -- | evm send、evm contract call、evm approve、evm swap、xchain bridge、evm status、solana send、solana status、solana delegate |
| ローカルウォレット | alchemy wallet connect --mode local(EVM キーには --import <path>) | -- | セッションと同じウォレット署名が必要なコマンド。--signer local でオーバーライドできます |
| x402 ゲートウェイ認証(Alchemy API パス) | alchemy wallet connect --mode local --chain evm の後に alchemy config set x402 true | ALCHEMY_WALLET_KEY | --x402 が有効な場合の RPC および Data コマンド。これはウォレット経由の Alchemy API 認証であり、alchemy x402 request とは別のものです(下記参照)。 |
| x402 決済(サードパーティ API) | alchemy wallet connect --mode local — x402 決済用に設定された署名者 | -- | alchemy x402 request <url>、alchemy x402 balance(RFC 402 に従い、USDC でサードパーティ API に支払います) |
alchemy evm network list/alchemy solana network list および alchemy version/update-check には認証は不要です。
デフォルトアプリの選択
多くの app サブコマンドは「デフォルトアプリ」を操作します。エラーレスポンスに APP_REQUIRED が表示された場合は、次の手順でアプリを選択してください。
alchemy --json --no-interactive app select <id>
# or equivalently
alchemy --json --no-interactive config set app <id>
Alchemy アカウントは dashboard.alchemy.com で作成できます。
タスクとコマンドの対応表
EVM — オンチェーン読み取り
| タスク | コマンド |
|---|---|
| ネイティブ残高(ETH、MATIC など) | alchemy evm data balance <address> |
| トランザクションの詳細 | alchemy evm tx <hash> |
| トランザクションレシート | alchemy evm receipt <hash> |
| ブロックの詳細 | alchemy evm block <number|latest> |
| ガス価格 | alchemy evm gas |
| イベントログ | alchemy evm logs --address <addr> --from-block <n> --to-block <n> |
| 生の JSON-RPC | alchemy evm rpc <method> [params...] |
| トレースメソッド | alchemy evm trace <method> [params...] |
| デバッグメソッド | alchemy evm debug <method> [params...] |
| コントラクトの view/pure 呼び出し | alchemy evm contract read <address> <function> [--args ...] [--abi-file <path>] |
EVM — データ API
| タスク | コマンド |
|---|---|
| ERC-20 残高 | alchemy evm data tokens balances <address> |
| ERC-20 残高(フォーマット済み) | alchemy evm data tokens balances <address> --metadata |
| トークンのメタデータ | alchemy evm data tokens metadata <contract> |
| トークンの使用許可 | alchemy evm data tokens allowance --owner <addr> --spender <addr> --contract <addr> |
| 所有 NFT の一覧表示 | alchemy evm data nfts <address> [--limit <n>] [--page-key <key>] |
| NFT のメタデータ | alchemy evm data nfts metadata --contract <addr> --token-id <id> |
| NFT コントラクトのメタデータ | alchemy evm data nfts contract <address> |
| アセットの転送履歴 | alchemy evm data history <address> [--from-block <n>] [--to-block <n>] [--max-count <n>] [--page-key <key>] |
| シンボルによるスポット価格 | alchemy evm data price symbol ETH,USDC |
| アドレスによるスポット価格 | alchemy evm data price address --addresses '<json>' |
| 過去の価格 | alchemy evm data price historical --body '<json>' |
| 複数ネットワークにまたがるトークンポートフォリオ | alchemy evm data portfolio tokens --body '<json>' |
| アドレス/ネットワークの組み合わせによるトークン残高 | alchemy evm data portfolio token-balances --body '<json>' |
| 複数ネットワークにまたがる NFT ポートフォリオ | alchemy evm data portfolio nfts --body '<json>' |
| アドレス/ネットワークの組み合わせによる NFT コントラクト | alchemy evm data portfolio nft-contracts --body '<json>' |
EVM — シミュレーション
| タスク | コマンド |
|---|---|
| 単一 tx をシミュレーション(アセット差分) | alchemy evm simulate asset-changes --tx '<json>' [--block-tag <tag>] |
| 単一 tx をシミュレーション(実行トレース) | alchemy evm simulate execution --tx '<json>' [--block-tag <tag>] |
| バンドルをシミュレーション(アセット差分) | alchemy evm simulate asset-changes-bundle --txs '<json-array>' [--block-tag <tag>] |
| バンドルをシミュレーション(実行トレース) | alchemy evm simulate execution-bundle --txs '<json-array>' [--block-tag <tag>] |
EVM — ウォレット署名トランザクション
ウォレット署名による EVM アクションは、スマートウォレットの コール ID を返します。どちらの値も確認するには、alchemy evm status <call-id-or-tx-hash> を使用します。ガススポンサーシップをリクエストするには、対応するアクションで --gas-sponsored と --gas-policy-id <id> を使用します。デフォルトは alchemy config set evm-gas-sponsored true と alchemy config set evm-gas-policy-id <id> で設定します。
| タスク | コマンド |
|---|---|
| ネイティブトークンを送信 | alchemy evm send <to> <amount> [-n <network>] |
| ERC-20 を送信 | alchemy evm send <to> <amount> --token <token-address> |
| コントラクト関数を実行 | alchemy evm contract call <address> <function> [--args ...] [--abi-file <path>|--abi '<json>'] [--value <wei>] |
| ERC-20 の使用許可を承認/取り消し/リセット | alchemy evm approve <spender-address> --token-address <addr> [--amount <n>|--unlimited|--revoke] |
| 同一チェーンのスワップ見積もり | alchemy evm swap quote --from <token> --to <token> --amount <n> |
| 同一チェーンのスワップを実行 | alchemy evm swap execute --from <token> --to <token> --amount <n> |
| コール/tx のステータスを確認 | alchemy evm status <call-id-or-tx-hash> |
スワップにおけるネイティブトークンのアドレス:0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE。
ほとんどのウォレット署名による EVM コマンドでは、--signer session|local を指定して、その実行に限りアクティブな署名者を上書きできます。両方の署名者が設定されていて、アクティブな署名者が選択されていない場合、CLI はデフォルトで session を使用し、警告を表示します。
Solana
Solana のトランザクションコマンドでは、ローカルの Solana ウォレット(alchemy wallet connect --mode local --chain solana)を使用します。対応するアクションで --fee-sponsored と --fee-policy-id <id> を指定すると、手数料のスポンサー提供をリクエストできます。alchemy config set solana-fee-sponsored true / alchemy config set solana-fee-policy-id <id> を使用すると、デフォルトとして保存できます。
| タスク | コマンド |
|---|---|
| Solana JSON-RPC | alchemy solana rpc <method> [params...] |
| Solana DAS(NFT/アセット) | alchemy solana das <method> '<json>' |
| ネイティブ SOL を送信 | alchemy solana send <to> <amount> [-n solana-mainnet] |
| SPL トークンのデリゲートを承認 | alchemy solana delegate approve --token-account <addr> --mint <addr> --delegate <addr> --amount <n> --decimals <n> |
| SPL トークンのデリゲートを取り消し | alchemy solana delegate revoke --token-account <addr> |
| Solana トランザクションのステータスを確認 | alchemy solana status <signature> |
| プログラムアカウントを一覧表示 | alchemy solana program accounts <program-id> [--filters '<json>'] [--encoding <enc>] [--limit <n>] |
| Solana アカウントを表示 | alchemy solana program account <address> |
| Solana プログラムのメタデータを表示 | alchemy solana program show <program-id> |
| Solana ネットワーク ID を一覧表示 | alchemy solana network list |
alchemy solana swap は将来のサポート用に予約されており、現在は実装されていません。
クロスチェーン
ブリッジは EVM メインネットに対応しています。同一チェーン内でトークンを交換する場合は、alchemy evm swap を使用します。
| タスク | コマンド |
|---|---|
| ブリッジの見積もりを取得 | alchemy xchain bridge quote --from <token> --to <token> --amount <n> --to-network <network> |
| ブリッジを実行 | alchemy xchain bridge execute --from <token> --to <token> --amount <n> --to-network <network> |
送信元ネットワークは -n, --network で指定します。
ウォレットと署名
ウォレットのセッションは、CLI に紐付いた署名者であり、ユーザーは Agent Wallets ダッシュボードで承認します。エージェントが秘密鍵を参照することはありません。セッションは自動的に期限切れとなり、CLI またはダッシュボードから取り消せます。サーバーから付与されるセッションの署名機能は、evm.signMessage、evm.signTypedData、evm.signAuthorization、evm.prepareCalls、evm.sendCalls、solana.signTransaction です。セッション署名者は EVM トランザクションへの生署名には対応していません。Alchemy のスマートウォレット呼び出しを通じて実行されるアクションコマンド(evm send、evm contract call、evm approve、evm swap、xchain bridge、solana send)を使用してください。
ウォレットの状態を変更するアクションを実行する前に、alchemy --json --no-interactive wallet status --verify を実行してください。これにより、アクティブな署名者、有効期限、チェーン固有のセッションメタデータ、バックエンドのステータス、および有効な署名者機能が返されます。
| タスク | コマンド |
|---|---|
| ウォレットを接続(セッション) | alchemy wallet connect --mode session --instance-name <label> |
| ローカル EVM ウォレットを接続(秘密鍵ファイルをインポート) | alchemy wallet connect --mode local --chain evm --import <path> |
| ローカル Solana ウォレットを接続 | alchemy wallet connect --mode local --chain solana |
| ウォレットの状態を表示 | alchemy wallet status [--verify] |
| 設定済みのウォレットアドレスを表示 | alchemy wallet address |
| アドレスを QR コードとして表示 | alchemy wallet qr |
| EVM トランザクションのアクティブな署名者を選択 | alchemy wallet use <session|local> |
| ウォレットを切断/取り消し | alchemy wallet disconnect |
| コマンドごとに署名者を指定 | --signer session|local を追加 |
Webhook(通知)
| タスク | コマンド |
|---|---|
| Webhook を一覧表示 | alchemy webhook list |
| Webhook を作成 | alchemy webhook create --body '<json>' [--dry-run] |
| Webhook を更新 | alchemy webhook update --body '<json>' [--dry-run] |
| Webhook を削除 | alchemy webhook delete <id> [--yes] [--dry-run] |
| アドレスアクティビティ Webhook のアドレスを取得 | alchemy webhook addresses <id> |
| NFT アクティビティ Webhook のフィルターを取得 | alchemy webhook nft-filters <id> |
アプリ管理(Admin API)
| タスク | コマンド |
|---|---|
| アプリの一覧表示 | alchemy app list [--cursor <c>] [--limit <n>] [--all] [--search <q>] [--id <appId>] |
| アプリの詳細を取得 | alchemy app get <id> |
| アプリを作成 | alchemy app create --name "My App" --networks eth-mainnet [--description <desc>] [--products <ids>] [--dry-run] |
| アプリのメタデータを更新 | alchemy app update <id> --name "New Name" [--description <desc>] [--dry-run] |
| アプリのネットワーク許可リストを更新 | alchemy app networks <id> --networks eth-mainnet,base-mainnet [--dry-run] |
| アプリのアドレス許可リストを更新 | alchemy app address-allowlist <id> --addresses 0xAA,0xBB [--dry-run] |
| アプリのオリジン許可リストを更新 | alchemy app origin-allowlist <id> --origins https://a.com,https://b.com [--dry-run] |
| アプリの IP 許可リストを更新 | alchemy app ip-allowlist <id> --ips 1.2.3.4,5.6.7.8 [--dry-run] |
| アプリを削除 | alchemy app delete <id> [--yes] [--dry-run] |
| デフォルトアプリを選択 | alchemy app select <id>(alchemy config set app <id> と同等) |
| アプリに設定されたネットワークを一覧表示 | alchemy app configured-networks [--app-id <id>] |
Admin API のチェーン識別子を一覧表示(app create/update 用) | alchemy app chains |
EVM RPC ネットワークスラッグを一覧表示(--network 用) | alchemy evm network list [--mainnet-only] [--testnet-only] [--search <term>] |
CLI の app コマンドと usage コマンドは、Alchemy の公開 Admin API(api.g.alchemy.com/admin-api/v1/...)を薄くラップしたものです。Apps エンドポイントと Chains エンドポイントは公開されており、セルフサービスで利用できます。Usage エンドポイントも、アプリ単位のクエリであればセルフサービスで利用できます。REST API の概要、認証方式(x-alchemy-token ベアラーまたは CLI のブラウザーセッション)、エンドポイント一覧については、references/operational-admin-api.md を参照してください。
使用量と従量課金
| タスク | コマンド |
|---|---|
| 指定期間の使用量の概要 | alchemy usage summary --start-date <YYYY-MM-DD> --end-date <YYYY-MM-DD> [--app-ids <ids>] [--networks <slugs>] [--metrics amount,usd] |
| 指定期間の使用量の時系列データ | alchemy usage timeseries --start-date <YYYY-MM-DD> --end-date <YYYY-MM-DD> [--granularity minute|hour|day|month] [--products <ids>] [--metrics amount] [--app-ids <ids>] [--networks <slugs>] [--methods <names>] [--request-types <types>] [--group-by <field>] |
| 時系列データ(別名) | alchemy usage time-series ... |
時系列クエリの期間制限(2026-07-02 時点):
- Free プラン:最大 7 日間遡れます。
- Pay-as-you-go:最大 30 日間遡れます。
- さらに長い期間:営業担当者にお問い合わせください。
要求された期間がプランの上限を超えても、CLI はエラーを返しません。許可される期間を返し、要求された期間と実際に返された期間の両方をレスポンスに示すため、期間が切り詰められたことを確認できます。
--metrics の仕様はエンドポイントによって異なります。
alchemy usage timeseriesが受け付けるのはamountのみです。時系列レスポンスではusdメトリクスは有効ではありません(API 側の変更により 2026-08-13 に削除)。--metrics amountを渡すか、フラグを省略してください。alchemy usage summaryは概要レスポンスでamountとusdの両方を受け付けます(カンマ区切り)。
認証:alchemy app と同じブラウザーセッションを使用します(Admin API アクセス)。
x402 決済(サードパーティ API)
alchemy x402 request と alchemy x402 balance は、RFC 402 に従って USDC でサードパーティ API の料金を支払います。これは --x402 / alchemy config set x402 true(Alchemy 独自のゲートウェイで Alchemy API の認証を処理するもの)とは別の機能です。@alchemy/cli 0.22.0 以降が必要です。
| タスク | コマンド |
|---|---|
| x402 決済によるリクエストを実行 | alchemy x402 request <url> [--dry-run] [--estimate] [--max-payment <usdc>] [--yes] |
| 現在の x402 ウォレット残高を表示 | alchemy x402 balance |
- 非対話モードでは
--max-payment <usdc>を指定してください。指定しない場合、CLI は9で終了します(上限の指定がない非対話モード)。 --yesと--max-paymentを指定せずに組み合わせると、2で終了します(上限のない yes)。- サードパーティサーバーに応じて、Circle Gateway のバッチ化されたナノ決済または直接的な EIP-3009 決済を使用します。
- 実際に動作するエンドポイントの例:
https://nano.blockrun.ai(最初のアクセスでは HTTP 402 を返し、その後、クライアントが署名した決済の完了後に処理を完了します)。
CLI 管理およびユーティリティ
| タスク | コマンド |
|---|---|
| CLI の更新を確認 | alchemy update-check |
| 設定を表示 | alchemy config list |
| 設定をリセット | alchemy config reset --yes |
| CLI のバージョン | alchemy version |
| クライアントに MCP / スキルをインストール | alchemy install mcp / alchemy install skills |
| シェル補完 | alchemy completions <bash|zsh|fish> |
グローバルフラグ
| フラグ | 説明 |
|---|---|
--json | JSON 出力を強制します(パイプ接続時は自動で有効になります) |
--no-interactive | プロンプトと REPL を無効にします |
-n, --network <network> | 対象ネットワーク(デフォルト:eth-mainnet、環境変数:ALCHEMY_NETWORK) |
--api-key <key> | コマンドごとに API キーを上書きします(環境変数:ALCHEMY_API_KEY) |
--x402 | このコマンドで x402 のウォレットベースのゲートウェイ認証を使用します |
--wallet-key-file <path> | EVM ウォレットの秘密鍵ファイルのパス(x402 用) |
--solana-wallet-key-file <path> | Solana ウォレットの鍵ファイルのパス |
--timeout <ms> | リクエストのタイムアウト(ミリ秒) |
-q, --quiet | 必須ではない出力を抑制します |
--verbose | リクエストとレスポンスの詳細を stderr に記録します |
--debug | デバッグ診断を有効にします |
--no-color | 色付き出力を無効にします |
--reveal | シークレットをプレーンテキストで表示します(慎重に使用してください。明示的な表示操作を想定しています) |
エラー処理
エラーは stderr に構造化 JSON として出力されます。各エラーには code、exitCode(1~9)、retryable の真偽値、および recovery ヒントが含まれます。主なコード(agent-prompt から):
| コード | 終了コード | 再試行可能 | 復旧方法 |
|---|---|---|---|
AUTH_REQUIRED | 3 | いいえ | alchemy auth login を実行するか、ALCHEMY_API_KEY / alchemy config set api-key <key> を設定します |
INVALID_API_KEY | 3 | いいえ | API キーを確認し、alchemy config set api-key <key> で有効なキーを設定します |
APP_REQUIRED | 3 | いいえ | デフォルトのアプリを選択します:alchemy app select <id>(または alchemy config set app <id>) |
NETWORK_NOT_ENABLED | 3 | いいえ | dashboard.alchemy.com でアプリの対象ネットワークを有効にします |
SETUP_REQUIRED | 3 | いいえ | alchemy --json doctor を実行し、nextCommands に従います |
PAYMENT_REQUIRED | 9 | いいえ | x402 ウォレットに資金を入れるか、API キー認証に切り替えます |
RATE_LIMITED | 5 | はい | 待ってからバックオフして再試行します。プランのアップグレードも検討してください |
NETWORK_ERROR | 6 | はい | 接続を確認して再試行します |
RPC_ERROR | 7 | いいえ | メソッド、パラメーター、ネットワークを確認し、API キーにアクセス権があることを確認します |
ADMIN_API_ERROR | 8 | いいえ | エラーメッセージを確認します。管理コマンドには認証済みのブラウザーセッションが必要です |
NOT_FOUND | 4 | いいえ | リソース識別子(アドレス、ハッシュ、ID)が正しいことを確認します |
INVALID_ARGS | 2 | いいえ | alchemy --json help <command> でコマンドの使い方を確認します |
INTERNAL_ERROR | 1 | いいえ | 予期しないエラーです。再試行するか、バグを報告してください |
alchemy --json --no-interactive agent-prompt を実行すると、いつでも正式な全コード一覧を取得できます。
他のスキルへの引き継ぎ
| ユーザーの希望 | 引き継ぎ先 |
|---|---|
| 本番環境にデプロイするアプリケーションコードに、API キーを使って Alchemy を組み込む | alchemy-api |
| API キーを使わずにアプリケーションコードへ Alchemy を組み込む、または自律エージェントとしてリクエストごとに支払う | agentic-gateway |
| CLI がインストールされておらず、インストールも希望しない状態でライブの作業を行う(MCP は接続済み) | alchemy-mcp |
alchemy-api のフローに移行する(API キーを取得する)
ユーザーがアプリケーションコードのプロジェクトを開始し、シェルで $ALCHEMY_API_KEY が設定されていない場合は、CLI を使って Alchemy アカウントからキーを取得し、ターミナルのセッションをまたいで保持されるようプロジェクトの .env に保存してから、現在のシェルでエクスポートし、エージェントがすぐに使えるようにします。
セキュリティ: 会話の出力に、取得した API キーの値を絶対にエコー、表示、またはその他の方法で出してはいけません。エクスポート後は
$ALCHEMY_API_KEYとしてのみ参照してください。パスワードと同様に扱ってください。
# 1. Try to read a cached key from CLI config (read-only, safe non-interactive).
KEY="$(alchemy --no-interactive --json --reveal config get api-key 2>/dev/null | jq -r .value)"
# 2. If empty/null, run the interactive flow.
# Note: auth login opens a browser and app select shows a picker, so do NOT
# pass --no-interactive here. If you already know the app id, pass it
# explicitly to skip the picker: `alchemy --no-interactive --json app select <id>`.
if [ -z "$KEY" ] || [ "$KEY" = "null" ]; then
alchemy auth login # opens browser; sets up account credentials
alchemy --json app select # interactive picker (omit --no-interactive so it can render)
KEY="$(alchemy --no-interactive --json --reveal config get api-key | jq -r .value)"
fi
# 3. Persist to the project's .env (standard practice — survives terminal restarts
# and gets loaded by dotenv / framework env loaders at runtime).
# Use .env.local if the project's framework expects that (e.g. Next.js).
ENV_FILE=".env"
touch "$ENV_FILE"
if grep -q '^ALCHEMY_API_KEY=' "$ENV_FILE"; then
sed -i.bak "s|^ALCHEMY_API_KEY=.*|ALCHEMY_API_KEY=$KEY|" "$ENV_FILE" && rm "$ENV_FILE.bak"
else
echo "ALCHEMY_API_KEY=$KEY" >> "$ENV_FILE"
fi
grep -qxF "$ENV_FILE" .gitignore 2>/dev/null || echo "$ENV_FILE" >> .gitignore
# 4. Export to the current shell so the agent can call the API immediately.
export ALCHEMY_API_KEY="$KEY"
.env にキーが保存され、ALCHEMY_API_KEY がエクスポートされたら、alchemy-api スキルに引き継ぎます。