关于 bankr
bankr 是通过自然语言提示或钱包 API 执行加密交易与 DeFi 操作的技能,面向使用 Bankr CLI 或 REST API 的 Agent 和开发者。它结合了同步钱包接口与异步 Agent 任务。
主要功能
- 01通过自然语言执行加密操作
- 02查询投资组合并转账
- 03签名并提交交易
- 04支持异步提示词任务与会话
- 05提供 CLI 和 REST API
适用场景
- 01让 Agent 查询代币余额或价格
- 02提交钱包转账或交易
- 03通过提示词会话继续操作
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ bankrbot/ skills --skill bankr安装后在 Claude Code 中输入/bankr确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
catalog.jsonreferences/api-workflow.mdarbitrary-transaction.mdautomation.mderror-handling.mdfiles.mdhyperliquid.mdleverage-trading.mdllm-gateway.mdmarket-research.mdnft-operations.mdpolymarket.mdportfolio.mdprojects.mdsafety.mdsign-submit-api.mdtoken-deployment.mdtoken-trading.mdtokenized-stocks.mdtransfers.mdx402-cloud.md详细介绍
Bankr
使用自然语言执行加密货币交易和 DeFi 操作。提供两种集成方式:
- Bankr CLI(推荐)——安装
@bankr/cli,即可获得功能齐全的终端体验 - REST API——可直接从任何语言或工具调用
https://api.bankr.bot
两种方式使用相同的 API 密钥。API 分为两层:
- Wallet API(
/wallet/*)——用于投资组合、转账、签名和交易提交的直接同步端点 - Agent API(
/agent/*)——由 AI 驱动的异步提示词端点,用于自然语言操作
获取 API 密钥
使用任一方式前,你都需要 Bankr API 密钥。获取方式有两种:
选项 A:无头邮箱登录(推荐用于 Agent)
分两步完成——先发送 OTP,然后验证并完成设置。有关包含用户偏好提示的完整引导流程,请参阅下方的“首次设置”。
# Step 1 — send OTP to email
bankr login email [email protected]
# Step 2 — verify OTP and generate API key (options based on user preferences)
bankr login email [email protected] --code 123456 --key-name "My Agent"
此操作会创建钱包、接受服务条款并生成 API 密钥,无需浏览器。完成第 2 步即代表用户接受了服务条款(无头登录默认启用 --accept-terms),因此请先向用户分享该链接,并告知用户登录即表示接受条款,然后再运行命令——请参阅下方的“首次设置”。新密钥的默认设置与 bankr.bot/api-keys 创建表单相同:启用 Wallet API、Agent API 和 Token Launch,设为读写权限,关闭 LLM 网关。运行第 2 步之前,请询问用户要更改哪些设置(--no-wallet-api、--no-agent-api、--no-token-launch、--read-only、--llm),以及希望使用的密钥名称。
**启用了 MFA 的账户需要通过浏览器完成一步操作。**启用 MFA 时,生成 API 密钥需要使用通行密钥进行升级验证,而终端无法使用通行密钥。第 2 步会显示一个审批链接(
https://bankr.bot/mfa/confirm/<token>),在交互模式下会自动打开,并等待用户在页面上使用通行密钥完成验证,最长 五分钟,然后继续。请向用户展示该链接并等待;不要重试第 2 步。如果链接过期,CLI 会退出并显示MFA_STEP_UP_REQUIRED指引——请改用选项 B:在 Bankr Terminal 中创建密钥,然后运行bankr login --api-key bk_...。需要 @bankr/cli 0.3.38+(运行bankr update);旧版本在 MFA 账户上会直接导致第 2 步失败。
**第 2 步只能执行一次。**OTP 在验证时即会被使用。从 @bankr/cli 0.3.39+ 起,如果连接中断或网关返回 5xx,CLI 会自动重试 OTP 验证、钱包和条款步骤(无效代码或 429 不会重试),因此切勿使用相同代码重新运行第 2 步——如果命令直接失败,请从第 1 步重新开始,以获取新代码。
选项 B:Bankr Terminal
- 访问 bankr.bot/api-keys
- 注册 / 登录——输入邮箱以及发送到该邮箱的一次性验证码(OTP)
- 生成 API 密钥——创建一个启用了 Wallet & Agent API 访问权限的密钥(密钥以
bk_...开头)
两种方式都会自动配置 EVM 钱包(Base、Ethereum、Polygon、Unichain)和 Solana 钱包,无需手动设置钱包。
选项 1:Bankr CLI(推荐)
安装
bun install -g @bankr/cli
也可以使用 npm 安装:
npm install -g @bankr/cli
首次设置
无头邮件登录(推荐用于 Agent)
当用户要求使用电子邮件登录时,引导他们完成以下流程。如果用户的 Bankr 账户启用了 MFA,第 2 步会增加浏览器审批流程:CLI 会打印一个 bankr.bot/mfa/confirm/... 链接,并等待用户在该链接中使用通行密钥完成验证(最长等待 5 分钟)。该链接出现后立即提供给用户,并让命令继续运行——获批后 CLI 会自动继续。如果用户无法及时完成审批,请改用下方的“使用现有 API 密钥登录”。
第 1 步 — 发送验证码
bankr login email <user-email>
**第 2 步 — 在一条消息中询问用户 OTP 验证码和所有偏好。**这样可以避免不必要的来回沟通。询问以下内容:
- OTP 验证码 — 用户通过电子邮件收到的验证码
- 服务条款(必需) — 分享服务条款链接,并明确说明,完成此登录即表示用户接受 Bankr 的服务条款。无头登录会在登录过程中接受服务条款(无需添加标志),因此只需用户同意即可继续。可以这样说:“完成此登录即表示你接受 Bankr 的服务条款(https://bankr.bot/terms)。请把验证码发给我以继续;如果你不接受,请告诉我,我会就此停止。”**如果用户不接受,请停止——不要执行第 2 步。**
- 需要哪些 API?
- Wallet API — 默认启用,使用
--no-wallet-api可禁用 - Agent API — 默认启用(AI 驱动的提示词和自然语言操作),使用
--no-agent-api可禁用 - Token Launch — 默认启用,使用
--no-token-launch可禁用 - 只读? — 新密钥默认具有读写权限。对于不得进行交易的研究或监控密钥,请添加
--read-only
- Wallet API — 默认启用,使用
- 启用 LLM 网关访问权限?(
--llm)—llm.bankr.bot上的多模型 API(目前仅限 Beta 测试者使用)。如果用户不需要,则跳过。 - 密钥名称?(
--key-name)— API 密钥的显示名称(例如“My Agent”“Trading Bot”)
**第 3 步 — 根据用户的选择构造并运行第 2 步命令。**如果用户拒绝了服务条款或尚未作答,请勿执行——必要时再次询问。运行第 2 步即表示代用户接受服务条款:
# Default key: wallet + agent + token launch, read-write (AI can execute transactions)
bankr login email <user-email> --code <otp> --key-name "Trading Agent"
# Same, plus LLM gateway access
bankr login email <user-email> --code <otp> --key-name "My Agent" --llm
# Research agent: read-only (prices, balances, research — no transactions), no token launch
bankr login email <user-email> --code <otp> --key-name "Research Agent" --read-only --no-token-launch
# Wallet API only (no AI prompts): direct /wallet/* calls from your own code
bankr login email <user-email> --code <otp> --key-name "Wallet Client" --no-agent-api --no-token-launch
# LLM-only (no wallet, no token launch)
bankr login email <user-email> --code <otp> --key-name "LLM Client" --no-wallet-api --no-token-launch --llm
登录选项参考
| 选项 | 描述 |
|---|---|
--code <otp> | 通过电子邮件收到的 OTP 代码(第 2 步) |
--accept-terms | 无需提示即可接受服务条款。在 @bankr/cli 0.3.39+ 中,无头登录(--code / --ni)会自动包含此选项;它是为兼容旧脚本而保留的空操作。在 0.3.38 及更早版本中,新账户仍必须传入此选项,否则第 2 步会失败 |
--key-name <name> | API 密钥的显示名称(例如,“我的 Agent”)。若省略则会提示输入;无头运行时默认为 CLI-<date>-<time> |
--no-wallet-api | 禁用 Wallet API(默认启用) |
--no-agent-api | 禁用 Agent API(默认启用) |
--read-only | 将密钥限制为只读操作(新密钥默认具有读写权限)。不能与 --read-write 同时使用 |
--read-write | 允许执行交易。新密钥默认已具有读写权限 |
--no-token-launch | 禁用 Token Launch API(默认启用) |
--llm | 启用 LLM gateway 访问权限(通过 llm.bankr.bot 提供的多模型 API)。目前仅限 Beta 测试者使用 |
--allowed-ips <ips> | API 密钥的 IP/CIDR 逗号分隔允许列表(例如,1.2.3.4,10.0.0.0/24) |
--allowed-recipients <addresses> | 此密钥可发送到的 EVM/Solana 地址,多个地址以逗号分隔(根据 0x 前缀自动分类) |
新密钥默认值(未传入任何标志时):
| 标志 | 默认值 | 更改方式 |
|---|---|---|
walletApiEnabled | 已启用 | --no-wallet-api |
agentApiEnabled | 已启用 | --no-agent-api |
tokenLaunchApiEnabled | 已启用 | --no-token-launch |
llmGatewayEnabled | 已禁用 | --llm |
readOnly | 已禁用 | --read-only |
这些默认值以及 --no-agent-api / --read-only 标志要求 @bankr/cli 0.3.37+——较旧版本通过电子邮件登录创建的密钥会关闭 Agent API,且没有禁用选项(运行 bankr update,或在 bankr.bot/api-keys 修复密钥)。登录后打印的 Features: 行会显示密钥实际启用了哪些功能。bankr login siwe 有一处不同:其密钥默认以只读权限启动,使用 --read-write 可切换为读写权限(该方式也支持 --no-agent-api)。
未在命令行中提供的选项都会由 CLI 交互式提示,因此可根据需要混合使用无头和交互式方式。
使用现有 API 密钥登录
如果用户已有 API 密钥(当启用了 MFA 的账户的浏览器批准过期或无法完成时,也可用此方式作为后备):
bankr login --api-key bk_YOUR_KEY_HERE
如果需要在 Bankr Terminal 创建密钥:
- 运行
bankr login --url——打印终端 URL - 向用户提供该 URL,并请他们生成一个
bk_...密钥 - 运行
bankr login --api-key bk_THE_KEY
单独的 LLM Gateway 密钥(可选)
如果你的 LLM gateway 密钥与 API 密钥不同,可在登录时传入 --llm-key,或之后运行 bankr config set llmKey YOUR_LLM_KEY。若未设置,两者将使用同一个 API 密钥。完整详情请参阅 references/llm-gateway.md。
验证设置
bankr whoami
bankr wallet portfolio
bankr agent prompt "What is my balance?"
选项 2:REST API(直接调用)
无需安装 CLI——可直接使用 curl、fetch 或任意 HTTP 客户端调用 API。
机器可读规范(OpenAPI)
公开 API 接口以 OpenAPI 3.0 文档形式发布,并作为原始文件提供,方便 Agent 和代码生成器直接使用:
https://docs.bankr.bot/openapi/api.yaml
如果该文档的位置发生变更,Agent API 概览中会提供当前链接。
它涵盖整个 API 密钥接口范围——/agent/* 提示词和任务、/wallet/* 端点、代币搜索和收款方解析、代币发布、创作者费用、项目(Agent 个人资料)页面、文件存储、Bankr Club、LLM Gateway 额度,以及 x402 Cloud 和 Webhooks 部署端点。每项操作都会说明需要哪些密钥标志,以及哪些安全设置可能会拒绝该操作。
请获取规范,而不要猜测路由或请求载荷结构——它是请求/响应架构的权威说明,并且在各次同步之间会先于本技能更新。说明性文档位于 docs.bankr.bot。
身份验证
所有请求都需要 X-API-Key 标头:
curl -X POST "https://api.bankr.bot/agent/prompt" \
-H "X-API-Key: bk_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"prompt": "What is my ETH balance?"}'
快速示例:提交 → 轮询 → 完成
# 1. Submit a prompt — returns a job ID
JOB=$(curl -s -X POST "https://api.bankr.bot/agent/prompt" \
-H "X-API-Key: $BANKR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"prompt": "What is my ETH balance?"}')
JOB_ID=$(echo "$JOB" | jq -r '.jobId')
# 2. Poll until terminal status
while true; do
RESULT=$(curl -s "https://api.bankr.bot/agent/job/$JOB_ID" \
-H "X-API-Key: $BANKR_API_KEY")
STATUS=$(echo "$RESULT" | jq -r '.status')
[ "$STATUS" = "completed" ] || [ "$STATUS" = "failed" ] || [ "$STATUS" = "cancelled" ] && break
sleep 2
done
# 3. Read the response
echo "$RESULT" | jq -r '.response'
对话线程
每个提示词响应都包含一个 threadId。传回该 ID 即可继续对话:
# Start — the response includes a threadId
curl -X POST "https://api.bankr.bot/agent/prompt" \
-H "X-API-Key: $BANKR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"prompt": "What is the price of ETH?"}'
# → {"jobId": "job_abc", "threadId": "thr_XYZ", ...}
# Continue — pass threadId to maintain context
curl -X POST "https://api.bankr.bot/agent/prompt" \
-H "X-API-Key: $BANKR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"prompt": "And what about SOL?", "threadId": "thr_XYZ"}'
省略 threadId 即可开始新对话。CLI 等效命令:bankr agent prompt --continue(重用上一个线程)或 bankr agent prompt --thread <id>。
API 端点摘要
Wallet API(/wallet/*)——直接端点(同步)
| 端点 | 方法 | 身份验证 | 说明 |
|---|---|---|---|
/wallet/me | GET | Read | 钱包信息(地址、链) |
/wallet/portfolio | GET | Read | 投资组合余额;支持 ?include=pnl,nfts 以渐进式加载 |
/wallet/swap-quote | POST | Read | 获取兑换报价(同链 EVM、跨链或 Solana),但不执行兑换 |
/wallet/swap | POST | Write | 执行兑换——同链 EVM、跨链或任意 Solana 交易腿(输出返回到你的钱包) |
/wallet/transfer | POST | Write | 转移代币(多链,支持强制执行 allowedRecipients) |
/wallet/sign | POST | Write | 签署消息、类型化数据或交易 |
/wallet/submit | POST | Write | 向链提交原始交易 |
- Read 端点(
/wallet/me、/wallet/portfolio)——任何拥有钱包的有效 API 密钥均可使用 - 兑换报价(
/wallet/swap-quote)——报价属于读取操作,因此允许只读 API 密钥;API 密钥调用方仍需启用walletApiEnabled - Write 端点(
/wallet/swap、/wallet/transfer、/wallet/sign、/wallet/submit)——需要启用walletApiEnabled,且会拒绝只读密钥。/wallet/transfer还会强制执行allowedRecipients;/wallet/swap不会(输出返回到你自己的钱包)。/wallet/submit也会根据你的钱包安全设置进行检查——原生value的支出限额、当value > 0时对to的允许收款方设置,以及任意合约调用开关——拒绝时会返回403,且可能包含机器可读的errorCode(守卫因限额/收款方/定价而拒绝),也可能只有普通消息而不带代码(钱包已暂停、任意调用已关闭),因此需要处理这两种格式(参见 references/sign-submit-api.md) - 所有端点均强制执行 IP 允许列表
收款方和用户查询辅助端点(公开,无需身份验证)
| 端点 | 方法 | 说明 |
|---|---|---|
/addresses/resolve?value=<recipient>&type=<address|ens|twitter|farcaster> | GET | 将收款方(0x 地址、ENS 风格名称 .eth/.base.eth/.cb.id 或社交账号)解析为 0x 地址。bankr wallet transfer --to 使用此功能来支持 ENS 输入。 |
/users/search?... | GET | 按 Twitter 或 Farcaster 用户名搜索 Bankr 用户。 |
旧版别名 /public/resolve-recipient 和 /public/search-users 已移除——请改用结构化端点 /addresses/resolve 和 /users/search。
Agent API(/agent/*)— AI 驱动的端点(异步)
| 端点 | 方法 | 描述 |
|---|---|---|
/agent/prompt | POST | 提交提示词(异步,返回任务 ID) |
/agent/job/{jobId} | GET | 检查任务状态和结果 |
/agent/job/{jobId}/cancel | POST | 取消正在运行的任务 |
公共端点(无需身份验证)
| 端点 | 方法 | 描述 |
|---|---|---|
/token-launches | GET | 列出最近推出的代币(缓存,公开) |
/token-launches/quote-tokens?chain=<chain> | GET | 报价此链上的代币发行可与之配对的代币 — 优先 WETH,然后是代币化股票(Robinhood Chain / Base)和 Base 许可名单;每个条目都会注明用于选择该代币的 deploy 字段 |
已移除的旧版端点
以下 /agent/* 端点已移除。请使用对应的 /wallet/* 端点:
| 已移除 | 替代端点 |
|---|---|
GET /agent/me | GET /wallet/me |
GET /agent/balances | GET /wallet/portfolio |
POST /agent/sign | POST /wallet/sign |
POST /agent/submit | POST /wallet/submit |
如需完整的 API 详细信息(请求/响应架构、任务状态、丰富数据、轮询策略),请参阅:
参考:references/api-workflow.md | references/sign-submit-api.md
CLI 命令参考(v0.3.x)
@bankr/cli 0.2+ 将命令分为三个命名空间:wallet、agent 和 tokens。旧的扁平命令(balances、prompt、status 等)仍可作为已弃用的别名使用。
bankr wallet — 钱包操作
| 命令 | 描述 |
|---|---|
bankr wallet | 显示钱包信息(默认:whoami) |
bankr wallet portfolio | 显示所有链上的投资组合余额(默认隐藏低于 $1 的代币) |
bankr wallet portfolio --pnl | 包含盈亏数据 |
bankr wallet portfolio --nfts | 包含 NFT 持仓 |
bankr wallet portfolio --all | 同时包含 PnL 和 NFT |
bankr wallet portfolio --chain <chains> | 按链筛选:base、polygon、mainnet、unichain、arbitrum、bnb、worldchain、robinhood、arc、solana(以逗号分隔) |
bankr wallet portfolio --json | 输出原始 JSON |
bankr wallet transfer --to <recipient> --token <symbol> --amount <amount> | 转账代币;--to 接受 0x 地址或 ENS 风格名称(.eth、.base.eth、.cb.id),--token 会将代币符号解析为合约。社交账号仅可通过 AI Agent 使用。 |
bankr wallet transfer --to vitalik.eth --token USDC --amount 50 --chain base | 指定链的 ENS 收款方 |
bankr wallet swap --from <symbol/addr> --to <symbol/addr> --amount <amount> | 在单条 EVM 链上兑换代币(同链)。将代币符号解析为合约;必须提供 --from/--to/--amount;--chain 默认值为 base。不支持 Solana(跨链和 Solana 兑换请使用 Wallet API 或 Agent)。 |
bankr wallet swap --from ETH --to USDC --amount 0.1 --chain base --quote-only | 打印兑换报价(支付金额 / 收取金额 / 最低收取金额),但不执行兑换 |
bankr wallet sign | 对消息/类型化数据/交易进行签名 |
bankr wallet submit | 提交原始交易 |
bankr agent — AI Agent 操作
| 命令 | 描述 |
|---|---|
bankr agent prompt <text> | 向 Bankr AI Agent 发送提示词 |
bankr agent prompt <text> --model <id> | Max Mode — 使用指定的网关模型运行此提示词,费用从 LLM 额度中扣除(也可使用 -m) |
bankr agent prompt --continue <text> | 继续最近的对话线程 |
bankr agent prompt --thread <id> <text> | 继续指定的对话线程 |
bankr agent status <jobId> | 检查正在运行的任务状态 |
bankr agent cancel <jobId> | 取消正在运行的任务 |
bankr agent skills | 显示所有 Bankr AI Agent 技能及示例 |
bankr project — 项目页面
创建和管理公开项目页面(列于 bankr.bot/terminal/projects 的页面)。
| 命令 | 描述 |
|---|---|
bankr project | 查看项目页面(使用 --json 获取原始输出) |
bankr project create | 创建项目页面(交互式,或使用 --name/--description/--token/--image/--website) |
bankr project update | 更新字段(钱包持有多个项目时必须使用 --slug) |
bankr project add-update | 发布时间线更新(--title、--content、--slug) |
bankr project delete | 删除项目页面(--slug) |
一个钱包可以持有多个项目页面;--slug 用于区分它们。
REST 接口中始终使用“profile”一词——包括 /agent/profile、/agent-profiles 和 JSON 字段。参见 references/projects.md,其中包含通过 slug 指定地址以及使用 multi=true 的变体。
bankr tokens — 代币发现
| 命令 | 描述 |
|---|---|
bankr tokens search <query> | 按名称或符号搜索代币 |
bankr tokens info <symbol-or-address> | 获取代币详细信息 |
bankr files — 文件存储
| 命令 | 描述 |
|---|---|
bankr files ls [--folder <path>] | 列出文件,可限定在指定文件夹中 |
bankr files upload <file> [--folder <path>] | 上传本地文件 |
bankr files download <fileId> | 获取下载 URL |
bankr files cat <fileId> | 将文件内容打印到 stdout(或保存到本地) |
bankr files edit <fileId> --find <text> --replace <text> | 就地查找并替换(使用 --all 可替换所有匹配项) |
bankr files write <fileId> [--from <path>] | 使用本地文件或 stdin 覆盖文本内容 |
bankr files search <query> [--folder <path>] [--limit <n>] | 按文件名、扩展名或描述搜索 |
bankr files mkdir <name> [--parent <path>] | 创建文件夹 |
bankr files rm <fileId> | 删除文件(软删除,可在 24 小时内恢复) |
bankr files storage | 显示存储用量和配额 |
bankr club — Bankr Club 会员资格
通过命令行管理 Bankr Club 订阅(状态、注册、取消)。使用 USDC(默认)、BNKR、ETH 或任意 Base ERC-20 代币付款;非 USDC/BNKR 代币会在结账时兑换为 USDC。
| 命令 | 说明 |
|---|---|
bankr club | 显示会员状态(默认;与 status 相同) |
bankr club status | 显示套餐、续订日期和每日消息数量 |
bankr club signup | 订阅(月付,默认使用 USDC) |
bankr club signup --yearly | 按年订阅($198 — 每年约省 $42) |
bankr club signup --token <symbol-or-addr> | 使用 USDC(默认)、BNKR、ETH 或任意以 0x 开头的 Base ERC-20 代币付款 |
bankr club signup -y | 跳过确认提示 |
bankr club cancel | 取消订阅(访问权限持续至周期结束) |
价格为每月 $20 或每年 $198 的等值美元金额。实际链上金额取决于报价时所选代币的价格。--token 标志在 CLI 0.3.4 中添加;较旧版本仅支持 USDC。
Club 实际限制的功能(其他所有功能均无需 Club):
| 权益 | 标准版 | Bankr Club |
|---|---|---|
| 兑换费 | 0.65% | 0.15% |
| 终端消息 | 每天 5 条 | 无限制 |
| Agent API 请求 | 每天 100 次 | 每天 1,000 次 |
| 并发定期 Agent 命令自动化 | — | 最多 20 个 |
| 代币发行 | 每滚动 24 小时 3 次 | 每滚动 24 小时 3 次 — Club 不会提高此上限 |
| 文件存储 | 1 GB(每个文件 10 MB) | 10 GB(每个文件 50 MB) |
| 每月文件下载量 | 10 GB | 100 GB |
| 模型路由 | 标准 | 顶级模型 |
| 浏览器会话、高级研究(Bankr 评分、PnL 和交易量分析、网页搜索、社交情绪分析) | — | 已包含 |
发行上限是唯一有意保持不变的权益:所有 Bankr 钱包——标准版、Club、合作组织、已配置的合作方——每滚动 24 小时的计入发行尝试次数均为 3 次。请参阅代币部署。
Max Mode 是订阅的替代方案——每次请求使用 LLM 额度付费,即可无限发送终端消息;它也适用于外部/已连接的钱包,而 Club 结账不支持这些钱包(Club 要求使用嵌入式 Bankr 钱包)。在 Agent API 上,非 Club 的 Max Mode 仍限制为每天 100 次请求。持有旧版 Bankr Club NFT 不会授予会员资格;它是为首批 1,000 名订阅者发行的纪念代币。
月付 → 年付升级:月付有效会员可以通过向 Agent 发出请求升级为年付(例如“帮我升级为年付”)。升级时会收取完整的年付价格,新的 365 天期限会叠加在剩余月付期限之上,因此已付费时间不会损失。不支持年付 → 月付降级,也不支持年付续订。
身份验证与配置命令
| 命令 | 说明 |
|---|---|
bankr login | 使用 Bankr API 进行身份验证(交互式菜单) |
bankr login email <address> | 向电子邮箱发送 OTP(无头模式第 1 步) |
bankr login email <address> --code <otp> [options] | 验证 OTP 并完成设置(无头模式第 2 步) |
bankr login --api-key <key> | 直接使用现有 API 密钥登录 |
bankr login --api-key <key> --llm-key <key> | 使用单独的 LLM 网关密钥登录 |
bankr login --url | 打印用于生成 API 密钥的 Bankr Terminal URL |
bankr logout | 清除已存储的凭据 |
bankr whoami | 显示当前身份验证信息 |
bankr config get [key] | 获取配置值 |
bankr config set <key> <value> | 设置配置值 |
bankr --config <path> <command> | 使用自定义配置文件路径 |
有效的配置键:apiKey、apiUrl、llmKey、llmUrl
默认配置位置:~/.bankr/config.json。可使用 --config 或 BANKR_CONFIG 环境变量覆盖。
非交互模式
对于无头环境(CI 流水线、Docker 容器、cron 作业),请传入全局标志 --not-interactive(别名 --ni),或设置 BANKR_NOT_INTERACTIVE=1。两种形式都可放在子命令之前或之后。
该标志会对每个确认提示默认选择“是”,并在命令可能因必需提示而挂起时快速失败(退出码为 1,并显示明确错误)。当用户要求自动化或脚本化调用时,请使用此标志。
| 命令 | 设置 --ni 时所需的无头标志 |
|---|---|
bankr login | --api-key <key>、login siwe --private-key <key> 或 login email <addr> [--code <otp>](对于启用了 MFA 的账户,第 2 步仍会显示 passkey 批准链接并等待最多五分钟;在 --ni 下不会打开浏览器) |
bankr launch | --name <name>(其他字段默认为空;添加 --chain 和 --quote <symbol|address> 可选择链和池子的报价代币,否则使用 WETH) |
bankr fees claim-wallet | --all(以及 --private-key 或 BANKR_PRIVATE_KEY) |
bankr agent | 提示词参数或通过管道传入的 stdin |
只读命令(whoami、wallet portfolio、tokens、agent status 等)完全不会显示提示,因此使用 --ni 无害,但没有必要。
示例:
# Cron — claim creator fees nightly
BANKR_PRIVATE_KEY=0x... bankr --ni fees claim-wallet --all
# CI — programmatic token launch (simulate, no broadcast)
bankr --ni launch --name MyToken --symbol MTK --simulate
# Pipeline — agent prompt from stdin
echo "summarize today's trades" | bankr --ni agent prompt
已弃用的别名
旧的扁平命令仍然可用,但建议使用命名空间版本:
| 已弃用 | 改用 |
|---|---|
bankr prompt | bankr agent |
bankr status | bankr agent status |
bankr cancel | bankr agent cancel |
bankr balances | bankr wallet portfolio |
bankr profile | bankr project |
bankr agent profile | bankr project |
bankr sign | bankr wallet sign |
bankr submit | bankr wallet submit |
bankr skills | bankr agent skills |
环境变量
| 变量 | 描述 |
|---|---|
BANKR_API_KEY | API 密钥(覆盖已存储的密钥) |
BANKR_API_URL | API URL(默认值:https://api.bankr.bot) |
BANKR_LLM_KEY | LLM 网关密钥(未设置时回退使用 BANKR_API_KEY) |
BANKR_LLM_URL | LLM 网关 URL(默认值:https://llm.bankr.bot) |
BANKR_NOT_INTERACTIVE | 设置为 1 可全局启用非交互模式(等同于每次调用时传入 --ni / --not-interactive) |
环境变量会覆盖配置文件中的值。配置文件中的值会覆盖默认值。
LLM 网关命令
| 命令 | 描述 |
|---|---|
bankr llm models | 列出可用的 LLM 模型 |
bankr llm credits | 查看额度余额 |
bankr llm credits add <amount> [--token <addr>] [-y] | 从钱包充值 LLM 额度 |
bankr llm credits auto [--enable/--disable] [--amount] [--threshold] [--tokens] | 查看或配置自动充值 |
bankr llm setup openclaw [--install] | 生成或安装 OpenClaw 配置 |
bankr llm setup opencode [--install] | 生成或安装 OpenCode 配置 |
bankr llm setup claude | 显示 Claude Code 环境设置 |
bankr llm setup cursor | 显示 Cursor IDE 设置说明 |
bankr llm claude [args...] | 通过 Bankr LLM Gateway 启动 Claude Code |
bankr claude [args...] | bankr llm claude 的顶层别名 |
bankr llm opencode [args...] | 通过 Bankr LLM Gateway 启动 OpenCode |
在启动器命令(bankr claude、bankr llm claude、bankr llm opencode)中,所有参数(包括 -h / --help)都会转发给启动的工具,运行帮助命令无需身份验证。使用 bankr --help / bankr llm --help 查看 Bankr CLI 自身的帮助。命名命令的优先级也高于提示词回退,因此 bankr claude ... 会启动 Claude Code,而不是提示 Agent;当提示词以命令名称开头时,请使用 bankr agent "..."。
bankr claude 别名和 --help 转发功能要求 @bankr/cli 0.3.18+;较旧版本请使用 bankr llm claude。
核心用法
简单查询
对于能够快速完成的简单请求:
bankr agent prompt "What is my ETH balance?"
bankr agent prompt "What's the price of Bitcoin?"
CLI 会自动处理完整的提交、轮询和完成工作流。你也可以使用简写形式——任何无法识别的命令都会被视为提示词:
bankr What is the price of ETH?
交互式提示词
对于包含 $ 或特殊字符、可能被 shell 展开的提示词:
# Interactive mode — no shell expansion issues
bankr agent prompt
# Then type: Buy $50 of ETH on Base
# Or pipe input
echo 'Buy $50 of ETH on Base' | bankr agent prompt
对话线程
与 Agent 继续多轮对话:
# First prompt — starts a new thread automatically
bankr agent prompt "What is the price of ETH?"
# → Thread: thr_ABC123
# Continue the conversation (agent remembers the ETH context)
bankr agent prompt --continue "And what about BTC?"
bankr agent prompt -c "Compare them"
# Resume any thread by ID
bankr agent prompt --thread thr_ABC123 "Show me ETH chart"
每次提示词处理完成后,线程 ID 都会自动保存到配置中。--continue / -c 标志会复用上一个线程。
手动作业控制
适用于高级用法或长时间运行的操作:
# Submit and get job ID
bankr agent prompt "Buy $100 of ETH"
# → Job submitted: job_abc123
# Check status of a specific job
bankr agent status job_abc123
# Cancel if needed
bankr agent cancel job_abc123
LLM 网关
Bankr LLM Gateway 是一个统一的 API,可用于 Claude、Gemini、GPT、Grok、DeepSeek、Qwen、Kimi、MiniMax、GLM 及其他模型,通过单一端点提供多提供商接入、成本跟踪、自动故障切换和 SDK 兼容性。
基础 URL: https://llm.bankr.bot | 控制面板: bankr.bot/llm | API 密钥: bankr.bot/api-keys
关键概念
- 如果已配置
llmKey,则使用该密钥;否则回退到你的 API 密钥 - LLM 额度(美元)与交易钱包(加密货币)是完全独立的余额——持有加密货币并不意味着你拥有 LLM 额度
- 新账户的 LLM 额度为 $0——在发起任何 LLM 调用前,请通过
bankr llm credits add 25或前往 bankr.bot/llm?tab=credits 充值,否则会收到 402 错误 - 查看额度:
bankr llm credits| 充值:bankr llm credits add <amount>| 自动充值:bankr llm credits auto --enable --amount 25 --tokens USDC - 在 OpenClaw 配置中,为模型 ID 添加
bankr/前缀(例如bankr/claude-sonnet-5)。直接调用 API 时,使用不带前缀的 ID(例如claude-sonnet-5)。运行bankr llm models可查看当前模型列表 - 通过网关使用 Claude Code 的
[1m]上下文档位后缀是可选的——模型查找前会移除该后缀,1M 上下文窗口由模型自身的上下文窗口提供,因此claude-opus-5和claude-opus-5[1m]的行为相同。如果要使用该后缀,请将其加引号(--model "claude-opus-5[1m]")——在 zsh 中,它会被视为 glob 字符类,导致命令在 CLI 运行前中止 - Bankr Club 会员和合作伙伴可享受按模型提供的折扣——结算时自动应用
- 图像生成:通过 OpenAI 原生
/v1/images/generations端点生成图像——gpt-image-2.5系列(-flare速度更快,-sunburst精度更高)以及此前的gpt-image-2,价格相同,费用均从同一 LLM 额度余额中扣除——请参阅参考文档 - 有到期时间的额度赠款:促销或开发者赠款可能设有到期日。可用余额为你的永久(已购)额度加上所有未到期的赠款——赠款会优先扣除(先扣除最早到期的),到期后自动失效
- 隐私等级:每个请求都会以
standard、zdr(零数据保留)或private(TEE)等级处理。可以按请求、按模型、按基础 URL 或针对整个账户指定等级——见下文
隐私级别
三个嵌套级别的数据处理保障,可在每个端点以相同方式请求:
| 级别 | 保障 | 覆盖范围 |
|---|---|---|
standard(默认) | 绝不会将请求路由给会使用你的提示词进行训练的提供商。提供商仍可能保留这些提示词。 | 所有模型 |
zdr | 仅使用不会保留任何数据的提供商。 | 部分模型 — 使用 bankr llm models --zdr 筛选 |
private | 在硬件安全 enclave(TEE)中运行,每次请求都会验证证明。设计上零保留。 | 仅限开放权重模型 |
有四种请求方式,让任何客户端都能使用任意级别:
# 1. The `privacy` request field
curl -X POST https://llm.bankr.bot/v1/chat/completions -H "X-API-Key: $BANKR_LLM_KEY" \
-d '{"model":"glm-5.2","privacy":"zdr","messages":[{"role":"user","content":"Hello"}]}'
# 2. A base-path prefix — for tools that only take a base URL, key, and model
export OPENAI_BASE_URL=https://llm.bankr.bot/zdr/v1 # OpenAI-compatible clients
export ANTHROPIC_BASE_URL=https://llm.bankr.bot/zdr # Anthropic-compatible clients
# 3. A model-ID suffix
bankr llm models --zdr # which models have a ZDR slot
# → use `glm-5.2:zdr` or `glm-5.2:private` as the model ID
# 4. Account-wide — Settings in the web terminal, applies to every request
- 所有级别都会在无法满足时拒绝请求。 如果没有提供商能以你请求的级别提供模型服务,请求将被拒绝(
422 zdr_unavailable)——绝不会悄悄降低级别。 - 账户设置和请求设置取较严格者。 请求可以比账户设置更严格;请求无法低于账户设置。
- 级别端点具有权威性。 如果发送到
/zdr或/private的请求指定了不同的级别,将返回400 privacy_conflict,而不是合并设置。无法解析的privacy值将返回400 invalid_privacy,而不会被忽略。 X-Privacy-Tier响应标头会报告请求实际采用的级别,让保障可供验证,而非仅凭假设。- 级别匹配不区分大小写,只有末尾的
:zdr/:private标记才会作为后缀选择生效。
Max Mode — 选择 Agent 的模型
Max Mode 可将 Bankr Agent 的默认模型(当前为 Gemini 3.8 Flash)替换为网关中的任意模型,费用按 Token 从你的 LLM 额度余额扣除(而非交易钱包):
bankr agent "analyze my portfolio" --model claude-opus-5 # or -m
bankr agent "what are the top memecoins today?" -m gemini-3.1-pro
bankr agent prompt "tell me more" --continue --model claude-sonnet-5
该设置保存在你的钱包中,并适用于所有使用场景 — CLI、Web 终端、社交平台和自动化。在 Web 终端中,切换 Max 按钮,然后从选择器中挑选模型。
- 额度会在每次 LLM 调用时核验,而不是事后核算。 可用余额(扣除已计量但尚未扣减的费用)将成为此次运行的预算,并在每次调用前重新核验 — 额度用尽时,本轮会如实结束,而不会超额支出。
- 未结清的欠款会保留。 如果额度无法完全覆盖一批用量,额度不会被扣除,欠款也会继续保留;之后充值时会结清欠款,而不是将超额支出一笔勾销。
- 启用前请先充值,否则 Max Mode 消息将会失败。
快速命令
bankr llm models # List available models
bankr llm credits # Check credit balance
bankr llm credits add 25 # Top up $25 credits (defaults to Base USDC)
bankr llm credits add 25 --token USDT # Pay USDT on whichever chain holds the most
bankr llm credits add 25 --token ETH # Native token; auto-swapped on its chain
bankr llm credits auto --enable --amount 25 --tokens USDC,USDT # Multi-chain auto top-up
bankr llm setup openclaw --install # Install Bankr provider into OpenClaw
bankr llm setup claude # Print Claude Code env vars
bankr claude # Launch Claude Code through gateway
bankr claude --model claude-opus-5 # Any tool flags are forwarded
bankr llm opencode # Launch OpenCode through gateway
Agent 充值
AI Agent 可以直接在对话中为你的大模型额度充值,无需使用命令行或 Web 控制面板:
bankr agent prompt "Top up my LLM credits with $25"
bankr agent prompt "Add $10 of LLM credits using my ETH"
bankr agent prompt "How many LLM credits do I have left?"
Agent 还可以在对话中告知你当前的大模型额度余额,包括即将过期的赠送额度及其失效时间,无需使用 bankr llm credits 命令。
向其他 Bankr 用户转账额度。 额度支持点对点转账——可以让 Agent 转账(“向 @alice 转 $20 的大模型额度”),也可以调用 POST /llm/credits/transfer。收款人必须已经是 Bankr 用户(X 用户名或 0x 地址;此方式不支持 ENS),最低转账金额为 $1,且一个钱包在滚动 24 小时内最多可转出 $500。只读 API 密钥会被拒绝;请传入你自己的 transferId,以避免重试时重复转账。
赠送额度也可以转出,但需主动启用。 默认情况下,只有购买的额度可以转出。设置 useGrantedCredits(transfer_llm_credits 工具标记,或 Web「发送额度」面板中的「使用赠送额度」开关),即可让转账同时使用赠送额度——包括运营方赠送额度和奖励额度,其中也包括带有过期时间的额度:
- 仍会优先使用购买的额度,且不收取费用。 只有超出购买额度、使用赠送额度的部分才会产生 10% 的销毁费,并在转账金额之外另行收取。
- 收款人始终会准确收到你输入的金额。 你的扣款金额为转账金额加费用,费用会被销毁,不会转给任何人。
- 每一美元赠送额度只收取一次费用。并发转账不会重复占用同一笔额度;重放
transferId时会返回原费用,而不会再次收费。 - 不设置该标记时,行为与旧版完全一致,因此现有集成无需更改。
两种不同的上限,以较低者为准。 余额限制你拥有的额度;每日支出预算则限制你今天能转出的额度。GET /llm/credits/state 是读取这两项数据的权威接口,返回 creditBalanceUsd(购买额度池)、creditGrantsUsd 和 creditGrants[](含过期时间的有效赠送额度)、totalCreditsUsd,以及 dailyBudget 对象(包含 limitUsd、spentUsd、remainingUsd;limitUsd: null 表示不限额)。因此,如果某个钱包持有 $265,但因滚动窗口暂时只能使用 $10,接口会如实显示这两项,而不会让人误以为额度不见了。询问余额时,Agent 会同时报告这两个数值,并指出当前受哪一项限制。
接口划分:
GET /llm/usage仅用于查询使用情况——指定历史时间范围内的令牌数和支出。它不再包含额度余额或可转账额度字段;请通过GET /llm/credits/state读取额度状态。超过每日转账上限时,POST /llm/credits/transfer会返回429。
每日支出预算。 你可以限制网关代表你支出的金额,此限制独立于你的余额。时间窗口为滚动 24 小时,而非自然日——额度不会在午夜重置,随着扣款逐渐超出窗口,可用额度会逐步恢复。超出预算后,支出请求会返回 402,类型为 daily_budget_exceeded(不同于 insufficient_credits);只读 GET 端点仍可正常使用,因此你可以轮询查询限制何时解除。该预算也会使 Max Mode Agent 运行提前结束。
1 点额度 = $1 USD。支持多链支付:可直接在 Base、Polygon、Ethereum、Arbitrum 或 BNB Chain 上使用 USDC 或 USDT 支付,也可使用其他 ERC-20(会自动兑换为该链首选的稳定币——大多数链为 USDC,BNB Chain 为 USDT)。使用 --token 时,命令行会选择该代币 USD 余额最高的链。单次充值上限为 $1,000。
模型弃用
网关支持模型弃用,并可自动重定向至替代模型。已弃用的模型会在响应头中返回 X-Model-Deprecated 和 X-Model-Replacement。已强制弃用的模型会返回 HTTP 410;请将模型 ID 更新为响应头中指定的替代模型。
关于完整详情——配置方式、模型列表、提供商配置、SDK 示例、密钥管理和故障排除——请参阅:
参考文档:references/llm-gateway.md
功能概览
交易操作
- 代币兑换:跨链买入、卖出或兑换代币
- 跨链:在不同链之间桥接代币
- 限价单:在目标价格执行
- 止损:自动卖出保护
- DCA:美元成本平均策略
- TWAP:时间加权平均价格
参考:references/token-trading.md
投资组合管理
- 查看所有链上的余额(
bankr wallet portfolio或GET /wallet/portfolio) - 查看美元估值,可选择跟踪盈亏(
--pnl或?include=pnl) - 查看 NFT 持仓(
--nfts或?include=nfts) - 按代币或链跟踪持仓
- 实时价格更新
- 多链汇总
- 原生代币的包装/解包(ETH ↔ WETH 及同类代币)会立即反映在两种余额中
- 按链筛选:
bankr wallet portfolio --chain base,solana或GET /wallet/portfolio?chains=base,solana
市场研究
- 代币价格和市场数据
- 技术分析(RSI、MACD 等)
- 社交情绪分析
- 价格图表
- 热门代币
- 代币对比
- 持有者快照 — 按持仓量从高到低排列的持有者列表,包含美元价值和供应量占比,以及集中度摘要。支持设置最低美元门槛,可用于空投定向(“持有价值 $50 以上 X 的用户”)
参考:references/market-research.md
转账
- 转账至 0x 地址、ENS 风格名称(
.eth、.base.eth、.cb.id)或社交账号 - CLI 直接转账(
bankr wallet transfer)仅接受 0x 地址和 ENS 名称 — 社交账号转账需通过 AI Agent - 支持多链
- 通过 Agent 批量/多收款方转账 — 向多个收款方进行同链 ERC-20 转账时,会合并为一笔链上交易(仅需支付一笔 Gas)
- 支持灵活的金额格式
- 通过 Agent 解析社交账号(Twitter、Farcaster、Telegram)
NFT 操作
- 浏览和搜索系列
- 查看地板价和挂单
- 通过 OpenSea 购买 NFT — 包括以 ERC-20 而非原生代币标价的挂单(例如,Robinhood Chain 上的 USDG)。代币授权、支付币种余额检查和精度感知定价都会由系统处理
- 地板价购买即使遇到抢单也能继续。 如果你要求“最便宜的 X”但未指定代币 ID,Bankr 现在会逐一尝试候选挂单:如果有人在购买过程中抢先成交 Bankr 选中的挂单(或订单失效,或签名者模拟交易回滚),系统会改选下一个价格最低的挂单,而不是让整个请求失败 — 最多尝试购买三次,并会在回复中说明替换情况,不会默默处理。明确指定代币 ID 时,仍只尝试一次,这是有意为之
- 接受他人对你拥有的 NFT 发出的报价
- 查看你的 NFT 投资组合
- 转移 NFT
- 在支持的平台上铸造
参考:references/nft-operations.md
链上奖励活动(Merkl)
Agent 可以查询并领取 Merkl 激励奖励 — 即协议分发给流动性提供者和持有者的活动奖励 — 适用于 Base 和 Robinhood Chain:
- 查询各链上某个钱包已获得的奖励和当前可领取的奖励,以及美元总额。只接受你自己的钱包地址
- 领取某条链上所有可领取的奖励,合并为一笔交易。领取时会使用你的 Bankr 嵌入式钱包进行签名,因此钱包模式(外部/已连接钱包)无法使用此功能
- 发现收益机会 — 按 APR 排序的 Merkl 实时活动,包含 TVL、每日奖励、协议和存款链接;也可按代币符号筛选
bankr agent prompt "Do I have any Merkl rewards to claim?"
bankr agent prompt "Claim my Merkl rewards on base"
bankr agent prompt "What are the best Merkl earn opportunities for USDC on base?"
活动的可用性和参与资格会随时间变化 — 请向 Agent 查询实时情况,不要假设某项活动仍在进行。
Polymarket 下注
- 搜索预测市场
- 查看赔率
- 对结果下注
- 查看持仓 — 包括 Polymarket 存款钱包中剩余的未用抵押品,可通过“sweep my polymarket deposit wallet”取回
- 赎回奖金
杠杆交易
- Hyperliquid(主要平台)— 在 Hyperliquid L1 上交易永续期货,使用链上订单簿。支持加密货币、股票(通过 HIP-3 交易 TSLA、AAPL、NVDA)和现货交易。最高 50 倍杠杆。
- Avantis(次要平台)— 在 Base 上交易加密货币、股票(NVDA、TSLA、AAPL、HOOD 等)、外汇和大宗商品的永续合约。股票、外汇和大宗商品交易对仅在对应标的市场的交易时段内交易。
- 在这两个平台上设置止损、止盈并管理持仓
- 为 Hyperliquid 充值属于交易场所存款/取款,而非跨链桥接:存款只会到达 Hyperliquid,取款只会到达 Arbitrum。请指定交易场所(“deposit $500 to hyperliquid”),不要说“bridge”;若要将取出的资金转移到其他地方,请在取款后接着进行跨链兑换
- 平掉 Hyperliquid 持仓时始终会报告盈亏,盈亏根据平仓报价时的价格计算 — 成交时采用成交价,限价单等待成交时采用限价,若无则采用中间价;部分成交会明确标记为部分成交,而不会报告为全部平仓。对于临时的交易场所限流(429),系统会采用退避策略重试,而不会将其报告为下单失败
- Hyperliquid 收取 1 USDC 取款费,直接从申请取款金额中扣除 — 因此可以申请取出全部可取余额(实际到账金额为申请金额 − 1);低于 1 美元的取款会被拒绝,而不会将到账金额扣至零
参考:references/leverage-trading.md | references/hyperliquid.md
代币化股票交易
只需输入普通提示词,即可交易代币化股票和 ETF — 以链上代币形式发行的现实世界股票,就像交易其他资产一样。输入股票代码后,Bankr 会自动选择最佳交易场所;你也可以指定链/交易场所:
- Robinhood Chain — Robinhood 发行的现货代币(200 种股票和 ETF:NVDA、AAPL、TSLA、SPY、QQQ 等)。交易以 USDG(Global Dollar)结算;Bankr 会自动通过 USDG 路由资金。需要进行一次性位置验证。
- Base(B20 代币化股票) — Coinbase 在 Base 上发行的股票代币:AAPL、AMZN、COIN、CRCL、GOOGL、INTC、META、MSFT、MSTR、NVDA、SNDK、SPCX、TSLA。位置验证要求与 Robinhood 股票相同。
- Solana — 第三方发行方(例如 xStocks)发行的现货代币(AAPLx、TSLAx)。无需验证,可像其他代币一样交易。
- Base(第三方发行方) — 其他发行方在 Base 上发行的现货股票代币。无需验证。
- 杠杆交易(永续合约) — 若要在不持有代币的情况下做多/做空,可使用 Avantis(Base)或 Hyperliquid。
位置验证只需进行一次 — 登录 Bankr 控制台(会根据你的连接自动验证,登录时续期,有效期为 30 天)。美国、英国及受制裁的国家/地区无法使用。
现货股票支持兑换、转账、限价单和定投(DCA)。只有发行方代币化股票交易(Robinhood Chain 和 Base B20)受位置限制 — 无需验证即可交易模因币、跨链桥接和转账。不同链上的股票代码可能冲突(13 个 B20 股票代码中有 12 个也存在于 Robinhood Chain),因此若要指定某个股票代码,请注明链。
参考:references/tokenized-stocks.md
代币部署
- EVM(Base、Robinhood Chain 或 Arbitrum One):通过 Doppler 在 Uniswap V4 池中发行 ERC20 代币,并可自定义元数据和社交链接。代币总量固定,部署后不可增发;标准发行量为 100 billion(网页发行流程可设置自定义数量,部署 API 和 CLI 始终使用标准数量)。代币符号长度为 1–20 个字符。每笔交易都会产生 0.7% 的池内交换费,其中 95% 归你所有(交易量的 0.665%,可随时领取);hook 还会额外收取 Bankr 协议费、BNKR 回购费和 LP 费用,综合费率为 1.75%。0.285% 的 LP 费用也归创建者一方——它会作为锁定流动性在你自己的池中复利增长,每次交换都会增强代币的流动性,因此创建者一方的费用总计为交易量的 0.95%。默认链因入口而异:CLI(
bankr launch)和网页发行表单会预选 Base,而 AI Agent 和部署 API 在未指定链时会默认使用 Robinhood Chain。需要指定时,请明确写出链(bankr launch --chain robinhood、"chain": "base"或“在 Base 上发行”)。旧版 Clanker 代币仍可领取费用(领取时会自动检测 Doppler 或 Clanker)。 - 在 Arbitrum One 上发行(
chain: "arbitrum"、bankr launch --chain arbitrum或“在 Arbitrum 上发行”)时,Doppler 仅支持以 WETH 配对——不接受pairedStockAddress或pairedTokenAddress(Bankr Launch v3 在 Arbitrum 上支持更多选项,见下文);发行钱包需自行支付网络 Gas(Bankr 仅在 Base 上为零售发行承担 Gas 费)。其他所有设置——代币总量、费率安排、创建者归属、仅收取报价代币费用和 degen 模式——均与 Base 相同。 - 股票配对发行(Base 和 Robinhood Chain,可选):将新代币的池与注册表中的代币化股票配对,而非 WETH,使代币可交易股票敞口。Base(B20 股票)和 Robinhood Chain 均支持此功能——运行
bankr launch quotes --chain robinhood(或--chain base)查看可配对的股票,然后运行bankr launch --chain robinhood --quote TSLA(可使用符号或地址);调用部署 API 时传入pairedStockAddress(股票的合约地址,不能使用股票代码)和provider: "doppler"——GET /token-launches/quote-tokens?chain=<chain>会列出这些地址;也可以让 Agent 将发行与某个股票代码配对。仅提供 Bankr 能够定价的股票,因为发行曲线计算需要美元价格。Arbitrum 不支持此功能。 - 其他报价代币发行(可选):使用该链上固定白名单代币之一作为池的报价代币,而非 WETH——在 Base 上,可选 BNKR、ba3Pump(由 Bankr 从 Solana 跨链桥接的 PUMP)、cbHYPE(由 Coinbase 封装的 HYPE)、cbZEC(由 Coinbase 封装的 ZEC)或 TAO(Base 上的 Bittensor);在 Robinhood Chain 上,可选 BNKR(与 Base 上的 BNKR 是不同的合约)或 musebook(由 Bankr 发行的代币)。传入对应的
chain和固定的pairedTokenAddress——每个地址仅在其所属链上有效;或者在 CLI 中运行bankr launch --chain <chain> --quote BNKR,CLI 会为你选择正确的 BNKR 合约(运行bankr launch quotes --chain <chain>可查看代币及其就绪状态)。仅支持使用用户密钥发行;Arbitrum 不支持此功能;不能与pairedStockAddress同时使用;两者都省略时则使用 WETH。这些池中的交易量仍符合每周开发者返利条件,条款与使用 WETH 作为报价代币的发行相同。cbHYPE 和 cbZEC 还需等待经过审核的链上报价代币流动性——如果 Bankr 报告交易对尚未就绪,即表示确实无法发行,不会回退到 WETH。白名单根据地址设置;绝不接受任意 ERC-20 代币作为报价代币。 - Bankr Launch v3(
provider: "bankr_v3",正逐链推出):这是与 Doppler 并行的第二个发行提供方,支持链注册表中的完整报价代币集合,而非固定白名单——Base 上为 WETH/USDC 和 B20 股票,Robinhood Chain 上为 WETH/USDG 和所有活跃的 Robinhood Stock Token,Arbitrum 上为 WETH/USDC 和 Reality rToken(rHOOD、rAAPL、rSPCX),Arc 上则仅支持 USDC。读取GET /token-launches/quote-tokens?chain=<chain>,并传回应答中提供的provider;v3 发行的报价代币地址应传入launchV3.quoteAddress,而非pairedTokenAddress/pairedStockAddress(实时列表见GET /launch-v3/quotes?chain=<chain>)。股票和项目代币的报价会在发行时根据 Chainlink 价格源或 Bankr 签名价格进行定价,因此,如果股票报价对应的市场已收盘,发行会被拒绝,不会使用过期价格发行——请等待市场开盘,而不要反复重试。使用 Coinbase 发行的报价代币(B20 股票、cbHYPE、cbZEC)时无法进行开发者买入;如果 Reality rToken 的重基准指数发生变动,Bankr 会自动暂停该代币的新发行。详见 references/token-deployment.md。 - EVM 默认启用创建者归属:每次非合作方发行都会预先铸造代币总量的 15% 给费用接收方,并在1 年内归属,设有 30 天的悬崖期(悬崖期包含在这一年内,而非额外增加);其余 85% 用于为池提供初始流动性。发行时可将其关闭——输入“无归属部署”、传入
disableVesting: true,或运行bankr launch --no-vesting——此时 100% 的代币总量都会投入池中。不能自定义百分比或归属计划;费用接收方在发行时固定,之后转让费用权利不会转移代币分配。悬崖期过后即可领取已归属的代币:GET /token-launches/{tokenAddress}/vesting可读取公开的计划和持仓信息(阶段、可领取数量、锁定数量、已解锁百分比);可在代币页面或通过 API 领取。 - 仅收取报价代币费用(EVM,可选):在发行时选择将所有创建者费用都以报价代币(例如 WETH)收取,而非混合收取已发行代币和报价代币——无论选择哪种方式,你获得的费用总额都相同。输入“仅收取报价代币费用”、向部署 API 传入
quoteOnlyFees: true,或运行bankr launch --quote-only-fees。此设置与费率安排一样,在发行时固定。 - Degen 模式(EVM,可选):将代币的初始市值设为 2,500 美元,而非标准初始市值,以实现早期最大波动。仅可主动选择——明确输入“degen 模式”,或向部署 API 传入
degenMode: true。该数值固定;不能自定义初始市值;代币名称为 DEGEN 并不表示你已选择此模式;合作方发行不支持此模式。 - Solana:通过 Raydium LaunchLab 发行 SPL 代币,采用联合曲线并自动迁移到 CPMM
- 支持在两条链上领取创建者费用
- Solana 支持费用密钥 NFT(迁移后可获得 50% 的 LP 交易费)
- 可选择指定费用接收方,并按 99.9%/0.1% 分配(Solana)
- 创建者和费用接收方均可领取联合曲线费用(Gas 由平台承担)
- 可选归属参数(Solana)
- 通过 Bankr 部署的代币始终会显示在你的投资组合中,即使没有市场价格数据 EVM 发布限制与资格条件 — 请将以下规则纳入任何程序化部署流程:
| 规则 | 值 |
|---|---|
| 计入配额的发布尝试次数 | 每个 Bankr 钱包在滚动 24 小时内 3 次 — Standard、Bankr Club、合作伙伴组织和配置的合作伙伴钱包均相同 |
| 发布速率 | 每分钟最多 一个代币 |
| 发布钱包的创建时长 | 运行时开关,目前关闭。启用时:钱包必须已创建 ≥ 24 小时;时长从 Bankr 创建钱包时开始计算,而非从你的 X/社交账号创建时开始计算(TOKEN_LAUNCH_WALLET_TOO_NEW) |
| 发布钱包余额 | 运行时开关,目前关闭。启用时:发布链上必须持有最低数量的原生 ETH(TOKEN_LAUNCH_MIN_BALANCE_REQUIRED) |
| 仅使用电子邮件的钱包 | 必须等待 ≥ 72 小时才能发布 — 与上述两个开关无关。关联 X、Farcaster 或 Telegram 账号即可解除限制 |
| 发布 Gas | Base 上由平台赞助。Robinhood Chain 和 Arbitrum 上由钱包自行支付原生 ETH。Arc:0.5 USDC(Arc 的 Gas 代币) |
| 模拟 | 每个钱包在 24 小时内 20 次 — 单独限额,不计入发布配额 |
| 每个账号的同名限制 | 每小时发布同一代币名称 3 次 → 429 |
| 所有账号的同名限制 | 每小时发布同一名称 10 次 → 429 |
| 每个费用接收地址 | 所有账号合计每 24 小时发布 20 次 → 429 |
| 每个客户端 IP | 每 24 小时约 10 次成功部署 → 429 — 仅适用于非合作伙伴,为近似值;单个部署主机最先触及的上限 |
- 只有实际发出的发布才会消耗配额。 配额会在元数据固定到存储前预留;如果 Bankr 能证明某次尝试从未到达链上,就会返还该次发布名额以及名称/费用接收地址的额度。已广播的交易,或 Bankr 无法证明未广播的交易,都会继续计入:分类采用安全优先的原则,因此绝不要假定失败的部署不消耗配额。
- 在预留配额之前发生的验证、解析和定价失败不会消耗名额,模拟也不会(
--simulate/simulateOnly)。启用钱包创建时长检查后,普通用户的模拟会执行该检查;无论开关状态如何,都会跳过最低余额检查。 - 已验证的合作伙伴组织和配置钱包发布流程不受钱包创建时长和余额要求限制,但仍受每 24 小时 3 次的限制。
- 普通用户发布仅在 Base 上享有 Gas 赞助。 在 Robinhood Chain 和 Arbitrum 上,发布钱包自行支付 Gas。对于所有赞助流程,每个钱包每天最多可获得 10 笔赞助交易和 3 美元 Gas 费用 — 任一额度先用完,赞助就会停止,直到额度窗口重置。
- 五分钟余额上限:非合作伙伴发布后的前五分钟内,任何钱包持有的代币都不得超过总供应量的 2% — 如果买入或转账会使接收方超过 2%,则操作会失败,直到上限失效。此规则独立于约 10 秒的反狙击费用递减机制,后者会调整费用而非余额。合作伙伴发布不受此限制;失效时间会在发布时编码到链上。
- 持续进行高频部署可能触发自动垃圾信息防护;在 X 路径上反复违反每分钟一次的限制,会导致账号被限制 24 小时(属于有限状态 — 登录、查看余额和提现仍可使用)。
参考:references/token-deployment.md
出售你自己的创作者费用代币: Bankr 会阻止你通过普通兑换/限价/止损/DCA/TWAP 工具出售可为你带来费用的代币(买入和转账不受影响)。Builder 可改用 Glidepath 逐步获利退出 — 这是通过 bankr.bot 代币页面管理、由 AI 控制节奏的渐进式退出功能。Glidepath 是一项 Web 功能,不是 CLI/API 操作。详情:https://docs.bankr.bot/token-launching/glidepath
自动化
- 限价订单
- 止损订单
- DCA(美元成本平均法)
- TWAP(时间加权平均价格)
- 定时命令
x402 付费 API 调用
Agent 可以发现、调用和部署受 x402 保护的 API 端点,并自动处理 Base 上的代币付款:
- 发现 Bankr 注册表或通过网络搜索查找端点
- 检查端点定价、方法以及输入/输出架构
- 调用端点,并自动使用端点要求的代币签署付款——USDC 或任何受支持的 ERC-20(每次请求最高 $10)。通过 CLI 调用时,
--max-payment <usd>是你的付款上限,也是实际发送的上限:端点公布的价格仅供显示,绝不会提高此上限;如果端点公布的价格超过上限,调用会安全失败,不会付款 - 部署新的 x402 端点,直接通过 Agent 完成(编写处理程序代码、设置定价并部署)
- 为自己的端点定价,可使用 USDC 或任何受支持的 ERC-20;收入会在链上结算,并按结算时的汇率以 USD 记账
- 适用于任何兼容 x402 的端点(由 Bankr 托管或外部托管)
网页浏览
Agent 内置无头浏览器,可用于网页交互:
- 打开 URL 并浏览网页
- 读取页面内容、提取数据并截取屏幕截图
- 与页面元素交互(点击、输入、滚动)
- 在多个步骤的工作流中保留浏览器会话
- 适用于研究、数据提取,以及与没有 API 的 Web 应用交互
文件存储
每个 Bankr 钱包都有持久化文件系统,可供 CLI、网页终端、API 以及 Agent 运行的所有社交平台共用。
- 让 Agent 执行创建、读取、编辑、搜索、移动、重命名和删除文件等操作——文件路径(
/research/notes.md)在任何需要文件 ID 的地方都适用 - 在 CLI 中使用
bankr files ls|upload|download|cat|edit|write|search|mkdir|rm|storage;通过 REST 使用/user/files/* - 无需加载文件即可询问文件内容——Agent 会在沙盒中运行只读的
jq/grep/awk风格管道,并且只返回答案,因此 4 MB 的 CSV 不会进入对话。所有钱包均可使用,无需订阅 Club - 运行输出(
/runs)——单独的、按对话隔离的临时命名空间。沙盒运行写入./output/的交付内容会自动保存在其中,后续轮次可通过路径读取;过大的工具结果也会存入其中,避免挤占对话空间。仅支持文本,保留约 14 天;每个文件 10 MB/每段对话 100 MB。需要长期保留的内容请保存到自己的文件系统 - 配额:免费套餐为 1 GB/每个文件 10 MB/每月下载 10 GB;Bankr Club 为 10 GB/每个文件 50 MB/每月下载 100 GB。写入时检查配额,并根据你当前的 Club 状态实时确定
- 删除采用软删除——文件可在 24 小时内通过支持服务恢复,之后会被永久删除
询问 Bankr 相关问题
Agent 可以回答有关 Bankr 本身的问题——功能的运作方式、官方域名和链接、官方 Telegram 机器人以及支持渠道;回答依据 Bankr 自身的文档。如果无法确定答案,Agent 会选择不答,而不是猜测,因此不会提供虚构的链接或事实。适用于新手引导问题,也可用于核实某个链接或渠道是否确实为官方渠道。
使用技能扩展 Agent
技能可以朝两个方向发挥作用,这很容易混淆。本文档介绍第一个方向:将 Bankr 技能安装到你的 Agent 中,让它能够交易。第二个方向则相反——将技能安装到你的 Bankr Agent 中,教它新的行为。
- **粘贴链接即可安装。**公开的 GitHub 文件夹 URL(
tree/<branch>/<path>,其中包含SKILL.md)、blob/…/SKILL.mdURL、技能位于根目录时的裸仓库,或直接.md文件 URL 均可。来自 bankr.bot Discover 和合作伙伴页面的链接也适用——规范分享 URL 和 UI 提供的应用内路由都能解析到目录条目。 - **重新安装会替换原有技能。**以已存在的名称安装技能时,会覆盖原有技能——这就是更新方式。
- 大小限制:
SKILL.md的上限为 1 MB,references/下的每个文件上限为 100 KB。Agent 会按需将参考文件的文本内联加载(最多 200 KB);二进制文件(图片、PDF)则以元数据和路径的形式提供,Agent 可以将其传递给 CLI 工具。 - **Frontmatter 可选。**采用无 frontmatter 约定发布的技能仍可安装——Bankr 会从第一个标题生成
name,从开篇文字生成description,并将完整文档保留为正文,不会截断。 - **精选技能只是建议,不会被悄悄使用。**当请求没有原生处理路径,但有精选技能可以处理时,Agent 可以提及该技能,即使你尚未安装——这样,能力缺口会提示“安装此技能”,而不是直接失败。不会代替你安装任何内容。
bankr agent skills 会列出 Agent 当前拥有的技能。
任意交易
- 提交带有明确 calldata 的原始 EVM 交易
- 对任意地址进行自定义合约调用
- 执行其他工具生成的预构建 calldata
- 携带数据的价值转移
- 读取未知合约的 ABI 并调用它——struct(tuple)参数会展开为编码器接受的带括号签名格式,因此像 Uniswap V4 仓位铸造这类需要 struct 参数的函数可以一次编码成功,而不会因
tuple报错
参考:references/arbitrary-transaction.md
支持的链
| 链 | 原生代币 | 适用场景 | Gas 费用 |
|---|---|---|---|
| Base | ETH | Memecoin、常规交易、B20 代币化股票 | 极低 |
| Polygon | POL | 游戏、NFT、频繁交易 | 极低 |
| Ethereum | ETH | 蓝筹资产、高流动性 | 高 |
| Solana | SOL | 高速交易 | 极低 |
| Unichain | ETH | 较新的 L2 选项 | 极低 |
| World Chain | ETH | Uniswap V3/V4 兑换 | 极低 |
| Arbitrum | ETH | DeFi、低成本交易、代币发行(与 WETH 配对) | 极低 |
| BNB Chain | BNB | BSC 生态交易 | 低 |
| Robinhood Chain | ETH | 代币化股票和 ETF(USDG)、memecoin、代币发行 | 极低 |
| Arc | USDC | USDC 原生余额、转账、原始交易 | 极低 |
Arc 是 Circle 的 EVM L1(chainId 5042),其中 USDC 是原生 Gas 代币。它只有一个 USDC 余额,同时以 18 位小数的原生形式和位于 0x3600000000000000000000000000000000000000 的 6 位小数 ERC-20 形式提供;没有包装原生代币。Bankr 在 Arc 上支持余额查询、USDC/ERC-20 转账、原始交易和合约部署。目前尚不支持聚合器兑换——0x 和 Relay 都不支持 Arc 路由——且 Arc 上不提供 x402。Gas 以原生 USDC 支付,且不受赞助,因此请在交易前为钱包充值。
Robinhood Chain 是 EVM L2(chainId 4663),其原生稳定币为 USDG(Global Dollar)。该链上有 200 种由 Robinhood 发行的代币化股票和 ETF,以及 memecoin,并支持 Bankr 代币发行(Doppler)。代币化股票交易需要进行位置验证(请参阅代币化股票交易);memecoin 兑换、代币发行、跨链桥接和转账则不需要。
Arbitrum One 既是 Doppler 发行链,也是交易链。该链上的发行只能与 WETH 配对,且不提供 Gas 赞助——部署前请为发行钱包充值 Arbitrum 上的 ETH。
Base 还支持 B20 代币化股票——由 Coinbase 发行、精度为 8 位小数的股票代币,其相对于标的股票的赎回比例是一个会随公司行动变动的链上乘数。交易这些代币需要进行与 Robinhood 股票相同的位置验证;Base 上的其他操作则不需要。
安全与访问控制
Bankr 有两个相互独立的安全控制层。交易必须同时满足两者的要求才能广播。
钱包级安全性(bankr.bot → Security)
由用户控制的设置,适用于所有界面——聊天、Agent、API、CLI。在 bankr.bot → Security 中配置;需要通过 Web 身份验证(API 密钥无法更改这些设置)。
| 控制项 | 默认值 | 效果 |
|---|---|---|
| 暂停所有交易 | 关闭 | 阻止所有转出交易,直到取消暂停 |
| 每日支出限额 | $500 / 24h | 如果某笔交易会导致滚动 24 小时美元流出额超过限额,则拒绝该交易 |
| 单笔交易限额 | $500 | 拒绝任何金额超过限额的单笔交易 |
| 价格影响限额 | 开启(15%) | 如果兑换的预估价格影响超过限额,则拒绝该兑换——防止在流动性稀薄或低流动性池中出现灾难性成交。可调整为 1–100%,也可关闭 |
| 允许的接收方 | 关闭 | 将转账/兑换限制在允许列表内;新条目会进入可配置的冷却期(默认 24h) |
| 任意合约调用 | 关闭(阻止) | 关闭时,会阻止 write_contract、原始 /wallet/submit 和任意交易工具(兑换等具名操作仍可使用)。开启需要限时选择加入——见下文 |
| 响应渠道 | 全部开启 | 分别控制 Agent 可以在哪些渠道回复(X、Farcaster、Telegram)。禁用的渠道会被静默跳过;Telegram 上的账户管理(/start、关联钱包)仍可使用 |
如果无法获取美元定价,且启用了限额,则交易会被拒绝(故障时默认关闭),而不是放行。你自己的钱包地址始终会被默认视为允许的接收方。
支出限额适用于所有兑换路径,包括跨链和 Solana 交易环节——执行前会对卖出方进行定价和检查,成功的兑换会计入滚动 24 小时总额。
$500 默认值是真正的限额,不是占位值。 如果某个钱包从未调整过每日/单笔交易设置,则所有路径都会强制执行 $500 限额——包括跳过 Agent 预检的路径:x402 调用、原始 /wallet/submit 和直接签名者调用。如果你的集成会签署大额交易,请明确调高限额,不要以为未配置的钱包没有限额。
还有一点值得注意:对于无法报告价格影响数值的平台,价格影响限额也会在故障时默认关闭交易。最典型的情况是仍处于 LaunchLab 联合曲线上的全新 Solana 代币——启用限额时,这类交易会被拒绝,而不是在没有保护的情况下成交。如果你确实需要此类成交,请关闭限额。
定时窗口(自动恢复)
与其无限期关闭某项保护,不如将其关闭一段固定时间,并让它自动恢复。此功能适用于每日限额、单笔交易限额、价格影响限额、任意合约调用以及各个响应渠道;时长选项固定为 10、30、60 或 1440 分钟。
- 截止时间只会让状态变得更安全。 对于保护措施,计时器会在其关闭时运行,并在窗口期结束时将其恢复。对于任意合约调用,逻辑相反——计时器会在调用启用时运行,并在到期时撤销调用权限。因此,两种情况下,截止时间一到都会收紧限制,而不会放宽限制。
- 状态在读取时解析,而不是由清理程序处理,因此窗口期一到,下笔交易进行评估时就会立即生效。不存在可供抢跑的间隙。
- 每次显式写入都会重置计时器。 切换设置或编辑其金额都会清除正在运行的窗口期,因此你以为无关的更改不会让过期的关闭窗口继续生效。
- 窗口期由服务端根据你选择的时长计算;你不能向 API 传入自定义截止时间。
与 Security 页面上的其他设置一样,这些设置需要通过网页身份验证——API 密钥可以读取解析后的状态(/user、/user/security),但不能更改状态。请将“限额已关闭”视为一个带有到期时间的事实:长时间运行的集成应重新读取解析后的设置,而不是缓存启动时读取的状态。
受保护代币的兑换防护
Bankr 会阻止兑换一小部分受保护代币,因为兑换这类代币几乎总是代价高昂的错误——例如,应该通过各自的赎回流程退出的质押头寸。此限制仅针对兑换:代币仍会显示在你的投资组合中,可以转移,也可以通过相关的质押/赎回工具使用。当兑换被阻止时,Agent 会清楚说明原因,并指引你使用正确的退出路径。此防护适用于 EVM 兑换路径上的 swap/limit/stop/DCA/TWAP 工具。
仿冒代币筛查
一种常见攻击方式是空投少量代币,这些代币使用规范货币的代码——USDG、USDC、USDT、EURC、某条链的原生或封装代币符号——但合约地址并非真正的地址。攻击者希望 Agent 直接从余额列表中复制地址并买入这些代币。Bankr 会将对此类代币的负面安全判定视为最终结论:这类代币会从投资组合列表中移除,而不会以看似正规的 symbol: "USDG" 条目呈现给 Agent。
筛查范围有意设得较窄。真正的规范代币会根据地址匹配,不受影响;有真实流动性的新代币会保留其所需的宽松分类;你通过 Bankr 实际买入的代币绝不会因垃圾币判定而被隐藏——仅未经请求空投的少量代币会被隐藏。如果你想指定某种资产,请说出代币代码(而不是粘贴余额列表中的地址),Bankr 就能将其解析为经过审核的合约。
BNKR 质押仅支持提取
BNKR 质押已弃用,不再接受新的存入。如果要求 Agent 质押 BNKR,它会给出说明,而不是发起交易。现有质押用户仍可完整退出——启动冷却期、赎回份额、提取——并且仍可查看其质押头寸。不要构建假定存入操作能够成功的工作流。
API 密钥级别控制(bankr.bot/api-keys)
可在 bankr.bot/api-keys 配置每个密钥的设置:
API 密钥类型:Bankr 使用单一密钥格式(bk_...),并通过能力标志(walletApiEnabled、agentApiEnabled、tokenLaunchApiEnabled、llmGatewayEnabled)控制功能。你可以选择通过 bankr config set llmKey 或 BANKR_LLM_KEY 配置单独的 LLM Gateway 密钥,以便分别撤销密钥,或为 Agent 和 LLM 访问设置不同权限。
只读 API 密钥:新密钥(网页或 CLI)默认具有读写权限;在运行 bankr login email 时传入 --read-only,或在 bankr.bot/api-keys 开启 Read Only,即可将密钥设为只读(bankr login siwe 创建的密钥默认只读,除非传入 --read-write)。只读设置会从 Agent 会话中筛除所有写入工具(兑换、转账、质押、代币发行等),并使 /wallet/swap、/wallet/sign、/wallet/submit 和 /wallet/transfer 写入端点返回 403(/wallet/swap-quote 读取端点仍可使用)。非常适合用于监控机器人和研究 Agent。
IP 白名单:为 API 密钥设置 allowedIps,即可将使用范围限制为特定 IP 或 CIDR 网段(例如 10.0.0.0/24)。来自非白名单 IP 的请求会在认证层被拒绝,并返回 403。
收款方白名单:限制密钥可以向哪些地址转账。此设置独立于钱包级别的允许收款方设置;如果两者都已配置,则两项检查都必须通过。
收款方白名单还会禁用无法控制交易对手的操作。 有些操作会向无法通过白名单检查的地址付款,例如市场托管账户、铸造合约或预测市场交易所。为避免这些操作绕过限制,只要密钥设有非空白名单(EVM 或 Solana),Bankr 就会直接拒绝这些操作:Polymarket 买入和卖出、NFT 购买、铸造、挂牌和接受报价,以及空投工具。错误信息会指出具体操作,并提示联系密钥管理员。兑换和转账不受影响,因为它们的收款方可以检查。如果 Agent 需要执行这些操作,请使用未设置白名单的密钥,并改用支出限额进行限制。
事件响应
如果怀疑密钥已泄露:
- 暂停钱包:前往 bankr.bot → Security — 立即停止所有转出交易
- 退出所有会话 — Security 下的 Active sessions 面板中有一个 Sign out of all 操作,可一次性撤销所有有效会话,包括当前设备上的会话。如果怀疑账户本身(而非仅密钥)已泄露,请使用此操作
- 在 bankr.bot/api-keys 撤销密钥
- 轮换 — 生成新密钥并更新部署
- 审计 — 在取消暂停前,检查近期交易和 Agent 作业历史记录
常规
专用 Agent 钱包:构建自主 Agent 时,请创建单独的 Bankr 账户,而不要使用个人钱包。这样可以隔离 Agent 资金;如果密钥泄露,也只有 Agent 钱包会受到影响。仅向其中存入有限资金,并按需补充。
速率限制:每天 100 条消息(标准)、1,000 条(Bankr Club)或按密钥自定义。自首条消息起每 24 小时重置(滚动窗口)。LLM Gateway 使用基于额度的系统。
密钥安全规则:
- 将密钥存储在环境变量中(
BANKR_API_KEY、BANKR_LLM_KEY),切勿将其写入源代码 - 将
~/.bankr/和.env添加到.gitignore— CLI 会将凭据存储在~/.bankr/config.json中 - 在投入生产使用前,先在低成本链(Base、Polygon)上用小额资金测试
- 对
/wallet/submit使用waitForConfirmation: true— 交易会立即执行,不会提示确认 - 定期通过控制面板或 API 密钥轮换端点轮换密钥;如果密钥泄露,请立即在 bankr.bot/api-keys 撤销
常见模式
交易前检查
# Check balance
bankr wallet portfolio --chain base
# Check price
bankr agent prompt "What's the current price of PEPE?"
# Then trade
bankr agent prompt "Buy $20 of PEPE on Base"
投资组合审查
# Direct portfolio check (no AI agent, instant response)
bankr wallet portfolio
bankr wallet portfolio --pnl # Include profit/loss data
bankr wallet portfolio --nfts # Include NFT holdings
bankr wallet portfolio --all # PnL + NFTs
bankr wallet portfolio --chain base
bankr wallet portfolio --chain base,solana
bankr wallet portfolio --json
# Via AI agent (natural language, richer context)
bankr agent prompt "Show my complete portfolio"
# Chain-specific
bankr agent prompt "What tokens do I have on Base?"
# Token-specific
bankr agent prompt "Show my ETH across all chains"
设置自动化
# DCA strategy
bankr agent prompt "DCA $100 into ETH every week"
# Stop loss protection
bankr agent prompt "Set stop loss for my ETH at $2,500"
# Limit order
bankr agent prompt "Buy ETH if price drops to $3,000"
市场研究
# Token discovery
bankr tokens search PEPE
bankr tokens info USDC
# Price and analysis
bankr agent prompt "Do technical analysis on ETH"
# Trending tokens
bankr agent prompt "What tokens are trending on Base?"
# Compare tokens
bankr agent prompt "Compare ETH vs SOL"
API 工作流
Bankr 使用基于异步任务的 API:
- 提交 — 发送提示词(可选带上
threadId),获取任务 ID 和线程 ID - 轮询 — 每 2 秒检查一次状态
- 完成 — 任务完成后处理结果
- 继续 — 在多轮对话中复用
threadId
bankr agent prompt 命令会自动完成这些操作。直接使用 REST API 时,需自行实现轮询循环(参见上文的选项 2 或下方的参考资料)。要通过 CLI 手动控制任务,请使用 bankr agent status <jobId> 和 bankr agent cancel <jobId>。
有关 API 结构、任务状态、轮询策略和错误处理的详细信息,请参阅:
参考资料:references/api-workflow.md
同步端点(Wallet API)
要直接签名并提交交易,请使用 Wallet API 同步端点:
- POST /wallet/sign - 对消息、类型化数据或交易进行签名,但不广播
- POST /wallet/submit - 将原始交易直接提交到区块链
- POST /wallet/transfer - 转移代币,支持符号解析和多链
这些端点会立即返回(无需轮询),适用于:
- 身份验证流程(签名消息)
- 免 Gas 授权(签名 EIP-712 许可)
- 预构建交易(提交原始 calldata)
- 以编程方式转移代币
参考资料:references/sign-submit-api.md
错误处理
常见问题及解决方法:
- 身份验证错误 → 运行
bankr login或检查bankr whoami(CLI),或验证X-API-Key标头(REST API) - 余额不足 → 充值或减少金额
- 未找到代币 → 验证符号和链
- 交易已回滚 → 检查参数和余额
- 速率限制 → 等待后重试
有关全面的错误排查、设置说明和调试步骤,请参阅:
参考资料:references/error-handling.md
最佳实践
安全
- 切勿分享 API 密钥或 LLM 密钥
- 为自主 Agent 使用资金有限的专用 Agent 钱包
- 为监控和仅用于研究的 Agent 使用只读 API 密钥
- 为 IP 已知的服务端 Agent 设置 IP 白名单
- 大额转账前核实地址
- 杠杆交易时使用止损
- 将密钥存储在环境变量中,而非源代码中 — 将
~/.bankr/添加到.gitignore
有关全面的安全指南,请参阅 references/safety.md。
交易
- 交易前检查余额
- 交易鲜为人知的代币时指定链
- 考虑 Gas 费用(小额交易使用 Base/Polygon)
- 从小额开始,测试后再逐步扩大
- 使用限价单以获得更优价格
自动化
- 首先用小额测试自动化
- 定期检查活动订单
- 设置切合实际的目标价格
- 杠杆交易时务必使用止损
- 监控执行情况并按需调整
成功提示
新用户
- 从余额检查和价格查询开始
- 先用 $5-10 进行交易测试
- 使用 Base 以降低费用
- 初期启用交易确认
- 一次学习一项功能
资深用户
- 利用自动化执行策略
- 使用多条链实现多元化
- 将 DCA 与止损结合使用
- 探索高级功能(杠杆、Polymarket)
- 监控各链的 Gas 费用
按类别划分的提示词示例
交易
- “在 Base 上购买 $50 的 ETH”
- “将 0.1 ETH 兑换为 USDC”
- “卖出我持有的 PEPE 的 50%”
- “将 100 USDC 从 Polygon 跨链转到 Base”
代币化股票
- "在 robinhood 上买入 $100 的 NVDA"(现货,需进行位置验证)
- "在 robinhood 上将 $50 的 ETH 兑换为 SPY"
- "在 robinhood 上卖出我一半的 AAPL"
- "在 base 上买入 $100 的 NVDA"(B20 股票,需进行位置验证)
- "在 base 上将 $50 的 USDC 兑换为 GOOGL"
- "在 solana 上买入 $50 的 AAPLx"(xStocks,无需验证)
- "每周五定投 $50 买入 SPY"
- "在 avantis 上以 5 倍杠杆做多 TSLA"(杠杆永续合约)
- "在 hyperliquid 上做空 HOOD"
投资组合
bankr wallet portfolio(直接执行,不经过 AI 处理 — 默认隐藏低价值代币)bankr wallet portfolio --pnl(包含盈亏)bankr wallet portfolio --nfts(包含 NFT 持仓)bankr wallet portfolio --all(盈亏 + NFT)bankr wallet portfolio --chain base(单条链)- "显示我的投资组合"
- "我的 ETH 余额是多少?"
- "投资组合总价值"
- "Base 上的持仓"
余额列表会经过筛选,Agent 返回的列表也不例外。 默认情况下,所有余额显示界面都会隐藏低价值持仓 — 依据钱包的
showLowValueTokens偏好设置及其 $1 的阈值 — Agent 会通过hiddenLowValueTokens报告隐藏了多少项。原生 Gas 余额行永远不会被隐藏,筛选后的列表也不能证明钱包里没有其他资产;需要查看全部资产时,请使用includeLowValueTokens。按代币代码卖出或转账时,系统会根据你实际持有的资产进行解析,不设最低数量,因此即使是微量持仓也可以交易。参见 references/portfolio.md。
市场研究
- "比特币的价格是多少?"
- "分析 ETH 价格"
- "Base 上的热门代币"
- "比较 UNI 和 SUSHI"
- "谁是 0x... 在 base 上的最大持有者?"
- "列出 solana 上至少持有 $50 的 0x... 代币持有者"(空投目标筛选)
文件
- "将此分析保存为 /research/base-vs-solana.md"
- "在我的文件中搜索 hyperliquid"
- "/exports/portfolio.csv 中有多少行的 pnl 为负数?"
- "/data/candidates.json 中的最高分是多少?"
转账
- "向 vitalik.eth 发送 0.1 ETH"
- "向 @friend 转账 $20 USDC"
- "向 0x123... 发送 50 USDC"
- "向以下每个地址发送 5 USDC:0x..., 0x..., 0x..."(批量 — 合并为一笔交易)
NFT
- "显示 Bored Ape 的地板价"
- "购买最便宜的 Pudgy Penguin"
- "显示我的 NFT"
Polymarket
- "特朗普获胜的概率是多少?"
- "在 [market] 上押注 $10 买 Yes"
- "显示我在 Polymarket 上的持仓"
杠杆
- "在 hyperliquid 上以 10 倍杠杆做多价值 $100 的 BTC"
- "在 hyperliquid 上以 5 倍杠杆做空 ETH"
- "以 5 倍杠杆做多 ETH,金额为 $100"
- "以 10 倍杠杆做空 BTC,止损价设为 $45k"
- "在 hyperliquid 上以 5 倍杠杆做多 TSLA"(通过 HIP-3 交易股票)
- "在 hyperliquid 上做多 spacex"(公司名称会解析为对应的 HIP-3 代币代码,例如 SPCX)
- "显示我在 hyperliquid 上的持仓"
- "显示我在 Avantis 上的持仓"
自动化
- "每周定投 $100 买入 ETH"
- "设置 ETH 限价买单,价格为 $3,000"
- "所有持仓在亏损 -20% 时止损"
代币部署
Solana(LaunchLab):
- "在 Solana 上发行一个名为 MOON 的代币"
- "发行一个名为 FROG 的代币,并将手续费分给 @0xDeployer"
- "部署 SpaceRocket,代币代码为 ROCK"
- "发行 BRAIN,并将手续费分配给 7xKXtg..."
- "我可以领取多少 MOON 手续费?"
- "领取我的 MOON 手续费"(适用于创建者或手续费接收方)
- "显示我的 Fee Key NFT"
- "领取我的 ROCKET 手续费 NFT"(迁移后)
- "将 MOON 的手续费转给 7xKXtg..."
EVM(Base、Robinhood Chain 和 Arbitrum,通过 Doppler):
- "在 Base 上部署一个名为 BankrFan、代币代码为 BFAN 的代币"
- "在 Arbitrum 上发行 MOON"(仅与 WETH 配对;钱包自行支付 Gas)
- "发行一个仅以报价代币收取手续费的代币"(所有创建者手续费均以报价代币收取)
- "以 degen 模式发行 MOON"(初始市值为 $2,500)
- "在 Base 上发行与 TAO 配对的 FROG"(也支持 BNKR、ba3Pump、cbHYPE、cbZEC)
- "发行一个没有归属期的代币"(跳过默认的 15% 创建者分配)
- "我的 MTK 分配中有多少已经归属?"
- "领取我的已归属 MTK"
- "领取我的代币 MTK 的手续费"
链上奖励
- “我有 Merkl 奖励可以领取吗?”
- “在 base 上领取我的 Merkl 奖励”
- “显示 base 上的 Merkl 赚取机会”
- “Merkl 上 USDC 的最佳 APR 是多少?”
LLM 额度
- “为我的 LLM 额度充值 $25”
- “充值 $50 的 LLM 额度”
- “我还剩多少 LLM 额度?”
- “使用我的 ETH 为 LLM 额度充值”
- “使用 Polygon 上的 USDT 为我的 LLM 额度充值 $25”
- “使用 BNB 上的 USDT 支付,充值 $10 的 LLM 额度”
- “向 @alice 发送 $20 的 LLM 额度”
- “将我的 LLM 额度中的 5 美元转给 0xRecipient”
x402 付费 API 调用
- “查找用于情感分析的 x402 端点”
- “调用 x402 上的天气端点”
- “有哪些可用于价格数据的 x402 端点?”
- “部署一个返回加密货币价格的 x402 端点”
- “创建一个总结文章的 x402 服务”
网页浏览
- “浏览 coingecko.com 并获取热门趋势代币”
- “访问此 URL 并提取代币合约地址”
- “查看 Uniswap UI 上当前 ETH/USDC 池的统计数据”
任意交易
- “提交此交易:{to: 0x..., data: 0x..., value: 0, chainId: 8453}”
- “在 Base 上执行此 calldata:{...}”
- “使用此 JSON 发送原始交易:{...}”
转账(直接)
通过 CLI 或 Wallet API 转账代币,无需 AI 处理。CLI 的 --to 接受 0x 地址或 ENS 风格名称(.eth、.base.eth、.cb.id);Wallet API 除此之外,还接受 /addresses/resolve 能解析的任何内容。对于社交账号(Twitter、Farcaster、Telegram),请使用 AI Agent。
# CLI — token symbol resolution + ENS resolution built in
bankr wallet transfer --to vitalik.eth --token USDC --amount 50 --chain base
bankr wallet transfer --to name.base.eth --native --amount 0.01
bankr wallet transfer --to 0x1234... --token ETH --amount 0.1
# REST API
curl -X POST "https://api.bankr.bot/wallet/transfer" \
-H "X-API-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{"to": "vitalik.eth", "token": "USDC", "amount": "50", "chain": "base"}'
兑换(直接)
通过 CLI 或 Wallet API 兑换代币,无需 AI 处理。CLI(bankr wallet swap)仅执行同链 EVM兑换。Wallet API(/wallet/swap、/wallet/swap-quote)还支持跨链和 Solana 路径:同链 EVM 仍走快速直连路径,而跨链或涉及 Solana 的路径则通过同一组端点路由到 Relay。CLI 会将代币符号解析为合约,并在执行时使用报价中的 minBuyAmount 作为滑点保护。
场所选择会自动进行,而且 Wallet API 现在也涵盖了 Agent 支持的相同边缘情况——你无需选择路由:
- 同链 EVM 通过 DEX 聚合器执行;流动性较低的链优先使用直接池场所;跨链和涉及 Solana 的任何交易通过桥接/交换聚合器执行
- 全新的 Solana 代币若仍处于 Raydium LaunchLab 联合曲线阶段,且尚无聚合器路由,则回退到联合曲线,而不是报错“无路由”。此回退的适用范围很窄:两条腿都在 Solana 上、交易对为 SOL ↔ 代币且联合曲线尚未迁移、聚合器确实返回无路由,并且钱包未设置价格影响上限——联合曲线不提供可检查的价格影响数据,因此 Bankr 会采取失败关闭策略,不会成交于无法设防的场所。启用价格影响保护后,此类交换会按设计被拒绝(成交过程中仍会应用
minBuyAmount下限) - Polygon 上的
pUSD→USDC.e使用链上 1:1 Offramp 解包,而不是 DEX 报价:无费用、无滑点、无价格影响。要求 Agent 在 Polygon 上将 pUSD 转换为普通“USDC”时,会解析为USDC.e并采用此路径——该请求会被理解为它唯一可路由的含义,因此报价、签名卡片和确认信息都会显示USDC.e,而不是因交易对无法路由而失败。反向交易(USDC.e→pUSD)按普通交易对报价,而购买 pUSD 不受影响——Offramp 只能解包。解包后的资产会结算到你自己的钱包,因此,指定其他收款人的交换并发送会通过常规场所路由,不会悄悄结算到你的钱包 - Robinhood Chain 代币化股票通过聚合器的 RFQ 做市商报价和成交,并以 USDG 结算;普通 Robinhood Chain 交易对仍会受到其低流动性保护
- 钱包模式交换——通过外部/已连接的钱包签名,而非由 Bankr 托管的钱包签名——现在会像其他交换一样按相同的场所顺序执行,因此,低流动性交易对会进入其直接池场所,而不是被转到桥接聚合器。实际效果:过去需要先授权再调用路由器的路由,现在可能只需签署一笔交易;构建失败的交易腿会报告为失败,而不会以成功消息将其交给你签名
/wallet/swap-quote会像执行一样采用相同的回退方式。 当主聚合器报告 EVM 交易对无路由时,报价会重试桥接/交换聚合器,而不是返回“无可用报价”。这对唯一流动池较为特殊的交易对尤其重要——例如以代币化股票计价的启动池,主聚合器可以通过单跳完成交易,却无法将其作为中间环节组合路由。现在报价和执行对可路由范围的判断一致,因此你能获取的报价也能实际成交
# CLI — quote only (no execution)
bankr wallet swap --from ETH --to USDC --amount 0.1 --chain base --quote-only
# CLI — quote then execute
bankr wallet swap --from ETH --to USDC --amount 0.1 --chain base
# REST API — quote (read; read-only keys allowed)
curl -X POST "https://api.bankr.bot/wallet/swap-quote" \
-H "X-API-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{"fromChain": "base", "fromToken": "0x...", "toChain": "base", "toToken": "0x...", "amount": "0.1"}'
# REST API — execute (write; pass the quote's minBuyAmount for slippage protection)
# Always send an idempotencyKey so a retried request can't broadcast a second swap
curl -X POST "https://api.bankr.bot/wallet/swap" \
-H "X-API-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{"fromChain": "base", "fromToken": "0x...", "toChain": "base", "toToken": "0x...", "amount": "0.1", "minBuyAmount": "...", "idempotencyKey": "<uuid>"}'
# REST API — cross-chain (Base → Solana): distinct fromChain/toChain, base58 mint on the Solana leg
curl -X POST "https://api.bankr.bot/wallet/swap-quote" \
-H "X-API-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{"fromChain": "base", "fromToken": "0x...", "toChain": "solana", "toToken": "<base58-mint>", "amount": "25"}'
/wallet/swap* 端点接受代币合约地址——EVM 交易腿使用 0x 地址(链的原生代币使用零地址),Solana 交易腿使用 base58 铸币地址;CLI 会为你解析代币符号。对于跨链或涉及 Solana 的交换,请将 fromChain/toChain 设为不同的链(或设为 solana),端点会自动为该路由报价/执行。交换所得始终会返回到你自己的钱包,因此 allowedRecipients 不适用。支持的 EVM 链包括 base、mainnet、polygon、unichain、arbitrum、bnb、worldchain 和 robinhood,以及 solana。在 robinhood 上执行涉及代币化股票的交换时,任一交易腿都必须通过位置验证——否则 /wallet/swap 会返回 403,并提示你前往 Bankr 控制台完成验证。报价不受此限制,因此 /wallet/swap-quote 成功并不代表获准执行。执行还会检查 Bankr Terminal 的单笔和每日支出限额(超出限额时会返回 403)。
可选的兑换参数
| 字段 | 使用位置 | 描述 |
|---|---|---|
slippageBps | 报价 + 执行 | 最大滑点容差,以 bps 为单位,范围为 10–2000。默认为 500(5%),并设置报价的 minBuyAmount |
quoteId | 执行 | 回传新鲜报价中的 quoteId,以复用该报价并跳过重新定价。过期、未知或不匹配的 ID 会静默回退到新鲜报价 |
idempotencyKey | 执行 | UUID 防重复提交保护。使用相同键重复 POST 时,会返回原始结果,而不会再次广播 |
报价响应中只有 from、to 和 minBuyAmount 有保证。根据为其定价的交易场所,你还可能收到 feeBps(0 = 免手续费)、feeWaivedForEcosystemToken、slippageBps、priceImpactBps(展示用估算值)、swapImpactBps(执行门槛采用的不含手续费数值)、networkCostsUsd、maxPriceImpactBps(钱包的保护限值)、sellTokenPriceUsd、buyTokenPriceUsd 和 quoteId。缺失字段应视为 null/未知,而不要据此硬性拦截。
以下两点值得在编写代码时特别注意:
- 聚合器路径会在执行时限制
slippageBps。 它始终会影响报价的minBuyAmount,但只有 Relay 路由的交易对(跨链、Solana、优先采用 Relay 的链——代币化股票交易路径除外)会将你的完整容差带入成交。其他情况下,执行时重新报价会按设计限制为 2%(200 bps),因此,较宽松的报价容差与较严格的执行容差之间的差值是价格波动的余量,并非你实际会承受的滑点。 - 复用
quoteId仅对同链 EVM 有效。 跨链和 Solana 的执行会先进行路由,然后才查找已存储的报价,因此会接受该 ID,但忽略它。
兑换错误语义
| 状态 | 含义 |
|---|---|
400 | 请求正文无效、链不受支持、兑换代币相同、金额过小、余额/燃料费不足、交易对不可交易、交易场所侧价格影响过高,或钱包没有 Solana 地址 |
403 | 只读密钥、钱包已暂停、位置检查失败、买入代币被禁止或标记为需扫描、价格影响超过钱包自身的限值、手续费受益方出售其自己的手续费代币,或将超出支出限额 |
409 | 使用相同 idempotencyKey 的兑换仍在处理中,或有待处理交易阻碍操作 |
429 | 请求频率受限 — 可以安全重试 |
502 | 执行时没有新鲜报价、Relay 成交失败,或 LaunchLab 成交已广播但无法确认 |
503 | 兑换服务暂时不可用 — 可以安全重试 |
504 | 已提交,但确认耗时超出预期 |
切勿对
504或 LaunchLab 的502盲目重试。 这两种状态都表示交易可能已经上链——交易已广播,只是尚未确认。重试前,请在钱包的活动记录中检查交易哈希。其他情况要么发生在广播之前(可以安全重试,最好使用相同的idempotencyKey),要么属于终止状态。
请注意两种不同的价格影响拒绝情况:400 表示交易场所拒绝交易(流动池无法承接该交易 — 请减小交易金额后重试);403 表示你自己的钱包的价格影响保护机制拒绝了新鲜的执行报价。不要将此 403 误认为是身份验证或位置问题。
Sign API(同步)
直接签署消息,不经过 AI 处理:
# Sign a plain text message
curl -X POST "https://api.bankr.bot/wallet/sign" \
-H "X-API-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{"signatureType": "personal_sign", "message": "Hello, Bankr!"}'
# Sign EIP-712 typed data (permits, orders)
curl -X POST "https://api.bankr.bot/wallet/sign" \
-H "X-API-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{"signatureType": "eth_signTypedData_v4", "typedData": {...}}'
# Sign a transaction without broadcasting
curl -X POST "https://api.bankr.bot/wallet/sign" \
-H "X-API-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{"signatureType": "eth_signTransaction", "transaction": {"to": "0x...", "chainId": 8453}}'
Submit API(同步)
直接提交交易,不经过 AI 处理:
# Submit a raw transaction
curl -X POST "https://api.bankr.bot/wallet/submit" \
-H "X-API-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"transaction": {"to": "0x...", "chainId": 8453, "value": "1000000000000000000"},
"waitForConfirmation": true
}'
参考:references/sign-submit-api.md
资源
- 文档:https://docs.bankr.bot
- LLM 网关文档:https://docs.bankr.bot/llm-gateway/overview
- API 密钥管理:https://bankr.bot/api-keys
- 终端:https://bankr.bot/terminal
- CLI 包:https://www.npmjs.com/package/@bankr/cli
- Twitter:@bankr_bot
故障排除
找不到 CLI
# Verify installation
which bankr
# Reinstall if needed
bun install -g @bankr/cli
身份验证问题
CLI:
# Check current auth
bankr whoami
# Re-authenticate
bankr login
# Check LLM key specifically
bankr config get llmKey
REST API:
# Test your API key
curl -s "https://api.bankr.bot/_health" -H "X-API-Key: $BANKR_API_KEY"
API 错误
如需全面的故障排查信息,请参阅 references/error-handling.md。
获取帮助
- 查看 CLI 输出或 API 响应中的错误消息
- 运行
bankr whoami验证身份验证(CLI),或通过 curl 测试/_health(REST API) - 查阅相关参考文档
- 先用简单的查询进行测试(
bankr agent prompt "What is my balance?"或POST /agent/prompt)
实用提示:最常见的问题是没有指定代币所属的链。如有疑问,请务必在提示词中加入“on Base”或“on Ethereum”,或者粘贴合约地址,Bankr 会根据代币实际所在的链验证地址。
安全提示:请妥善保管 API 密钥。切勿将配置文件提交到版本控制中。只交易你能承受损失的金额。
快速上手:先查看你的投资组合(bankr wallet portfolio),了解可以进行哪些操作,然后尝试在 Base 上进行一笔小额交易($5-10),熟悉整个流程。
项目管理
Agent 可以在 bankr.bot/terminal/projects 创建和管理公开的项目页面(旧版 /agents 链接会重定向到此处)。CLI 命令是 bankr project;REST 路径、JSON 字段名和 socket 事件仍沿用旧的“profile”说法。项目资料展示项目元数据、团队信息、代币数据(图表 + 市值)、每周费用收入、已发布的产品、Twitter 动态,以及两个根据你已提供的链接生成的卡片——首个从 website/products/team 关联的仓库对应的 GitHub 动态,以及关联 X 账户的 Ethos 可信度。tokenChainId 根据 tokenAddress 派生,不接受作为输入。
资格要求:你必须通过 Bankr 部署过代币(Doppler 或 Clanker),或是该代币的费用受益人,才能创建项目资料。系统会根据你的部署历史和受益人记录验证代币地址。
项目生命周期
- 通过 Bankr 部署代币(必要前提)
- 通过 CLI 或 REST API 使用代币地址创建项目资料
- 填写元数据(团队、产品、收入来源)
- 管理员审批——项目资料创建时
approved: false,经管理员审批后才会公开显示 - 维护——发布项目更新,并及时更新产品和收入来源
CLI 命令
bankr project # View own project page
bankr project create # Interactive creation wizard
bankr project create --name "My Agent" --token 0x... --twitter myagent
bankr project update --description "Updated description"
bankr project delete # Delete own project page (with confirmation)
bankr project add-update # Add a project update
bankr project add-update --title "v2 Launch" --content "Shipped new features"
所有命令均支持 --json,用于结构化输出(便于程序化使用)。
REST API 端点
所有端点都需要通过 X-API-Key 请求头进行 API 密钥身份验证。
| 方法 | 路径 | 说明 |
|---|---|---|
GET | /agent/profile | 获取自己的项目资料 |
POST | /agent/profile | 创建项目资料 |
PUT | /agent/profile | 更新项目资料字段 |
DELETE | /agent/profile | 删除自己的项目资料 |
POST | /agent/profile/update | 添加项目更新 |
GET | /agent/profile/token-eligibility?address=0x… | 保存前检查能否关联代币 |
这些是单项目资料形式。一个钱包可以持有多个项目:?multi=true 会让 GET 返回数组,并允许 POST 创建额外的项目资料(不使用此参数时,第二次 POST 会返回 409);写入操作还可选用 slug——PUT|DELETE /agent/profile/{slug}、POST /agent/profile/{slug}/update。
创建项目资料:
curl -X POST "https://api.bankr.bot/agent/profile" \
-H "X-API-Key: $BANKR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"projectName": "My Agent", "tokenAddress": "0x...", "description": "An AI trading agent"}'
添加项目更新:
curl -X POST "https://api.bankr.bot/agent/profile/update" \
-H "X-API-Key: $BANKR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"title": "v2 Launch", "content": "Shipped swap optimization and new UI"}'
完整集成指南请参阅 references/projects.md。