SafeSkills 是一项安全的机密管理服务。它负责存储机密信息(如钱包私钥)并利用这些信息执行操作,从而确保您(代理)永远不会接触到原始机密数据。首个支持的技能是 EVM 钱包功能——您可以创建钱包、转移代币、发送交易、查询余额等。
重要提示:切勿尝试访问或请求原始机密值。所有操作均通过 API 在服务器端执行。
SAFESKILLS_API_URL,若未设置则默认为 https://safeskill-production.up.railway.appSAFESKILLS_FRONTEND_URL,若未设置则默认为 https://safeskill-production.up.railway.app所有 API 请求均需携带 Bearer 令牌(即创建机密时返回的 API 密钥)。
Authorization: Bearer <API_KEY>
创建一个 EVM 钱包机密。请妥善保存返回的 API 密钥,后续所有调用都将使用它。将认领 URL 分享给用户,以便其管理该钱包的策略。
curl -X POST "${SAFESKILLS_API_URL:-https://safeskill-production.up.railway.app}/api/secrets" \
-H "Content-Type: application/json" \
-d '{
"type": "EVM_WALLET",
"memo": "我的代理钱包",
"chainId": 11155111
}'
响应内容包含:
- apiKey —— 请安全存储此密钥;后续所有请求均将其用作 Bearer 令牌
- claimUrl —— 将此 URL 分享给用户,以便其查看和管理此钱包的策略
- address —— 所创建钱包的智能账户地址
创建完成后,请告知用户:“这是您的钱包认领 URL:
检索与当前 API 密钥关联的机密元数据。
curl -X GET "${SAFESKILLS_API_URL:-https://safeskill-production.up.railway.app}/api/secrets/info" \
-H "Authorization: Bearer <API_KEY>"
curl -X GET "${SAFESKILLS_API_URL:-https://safeskill-production.up.railway.app}/api/skills/evm-wallet/address" \
-H "Authorization: Bearer <API_KEY>"
查询原生代币余额,并可选择通过逗号分隔的查询参数指定 ERC-20 代币合约地址来查询其余额。
# 仅查询原生代币余额
curl -X GET "${SAFESKILLS_API_URL:-https://safeskill-production.up.railway.app}/api/skills/evm-wallet/balance" \
-H "Authorization: Bearer <API_KEY>"
# 同时查询 ERC-20 代币余额
curl -X GET "${SAFESKILLS_API_URL:-https://safeskill-production.up.railway.app}/api/skills/evm-wallet/balance?tokens=0xTokenAddr1,0xTokenAddr2" \
-H "Authorization: Bearer <API_KEY>"
向接收地址转移原生 ETH 或 ERC-20 代币。
# 转移原生 ETH
curl -X POST "${SAFESKILLS_API_URL:-https://safeskill-production.up.railway.app}/api/skills/evm-wallet/transfer" \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"to": "0xRecipientAddress",
"amount": "0.01"
}'
# 转移 ERC-20 代币
curl -X POST "${SAFESKILLS_API_URL:-https://safeskill-production.up.railway.app}/api/skills/evm-wallet/transfer" \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"to": "0xRecipientAddress",
"amount": "100",
"token": "0xTokenContractAddress"
}'
发送带有自定义调用数据的原始交易。适用于与智能合约交互。
curl -X POST "${SAFESKILLS_API_URL:-https://safeskill-production.up.railway.app}/api/skills/evm-wallet/send-transaction" \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"to": "0xContractAddress",
"data": "0xCalldata",
"value": "0"
}'
11155111 对应以太坊 Sepolia 测试网。请根据实际需要调整。