archimedes
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChinesePre-flight Dependencies (auto-injected by Plugin Store CI)
前置依赖(由插件商店CI自动注入)
Run once per session before first use. These checks ensure required tools are installed.
首次使用前每个会话运行一次,这些检查会确保所需工具已安装。
Install onchainos CLI + Skills (auto-injected)
安装onchainos CLI + 技能(自动注入)
bash
undefinedbash
undefined1. Install onchainos CLI
1. Install onchainos CLI
onchainos --version 2>/dev/null || curl -fsSL https://raw.githubusercontent.com/okx/onchainos-skills/main/install.sh | sh
onchainos --version 2>/dev/null || curl -fsSL https://raw.githubusercontent.com/okx/onchainos-skills/main/install.sh | sh
2. Install onchainos skills (enables AI agent to use onchainos commands)
2. Install onchainos skills (enables AI agent to use onchainos commands)
npx skills add okx/onchainos-skills --yes --global
npx skills add okx/onchainos-skills --yes --global
3. Install plugin-store skills (enables plugin discovery and management)
3. Install plugin-store skills (enables plugin discovery and management)
npx skills add MigOKG/plugin-store --skill plugin-store --yes --global
undefinednpx skills add MigOKG/plugin-store --skill plugin-store --yes --global
undefinedInstall archimedes binary (auto-injected)
安装archimedes二进制文件(自动注入)
bash
if ! command -v archimedes >/dev/null 2>&1; then
OS=$(uname -s | tr A-Z a-z)
ARCH=$(uname -m)
EXT=""
case "${OS}_${ARCH}" in
darwin_arm64) TARGET="aarch64-apple-darwin" ;;
darwin_x86_64) TARGET="x86_64-apple-darwin" ;;
linux_x86_64) TARGET="x86_64-unknown-linux-gnu" ;;
linux_aarch64) TARGET="aarch64-unknown-linux-gnu" ;;
mingw*_x86_64|msys*_x86_64|cygwin*_x86_64) TARGET="x86_64-pc-windows-msvc"; EXT=".exe" ;;
esac
mkdir -p ~/.local/bin
curl -fsSL "https://github.com/MigOKG/plugin-store/releases/download/plugins/archimedes@0.1.0/archimedes-${TARGET}${EXT}" -o ~/.local/bin/archimedes${EXT}
chmod +x ~/.local/bin/archimedes${EXT}
fibash
if ! command -v archimedes >/dev/null 2>&1; then
OS=$(uname -s | tr A-Z a-z)
ARCH=$(uname -m)
EXT=""
case "${OS}_${ARCH}" in
darwin_arm64) TARGET="aarch64-apple-darwin" ;;
darwin_x86_64) TARGET="x86_64-apple-darwin" ;;
linux_x86_64) TARGET="x86_64-unknown-linux-gnu" ;;
linux_aarch64) TARGET="aarch64-unknown-linux-gnu" ;;
mingw*_x86_64|msys*_x86_64|cygwin*_x86_64) TARGET="x86_64-pc-windows-msvc"; EXT=".exe" ;;
esac
mkdir -p ~/.local/bin
curl -fsSL "https://github.com/MigOKG/plugin-store/releases/download/plugins/archimedes@0.1.0/archimedes-${TARGET}${EXT}" -o ~/.local/bin/archimedes${EXT}
chmod +x ~/.local/bin/archimedes${EXT}
fiReport install (auto-injected, runs once)
上报安装情况(自动注入,仅运行一次)
bash
REPORT_FLAG="$HOME/.plugin-store/reported/archimedes"
if [ ! -f "$REPORT_FLAG" ]; then
mkdir -p "$HOME/.plugin-store/reported"
# Device fingerprint → SHA256 → 32-char device ID
DEV_RAW="$(hostname):$(uname -s):$(uname -m):$HOME"
DEV_ID=$(echo -n "$DEV_RAW" | shasum -a 256 | head -c 32)
# HMAC signature (obfuscated key, same as CLI binary)
_K=$(echo 'OE9nNWFRUFdfSVJkektrMExOV2RNeTIzV2JibXo3ZWNTbExJUDFIWnVoZw==' | base64 -d 2>/dev/null || echo 'OE9nNWFRUFdfSVJkektrMExOV2RNeTIzV2JibXo3ZWNTbExJUDFIWnVoZw==' | openssl base64 -d)
HMAC_SIG=$(echo -n "${_K}${DEV_ID}" | shasum -a 256 | head -c 8)
DIV_ID="${DEV_ID}${HMAC_SIG}"
unset _K
# Report to Vercel stats
curl -s -X POST "https://plugin-store-dun.vercel.app/install" \
-H "Content-Type: application/json" \
-d '{"name":"archimedes","version":"0.1.0"}' >/dev/null 2>&1 || true
# Report to OKX API (with HMAC-signed device token)
curl -s -X POST "https://www.okx.com/priapi/v1/wallet/plugins/download/report" \
-H "Content-Type: application/json" \
-d '{"pluginName":"archimedes","divId":"'"$DIV_ID"'"}' >/dev/null 2>&1 || true
touch "$REPORT_FLAG"
fibash
REPORT_FLAG="$HOME/.plugin-store/reported/archimedes"
if [ ! -f "$REPORT_FLAG" ]; then
mkdir -p "$HOME/.plugin-store/reported"
# Device fingerprint → SHA256 → 32-char device ID
DEV_RAW="$(hostname):$(uname -s):$(uname -m):$HOME"
DEV_ID=$(echo -n "$DEV_RAW" | shasum -a 256 | head -c 32)
# HMAC signature (obfuscated key, same as CLI binary)
_K=$(echo 'OE9nNWFRUFdfSVJkektrMExOV2RNeTIzV2JibXo3ZWNTbExJUDFIWnVoZw==' | base64 -d 2>/dev/null || echo 'OE9nNWFRUFdfSVJkektrMExOV2RNeTIzV2JibXo3ZWNTbExJUDFIWnVoZw==' | openssl base64 -d)
HMAC_SIG=$(echo -n "${_K}${DEV_ID}" | shasum -a 256 | head -c 8)
DIV_ID="${DEV_ID}${HMAC_SIG}"
unset _K
# Report to Vercel stats
curl -s -X POST "https://plugin-store-dun.vercel.app/install" \
-H "Content-Type: application/json" \
-d '{"name":"archimedes","version":"0.1.0"}' >/dev/null 2>&1 || true
# Report to OKX API (with HMAC-signed device token)
curl -s -X POST "https://www.okx.com/priapi/v1/wallet/plugins/download/report" \
-H "Content-Type: application/json" \
-d '{"pluginName":"archimedes","divId":"'"$DIV_ID"'"}' >/dev/null 2>&1 || true
touch "$REPORT_FLAG"
fiarchimedes
archimedes
Overview
概述
Archimedes Finance V2 is a protected yield protocol on Ethereum mainnet. It wraps Convex and Aura LP strategies inside ERC4626 vaults with an offchain auto-protection monitor. Users deposit WETH or crvFRAX, receive vault shares that appreciate over time, and can withdraw or redeem at any point.
- Read ops: direct against Ethereum mainnet RPC
eth_call - Write ops: after user confirmation, submits via onchainos wallet contract-call
- Non-standard ERC4626: and
withdrawtake a 4thredeemslippage paramminimumReceive
Archimedes Finance V2是以太坊主网上的受保护收益协议,它将Convex和Aura LP策略封装在ERC4626金库中,搭配链下自动保护监控器。用户存入WETH或crvFRAX后会获得随时间增值的金库份额,可随时取款或赎回。
- 读操作:直接对以太坊主网RPC执行
eth_call - 写操作:用户确认后,通过onchainos钱包合约调用提交
- 非标准ERC4626:和
withdraw支持第四个redeem滑点参数minimumReceive
Pre-flight Checks
前置检查
Before using this skill, ensure:
- Check onchainos: - if not found, install from https://web3.okx.com/onchainos
which onchainos - Check binary: - if not found, install via
which archimedesplugin-store install archimedes - Check wallet login: - must show
onchainos wallet status; if not, runloggedIn: trueonchainos wallet login - For write operations: verify Ethereum mainnet (chain 1) wallet has sufficient ETH for gas
使用本技能前,请确认:
- 检查onchainos:执行- 如果找不到,可从https://web3.okx.com/onchainos安装
which onchainos - 检查二进制文件:执行- 如果找不到,可通过
which archimedes安装plugin-store install archimedes - 检查钱包登录状态:执行- 必须显示
onchainos wallet status;如果未登录,运行loggedIn: trueonchainos wallet login - 写操作前置要求:确认以太坊主网(链ID 1)钱包有足够ETH支付Gas费
Commands
命令
vaults
vaults
List all known Archimedes V2 vault addresses with underlying asset and current TVL.
bash
archimedes vaults
archimedes vaults --rpc https://ethereum.publicnode.comWhen to use: When user asks about available Archimedes vaults, yield strategies, or vault addresses.
Parameters:
- : Optional custom Ethereum RPC URL
--rpc
Output: JSON list of vaults with name, vault address, underlying symbol, underlying address, and TVL.
Example:
bash
archimedes vaults列出所有已知的Archimedes V2金库地址,包含底层资产和当前总锁仓量(TVL)。
bash
archimedes vaults
archimedes vaults --rpc https://ethereum.publicnode.com适用场景:当用户询问可用的Archimedes金库、收益策略或金库地址时使用。
参数:
- : 可选自定义以太坊RPC URL
--rpc
输出:金库的JSON列表,包含名称、金库地址、底层资产符号、底层资产地址和TVL。
示例:
bash
archimedes vaultsReturns: [{"name":"WETH ETH+ Strategy (Convex)","address":"0xfA364CB...","tvl":"1.234"}]
Returns: [{"name":"WETH ETH+ Strategy (Convex)","address":"0xfA364CB...","tvl":"1.234"}]
---
---positions
positions
Show wallet's share balance and underlying asset value across all Archimedes vaults.
bash
archimedes positions
archimedes positions --wallet 0xAbCd...1234
archimedes positions --rpc https://ethereum.publicnode.comWhen to use: When user asks about their Archimedes position, vault balance, or deposited assets.
Parameters:
- : Optional wallet address to query (defaults to logged-in wallet)
--wallet - : Optional custom Ethereum RPC URL
--rpc
Output: JSON list of positions with vault name, shares held, underlying value, and vault TVL.
Example:
bash
archimedes positions显示钱包在所有Archimedes金库中的份额余额和对应底层资产价值。
bash
archimedes positions
archimedes positions --wallet 0xAbCd...1234
archimedes positions --rpc https://ethereum.publicnode.com适用场景:当用户询问其Archimedes持仓、金库余额或已存入资产时使用。
参数:
- : 可选要查询的钱包地址(默认使用已登录钱包)
--wallet - : 可选自定义以太坊RPC URL
--rpc
输出:持仓的JSON列表,包含金库名称、持有份额、底层资产价值和金库TVL。
示例:
bash
archimedes positionsReturns: [{"vault":"WETH ETH+ Strategy","shares":"0.001","underlying_value":"0.001 WETH"}]
Returns: [{"vault":"WETH ETH+ Strategy","shares":"0.001","underlying_value":"0.001 WETH"}]
---
---deposit
deposit
Deposit underlying assets into an Archimedes V2 vault. Executes ERC-20 approve followed by vault deposit.
bash
archimedes deposit --vault <ADDR> --amount <AMOUNT> [--from <ADDR>] [--rpc <URL>] [--dry-run]When to use: When user wants to deposit WETH or crvFRAX into an Archimedes vault to earn yield.
Parameters:
- : Vault contract address (use
--vaultto list)archimedes vaults - : Amount of underlying asset in human-readable form (e.g. "0.01")
--amount - : Wallet address (receiver); defaults to logged-in wallet
--from - : Optional custom Ethereum RPC URL
--rpc - : Preview calldata without submitting
--dry-run
Flow:
- Run with to preview both transactions
--dry-run - Ask user to confirm Step 1 (ERC-20 approve) before broadcasting
- Execute: token.approve(vault, amount)
- Wait 15 seconds for confirmation on Ethereum mainnet
- Ask user to confirm Step 2 (vault deposit) before broadcasting
- Execute: vault.deposit(assets, receiver)
Example:
bash
archimedes deposit --vault 0xfA364CBca915f17fEc356E35B61541fC6D4D8269 --amount 0.001 --dry-run
archimedes deposit --vault 0xfA364CBca915f17fEc356E35B61541fC6D4D8269 --amount 0.001Output: JSON with approve tx hash, deposit tx hash, expected shares received.
将底层资产存入Archimedes V2金库,会先执行ERC-20授权再执行金库存款。
bash
archimedes deposit --vault <ADDR> --amount <AMOUNT> [--from <ADDR>] [--rpc <URL>] [--dry-run]适用场景:当用户想要将WETH或crvFRAX存入Archimedes金库赚取收益时使用。
参数:
- : 金库合约地址(可使用
--vault列出)archimedes vaults - : 底层资产数量,为人类可读格式(例如"0.01")
--amount - : 钱包地址(收款方);默认使用已登录钱包
--from - : 可选自定义以太坊RPC URL
--rpc - : 预览调用数据而不提交交易
--dry-run
流程:
- 带参数运行,预览两笔交易
--dry-run - 广播前请用户确认第一步(ERC-20授权)
- 执行:token.approve(vault, amount)
- 等待15秒等待以太坊主网确认
- 广播前请用户确认第二步(金库存款)
- 执行:vault.deposit(assets, receiver)
示例:
bash
archimedes deposit --vault 0xfA364CBca915f17fEc356E35B61541fC6D4D8269 --amount 0.001 --dry-run
archimedes deposit --vault 0xfA364CBca915f17fEc356E35B61541fC6D4D8269 --amount 0.001输出:包含授权交易哈希、存款交易哈希、预期获得份额的JSON。
withdraw
withdraw
Withdraw underlying assets from a vault by specifying asset amount. Uses non-standard 4-param .
withdraw(assets, receiver, owner, minimumReceive)bash
archimedes withdraw --vault <ADDR> --amount <AMOUNT> [--from <ADDR>] [--slippage-bps <N>] [--rpc <URL>] [--dry-run]When to use: When user wants to withdraw a specific amount of underlying assets from an Archimedes vault.
Parameters:
- : Vault contract address
--vault - : Amount of underlying asset to withdraw (human-readable)
--amount - : Wallet address (receiver and owner); defaults to logged-in wallet
--from - : Slippage tolerance in basis points (default: 50 = 0.5%); use 0 to skip minimum
--slippage-bps - : Optional custom Ethereum RPC URL
--rpc - : Simulate without broadcasting
--dry-run
Flow:
- Run with to preview calldata
--dry-run - Ask user to confirm the withdrawal before broadcasting
- Execute: vault.withdraw(assets, receiver, owner, minimumReceive)
Example:
bash
archimedes withdraw --vault 0xfA364CBca915f17fEc356E35B61541fC6D4D8269 --amount 0.001 --dry-run
archimedes withdraw --vault 0xfA364CBca915f17fEc356E35B61541fC6D4D8269 --amount 0.001
archimedes withdraw --vault 0xfA364CBca915f17fEc356E35B61541fC6D4D8269 --amount 0.001 --slippage-bps 100Output: JSON with tx hash, assets requested, minimum receive threshold.
通过指定资产数量从金库提取底层资产,使用非标准4参数。
withdraw(assets, receiver, owner, minimumReceive)bash
archimedes withdraw --vault <ADDR> --amount <AMOUNT> [--from <ADDR>] [--slippage-bps <N>] [--rpc <URL>] [--dry-run]适用场景:当用户想要从Archimedes金库提取指定数量的底层资产时使用。
参数:
- : 金库合约地址
--vault - : 要提取的底层资产数量,为人类可读格式
--amount - : 钱包地址(收款方和资产所有者);默认使用已登录钱包
--from - : 滑点容忍度,单位为基点(默认:50 = 0.5%);设为0可跳过最低接收限制
--slippage-bps - : 可选自定义以太坊RPC URL
--rpc - : 模拟执行而不广播交易
--dry-run
流程:
- 带参数运行,预览调用数据
--dry-run - 广播前请用户确认取款操作
- 执行:vault.withdraw(assets, receiver, owner, minimumReceive)
示例:
bash
archimedes withdraw --vault 0xfA364CBca915f17fEc356E35B61541fC6D4D8269 --amount 0.001 --dry-run
archimedes withdraw --vault 0xfA364CBca915f17fEc356E35B61541fC6D4D8269 --amount 0.001
archimedes withdraw --vault 0xfA364CBca915f17fEc356E35B61541fC6D4D8269 --amount 0.001 --slippage-bps 100输出:包含交易哈希、请求资产数量、最低接收阈值的JSON。
redeem
redeem
Redeem vault shares for underlying assets. Redeems all shares by default. Uses non-standard 4-param .
redeem(shares, receiver, owner, minimumReceive)bash
archimedes redeem --vault <ADDR> [--shares <AMOUNT>] [--from <ADDR>] [--slippage-bps <N>] [--rpc <URL>] [--dry-run]When to use: When user wants to exit an Archimedes vault by redeeming shares.
Parameters:
- : Vault contract address
--vault - : Number of shares to redeem (omit to redeem all)
--shares - : Wallet address (receiver and owner); defaults to logged-in wallet
--from - : Slippage tolerance in basis points (default: 50 = 0.5%); use 0 to skip minimum
--slippage-bps - : Optional custom Ethereum RPC URL
--rpc - : Simulate without broadcasting
--dry-run
Flow:
- Run with to preview calldata
--dry-run - Ask user to confirm the redemption before broadcasting
- Execute: vault.redeem(shares, receiver, owner, minimumReceive)
Example:
bash
archimedes redeem --vault 0xfA364CBca915f17fEc356E35B61541fC6D4D8269 --dry-run
archimedes redeem --vault 0xfA364CBca915f17fEc356E35B61541fC6D4D8269
archimedes redeem --vault 0xfA364CBca915f17fEc356E35B61541fC6D4D8269 --shares 0.5Output: JSON with tx hash, shares redeemed, expected underlying assets received.
将金库份额赎回为底层资产,默认赎回全部份额,使用非标准4参数。
redeem(shares, receiver, owner, minimumReceive)bash
archimedes redeem --vault <ADDR> [--shares <AMOUNT>] [--from <ADDR>] [--slippage-bps <N>] [--rpc <URL>] [--dry-run]适用场景:当用户想要通过赎回份额退出Archimedes金库时使用。
参数:
- : 金库合约地址
--vault - : 要赎回的份额数量(省略则赎回全部)
--shares - : 钱包地址(收款方和份额所有者);默认使用已登录钱包
--from - : 滑点容忍度,单位为基点(默认:50 = 0.5%);设为0可跳过最低接收限制
--slippage-bps - : 可选自定义以太坊RPC URL
--rpc - : 模拟执行而不广播交易
--dry-run
流程:
- 带参数运行,预览调用数据
--dry-run - 广播前请用户确认赎回操作
- 执行:vault.redeem(shares, receiver, owner, minimumReceive)
示例:
bash
archimedes redeem --vault 0xfA364CBca915f17fEc356E35B61541fC6D4D8269 --dry-run
archimedes redeem --vault 0xfA364CBca915f17fEc356E35B61541fC6D4D8269
archimedes redeem --vault 0xfA364CBca915f17fEc356E35B61541fC6D4D8269 --shares 0.5输出:包含交易哈希、已赎回份额、预期获得底层资产的JSON。
Examples
示例
Example 1: Deposit WETH into Archimedes Vault
示例1:向Archimedes金库存入WETH
bash
undefinedbash
undefinedStep 1: List available vaults
步骤1:列出可用金库
archimedes vaults
archimedes vaults
Step 2: Check current position (before)
步骤2:查看当前持仓(存款前)
archimedes positions
archimedes positions
Step 3: Preview deposit
步骤3:预览存款操作
archimedes deposit --vault 0xfA364CBca915f17fEc356E35B61541fC6D4D8269 --amount 0.01 --dry-run
archimedes deposit --vault 0xfA364CBca915f17fEc356E35B61541fC6D4D8269 --amount 0.01 --dry-run
Step 4: Execute deposit (will prompt for confirmation twice)
步骤4:执行存款(会弹出两次确认提示)
archimedes deposit --vault 0xfA364CBca915f17fEc356E35B61541fC6D4D8269 --amount 0.01
undefinedarchimedes deposit --vault 0xfA364CBca915f17fEc356E35B61541fC6D4D8269 --amount 0.01
undefinedExample 2: Redeem All Shares
示例2:赎回全部份额
bash
undefinedbash
undefinedStep 1: Check current positions to find vault address and shares held
步骤1:查看当前持仓,获取金库地址和持有份额
archimedes positions
archimedes positions
Step 2: Preview redeem
步骤2:预览赎回操作
archimedes redeem --vault 0xfA364CBca915f17fEc356E35B61541fC6D4D8269 --dry-run
archimedes redeem --vault 0xfA364CBca915f17fEc356E35B61541fC6D4D8269 --dry-run
Step 3: Execute redeem (will prompt for confirmation)
步骤3:执行赎回(会弹出确认提示)
archimedes redeem --vault 0xfA364CBca915f17fEc356E35B61541fC6D4D8269
undefinedarchimedes redeem --vault 0xfA364CBca915f17fEc356E35B61541fC6D4D8269
undefinedError Handling
错误处理
| Error | Cause | Resolution |
|---|---|---|
| "Unknown vault address" | Vault address not in hardcoded list | Run |
| "Insufficient WETH balance" | Not enough underlying token | Check balance before depositing |
| "deposit failed" | Approve tx not confirmed yet | Retry; 15s wait between approve and deposit |
| "withdraw failed: revert" | minimumReceive too high | Increase |
| "Could not resolve wallet" | Not logged into onchainos | Run |
| RPC timeout | Public RPC unavailable | Use |
| 错误 | 原因 | 解决方案 |
|---|---|---|
| "Unknown vault address" | 金库地址不在硬编码列表中 | 运行 |
| "Insufficient WETH balance" | 底层代币余额不足 | 存款前检查余额 |
| "deposit failed" | 授权交易尚未确认 | 重试;授权和存款之间等待15秒 |
| "withdraw failed: revert" | minimumReceive值设置过高 | 提高 |
| "Could not resolve wallet" | 未登录onchainos | 运行 |
| RPC timeout | 公共RPC不可用 | 搭配 |
Security Notices
安全注意事项
- This plugin interacts with Archimedes Finance V2 vaults on Ethereum mainnet. Deposits involve real funds.
- All write operations require explicit user confirmation before broadcasting.
- mode is available for all write commands to preview calldata safely.
--dry-run - Vault factory is inactive; vault addresses are hardcoded (3 known vaults). Verify addresses on-chain before transacting.
- Funds sit idle in vault until offchain monitor triggers rebalance; yield accrues after rebalance only.
- slippage protection is applied on all withdrawals (default 0.5%); use
minimumReceiveto disable.--slippage-bps 0
- 本插件与以太坊主网上的Archimedes Finance V2金库交互,存款涉及真实资金。
- 所有写操作在广播前都需要用户明确确认。
- 所有写命令都支持模式,可安全预览调用数据。
--dry-run - 金库工厂已停用,金库地址为硬编码(共3个已知金库),交易前请在链上验证地址。
- 资金会在金库中闲置,直到链下监控器触发再平衡;仅在再平衡后才会产生收益。
- 所有取款操作都应用滑点保护(默认0.5%);可使用
minimumReceive关闭。--slippage-bps 0
Known Vaults (Ethereum Mainnet)
已知金库(以太坊主网)
| Vault | Address | Underlying |
|---|---|---|
| WETH ETH+ Strategy (Convex) | | WETH |
| WETH Aura Weighted Strategy | | WETH |
| alUSD FRAXBP Strategy (Convex) | | crvFRAX |
| 金库 | 地址 | 底层资产 |
|---|---|---|
| WETH ETH+ Strategy (Convex) | | WETH |
| WETH Aura Weighted Strategy | | WETH |
| alUSD FRAXBP Strategy (Convex) | | crvFRAX |