加密数据 API
Surf 已于 2026-09-06 下线
本页原先介绍的 Surf 加密数据服务已由上游在 2026-09-06 下线。所有 /v1/marketplace/surf/* 路径现在返回 404 service no longer available: surf, 既不能调用,也不会收费。
原来用它做的事情由下面三个在线服务承接:DeFi(TVL、收益率、链)、DEX 兑换报价、现货价格。 预测市场请使用专门的 预测市场 API。
| 需求 | 服务 | 基础 URL | 价格 |
|---|---|---|---|
| DeFi TVL、链、收益率、协议详情、代币价格 | DeFi(DefiLlama) | /v1/marketplace/defi | $0.0055/次 |
| DEX 兑换价格与报价、无 Gas 兑换 | DEX(0x) | /v1/marketplace/dex | $0.0011/次 |
| 加密货币、外汇、大宗商品的现货价格与历史 | Markets | /v1/marketplace/markets | $0.0011/次 |
| Polymarket、Kalshi 等 | 预测市场 | /v1/marketplace/prediction | $0.00935/次 |
价格为 2026-09-29 实测的 x402 报价。每次调用的准确扣费见 402 挑战中的 accepts[].amount(单位 micro-USDC)以及响应里的 price.amount。
本页三个服务均只支持 GET。
认证
两种方式均支持 — 所有请求通过 x402 链上结算:
| 方式 | Header | 描述 |
|---|---|---|
| API Key | Authorization: Bearer sk-... | 平台自动从你的 HD 钱包签署 x402 |
| 私钥(x402) | SDK 自动处理 | Agent 直接用自己的钱包签署 x402 |
详见 Agent 支付(x402)。
DeFi(DefiLlama)
基础 URL: https://api.jarvisclaw.ai/v1/marketplace/defi
| 方法 | 路径 | 返回 |
|---|---|---|
| GET | /protocols | 所有协议及 TVL、链分布 |
| GET | /protocol/{slug} | 单个协议的 TVL 历史与元数据 |
| GET | /chains | 各链 TVL |
| GET | /yields | 各协议资金池收益率(APY、TVL)——响应很大 |
| GET | /prices/{coins} | 代币价格,例如 coingecko:ethereum,coingecko:bitcoin |
未知路径返回 404,响应体里列出可用端点。
DEX(0x)
基础 URL: https://api.jarvisclaw.ai/v1/marketplace/dex
| 方法 | 路径 | 返回 |
|---|---|---|
| GET | /price | 参考兑换价格(不锁定) |
| GET | /quote | 可执行的兑换报价 |
| GET | /gasless/price | 无 Gas 兑换参考价格 |
| GET | /gasless/quote | 无 Gas 兑换可执行报价 |
| GET | /gasless/status/{trade_hash} | 已提交无 Gas 交易的状态 |
| GET | /gasless/approval-tokens | 支持无 Gas 授权的代币 |
| GET | /gasless/chains | 支持无 Gas 兑换的链 |
/price 与 /quote 需要 chainId、sellToken、buyToken、sellAmount(卖出代币的最小单位)。
Markets(现货价格)
基础 URL: https://api.jarvisclaw.ai/v1/marketplace/markets
| 方法 | 路径 | 返回 |
|---|---|---|
| GET | /crypto/list | 支持的加密货币代码 |
| GET | /crypto/price/{symbol} | 最新价格,例如 BTC-USD |
| GET | /crypto/history/{symbol} | 价格历史 |
| GET | /fx/list、/fx/price/{pair}、/fx/history/{pair} | 外汇同上,例如 EUR-USD |
| GET | /commodity/list、/commodity/price/{symbol}、/commodity/history/{symbol} | 大宗商品同上,例如 XAU-USD |
代码示例
bash
# BTC spot price
curl "https://api.jarvisclaw.ai/v1/marketplace/markets/crypto/price/BTC-USD" \
-H "Authorization: Bearer sk-..."
# TVL per chain
curl "https://api.jarvisclaw.ai/v1/marketplace/defi/chains" \
-H "Authorization: Bearer sk-..."
# Swap price: 1 USDC -> WETH on Base
curl "https://api.jarvisclaw.ai/v1/marketplace/dex/price?chainId=8453&sellToken=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913&buyToken=0x4200000000000000000000000000000000000006&sellAmount=1000000" \
-H "Authorization: Bearer sk-..."python
from jarvisclaw import MarketplaceClient
# Hex private key -> USDC on Base; a base58 keypair -> USDC on Solana.
client = MarketplaceClient(private_key="0x<evm-private-key>")
btc = client.call("markets", "/crypto/price/BTC-USD")
print(btc["price"])
chains = client.call("defi", "/chains")
print(chains[0]["name"], chains[0]["tvl"])
quote = client.call("dex", "/price", params={
"chainId": "8453",
"sellToken": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", # USDC
"buyToken": "0x4200000000000000000000000000000000000006", # WETH
"sellAmount": "1000000",
})
print(quote["buyAmount"])go
package main
import (
"context"
"fmt"
jc "github.com/api-jarvisclaw/go-sdk/v2"
)
func main() {
ctx := context.Background()
mc, _ := jc.NewMarketplaceClient(jc.WithPrivateKey("0x<evm-private-key>"))
btc, _ := mc.Call(ctx, "markets", "/crypto/price/BTC-USD", nil)
fmt.Println(btc["price"])
quote, _ := mc.Call(ctx, "dex", "/price", jc.WithParams(map[string]string{
"chainId": "8453",
"sellToken": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"buyToken": "0x4200000000000000000000000000000000000006",
"sellAmount": "1000000",
}))
fmt.Println(quote["buyAmount"])
}Surf 原有但暂无替代的能力
链上 SQL、钱包标签、社交/CT 热度、VC 基金数据和 Surf 新闻流目前在平台上没有在线替代。 上游表示正在寻找新供应商。在替代发布之前,/v1/marketplace/surf/* 下的调用都返回 404,且从不扣费。
错误
| 状态码 | 含义 | 处理 |
|---|---|---|
| 402 | 需要 x402 支付 | 完成支付挑战,或使用有 USDC 余额的 API Key 调用 |
| 404 | 未知路径,或服务已下线(surf) | 使用上面表格中的路径 |
| 429 | 限流 | 退避后按指数延迟重试 |