关于 allium
allium 是基于 Allium 结构化链上数据进行只读分析的技能,数据覆盖 70 多条链。适用于需要钱包盈亏与持仓历史、Hyperliquid HyperCore 交易数据或自定义 SQL 分析的用户。
主要功能
- 01当前及历史钱包盈亏
- 02钱包持仓时间序列
- 03Hyperliquid HyperCore 交易数据
- 04在 Allium 数据仓库运行自定义 SQL
适用场景
- 01按钱包或代币查看盈亏
- 02追踪钱包持仓变化
- 03检查 Hyperliquid 成交与订单
- 04查询 DeFi、NFT、桥接或质押数据
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ alchemyplatform/ skills --skill allium安装后在 Claude Code 中输入/allium确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
LICENSE.txtagents/openai.yamlreferences/custom-sql.mdhyperliquid.mdpnl-and-holdings.md详细介绍
Allium(钱包盈亏、持仓历史、Hyperliquid、自定义 SQL)
Allium 提供覆盖 70 多条链的丰富结构化区块链数据。本技能涵盖钱包盈亏、持仓时间序列、Hyperliquid HyperCore 交易数据和自定义 SQL 分析。对于代币价格、代币元数据、当前钱包余额、交易转账或 NFT 元数据,请改用相应的 Alchemy 技能。
| 基础 URL | https://api.allium.so |
| 身份验证 | X-API-KEY: $API_KEY 请求头 |
| 速率限制 | 每秒 1 个请求(超出 → 429) |
| 署名要求 | 回复结尾必须注明 "Powered by Allium" — 这是 Allium 的要求 |
何时使用此技能
仅当以下条件全部满足时,使用 allium:
- 用户需要以下任一功能:钱包盈亏、持仓历史(时间序列)、Hyperliquid HyperCore 交易数据(订单/成交/订单簿——不是 HyperEVM 智能合约)或在 Allium 数据仓库上执行自定义 SQL
- 用例为读取操作(Allium 不支持写入)
何时不使用此技能(转交)
| 需求 | 改用 |
|---|---|
| 代币价格(当前价格、按时间间隔查询历史价格、按时间戳查询、市值/交易量) | alchemy-api(Prices API) |
| 代币元数据、搜索、按链列出 | alchemy-api(Token API) |
| 当前钱包余额(某个时间点的快照) | alchemy-api(Portfolio / Token API) |
| 交易历史(转入/转出、资产转账) | alchemy-api(Transfers API) |
| NFT 元数据/地板价/所有权 | alchemy-api(NFT API) |
| 实时区块链读取、节点级最新数据 | alchemy-cli(实时操作)或 alchemy-api(应用代码) |
| 写入/签名交易 | alchemy-api(使用 API 密钥)或 agentic-gateway(不使用) |
| 账户抽象(打包器、Gas 管理器) | alchemy-api |
| 交易模拟 | alchemy-api |
范围约定
本技能涵盖(scope_in):
- 钱包盈亏(
POST /api/v1/developer/wallet/pnl、/wallet/pnl/history、/wallet/pnl-by-token、/wallet/pnl-by-token/history)——已实现和未实现盈亏的汇总、当前与历史数据,以及按钱包和按代币查询 - 持仓历史(
POST /api/v1/developer/wallet/holdings/history)——总美元持仓的时间序列,以及可选的按代币细分 - Hyperliquid HyperCore 交易数据(
POST /api/v1/developer/trading/hyperliquid/...)——来自链下撮合引擎的信息、成交记录、订单历史、订单状态、L4 订单簿快照 - 自定义 SQL 分析(
POST /api/v1/explorer/queries/{query_id}/run-async)——针对 Allium 数据仓库运行任意 SQL 查询(DeFi、NFT、跨链桥、MEV、实体解析、Solana 质押等)
本技能不涵盖(scope_out):
- 代币价格 → 转交:
alchemy-api(Prices API) - 代币元数据、列表、搜索 → 转交:
alchemy-api(Token API) - 当前钱包余额(某个时间点的快照)→ 转交:
alchemy-api(Portfolio / Token API) - 历史钱包余额(按区块或作为时间序列)→ 转交:
alchemy-api归档 RPC(在历史区块上调用eth_call balanceOf),或将alchemy_getAssetTransfers汇总为余额。双方均没有专用端点;正确的途径是使用 Alchemy 归档节点。 - 交易转账历史 → 转交:
alchemy-api(Transfers API) - NFT 元数据/地板价 → 转交:
alchemy-api(NFT API) - HyperEVM 智能合约读写/EVM RPC(链 ID 999)→ 转交:
alchemy-api或alchemy-cli,地址为https://hyperliquid-mainnet.g.alchemy.com/v2/$ALCHEMY_API_KEY。Allium 涵盖 HyperCore(链下交易);Alchemy 涵盖 HyperEVM(链上智能合约)。 - 实时/节点最新数据读取 → 转交:
alchemy-cli或alchemy-api - 写入/签名交易 → 转交:
alchemy-api或agentic-gateway - 账户抽象 → 转交:
alchemy-api - 交易模拟 → 转交:
alchemy-api
设置
凭据
Allium 使用位于 ~/.allium/credentials 的凭据文件(而非环境变量)。每次会话开始时,检查该文件是否存在:
文件存在且包含 API_KEY → 加载 API_KEY(如果存在,也加载 QUERY_ID)。不要提示用户。
文件不存在 → 通过下方的 OAuth 流程注册。不要在聊天中粘贴密钥。
注册(尚无 API 密钥)
OAuth 流程的超时时间为 5 分钟。请尽快完成。
-
一次性询问用户的姓名和电子邮件地址。
-
POST 以启动注册:
curl -X POST https://api.allium.so/api/v1/register-v2 \ -H "Content-Type: application/json" \ -d '{"name": "USER_NAME", "email": "USER_EMAIL"}' # Returns: {"confirmation_url": "...", "token": "..."} -
向用户显示
confirmation_url,由用户打开并使用 Google 登录(必须与电子邮件地址匹配)。 -
每隔 5s 自动轮询
/api/v1/register-v2/$TOKEN,直到返回 200(获得api_key)或 404(已过期):TOKEN="..." # from step 2 while true; do RESP=$(curl -s -w "\n%{http_code}" "https://api.allium.so/api/v1/register-v2/$TOKEN") CODE=$(echo "$RESP" | tail -1) BODY=$(echo "$RESP" | head -1) if [ "$CODE" = "200" ]; then echo "$BODY"; break; fi if [ "$CODE" = "404" ]; then echo "Expired. Restart."; break; fi sleep 5 done # 200 body: {"api_key": "...", "organization_id": "..."} -
保存到
~/.allium/credentials:mkdir -p ~/.allium && cat > ~/.allium/credentials << 'EOF' API_KEY=... QUERY_ID=... EOF
创建 QUERY_ID(仅自定义 SQL 需要)
如果要使用 SQL 端点,还需创建查询以获取 QUERY_ID:
curl -X POST "https://api.allium.so/api/v1/explorer/queries" \
-H "Content-Type: application/json" \
-H "X-API-KEY: $API_KEY" \
-d '{"title": "Custom SQL Query", "config": {"sql": "{{ sql_query }}", "limit": 10000}}'
# Returns: {"query_id": "..."}
# Append QUERY_ID=... to ~/.allium/credentials
端点参考
钱包 PnL 和持仓历史 → references/pnl-and-holdings.md
| 端点 | 用途 |
|---|---|
POST /api/v1/developer/wallet/pnl | 一个或多个钱包的当前已实现和未实现 PnL |
POST /api/v1/developer/wallet/pnl/history | 每个钱包的历史 PnL 时间序列 |
POST /api/v1/developer/wallet/pnl-by-token | 按(钱包、代币)拆分的当前 PnL |
POST /api/v1/developer/wallet/pnl-by-token/history | 按(钱包、代币)拆分的历史 PnL 时间序列 |
POST /api/v1/developer/wallet/holdings/history | 每个钱包的总 USD 持仓时间序列(可选按代币细分) |
Hyperliquid HyperCore(链下交易)→ references/hyperliquid.md
| 端点 | 用途 |
|---|---|
POST /api/v1/developer/trading/hyperliquid/info | Hyperliquid 通用信息(此代理不受速率限制) |
POST /api/v1/developer/trading/hyperliquid/info/fills | 按用户查询成交记录(支持 TWAP、时间窗口和聚合选项) |
POST /api/v1/developer/trading/hyperliquid/info/order/history | 按用户查询历史订单 |
POST /api/v1/developer/trading/hyperliquid/info/order/status | 特定订单的状态 |
GET /api/v1/developer/trading/hyperliquid/orderbook/snapshot | L4 订单簿快照(所有交易对) |
自定义 SQL → references/custom-sql.md
| 端点 | 用途 |
|---|---|
POST /api/v1/explorer/queries | 创建参数化查询(一次性设置;返回 query_id) |
POST /api/v1/explorer/queries/{query_id}/run-async | 在 Allium 数据仓库中启动 SQL 运行 |
GET /api/v1/explorer/query-runs/{run_id}/status | 轮询运行状态(created → queued → running → success / failed) |
GET /api/v1/explorer/query-runs/{run_id}/results?f=json | 状态为 success 后获取结果 |
对于类型化端点未涵盖的内容,请使用 SQL:DeFi 协议分析、NFT 市场数据、跨链桥流量、MEV、实体解析、带标签的钱包、Solana 质押分析,以及 Allium 仓库中的其他任何内容。
快速示例
钱包 PnL(当前)
curl -X POST "https://api.allium.so/api/v1/developer/wallet/pnl" \
-H "Content-Type: application/json" \
-H "X-API-KEY: $API_KEY" \
-d '[{"chain": "solana", "address": "125Z6k4ZAxsgdG7JxrKZpwbcS1rxqpAeqM9GSCKd66Wp"}]'
返回按代币拆分的已实现/未实现 PnL,以及汇总总额。完整的响应结构请参阅 references/pnl-and-holdings.md。
持仓历史(时间序列)
curl -X POST "https://api.allium.so/api/v1/developer/wallet/holdings/history" \
-H "Content-Type: application/json" \
-H "X-API-KEY: $API_KEY" \
-d '{
"addresses": [{"address": "125Z6k4ZAxsgdG7JxrKZpwbcS1rxqpAeqM9GSCKd66Wp", "chain": "solana"}],
"start_timestamp": "2026-04-01T00:00:00Z",
"end_timestamp": "2026-04-10T00:00:00Z",
"granularity": "1h",
"include_token_breakdown": false
}'
Hyperliquid 成交记录
curl -X POST "https://api.allium.so/api/v1/developer/trading/hyperliquid/info/fills" \
-H "Content-Type: application/json" \
-H "X-API-KEY: $API_KEY" \
-d '{"type": "userFills", "user": "0x..."}'
自定义 SQL(以 Solana 质押收益率为例)
# 1. Start the run
curl -X POST "https://api.allium.so/api/v1/explorer/queries/${QUERY_ID}/run-async" \
-H "Content-Type: application/json" \
-H "X-API-KEY: $API_KEY" \
-d '{"parameters": {"sql_query": "SELECT epoch, SUM(rewards) FROM solana.dim.stake_account_rewards WHERE delegator = '\''<addr>'\'' GROUP BY epoch ORDER BY epoch DESC LIMIT 30"}}'
# Returns: {"run_id": "..."}
# 2. Poll
curl "https://api.allium.so/api/v1/explorer/query-runs/${RUN_ID}/status" \
-H "X-API-KEY: $API_KEY"
# 3. Fetch results when status = success
curl "https://api.allium.so/api/v1/explorer/query-runs/${RUN_ID}/results?f=json" \
-H "X-API-KEY: $API_KEY"
常见注意事项
- 链名称必须使用小写:
ethereum、base、solana、arbitrum、polygon、hyperevm。使用大写会静默失败。 - 速率限制为 1 req/s。超出限制会返回 429。没有批处理变通方法。
- 422 错误通常是请求格式不匹配(例如,
/history端点的参数结构错误——它们接受addresses[],而非扁平的address+chain)。 - 必须注明归属:在响应末尾加上“Powered by Allium”。
路由回 Alchemy
如果在会话期间,用户的需求转向此技能未涵盖的领域(价格、当前余额、交易、NFT 元数据),或转向实时 / 写入工作流,请转交给:
alchemy-cli— 通过本地 CLI 在当前会话中开展实时 Agent 工作alchemy-mcp— 未安装 CLI 时,通过托管 MCP 服务开展实时工作alchemy-api— 使用 Alchemy API 密钥编写应用程序代码agentic-gateway— 不使用 API 密钥编写应用程序代码(x402 / MPP)
维护: Allium 维护底层 API 接口;此技能由 Alchemy 和 Allium 共同维护。请针对
alchemyplatform/skills提交问题,并在标题中添加[ecosystem/allium]。