跳到主要内容

错误

每次失败都是一个 JSON 对象,带一个机器可读的 error 码(含义永不改变)和一段写给人看的 message。用错误码做分支判断,把 message 打日志或展示给用户。

{ "error": "insufficient_balance", "message": "wallet holds 0 tokens" }

你的请求

错误码HTTP含义
invalid_request400缺少必填项,或某个字段格式不对。
invalid_address400地址字段(tokenfromwallet)不是合法地址。
invalid_amount400amount 为零、为负或不是数字,或者买入时传了百分比。
invalid_action400只接受 "buy""sell"
token_not_found404这个地址不是 Argus 或 LIFT 的代币,Arc 上也没有对 USDC 的 Uniswap 池持有它。确认你复制的是代币地址,不是池子地址。

交易

错误码HTTP含义
insufficient_funds400from 里的 USDC 不够支付交易加 gas。message 会并列给出余额和所需金额。必须是 Arc 链上的 USDC:以太坊、Base 或 Solana 上的 USDC 不算,桥过来才行。
insufficient_balance400卖出数量超过钱包持有量。"100%" 表示全部卖出。
slippage_exceeded400从报价到组装之间价格变动超出了 slippage 允许的范围。重新请求;波动大的代币可以放宽一些。
amount_too_small400数量太小,兑换什么都换不回来。增加 amount
deadline_passed400交易的截止时间在发送前已过。重新请求并尽快发送。

发送

错误码HTTP含义
not_ours400/api/send 只广播本 API 组装的交易:Universal Router 兑换,以及它前面的一次性 ERC-20 和 Permit2 授权。其他一切在上链之前就被拒绝。
wrong_chain400签名的交易属于另一条链;本 API 只中继 Arc(5042)。

限制

错误码HTTP含义
rate_limited429同一 IP 对同一接口每秒超过 3 次调用。Retry-After: 1 告诉你何时重试。
too_many_connections429每个 IP 一个发射推送 socket 和一个高级数据流 socket(每个密钥也只有一个);这会是第二个。
unauthorized401打开高级数据流时没带密钥,或密钥未知、已吊销。密钥免费,在 Telegram 群领取。
too_many_tokens / too_many_wallets400一个数据流连接最多关注 50 个代币和 50 个钱包。

上游

错误码HTTP含义
rpc_error502读链失败或交易发不出去。message 带节点自己的原文。重试;持续出现请到 Telegram 群反馈。