Execution API
Execution API 把一个代码和一个数量变成可执行的报价和一笔未签名的交易。流动性 来自 Robinhood Chain 上的 Uniswap v3 流动池,以 USDG 计价。
StockKit 是非托管的:它从不持有私钥、签名或提交交易。签名由你自己的钱包完成。
curl "https://api.stockkit.dev/v1/quote?symbol=NVDA&side=buy&amount=100&denom=usd"参数:
- symbol(必填):资产代码
- side:
buy或sell(默认buy) - amount(必填):正数
- denom:
usd(amount 为美元金额)或token(amount 为代币数量); 默认usd
API 会探测所有费率档位,并返回最优的可执行路径:
{ "symbol": "NVDA", "side": "buy", "mode": "exactIn", "feeTier": 500, "usdAmount": "100.000000", "tokenAmount": "0.432324841419642912", "effectivePricePerToken": "231.307550", "gasEstimate": "111339", "venue": "uniswap-v3", "pair": "TOKEN/USDG"}当没有流动池能够成交时,返回 422 no_liquidity。
curl -X POST https://api.stockkit.dev/v1/trade/build \ -H "content-type: application/json" \ -d '{ "symbol": "NVDA", "side": "buy", "amount": "100", "denom": "usd", "recipient": "0xYourWalletAddress", "slippageBps": 50 }'请求体字段:symbol、side、amount、denom 同上,另外还有:
- recipient(必填):负责签名并接收产出的钱包
- slippageBps:最大滑点,单位为基点,范围 1 到 5000(默认 50)
响应:
{ "chainId": 4663, "quote": { "feeTier": 500, "usdAmount": "100.000000", "tokenAmount": "0.432..." }, "slippageBps": 50, "deadline": 1788621105, "steps": [ { "description": "Approve SwapRouter02 to spend 100 of 0x5fc5...", "to": "0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168", "data": "0x095ea7b3...", "value": "0" }, { "description": "Swap via Uniswap v3 0.05% pool", "to": "0xcaf681a66d020601342297493863e78c959e5cb2", "data": "0x04e45aaf...", "value": "0" } ]}只有当 recipient 当前的授权额度不足时,才会出现授权步骤。滑点上限已经编码进
兑换的 calldata(amountOutMinimum 或 amountInMaximum)。从 recipient 钱包
按顺序提交这些步骤即可。
