---
title: "Alchemy CLIで速くできる12のこと"
description: "Alchemy CLIは、認証、エージェントウォレット、マルチチェーン読み取り、送金、スワップ、ブリッジ、AIエージェント統合など、あらゆるオンチェーンワークフローを1つのコマンドにまとめます。"
---

# Alchemy CLIで速くできる12のこと

<ImageBlock
  src="https://media.alchemy.com/blog/12-things-alchemy-cli-hero-v2.png"
  alt="Alchemy CLIでより速くできる12のこと"
  width={1920}
  height={900}
  priority
/>

オンチェーンプロジェクトは、かつてどれも同じ手順で始まっていた。ダッシュボードを開き、APIキーをコピーし、秘密鍵を`.env`に貼り付け、npm installで3つのSDKを入れ、ようやく本題のコードを書く。コーディングエージェントは、どのRPCメソッドを呼ぶべきか調べるだけでセッションの半分を費やしていた。[Alchemy CLI](https://www.alchemy.com/docs/alchemy-cli)は、このセットアップにかかる手間を、パイプしたり、スクリプト化したり、コーディングエージェントに渡せるコマンドに圧縮する。ターミナルが、オンチェーンへの最短経路になる。

この記事では、CLIが1つのコマンドでこなす12個の処理を紹介する。サインイン、エージェントウォレットの起動、任意のチェーンの読み取り、書き込みのシミュレーション、トークン送信、スワップ、ブリッジ、そして同じツールをCursor、Claude Code、Codexに組み込むこと。紹介するコマンドはすべて今日から使える。

## Alchemy CLIとは

Alchemy CLIは単一の[npmパッケージ](https://www.npmjs.com/package/@alchemy/cli)、`@alchemy/cli`であり、我々が提供するすべてのAPI surface(Core RPC、Data API、swap、bridge、simulate、webhook、admin、wallet)を一貫したサブコマンドのセットでラップしたものだ。`npm i -g @alchemy/cli@latest`で一度インストールし、`alchemy auth`を実行すれば、同じフラグセットがすべてのコマンドで機能する。`--json`を`jq`にパイプし、`--no-interactive`でスクリプトをゲートする。ターミナルで動く同じsurfaceが、AIコーディングエージェントの中でも動く。

要点はこうだ。これまでダッシュボードやSDK経由で行っていたワークフローが、開発者がスクリプト化でき、エージェントが呼び出せる1本のコマンドラインに圧縮される。

## 認証とアイデンティティを1つのターミナルで

### 1. `alchemy auth`で一度サインインする

`alchemy auth`はブラウザを開き、アカウントにサインインさせ、セッションをディスクに保存する。すべてのプロジェクトのすべての`.env`にAPIキーを貼り付ける必要はもうない。`alchemy auth login --force`でチームを切り替え、`alchemy auth status`で状態を確認し、`alchemy auth logout`でクリアする。

<CodeSnippet
  language="bash"
  code={`npm i -g @alchemy/cli@latest
alchemy auth`}
/>

<ImageBlock
  src="https://media.alchemy.com/blog/12-things-alchemy-cli-auth.png"
  alt="Alchemy CLIにアカウントへのスコープ付きアクセスを許可する「ログイン認可」画面"
  width={1580}
  height={1190}
/>

「キーをコピーし、貼り付け、gitignoreに入れ、ローテーションする」というループを、プロジェクトごとに繰り返してきたのが、この1コマンドで置き換わる。

### 2. `alchemy wallet connect`でエージェントウォレットを起動する

CLIには[Privyがカストディを担うエージェントウォレット](https://www.alchemy.com/blog/agent-wallets-alchemy-cli)が同梱されている。Privyは埋め込みウォレットのプロバイダーで、ウォレットの秘密鍵を自社側で保持する。`alchemy wallet connect --mode session`はローカルで新しいP-256鍵ペアを生成し、Privyのバックエンドに時限付きのセッションを登録し、2段階で署名する。CLIがセッションキーのペイロードに署名し、Privyがウォレットに署名する。秘密鍵はPrivyの外に出ることはなく、セッションキーもデバイスの外に出ることはない。

<CodeSnippet
  language="bash"
  code={`alchemy wallet connect --mode session`}
/>

ダッシュボードから、または`alchemy wallet disconnect`で失効させれば、そのセッションは即座に使えなくなる。ローカル鍵を使うワークフローには`alchemy wallet connect --mode local --chain evm --import ~/.wallet/key`を使う。どちらの方法でも、秘密鍵が`.env`の中に置かれることはない。

### 3. `--x402`で従量課金にする

任意のコマンドに`--x402`を設定すると、CLIは接続済みのウォレットで我々のAPIに対して認証を行う。APIキーは使わない。リクエストが有料のエンドポイントに当たると、そのエンドポイントはHTTP 402を返し、CLIが[x402の支払いペイロード](https://docs.x402.org/)に署名し、リクエストが完了する。x402はCoinbaseが公開しているHTTPネイティブな支払いのためのオープンな仕様で、決済はBase上のUSDCで行われる。エージェントは[わずか1ドル](https://www.alchemy.com/blog/ai-agents-can-now-sign-up-for-alchemy)のコンピュートクレジットから始められ、ダッシュボードへの登録は不要だ。

<CodeSnippet
  language="bash"
  code={`# Pay per call with the wallet you connected in step 2
alchemy evm rpc eth_blockNumber -n base-mainnet --x402

# Or make it the default so you can drop the flag:
alchemy config set x402 true`}
/>

これで、エージェント(あるいは一度も登録したことのない人間の開発者)が、本番のワークロードが叩いているのと同じAPIにアクセスできる。APIキーも、ダッシュボードも、契約も不要だ。

## fetchのボイラープレートを書かずに任意のチェーンを読む

### 4. 任意のチェーンで任意のJSON-RPCメソッドを叩く

`alchemy evm rpc`は、任意のJSON-RPCメソッドを、`-n`で選択したネットワークにそのまま渡す。fetchのエンベロープを手書きする必要も、5行のスクリプトのためにSDKをインストールする手間もない。

<CodeSnippet
  language="bash"
  code={`alchemy evm rpc eth_blockNumber -n base-mainnet --json
alchemy evm rpc eth_getLogs '[{"fromBlock":"0x123","topics":["0x..."]}]' \\
  -n arb-mainnet --json`}
/>

Solanaの場合、JSON-RPCには`alchemy solana rpc`を、Digital Asset Standardのメソッドには `alchemy solana das`を使う。形式は、サポートしているすべてのチェーンで同じままだ。

### 5. マルチチェーンのポートフォリオを1回の呼び出しで取得する

`alchemy evm data portfolio tokens`は、あるウォレットが関わったすべてのチェーンにまたがるトークン残高を返す。7つのRPCプロバイダーをつなぎ合わせる必要も、チェーンごとに`eth_call`を各ERC-20コントラクトに叩く必要もない。

<CodeSnippet
  language="bash"
  code={`alchemy evm data portfolio tokens --json --body '{
  "addresses":[{
    "address":"vitalik.eth",
    "networks":["eth-mainnet","base-mainnet","arb-mainnet"]
  }]
}'`}
/>

NFTコレクションについても同じことをするには`portfolio nfts`を組み合わせる。これらと同じエンドポイントが、本番環境で我々の[Data API](https://www.alchemy.com/docs/data)のインデクサーを支えている。

### 6. 残高、転送履歴、NFTを一行のコマンドで問い合わせる

残高、トークンのメタデータ、転送履歴、NFTは、それぞれData API surface上の単一のサブコマンドとして提供されている。`--metadata`を付けると、名前、シンボル、decimals、ロゴURLがインラインで返る。

<CodeSnippet
  language="bash"
  code={`alchemy evm data tokens balances 0xabc... --metadata -n base-mainnet --json
alchemy evm data history 0xabc... -n eth-mainnet --json
alchemy evm data nfts 0xabc... --limit 20 -n eth-mainnet --json`}
/>

かつては4つの異なるSDKクライアントにまたがっていた読み取り処理が、いまでは1つのCLI上の4つのフラグとして提供される。

## シェルからトランザクションを書き込む

### 7. 送信前にシミュレートする

`alchemy evm simulate asset-changes`は、あるトランザクションが引き起こすトークンとETHの動きすべてについて、人間が読める形の差分を返す。`simulate execution`はフルトレースを返す。読み手は、そのコールがオンチェーンに反映される前に、それが実際に何をするのかを正確に把握できる。

<CodeSnippet
  language="bash"
  code={`alchemy evm simulate asset-changes --json --tx '{
  "from":"vitalik.eth",
  "to":"0x...",
  "data":"0x..."
}'`}
/>

メインネットの資金を扱う`evm send`や`contract call`を実行する前には、これを実行しておく。「ホットウォレットを壊してやり直す」という事態を防げる。

### 8. ENS名宛に一行で送金する

<CodeSnippet
  language="bash"
  code={`alchemy evm send vitalik.eth 0.01 -n base-mainnet
alchemy evm send 0xabc... 100 --token 0xUsdcAddress -n base-mainnet`}
/>

`alchemy evm send`はENSを解決し、ガスを処理し、現在アクティブなウォレット(セッション、ローカル、Privyカストディのいずれか)で署名する。`--x402`と組み合わせれば、同じ呼び出しが手順2で接続したウォレットを経由する。

### 9. 同じシェルからapprove、swap、bridgeを行う

`alchemy evm swap execute`は、同一チェーン内のスワップを見積もりから実行まで一貫して処理する。`alchemy xchain bridge execute`はクロスチェーン版だ。`alchemy evm approve`は、どのDEXスワップでも最初に必要になるERC-20のallowanceを処理する。

<CodeSnippet
  language="bash"
  code={`alchemy evm approve 0xPool --token-address 0xUsdc --amount 100 -n base-mainnet
alchemy evm swap execute --from 0xUsdc --to 0xEth --amount 100 -n base-mainnet
alchemy xchain bridge execute --from 0xUsdcBase --to 0xUsdcArb \\
  --amount 0.2 --to-network arb-mainnet -n base-mainnet`}
/>

[Alchemy CLIのドキュメント](https://www.alchemy.com/docs/alchemy-cli)によれば、同一チェーンでのスワップはEthereum、Base、Arbitrum、Optimism、Polygon、BSCを含む11のEVMメインネットで利用できる。クロスチェーンのブリッジも今日時点でCLIから利用できる。ダッシュボードのウィザードが、シェル上の3行に圧縮される。

## コーディングエージェントにCLIを組み込む

### 10. `alchemy agent-prompt`で完全なエージェントマニフェストを出力する

`alchemy agent-prompt`は、すべてのコマンド、フラグ、エラーコード、実行例を記述したJSONドキュメントを出力する。これをエージェントのシステムプロンプトにパイプすれば、エージェントはフラグ名を推測しなくてよくなる。

<CodeSnippet
  language="bash"
  code={`alchemy agent-prompt > .alchemy-prompt.json`}
/>

このマニフェストには、実行ポリシー、事前チェック、認証マトリクス、オプション付きのコマンドツリー、リトライ仕様付きのエラーカタログ、実行可能な例が含まれている。Cursor、Claude Code、Codex、その他どのコーディングエージェントでも、このファイルをそのままシステムプロンプトに組み込める。実践例は[How to build onchain agents](https://www.alchemy.com/blog/how-to-build-onchain-agents)を参照。

### 11. Alchemy Skillsをインストールする

`alchemy install skills`は[Alchemy Skillsバンドル](https://github.com/alchemyplatform/skills)をエージェントクライアントにインストールする。Skillsは、コーディングエージェントに、実行時にドキュメントを読まずにCLIの使い方を教える、機械可読なワークフローだ。

<CodeSnippet
  language="bash"
  code={`alchemy install skills`}
/>

このバンドルは4つのsurfaceをカバーする。CLI自体、APIキー経由のアプリ統合、MCP、そしてウォレットベースの支払いフローだ。1つのコマンドで、「エージェントが毎セッションドキュメントを読み漁る」状態から、「エージェントがすでにワークフローを知っている」状態に切り替わる。

### 12. MCPを接続する

`alchemy install mcp`は[Alchemy MCPサーバー](https://www.alchemy.com/docs/alchemy-mcp-server)をエージェントクライアントに接続する。MCP(Model Context Protocol)は、エージェントが実行時にツールを発見し呼び出せるようにするオープンな仕様だ。ホスト型のサーバーは`https://mcp.alchemy.com/mcp`にあり、admin、すべてのRPCメソッド、Data API surfaceにまたがる150以上のツールを、100以上のチェーンに対して公開している。

<CodeSnippet
  language="bash"
  code={`alchemy install mcp`}
/>

Claude Codeの場合は次の通り。

<CodeSnippet
  language="bash"
  code={`claude mcp add alchemy --transport http https://mcp.alchemy.com/mcp`}
/>

Skills、エージェントプロンプト用のマニフェスト、そしてMCPが揃うことで、CLIはエージェントのツールインベントリの中で二次的な依存先ではなく、第一級の機能になる。

## 5回の呼び出しで完結するエージェントデモ: 利回り比較、ブリッジ、供給

[Alchemy Skillsリポジトリ](https://github.com/alchemyplatform/skills)に同梱されている定番のデモは、Polygon、Arbitrum、OptimismでUSDCの供給APYを読み取り、0.2 USDCをBaseから最も利回りの高いチェーンへブリッジし、Aave V3に供給する。この記事で扱ってきたのと同じsurfaceを使った、5回のCLI呼び出しだ。

<ImageBlock
  src="https://media.alchemy.com/blog/12-things-alchemy-cli-demo.png"
  alt="Alchemy CLIを使い、L2間でAaveのUSDC利回りを比較し、BaseからArbitrumへブリッジし、Aaveに供給するエージェント。すべてターミナルから、生の秘密鍵を使わずに実行"
  width={1058}
  height={1292}
  caption="Source: https://x.com/uttam_singhk/status/2054540200874025224"
/>

上のデモでは、エージェントがUSDCに最適なAaveマーケットを見つけ、資金を適切なチェーンにブリッジし、プールに預け入れる。今日までは、このワークフローには秘密鍵を保持するカスタムのエージェントコードか、ウォレットSDKとコーディングアシスタントの間の手作りの統合のいずれかが必要だった。いまでは、いくつかのコマンドとダッシュボードのクリックだけで済む。

## 最初のコマンドを実行する

ここまで12個のコマンドを見てきた。2分で始められる手順は次の通り。インストールし、サインインし、ウォレットを接続し、送信する。

<CodeSnippet
  language="bash"
  code={`npm i -g @alchemy/cli@latest
alchemy auth
alchemy wallet connect --mode session
alchemy evm send vitalik.eth 0.001 -n base-mainnet`}
/>

SDKの乱立も、`.env`に置かれた秘密鍵も、ダッシュボードへの往復も不要だ。どんなオンチェーンのワークフローであれ、CLIは1つのプロンプトからそれを実行する。ターミナルが、オンチェーンへの最短経路になる。
