---
title: "使用 Alchemy CLI 更快完成的 12 件事"
description: "Alchemy CLI 将每一个链上工作流都变成一条命令：身份验证、智能体钱包、多链读取、发送、兑换、跨链，以及 AI 智能体集成。"
---

# 使用 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 key，把私钥粘贴进 `.env`，npm install 三个 SDK，最后才能写出你真正想写的那行代码。你的编码 agent 花了半个会话去确定该调用哪个 RPC 方法。[Alchemy CLI](https://www.alchemy.com/docs/alchemy-cli) 把这套搭建成本压缩成可以 pipe、可以脚本化、也可以交给编码 agent 的命令。你的终端是上链最快的路径。

这篇文章会介绍 CLI 用一条命令就能完成的十二件事：登录、拉起一个 agent 钱包、读取任意链、模拟写操作、发送代币、swap、bridge，以及把同一个工具接入 Cursor、Claude Code 或 Codex。文中展示的每条命令今天都可以直接使用。

## 什么是 Alchemy CLI？

Alchemy CLI 是一个单独的 [npm package](https://www.npmjs.com/package/@alchemy/cli)，即 `@alchemy/cli`，它把我们提供的每个 API 层（Core RPC、Data API、swap、bridge、simulate、webhook、admin 和 wallet）都封装在一套一致的子命令之下。用 `npm i -g @alchemy/cli@latest` 安装一次，运行 `alchemy auth`，同一组参数在每条命令上都适用。把 `--json` pipe 进 `jq`，用 `--no-interactive` 给脚本加上门控——同一套在你终端运行的接口，也能在 AI 编码 agent 内部运行。

核心要点：以前需要通过面板或 SDK 才能完成的工作流程，现在压缩成一条命令行，开发者可以脚本化，agent 也可以直接调用。

## 一个终端搞定认证与身份

### 1. 用 `alchemy auth` 登录一次

`alchemy auth` 会打开浏览器，把你登录到账户，并把会话存到本地磁盘。不用再在每个项目的每个 `.env` 里粘贴 API key。用 `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}
/>

一条命令取代了每个项目都要重复一遍的“复制 key、粘贴 key、gitignore key、轮换 key”循环。

### 2. 用 `alchemy wallet connect` 拉起一个 agent 钱包

CLI 提供了[由 Privy 托管的 agent 钱包](https://www.alchemy.com/blog/agent-wallets-alchemy-cli)。Privy 是 embedded-wallet 提供方，钱包的私钥保存在它那一侧。`alchemy wallet connect --mode session` 会在本地生成一个全新的 P-256 密钥对，向 Privy 后端注册一个有时效的会话，然后分两步签名：CLI 对 session-key 载荷签名，Privy 对钱包签名。私钥不会离开 Privy，session key 也不会离开你的设备。

<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 key。当请求命中一个付费端点时，端点返回 HTTP 402，CLI 对 [x402 payment payload](https://docs.x402.org/) 签名，请求随即完成。x402 是 Coinbase 提出的一套面向 HTTP 原生支付的开放规范；结算以 USDC 在 Base 上进行。agent 只需[最低 $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`}
/>

现在，一个 agent（或者从未注册过的开发者）也能调用你生产环境所使用的同一批 API。不需要 API key，不需要面板，不需要合同。

## 无需编写 fetch 样板代码即可读取任意链

### 4. 对任意链调用任意 JSON-RPC 方法

`alchemy evm rpc` 会把任意 JSON-RPC 方法透传到你用 `-n` 选定的网络。无需手写 fetch 请求体，也无需为一个五行的脚本经历一遍 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. 一次调用拉取多链资产组合

`alchemy evm data portfolio tokens` 会返回一个钱包在所有接触过的链上的代币余额。无需把七个 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"]
  }]
}'`}
/>

