错误
每个失败都是一个 JSON 对象,带一个含义永不改变、便于程序判断的 error 码和一段写给人看的 message。用错误码分支,把消息记日志或展示出来。
{ "error": "insufficient_balance", "message": "wallet holds 0 tokens" }
你的请求
| 错误码 | HTTP | 含义 |
|---|---|---|
invalid_request | 400 | 缺少必填字段,或某个字段格式不对。 |
invalid_address | 400 | 地址字段(token、from、beneficiary 等)不是合法地址。 |
invalid_amount | 400 | amount 为零、负数或非数字,或在买入时填了百分比。 |
invalid_action | 400 | 只接受 "buy" 和 "sell"。 |
token_not_found | 404 | 这个地址不是 BNB 链上的 Flap 代币。确认填的是代币,不是池子。 |
交易
| 错误码 | HTTP | 含义 |
|---|---|---|
insufficient_funds | 400 | from 里的 BNB 不够交易加 Gas。消息会并列给出余额和需求。必须是 BNB 链上的 BNB,持有 USD1 或其他资产不能付 Gas。 |
insufficient_balance | 400 | 卖出数量超过持仓,或用计价资产支付时持有量不够。"100%" 卖出全部。 |
slippage_exceeded | 400 | 报价和构建之间价格超出了 slippage 允许的范围。重新请求;波动大的代币放宽一些。 |
quote_asset_required | 400 | 代币的计价资产 Flap 无法用 BNB 兑换进(或换出)。持有该资产并用 payWithQuote: true 买入;卖出时以该资产结算。 |
buy_quota_exhausted | 400 | 代币限制单钱包内盘买入量,此钱包的额度已用完。 |
amount_too_small | 400 | 太少,交易不会返回任何东西。增加 amount。 |
not_tradable | 409 | 代币此刻不可交易(迁移中,或被 Flap 屏蔽)。一分钟后重试。 |
insufficient_allowance | 400 | 交易依赖的授权不存在。再请求一次,返回里会带上 approve 交易。 |
发送
| 错误码 | HTTP | 含义 |
|---|---|---|
not_ours | 400 | /api/send 只广播本 API 构建的交易:Flap 买卖、发币、对我们路由或 Flap Portal 的授权、领取。其他一律在到链前拒绝。 |
wrong_chain | 400 | 签好的交易属于其他链;本 API 只转发 BNB 链(56)。 |
创建代币
| 错误码 | HTTP | 含义 |
|---|---|---|
invalid_pair_token | 400 | pairToken 既不是地址也不是已知代号(消息里列出)。 |
pair_token_not_approved | 400 | Flap 不接受该资产作为计价资产。用 BNB 或 已启用的资产。 |
invalid_tax | 400 | buyTaxBps / sellTaxBps 超过 10000。 |
invalid_tax_split | 400 | marketingBps + deflationBps + dividendBps + lpBps 不等于 10000。 |
invalid_logo | 400 | logo 不是可获取的图片 URL,也不是合法的 base64 data: URL。 |
launch_rate_limited | 400 | Flap 限制单个钱包的发币频率。等一会再试。 |
launcher_blocked | 400 | Flap 已禁止 from 发币。 |
metadata_already_used | 400 | 另一个代币已经使用了这个元数据 CID。重新固定一份。 |
name_blacklisted | 400 | Flap 拒绝这个名称或代号。 |
flap_disabled | 400 | Flap 暂停了发币或交易。稍后再试。 |
missing_file | 400 | 上传里没有 file 部分。 |
not_an_image | 400 | 文件的内容类型不是 image/*。 |
file_too_large | 400 | 图片上限 5 MB。 |
invalid_upload | 400 | 无法解析上传内容。 |
创作者收益
| 错误码 | HTTP | 含义 |
|---|---|---|
nothing_to_claim | 400 | 这个钱包在这个代币上没有待付的税、LP 费用或分红。消息会说明 Flap 已自动支付了多少。 |
not_beneficiary | 400 | 只有代币的受益人可以领取 LP 费用份额。 |
not_graduated | 400 | LP 费用只在代币毕业到 PancakeSwap 后存在。 |
限制
| 错误码 | HTTP | 含义 |
|---|---|---|
rate_limited | 429 | 单个 IP 对同一接口每秒超过 3 次。Retry-After: 1 说明何时重试。 |
too_many_connections | 429 | 每个 IP 最多一条发射推送连接;这是第二条。 |
其他
| 错误码 | HTTP | 含义 |
|---|---|---|
revert | 400 | 模拟显示交易会因上面没有单独错误码的原因失败;message 带有解码后的合约错误。 |
rpc_error | 502 | 无法连接 BNB 链(或 Flap 的 IPFS 网关)。重试。 |
这里的检查全部通过也不保证上链:交易打包前价格仍可能越过 minOut,此时交易回滚,只花 Gas。