搭配 `portfolio nfts` 可以在 NFT 收藏品上实现同样的效果。生产环境中驱动我们 [Data API](https://www.alchemy.com/docs/data) 索引器的正是这些相同的端点。

### 6. 用一行命令查询余额、转账和 NFT

余额、代币元数据、转账历史和 NFT 在 Data API 层各自以一个单独的子命令提供。加上 `--metadata`，返回的调用结果里会直接包含 name、symbol、decimals 和 logo 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`}
/>

以前需要横跨四个不同 SDK client 的读取操作，现在都变成了一个 CLI 上的四个 flag。

## 从你的 shell 里发送交易

### 7. 发送前先模拟

`alchemy evm simulate asset-changes` 会返回一份人类可读的 diff，展示一笔交易会引发的每一笔代币和 ETH 的变动。`simulate execution` 返回完整的 trace。使用者在交易真正上链之前就能确切看到这次调用会做什么。

<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、处理 gas，并用当前活跃的钱包（session、本地或由 Privy 托管）进行签名。配合 `--x402`，同样的调用会走你在第 2 步连接的那个钱包。

### 9. 在同一个 shell 里完成 approve、swap 和 bridge

`alchemy evm swap execute` 能把一次同链 swap 从报价一路带到执行。`alchemy xchain bridge execute` 做的是跨链版本。`alchemy evm approve` 负责处理每次 DEX swap 之前都需要的 ERC-20 授权。

<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)，同链 swap 已经在 11 条 EVM 主网上上线，包括 Ethereum、Base、Arbitrum、Optimism、Polygon 和 BSC。跨链 bridge 今天也已经在 CLI 中提供。面板向导被压缩成了三行 shell 命令。

## 把 CLI 接入你的编码 agent

### 10. 用 `alchemy agent-prompt` 导出完整的 agent manifest

`alchemy agent-prompt` 会输出一份 JSON 文档，描述每条命令、每个 flag、每个错误码和示例。把它 pipe 进你 agent 的系统提示词，agent 就不用再猜 flag 名字了。

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

这份 manifest 包含一套执行策略、preflight 检查、认证矩阵、带选项的命令树、带重试语义的错误目录，以及可运行的示例。对于 Cursor、Claude Code、Codex 或其他任何编码 agent，这个文件可以直接放进系统提示词。实际应用模式参见：[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)安装到你的 agent client 里。Skills 是机器可读的工作流程，能让编码 agent 学会如何使用 CLI，而不用在运行时去读文档。

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

这个合集覆盖四个层面：CLI 本身、通过 API key 的应用集成、MCP，以及基于钱包的支付流程。一条命令就把“agent 每次会话都得扫一遍文档”换成了“agent 已经知道这套工作流程”。

### 12. 接入 MCP

`alchemy install mcp` 会把 [Alchemy MCP server](https://www.alchemy.com/docs/alchemy-mcp-server) 接入你的 agent client。MCP（Model Context Protocol）是一套开放规范，让 agent 能在运行时发现并调用工具。托管的 server 地址是 `https://mcp.alchemy.com/mcp`，暴露了超过 150 个工具，覆盖 100 多条链：admin、每一个 RPC 方法，以及 Data API 层。

<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、agent-prompt manifest 和 MCP 三者结合，让 CLI 成为 agent 工具清单里的一等能力，而不是一个附带的依赖项。

## 五次调用的 agent 演示：收益比较、bridge、供给

[Alchemy Skills 仓库](https://github.com/alchemyplatform/skills)里附带的这个典型演示会读取 Polygon、Arbitrum 和 Optimism 上 USDC 的供给 APY，把 0.2 USDC 从 Base bridge 到收益最高的链上，然后供给到 Aave V3。五次 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"
/>

在上面这个演示中，agent 找到了 USDC 最佳的 Aave 市场，把资金 bridge 到正确的链上，然后存入资金池。在此之前，这套流程要么需要持有私钥的自定义 agent 代码，要么需要手工搭建 wallet SDK 与编码助手之间的集成。现在，只需几条命令和面板上的一次点击。

## 开始你的第一条命令

你刚才看到了十二条命令。这里是两分钟的上手方式：安装、登录、连接钱包、发送。

<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 都能从一个 prompt 把它跑起来。你的终端是上链最快的路径。
